builtins.c (std_expand_builtin_va_start): Take PARM_BOUNDARY into account.

* builtins.c (std_expand_builtin_va_start): Take PARM_BOUNDARY
into account.

From-SVN: r37381
This commit is contained in:
Alexandre Oliva 2000-11-11 06:04:59 +00:00 committed by Alexandre Oliva
parent 93a7784807
commit 3650b6953d
2 changed files with 10 additions and 3 deletions

View file

@ -1,5 +1,8 @@
2000-11-11 Alexandre Oliva <aoliva@redhat.com>
* builtins.c (std_expand_builtin_va_start): Take PARM_BOUNDARY
into account.
* config/sh/sh.h (MODES_TIEABLE_P): Don't tie SFmode to other FP
modes.

View file

@ -2250,14 +2250,18 @@ stabilize_va_list (valist, needs_lvalue)
the variable. */
void
std_expand_builtin_va_start (stdarg_p, valist, nextarg)
int stdarg_p ATTRIBUTE_UNUSED;
int stdarg_p;
tree valist;
rtx nextarg;
{
tree t;
if (!stdarg_p)
nextarg = plus_constant (nextarg, -UNITS_PER_WORD);
if (! stdarg_p)
{
int align = PARM_BOUNDARY / BITS_PER_UNIT;
int offset = (((UNITS_PER_WORD + align - 1) / align) * align);
nextarg = plus_constant (nextarg, -offset);
}
t = build (MODIFY_EXPR, TREE_TYPE (valist), valist,
make_tree (ptr_type_node, nextarg));