With the program: #include <stdio.h> int main () { int x = x; printf ("x=%d\n", x); return 0; } gcc -O -W -Wall does not report the use of x before initialisation (as it would at the printf() if it had been "int x;"). Obscure I know, but we had a C++ code typo of this form which gcc should have spotted.
This is already fixed in mainline, which gives tmp/g> ../build-gcc/gcc-install/bin/gcc -Winit-self -c x.c -O -W -Wall x.c: In function `main': x.c:4: warning: 'x' might be used uninitialized in this function W.
Reopening bug to mark as a dup of ...
bug 5582 which I fixed. *** This bug has been marked as a duplicate of 5582 ***