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

             Bug #: 53589
           Summary: [4.7/4.8 Regression] ICE in maybe_record_trace_start
                    with asm goto
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: ja...@gcc.gnu.org
        ReportedBy: ja...@gcc.gnu.org


extern void foo (void) __attribute__ ((__noreturn__));

void
bar (int x)
{
  if (x < 0)
    foo ();
  if (x == 0)
    return;
  __asm goto ("" : : : : lab);
lab:;
}

ICEs on x86_64-linux:
LC_ALL=C ./cc1 -O2 rh829247.c -quiet
rh829247.c: In function 'bar':
rh829247.c:12:1: internal compiler error: in maybe_record_trace_start, at
dwarf2cfi.c:2193
 }
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

The problem is that we end up with asm goto that branches to the fallthru label
and shrink-wrapping wants to redirect the edge, but leaves broken CFG around.

Reply via email to