http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53740
Bug #: 53740 Summary: [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Keywords: ice-checking, ice-on-valid-code Severity: normal Priority: P3 Component: debug AssignedTo: unassig...@gcc.gnu.org ReportedBy: ja...@gcc.gnu.org CC: aol...@gcc.gnu.org Last night my x86_64-linux bootstrap failed due to a RTL checking failure. .../gnat1 -gnatwa -quiet -nostdinc -O2 -g -gnatpg -m32 -mtune=generic -march=x86-64 -gnatO s-arit64.o s-arit64.adb -o /tmp/s-arit64.s ICEs, because in dead_debug_insert_temp during DCE reg = *DF_REF_REAL_LOC (cur->use); assigns reg a DEBUG_EXPR rather than REG, so when we later: /* Hmm... Something's fishy, we should be setting REG here. */ if (REGNO (dest) != REGNO (reg)) breg = NULL; we ICE, because REGNO on DEBUG_EXPR isn't valid. Alex, could you please look at it? Not sure if DEBUG_EXPR there is supposed to be valid and we should just handle it, or if the problem is that some dead_debug* call wasn't called or didn't do the right job. Thanks.