dwarf2out.c (multiple_reg_loc_descriptor): Don't assume DBX_REGISTER_NUMBER being...
authorJakub Jelinek <jakub@redhat.com>
Tue, 8 Nov 2005 21:47:09 +0000 (22:47 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 8 Nov 2005 21:47:09 +0000 (22:47 +0100)
* dwarf2out.c (multiple_reg_loc_descriptor): Don't assume
DBX_REGISTER_NUMBER being contiguous.

From-SVN: r106658

gcc/ChangeLog
gcc/dwarf2out.c

index 5d6bfe6aec639d96a3cc9f5dd0ab0b25d79bcf9c..5e86d193a40be425afb5107ceb6080ab31bafb75 100644 (file)
@@ -1,3 +1,8 @@
+2005-11-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (multiple_reg_loc_descriptor): Don't assume
+       DBX_REGISTER_NUMBER being contiguous.
+
 2005-11-08  James A. Morrison  <phython@gcc.gnu.org>
            Diego Novillo  <dnovillo@redhat.com>
 
index d0520b5811f2b2cca057e03f53e858d3d0149237..4cdb480a6e87b46aea7f1bee1792e09adebff946 100644 (file)
@@ -8536,7 +8536,11 @@ multiple_reg_loc_descriptor (rtx rtl, rtx regs)
   unsigned reg;
   dw_loc_descr_ref loc_result = NULL;
 
-  reg = dbx_reg_number (rtl);
+  reg = REGNO (rtl);
+#ifdef LEAF_REG_REMAP
+  reg = LEAF_REG_REMAP (reg);
+#endif
+  gcc_assert ((unsigned) DBX_REGISTER_NUMBER (reg) == dbx_reg_number (rtl));
   nregs = hard_regno_nregs[REGNO (rtl)][GET_MODE (rtl)];
 
   /* Simple, contiguous registers.  */
@@ -8549,7 +8553,7 @@ multiple_reg_loc_descriptor (rtx rtl, rtx regs)
        {
          dw_loc_descr_ref t;
 
-         t = one_reg_loc_descriptor (reg);
+         t = one_reg_loc_descriptor (DBX_REGISTER_NUMBER (reg));
          add_loc_descr (&loc_result, t);
          add_loc_descr_op_piece (&loc_result, size);
          ++reg;