dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for global register variables.
authorKevin Buettner <kevinb@redhat.com>
Tue, 4 Mar 2003 05:58:54 +0000 (05:58 +0000)
committerKevin Buettner <kevinb@gcc.gnu.org>
Tue, 4 Mar 2003 05:58:54 +0000 (05:58 +0000)
* dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
global register variables.

From-SVN: r63768

gcc/ChangeLog
gcc/dwarf2out.c

index fe99d98e98672a42a3979b434fb822616444c5a6..c80364005d1ac03d8c87f4e709059563639756dd 100644 (file)
@@ -1,3 +1,8 @@
+2003-03-04  Kevin Buettner  <kevinb@redhat.com>
+
+       * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
+       global register variables.
+
 2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
 
        * reload.c (reload_adjust_reg_for_mode): New function.
index a1a06cbf9268447dd4e8e8b292cad9c9b2f2691c..b75481c2411fb8409c8d4d5e582c06e6e34a408d 100644 (file)
@@ -9370,13 +9370,17 @@ rtl_for_decl_location (decl)
   rtl = DECL_RTL_IF_SET (decl);
 
   /* When generating abstract instances, ignore everything except
-     constants and symbols living in memory.  */
+     constants, symbols living in memory, and symbols living in
+     fixed registers.  */
   if (! reload_completed)
     {
       if (rtl
          && (CONSTANT_P (rtl)
              || (GET_CODE (rtl) == MEM
-                 && CONSTANT_P (XEXP (rtl, 0)))))
+                 && CONSTANT_P (XEXP (rtl, 0)))
+             || (GET_CODE (rtl) == REG
+                 && TREE_CODE (decl) == VAR_DECL
+                 && TREE_STATIC (decl))))
        {
          rtl = (*targetm.delegitimize_address) (rtl);
          return rtl;