diff options
author | Richard Henderson <rth@redhat.com> | 2002-09-16 23:05:53 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2002-09-16 23:05:53 -0700 |
commit | bd055118bde42506983db3bfed6d05be5974709e (patch) | |
tree | aff710e5a7271f2323cabbf7cc53c2d2ea163bd4 /gcc | |
parent | 8c7820a0deaa1ebe049429a6f5460c1645ada505 (diff) | |
download | gcc-bd055118bde42506983db3bfed6d05be5974709e.zip gcc-bd055118bde42506983db3bfed6d05be5974709e.tar.gz gcc-bd055118bde42506983db3bfed6d05be5974709e.tar.bz2 |
re PR fortran/3924 (g77 generates code which is rejected by GAS if COFF debugging info is requested)
PR fortran/3924
* sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
From-SVN: r57232
Diffstat (limited to 'gcc')
-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. */ |