diff options
author | clm <clm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-01-05 20:15:24 +0000 |
---|---|---|
committer | clm <clm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-01-05 20:15:24 +0000 |
commit | eed9d2f352d3ce77c2b43264bc6f1dc4899a0d72 (patch) | |
tree | 3f6ca9f5a5d0f581d581fd420544905c1d3e06a6 /gcc | |
parent | d21c9c3445a678a4625e99ffd995f4c087a8db9f (diff) | |
download | ppe42-gcc-eed9d2f352d3ce77c2b43264bc6f1dc4899a0d72.tar.gz ppe42-gcc-eed9d2f352d3ce77c2b43264bc6f1dc4899a0d72.zip |
(dbxout_parms): Handle invisible ref where decl is a REG
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38720 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/dbxout.c | 10 |
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b9358cbcd6a..4b9a3bf1325 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2001-01-05 Catherine Moore <clm@redhat.com> + + * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG. + 2001-01-05 Phil Edwards <pme@sources.redhat.com> * cp/lang-options.h: Bring comment in line with reality. diff --git a/gcc/dbxout.c b/gcc/dbxout.c index c3838dfe956..2d4ea6dd863 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -2474,12 +2474,16 @@ dbxout_parms (parms) { /* Parm was passed via invisible reference, with the reference living on the stack. DECL_RTL looks like - (MEM (MEM (PLUS (REG ...) (CONST_INT ...)))). */ + (MEM (MEM (PLUS (REG ...) (CONST_INT ...)))) or it + could look like (MEM (MEM (REG))). */ const char *decl_name = (DECL_NAME (parms) ? IDENTIFIER_POINTER (DECL_NAME (parms)) : "(anon)"); - current_sym_value - = INTVAL (XEXP (XEXP (XEXP (DECL_RTL (parms), 0), 0), 1)); + if (GET_CODE (XEXP (XEXP (DECL_RTL (parms), 0), 0)) == REG) + current_sym_value = 0; + else + current_sym_value + = INTVAL (XEXP (XEXP (XEXP (DECL_RTL (parms), 0), 0), 1)); current_sym_addr = 0; FORCE_TEXT; |