http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49754
--- Comment #2 from Christopher Yeleighton <giecrilj at stegny dot 2a.pl> 2011-07-15 09:35:42 UTC --- (In reply to comment #1) > (In reply to comment #0) > > == Expected Results == > > foo.c: In function ‘foo’: > > foo.c:2:?: warning: ‘x’ is used uninitialized in this function > > It should really warn if 'x.i' is used uninitialized, not 'x' Since (x) is uninitialized, so is (x.i). It is impossible to recognize the problem when (x.i) is eventually accessed by a client of foo: { struct i x = foo (); printf ("%i", +x.i); }