http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56523
--- Comment #1 from Paolo Carlini <paolo.carlini at oracle dot com> 2013-03-04 16:16:16 UTC --- On which basis do you think it doesn't? In practice, for a stupid example like the below, with -Wall: int main() { int a; return a; } I get: test.c: In function ‘main’: test.c:4:3: warning: ‘a’ is used uninitialized in this function [-Wuninitialized]