The following source will report

C:\Dev-Cpp\Projects\test-stlport\main_17.cpp In function `void test_17()': 
12 C:\Dev-Cpp\Projects\test-stlport\main_17.cpp [Warning] will never be
executed
12 C:\Dev-Cpp\Projects\test-stlport\main_17.cpp [Warning] will never be
executed

when using "-Wunreachable-code"

I reduced this from a way bigger source file with STL and even more if - else
involved and this was the only two warnings from the beginning (whole file) to
the end (this sample). Happens with C and C++.

void test_17()
{
        int pos = 1; 
        while(1) {
                if ( pos )
                {
                        if ( pos == 2 ) /* */
                        {
                        }
                        else
                        {
                                break;
                        }
                }
                else
                {
                        break;
                }
        }
}

C:\MinGW_3.4.4\bin>gcc -v
Reading specs from ../lib/gcc/mingw32/3.4.4/specs
Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as
--host=
mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls
--enable
-languages=c,c++,f77,ada,objc,java --disable-win32-registry --disable-shared
--e
nable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x
--enable-ja
va-gc=boehm --disable-libgcj-debug --enable-interpreter
--enable-hash-synchroniz
ation --enable-libstdcxx-debug
Thread model: win32
gcc version 3.4.4 (mingw special)


-- 
           Summary: wrong "will never be executed" warning
           Product: gcc
           Version: 3.4.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: oliverst at online dot de


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24968

Reply via email to