aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2006-05-14 07:44:21 +0000
committerNick Clifton <nickc@gcc.gnu.org>2006-05-14 07:44:21 +0000
commit834094639e76f3eb6930b68f86dbc59f7b1f6390 (patch)
tree1b47169dc4d3107c9bf6a7bbd76f7edc2db65981
parent75c3fb73f0fa18d48b931ba23f046f5f2242d20a (diff)
downloadgcc-834094639e76f3eb6930b68f86dbc59f7b1f6390.zip
gcc-834094639e76f3eb6930b68f86dbc59f7b1f6390.tar.gz
gcc-834094639e76f3eb6930b68f86dbc59f7b1f6390.tar.bz2
dwarf2out.c (dbx_reg_number): Check return value from LEAF_REG_REMAP and only use it if it is valid.
* dwarf2out.c (dbx_reg_number): Check return value from LEAF_REG_REMAP and only use it if it is valid. (multiple_reg_loc_descriptor): Likewise. From-SVN: r113756
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/dwarf2out.c16
2 files changed, 20 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 329acdc..7a012fa 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2006-05-13 Nick Clifton <nickc@redhat.com>
+
+ * dwarf2out.c (dbx_reg_number): Check return value from
+ LEAF_REG_REMAP and only use it if it is valid.
+ (multiple_reg_loc_descriptor): Likewise.
+
2006-05-13 Richard Guenther <rguenther@suse.de>
* config.host <i[34567]86-*-cygwin*>: Append i386/x-cygwin to
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 4ef7d02..accbd01 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -8477,7 +8477,13 @@ dbx_reg_number (rtx rtl)
gcc_assert (regno < FIRST_PSEUDO_REGISTER);
#ifdef LEAF_REG_REMAP
- regno = LEAF_REG_REMAP (regno);
+ {
+ int leaf_reg;
+
+ leaf_reg = LEAF_REG_REMAP (regno);
+ if (leaf_reg != -1)
+ regno = (unsigned) leaf_reg;
+ }
#endif
return DBX_REGISTER_NUMBER (regno);
@@ -8546,7 +8552,13 @@ multiple_reg_loc_descriptor (rtx rtl, rtx regs)
reg = REGNO (rtl);
#ifdef LEAF_REG_REMAP
- reg = LEAF_REG_REMAP (reg);
+ {
+ int leaf_reg;
+
+ leaf_reg = LEAF_REG_REMAP (reg);
+ if (leaf_reg != -1)
+ reg = (unsigned) leaf_reg;
+ }
#endif
gcc_assert ((unsigned) DBX_REGISTER_NUMBER (reg) == dbx_reg_number (rtl));
nregs = hard_regno_nregs[REGNO (rtl)][GET_MODE (rtl)];