re PR fortran/3924 (g77 generates code which is rejected by GAS if COFF debugging...
authorRichard Henderson <rth@redhat.com>
Tue, 17 Sep 2002 06:05:53 +0000 (23:05 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 17 Sep 2002 06:05:53 +0000 (23:05 -0700)
        PR fortran/3924
        * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.

From-SVN: r57232

gcc/ChangeLog
gcc/sdbout.c

index 0a5248f0d075438f15e295a87f4a337c078371dc..8b1d3dea5aaa9a3530eb70046952036e94553c80 100644 (file)
@@ -1,3 +1,8 @@
+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
index 9effe7851108a39abce04a3e2508e46cf03414d1..9d5effd6f6ea1be3770d9ff993f75f0d4be315d4 100644 (file)
@@ -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.  */