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

             Bug #: 56349
           Summary: ICE in create_preheader at cfgloopmanip.c:1525
    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 !
Using GCC 4.8.0 as of 20130215 :

$ cat preh.c
int a, b;
short c;

void f(void)
{
    int *k = a = 0;

    for(; a < 2; a++);

    if(!!(b |= a < 3) - 1)
    {
        if(0)
            for (;; a++)
            {
                for (; c; *k = 0);
lbl1:
                ;
            }

        for(; *k; k++)
        {
            c = b ? : a;

            if (c)
lbl2:
                b = 0;
        }
        goto lbl1;
    }

    for(;; b++)
    {
        if(b)
            goto lbl2;

        k = &b;
    }
}

$ xgcc -O2 -ftree-partial-pre -w preh.c
preh.c: In function ‘f’:
preh.c:38:1: internal compiler error: Segmentation fault
 }
 ^
0x8dba2f crash_signal
    ../../srcdir/gcc/toplev.c:332
0x5ffcdb create_preheader(loop*, int)
    ../../srcdir/gcc/cfgloopmanip.c:1525
0x600069 create_preheaders(int)
    ../../srcdir/gcc/cfgloopmanip.c:1577
0x7de31e apply_loop_flags
    ../../srcdir/gcc/loop-init.c:61
0x7de3df loop_optimizer_init(unsigned int)
    ../../srcdir/gcc/loop-init.c:108
0x7de4ba rtl_loop_init
    ../../srcdir/gcc/loop-init.c:329
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.

Reply via email to