diff options
author | Jeffrey A Law <law@cygnus.com> | 1999-11-10 22:57:48 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-11-10 15:57:48 -0700 |
commit | bce8fed77678f2dc2a6ec0e669f07e5749d6d588 (patch) | |
tree | 0ccb5ba3f60d51f76c013e7a59bf5f0366aae135 /gcc/dwarf2out.c | |
parent | 05fd666b63ac147fa053959d581ead5b003fe60c (diff) | |
download | gcc-bce8fed77678f2dc2a6ec0e669f07e5749d6d588.zip gcc-bce8fed77678f2dc2a6ec0e669f07e5749d6d588.tar.gz gcc-bce8fed77678f2dc2a6ec0e669f07e5749d6d588.tar.bz2 |
dwarf2out.c (add_AT_location_description): Allow (mem (plus (pseudo) (...)) too.
* dwarf2out.c (add_AT_location_description): Allow
(mem (plus (pseudo) (...)) too.
From-SVN: r30480
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 232ec81..c4ee8ca 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -6732,6 +6732,13 @@ add_AT_location_description (die, attr_kind, rtl) if (is_pseudo_reg (rtl) || (GET_CODE (rtl) == MEM && is_pseudo_reg (XEXP (rtl, 0))) + /* This can happen for a PARM_DECL with a DECL_INCOMING_RTL which + references the internal argument pointer (a pseudo) in a function + where all references to the internal argument pointer were + eliminated via the optimizers. */ + || (GET_CODE (rtl) == MEM + && GET_CODE (XEXP (rtl, 0)) == PLUS + && is_pseudo_reg (XEXP (XEXP (rtl, 0), 0))) || (GET_CODE (rtl) == CONCAT && is_pseudo_reg (XEXP (rtl, 0)) && is_pseudo_reg (XEXP (rtl, 1)))) |