aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/final.c3
-rw-r--r--gcc/print-rtl.c3
3 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 81ffafb..b9a786c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2000-05-18 Jakub Jelinek <jakub@redhat.com>
+ * print-rtl.c (print_rtx): Only print note line number as string
+ if between NOTE_INSN_BIAS and NOTE_INSN_MAX.
+ * final.c (final_scan_insn): Do nothing for note line number 0.
+
+2000-05-18 Jakub Jelinek <jakub@redhat.com>
+
* gcc-common.c (ggc_mark_rtx_children): Mark NOTE_EXPECTED_VALUE
from NOTE_INSN_EXPECTED_VALUE notes and NOTE_SOURCE_FILE from
NOTE_INSN_DELETED_LABEL.
diff --git a/gcc/final.c b/gcc/final.c
index 02dc418..2145f99 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -2261,6 +2261,9 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
}
break;
+ case 0:
+ break;
+
default:
if (NOTE_LINE_NUMBER (insn) <= 0)
abort ();
diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c
index d800838..5cea980 100644
--- a/gcc/print-rtl.c
+++ b/gcc/print-rtl.c
@@ -328,7 +328,8 @@ print_rtx (in_rtx)
/* Print NOTE_INSN names rather than integer codes. */
case 'n':
- if (XINT (in_rtx, i) <= 0)
+ if (XINT (in_rtx, i) >= NOTE_INSN_BIAS
+ && XINT (in_rtx, i) < NOTE_INSN_MAX)
fprintf (outfile, " %s", GET_NOTE_INSN_NAME (XINT (in_rtx, i)));
else
fprintf (outfile, " %d", XINT (in_rtx, i));