diff options
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/function.c b/gcc/function.c index 6377751..7360022 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -2261,6 +2261,11 @@ assign_parm_find_entry_rtl (struct assign_parm_data_all *all, entry_parm ? data->partial : 0, current_function_decl, &all->stack_args_size, &data->locate); + /* Update parm_stack_boundary if this parameter is passed in the + stack. */ + if (!in_regs && crtl->parm_stack_boundary < data->locate.boundary) + crtl->parm_stack_boundary = data->locate.boundary; + /* Adjust offsets to include the pretend args. */ pretend_bytes = all->extra_pretend_bytes - pretend_bytes; data->locate.slot_offset.constant += pretend_bytes; |