summaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2002-06-03 00:23:45 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2002-06-02 22:23:45 +0000
commit0acb02035641ccf6c36f8577ba2b77b1a9ebfb25 (patch)
treeb474099edf77f2aed033459366af20532af2d1fd /gcc/final.c
parentada8d98a5dbd2d2f9d38ac28c3de32dcc636e4ae (diff)
downloadgcc-0acb02035641ccf6c36f8577ba2b77b1a9ebfb25.tar.gz
final.c (final): Allow notes to not have computed addresses; kill no longer needed STACK_REGS ifdef.
* final.c (final): Allow notes to not have computed addresses; kill no longer needed STACK_REGS ifdef. From-SVN: r54190
Diffstat (limited to 'gcc/final.c')
-rw-r--r--gcc/final.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/gcc/final.c b/gcc/final.c
index f58190a6958..a66bd5c53f6 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));