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



             Bug #: 55107

           Summary: GCC in an infinite loop at -O2

    Classification: Unclassified

           Product: gcc

           Version: 4.8.0

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: tree-optimization

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: antoine.balest...@gmail.com





Hello !

GCC 4.8.0 as of 20121021 and GCC 4.7.2 won't compile the following testcase at

-O2 and higher because they look stuck in an infinite loop.



$ cat infinite.c

#include <stdint.h>



uint16_t a, b;



uint16_t f(void)

{

    int c, **p;

    short d = 2, e = 4;



    for (;; b++)

    {

        int *j, k = 0;



        for (; *j; j++)

        {

            for(; c; c++)

                for(; k < 1; k++)

                {

                    short *f = &d;



                    if(b)

                        return *f;

                }

        }



        if(!c)

            d *= e;



        ((a = d) ? b = 0 : (**p ? : 1) != (d != 1 ? : (a = 0))) != (k ? a : 0)

< (a *= c = k) && (**p = 0);

    }

}



$ ulimite -t 60



$ xgcc -O2 -w infinite.c

cc: internal compiler error: CPU time limit exceeded (program cc1)

linux-vdso.so.1: No such file or directory

0x40b937 execute

    ../../srcdir/gcc/gcc.c:2739

0x40c7be do_spec_1

    ../../srcdir/gcc/gcc.c:4534

0x40f0d5 process_brace_body

    ../../srcdir/gcc/gcc.c:5782

0x40f0d5 handle_braces

    ../../srcdir/gcc/gcc.c:5696

0x40d397 do_spec_1

    ../../srcdir/gcc/gcc.c:5179

0x40f0d5 process_brace_body

    ../../srcdir/gcc/gcc.c:5782

0x40f0d5 handle_braces

    ../../srcdir/gcc/gcc.c:5696

0x40d397 do_spec_1

    ../../srcdir/gcc/gcc.c:5179

0x40cff7 do_spec_1

    ../../srcdir/gcc/gcc.c:5284

0x40f0d5 process_brace_body

    ../../srcdir/gcc/gcc.c:5782

0x40f0d5 handle_braces

    ../../srcdir/gcc/gcc.c:5696

0x40d397 do_spec_1

    ../../srcdir/gcc/gcc.c:5179

0x40f0d5 process_brace_body

    ../../srcdir/gcc/gcc.c:5782

0x40f0d5 handle_braces

    ../../srcdir/gcc/gcc.c:5696

0x40d397 do_spec_1

    ../../srcdir/gcc/gcc.c:5179

0x40f0d5 process_brace_body

    ../../srcdir/gcc/gcc.c:5782

0x40f0d5 handle_braces

    ../../srcdir/gcc/gcc.c:5696

0x40d397 do_spec_1

    ../../srcdir/gcc/gcc.c:5179

0x40f0d5 process_brace_body

    ../../srcdir/gcc/gcc.c:5782

0x40f0d5 handle_braces

    ../../srcdir/gcc/gcc.c:5696

Please submit a full bug report,

with preprocessed source if appropriate.

Please include the complete backtrace with any bug report.

See <http://gcc.gnu.org/bugs.html> for instructions.



Note that the stack trace looks the same as in PR55011.

Reply via email to