aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorFranz Sirl <Franz.Sirl-kernel@lauterbach.com>2000-10-17 22:17:34 +0000
committerFranz Sirl <sirl@gcc.gnu.org>2000-10-17 22:17:34 +0000
commit832ea3b309246e34a445eae0969220f053e8e8b9 (patch)
tree60202866c1e0e05a002604b6b673a6c27f06bcd3 /gcc/function.c
parent34137553f95c4c36d1f601101becf90afc68d21e (diff)
downloadgcc-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.c7
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