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
This commit is contained in:
Michael Meissner 1997-11-14 01:39:43 +00:00 committed by Jeff Law
parent e7cbb6b66e
commit 9571f69bfd
2 changed files with 12 additions and 1 deletions

View File

@ -1,3 +1,9 @@
Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com>
* dbxout.c (dbxout_symbol_location): Don't assume that variables
whose address is the stack or argument pointers are indirect
pointers.
1997-11-13 Paul Eggert <eggert@twinsun.com>
* cccp.c, cpplib.c (compare_defs):

View File

@ -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