diff options
Diffstat (limited to 'gcc/final.c')
-rw-r--r-- | gcc/final.c | 36 |
1 files changed, 3 insertions, 33 deletions
diff --git a/gcc/final.c b/gcc/final.c index ebc1efe..e3a2764 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -1545,33 +1545,6 @@ final (rtx first, FILE *file, int optimize) last_ignored_compare = 0; -#ifdef SDB_DEBUGGING_INFO - /* When producing SDB debugging info, delete troublesome line number - notes from inlined functions in other files as well as duplicate - line number notes. */ - if (write_symbols == SDB_DEBUG) - { - rtx last = 0; - for (insn = first; insn; insn = NEXT_INSN (insn)) - if (NOTE_P (insn) && NOTE_LINE_NUMBER (insn) > 0) - { - if (last != 0 -#ifdef USE_MAPPED_LOCATION - && NOTE_SOURCE_LOCATION (insn) == NOTE_SOURCE_LOCATION (last) -#else - && NOTE_LINE_NUMBER (insn) == NOTE_LINE_NUMBER (last) - && NOTE_SOURCE_FILE (insn) == NOTE_SOURCE_FILE (last) -#endif - ) - { - delete_insn (insn); /* Use delete_note. */ - continue; - } - last = insn; - } - } -#endif - for (insn = first; insn; insn = NEXT_INSN (insn)) { if (INSN_UID (insn) > max_uid) /* Find largest UID. */ @@ -1695,7 +1668,7 @@ final_scan_insn (rtx insn, FILE *file, int optimize ATTRIBUTE_UNUSED, switch (GET_CODE (insn)) { case NOTE: - switch (NOTE_LINE_NUMBER (insn)) + switch (NOTE_KIND (insn)) { case NOTE_INSN_DELETED: break; @@ -1818,11 +1791,8 @@ final_scan_insn (rtx insn, FILE *file, int optimize ATTRIBUTE_UNUSED, (*debug_hooks->var_location) (insn); break; - case 0: - break; - default: - gcc_assert (NOTE_LINE_NUMBER (insn) > 0); + gcc_unreachable (); break; } break; @@ -3235,7 +3205,7 @@ output_asm_label (rtx x) x = XEXP (x, 0); if (LABEL_P (x) || (NOTE_P (x) - && NOTE_LINE_NUMBER (x) == NOTE_INSN_DELETED_LABEL)) + && NOTE_KIND (x) == NOTE_INSN_DELETED_LABEL)) ASM_GENERATE_INTERNAL_LABEL (buf, "L", CODE_LABEL_NUMBER (x)); else output_operand_lossage ("'%%l' operand isn't a label"); |