when compiling the following code without optimization no warning is given. when optimization is enabled the following warning is printed: warning: `i' might be used uninitialized in this function
This occures with gcc >= 3.3.2 (tested on 3.4.2 and 3.3.2) and independent of host/target/build triplet (testet sparc-sun-solaris2.9 and i686-pc-linux-gnu) with c and c++ frontend. int a(); int b(); void f(int j) { int i; do { if (a()) continue; i = b(); } while (i); } -- Summary: warning of uninitialized value gets suppressed without optimization with initialization after continue in loop Product: gcc Version: 3.4.2 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: maierkom at rcs dot ei dot tum dot de CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: sparc-sun-solaris2.9 GCC host triplet: sparc-sun-solaris2.9 GCC target triplet: sparc-sun-solaris2.9 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18739