diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/sdbout.c | 17 |
2 files changed, 5 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0a5248f..8b1d3de 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2002-09-16 Richard Henderson <rth@redhat.com> + PR fortran/3924 + * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol. + +2002-09-16 Richard Henderson <rth@redhat.com> + * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE as well as OFFSET for BITPOS. diff --git a/gcc/sdbout.c b/gcc/sdbout.c index 9effe7851..9d5effd 100644 --- a/gcc/sdbout.c +++ b/gcc/sdbout.c @@ -924,23 +924,6 @@ sdbout_symbol (decl, local) PUT_SDB_INT_VAL (DEBUGGER_AUTO_OFFSET (XEXP (value, 0))); PUT_SDB_SCL (C_AUTO); } - else if (GET_CODE (value) == MEM && GET_CODE (XEXP (value, 0)) == CONST) - { - /* Handle an obscure case which can arise when optimizing and - when there are few available registers. (This is *always* - the case for i386/i486 targets). The DECL_RTL looks like - (MEM (CONST ...)) even though this variable is a local `auto' - or a local `register' variable. In effect, what has happened - is that the reload pass has seen that all assignments and - references for one such a local variable can be replaced by - equivalent assignments and references to some static storage - variable, thereby avoiding the need for a register. In such - cases we're forced to lie to debuggers and tell them that - this variable was itself `static'. */ - PUT_SDB_DEF (name); - PUT_SDB_VAL (XEXP (XEXP (value, 0), 0)); - PUT_SDB_SCL (C_STAT); - } else { /* It is something we don't know how to represent for SDB. */ |