diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 640677a50b9..3233db4075e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Sat Jun 21 13:41:00 CEST 2003 Jan Hubicka + + * i386.c (ix86_va_arg): Fix allocation of temporary slot. + 2003-06-20 Kazu Hirata * config/h8300/h8300-protos.h: Add a prototype for diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 8409def0e46..479c4c91435 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -3157,10 +3157,12 @@ ix86_va_arg (valist, type) { int i; rtx mem; + rtx x; /* Never use the memory itself, as it has the alias set. */ - addr_rtx = XEXP (assign_temp (type, 0, 1, 0), 0); - mem = gen_rtx_MEM (BLKmode, addr_rtx); + x = XEXP (assign_temp (type, 0, 1, 0), 0); + mem = gen_rtx_MEM (BLKmode, x); + force_operand (x, addr_rtx); set_mem_alias_set (mem, get_varargs_alias_set ()); set_mem_align (mem, BITS_PER_UNIT);