/* m-un-1.c: "un" for "uninitialized" */ /* From: Jim Wilson Date: Wed, 6 Jul 1994 13:11:47 -0700 To: dje@cygnus.com Subject: Re: devo/gcc ChangeLog.fsf stmt.c Cc: cvs-gcc@cygnus.com, tege@cygnus.com How about a test case? :-) Compile with -O -Wall and the broken compiler gives you: tmp.c:6: warning: `k' might be used uninitialized in this function The fixed compiler (and gcc 2.5.8) gives no warning. This happens to fix a performance regression in the code generated for while loops, but that is presumably much much harder to test for. */ /* { dg-do compile } */ /* { dg-options "-O -Wall" } */ int sub () { int i = 0; int j = 0; int k; /* { dg-bogus "`k' might be used uninitialized" "uninitialized warning regression" } */ while (i == 0 && j == 0) { k = 10; i = sub (); } return k; }