aboutsummaryrefslogtreecommitdiff
path: root/gcc
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
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')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/function.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 512eaba..079b518 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Thu Nov 4 23:48:14 1999 Jeffrey A Law (law@cygnus.com)
+
+ * function.c (pad_to_arg_alignment): Only update argument_pad
+ if the argument's alignment is greater than STACK_BOUNDARY.
+
Thu Nov 4 16:44:53 1999 Richard Henderson <rth@cygnus.com>
* bitmap.h (BITMAP_XFREE): New.
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;
}
}