diff options
author | Michael Meissner <meissner@cygnus.com> | 1997-11-14 01:39:43 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1997-11-13 18:39:43 -0700 |
commit | 9571f69bfd3e6524b556fbb608f8ea23f4492f6f (patch) | |
tree | 3e94df4849f69f73de4ce8cf8a3dbbfeb6835e73 /gcc/dbxout.c | |
parent | e7cbb6b66e279adaa5bba51256264659a474d37f (diff) | |
download | gcc-9571f69bfd3e6524b556fbb608f8ea23f4492f6f.zip gcc-9571f69bfd3e6524b556fbb608f8ea23f4492f6f.tar.gz gcc-9571f69bfd3e6524b556fbb608f8ea23f4492f6f.tar.bz2 |
dbxout.c (dbxout_symbol_location): Don't assume that variables whose address is the stack or argument pointers are...
* dbxout.c (dbxout_symbol_location): Don't assume that variables
whose address is the stack or argument pointers are indirect
pointers.
From-SVN: r16475
Diffstat (limited to 'gcc/dbxout.c')
-rw-r--r-- | gcc/dbxout.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/dbxout.c b/gcc/dbxout.c index 9255768..00bbcc8 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -1980,7 +1980,12 @@ dbxout_symbol_location (decl, type, suffix, home) else if (GET_CODE (home) == MEM && (GET_CODE (XEXP (home, 0)) == MEM || (GET_CODE (XEXP (home, 0)) == REG - && REGNO (XEXP (home, 0)) != HARD_FRAME_POINTER_REGNUM))) + && REGNO (XEXP (home, 0)) != HARD_FRAME_POINTER_REGNUM + && REGNO (XEXP (home, 0)) != STACK_POINTER_REGNUM +#if ARG_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM + && REGNO (XEXP (home, 0)) != ARG_POINTER_REGNUM +#endif + ))) /* If the value is indirect by memory or by a register that isn't the frame pointer then it means the object is variable-sized and address through |