This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/53589] New: [4.7/4.8 Regression] ICE in maybe_record_trace_start with asm goto


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: jakub@gcc.gnu.org
        ReportedBy: jakub@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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]