aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/final.c12
2 files changed, 9 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 31dc8b0..8602d14 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jun 3 00:18:20 CEST 2002 Jan Hubicka <jh@suse.cz>
+
+ * final.c (final): Allow notes to not have computed addresses;
+ kill no longer needed STACK_REGS ifdef.
+
2002-06-02 Richard Henderson <rth@redhat.com>
* gcse.c (bypass_conditional_jumps): Fix typo last change.
diff --git a/gcc/final.c b/gcc/final.c
index f58190a..a66bd5c 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -1898,16 +1898,12 @@ final (first, file, optimize, prescan)
#ifdef HAVE_ATTR_length
if ((unsigned) INSN_UID (insn) >= INSN_ADDRESSES_SIZE ())
{
-#ifdef STACK_REGS
- /* Irritatingly, the reg-stack pass is creating new instructions
- and because of REG_DEAD note abuse it has to run after
- shorten_branches. Fake address of -1 then. */
- insn_current_address = -1;
-#else
/* This can be triggered by bugs elsewhere in the compiler if
new insns are created after init_insn_lengths is called. */
- abort ();
-#endif
+ if (GET_CODE (insn) == NOTE)
+ insn_current_address = -1;
+ else
+ abort ();
}
else
insn_current_address = INSN_ADDRESSES (INSN_UID (insn));