summaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorgrahams <grahams@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-26 05:45:25 +0000
committergrahams <grahams@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-26 05:45:25 +0000
commit23f37e15fff4896c63987b3958cf8f365d50cb6f (patch)
treec5545082ea24020901e3917a8c88b1eba9b9a3a6 /gcc/function.c
parent4a9e33779566436d8cd2bf3009be3c513acc78ed (diff)
downloadgcc-23f37e15fff4896c63987b3958cf8f365d50cb6f.tar.gz
* function.c (locate_and_pad_parm): Also pad initial offset
so that the total argument size also includes the padding. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44379 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/function.c b/gcc/function.c
index c91da12a80b..98894bad12f 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -5264,7 +5264,10 @@ locate_and_pad_parm (passed_mode, type, in_regs, fndecl,
/* However, BLKmode args passed in regs have their padding done elsewhere.
The stack slot must be able to hold the entire register. */
&& !(in_regs && passed_mode == BLKmode))
- pad_below (offset_ptr, passed_mode, sizetree);
+ {
+ pad_below (offset_ptr, passed_mode, sizetree);
+ pad_below (initial_offset_ptr, passed_mode, sizetree);
+ }
if (where_pad != none
&& (!host_integerp (sizetree, 1)