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

Reply via email to