dbxout.c (dbxout_parms): If mode of type of parameter living in memory doesn't match mode of DECL_RTL...

* dbxout.c (dbxout_parms): If mode of type of parameter living
	in memory doesn't match mode of DECL_RTL, make big endian correction.

From-SVN: r19808
This commit is contained in:
Doug Evans 1998-05-16 18:41:43 +00:00 committed by Doug Evans
parent c295379590
commit 620422fdbc
2 changed files with 14 additions and 0 deletions

View File

@ -1,3 +1,8 @@
Sat May 16 18:32:45 1998 Doug Evans <devans@canuck.cygnus.com>
* dbxout.c (dbxout_parms): If mode of type of parameter living
in memory doesn't match mode of DECL_RTL, make big endian correction.
Fri May 15 21:40:06 1998 John Wehle (john@feith.com)
* i386.md (movdi-1, movdi): Rewrite based on SI move patterns.

View File

@ -2403,6 +2403,15 @@ dbxout_parms (parms)
current_sym_value = INTVAL (XEXP (XEXP (DECL_RTL (parms), 0), 1));
current_sym_addr = 0;
/* Make a big endian correction if the mode of the type of the
parameter is not the same as the mode of the rtl. */
if (BYTES_BIG_ENDIAN
&& TYPE_MODE (TREE_TYPE (parms)) != GET_MODE (DECL_RTL (parms))
&& GET_MODE_SIZE (TYPE_MODE (TREE_TYPE (parms))) < UNITS_PER_WORD)
{
current_sym_value += UNITS_PER_WORD - GET_MODE_SIZE (TYPE_MODE (TREE_TYPE (parms)));
}
FORCE_TEXT;
if (DECL_NAME (parms))
{