diff options
author | Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | 2000-10-17 22:17:34 +0000 |
---|---|---|
committer | Franz Sirl <sirl@gcc.gnu.org> | 2000-10-17 22:17:34 +0000 |
commit | 832ea3b309246e34a445eae0969220f053e8e8b9 (patch) | |
tree | 60202866c1e0e05a002604b6b673a6c27f06bcd3 /gcc/function.c | |
parent | 34137553f95c4c36d1f601101becf90afc68d21e (diff) | |
download | gcc-832ea3b309246e34a445eae0969220f053e8e8b9.zip gcc-832ea3b309246e34a445eae0969220f053e8e8b9.tar.gz gcc-832ea3b309246e34a445eae0969220f053e8e8b9.tar.bz2 |
function.c (locate_and_pad_parm): Don't align stack unconditionally.
2000-10-17 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* function.c (locate_and_pad_parm): Don't align stack unconditionally.
Fixes execute/20001017-1.c on pwerpc-linux-gnu.
* expr.c (store_constructor): Apply MEM_ALIAS_SET to MEMs only.
* rs6000/rs6000.c (rs6000_hash_constant): use X0INT to access a
LABEL_REF.
* rs6000/rs6000.h (NO_DOLLAR_IN_LABEL, DOLLARS_IN_IDENTIFIERS,
ENCODE_SECTION_INFO, ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Move from
here...
* rs6000/aix.h: ...to here.
* rs6000/linux.h (ASM_APP_ON, ASM_APP_OFF): Define to Linux-style.
From-SVN: r36914
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/function.c b/gcc/function.c index 4cf7119..07528ec 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -5149,7 +5149,12 @@ locate_and_pad_parm (passed_mode, type, in_regs, fndecl, - offset_ptr->constant); #else /* !ARGS_GROW_DOWNWARD */ - pad_to_arg_alignment (initial_offset_ptr, boundary, alignment_pad); + if (!in_regs +#ifdef REG_PARM_STACK_SPACE + || REG_PARM_STACK_SPACE (fndecl) > 0 +#endif + ) + pad_to_arg_alignment (initial_offset_ptr, boundary, alignment_pad); *offset_ptr = *initial_offset_ptr; #ifdef PUSH_ROUNDING |