aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1999-11-05 06:49:38 +0000
committerJeff Law <law@gcc.gnu.org>1999-11-04 23:49:38 -0700
commit9399d5c63fc03d80fb57868f6ab4a26657358445 (patch)
tree7fce43098cc9408d678762ea98e5178d763d9d77 /gcc/function.c
parente7749837caaa5c7a7fddea3e8eb90b852cead3d6 (diff)
downloadgcc-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.c6
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;
}
}