diff options
author | Jeffrey A Law <law@cygnus.com> | 1999-11-05 06:49:38 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-11-04 23:49:38 -0700 |
commit | 9399d5c63fc03d80fb57868f6ab4a26657358445 (patch) | |
tree | 7fce43098cc9408d678762ea98e5178d763d9d77 /gcc/function.c | |
parent | e7749837caaa5c7a7fddea3e8eb90b852cead3d6 (diff) | |
download | gcc-9399d5c63fc03d80fb57868f6ab4a26657358445.zip gcc-9399d5c63fc03d80fb57868f6ab4a26657358445.tar.gz gcc-9399d5c63fc03d80fb57868f6ab4a26657358445.tar.bz2 |
function.c (pad_to_arg_alignment): Only update argument_pad if the argument's alignment is greater than STACK_BOUNDARY.
* function.c (pad_to_arg_alignment): Only update argument_pad
if the argument's alignment is greater than STACK_BOUNDARY.
From-SVN: r30405
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/function.c b/gcc/function.c index 0df0b82..07dd0b1 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -5019,7 +5019,7 @@ pad_to_arg_alignment (offset_ptr, boundary, alignment_pad) int boundary_in_bytes = boundary / BITS_PER_UNIT; - if (boundary > PARM_BOUNDARY) + if (boundary > PARM_BOUNDARY && boundary > STACK_BOUNDARY) { save_var = offset_ptr->var; save_constant = offset_ptr->constant; @@ -5041,7 +5041,7 @@ pad_to_arg_alignment (offset_ptr, boundary, alignment_pad) (ARGS_SIZE_TREE (*offset_ptr), boundary / BITS_PER_UNIT); offset_ptr->constant = 0; /*?*/ - if (boundary > PARM_BOUNDARY) + if (boundary > PARM_BOUNDARY && boundary > STACK_BOUNDARY) alignment_pad->var = size_binop (MINUS_EXPR, offset_ptr->var, save_var); } else @@ -5052,7 +5052,7 @@ pad_to_arg_alignment (offset_ptr, boundary, alignment_pad) #else CEIL_ROUND (offset_ptr->constant, boundary_in_bytes); #endif - if (boundary > PARM_BOUNDARY) + if (boundary > PARM_BOUNDARY && boundary > STACK_BOUNDARY) alignment_pad->constant = offset_ptr->constant - save_constant; } } |