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

             Bug #: 55270
           Summary: ICE in get_loop_body, at cfgloop.c:823
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: antoine.balest...@gmail.com


Hello ! The following testcase makes GCC 4.8.0 20121110 crash at -O3 :

$ cat loopbody.c
unsigned a, b, c;

void f(void)
{
    for(; a; a++)
    {
        // In 32 bits mode, you'll have to change p1 to "long long int" to
trigger the bug
        long *p1 = &b;

        if(*p1)
            return;

        if(b && (*p1 = b) || c && ++*p1)
        {
            unsigned *p2 = &b;

            for(*p2 = 0; *p2 < 1;)
                for(; b; b++);
        }
    }
}


$ xgcc -w -O3 loopbody.c
loopbody.c: In function ‘f’:
loopbody.c:3:6: internal compiler error: in get_loop_body, at cfgloop.c:823
 void f(void)
      ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

Reply via email to