https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69892
Bug ID: 69892 Summary: Missing -Wuninitialized warning Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org Target Milestone: --- markus@x4 tmp % cat bool.ii void foo() { bool valid; while (valid) valid = false; } markus@x4 tmp % icpc -Wall -Wextra -c bool.ii bool.ii(3): warning #592: variable "valid" is used before its value is set while (valid) ^ markus@x4 tmp % clang++ -Wall -Wextra -c bool.ii bool.ii:2:8: warning: variable 'valid' is used uninitialized whenever function 'foo' is called [-Wsometimes-uninitialized] bool valid; ~~~~~^~~~~ bool.ii:3:10: note: uninitialized use occurs here while (valid) ^~~~~ bool.ii:2:13: note: initialize the variable 'valid' to silence this warning bool valid; ^ = false 1 warning generated. markus@x4 tmp % clang++ --analyze -c bool.ii bool.ii:3:10: warning: Branch condition evaluates to a garbage value while (valid) ^~~~~ 1 warning generated. markus@x4 tmp % g++ -Wall -Wextra -c bool.ii markus@x4 tmp %