diff options
author | J"orn Rennecke <joern.rennecke@superh.com> | 2004-06-29 17:37:06 +0000 |
---|---|---|
committer | J"orn Rennecke <joern.rennecke@superh.com> | 2004-06-29 17:37:06 +0000 |
commit | bdc4eadb9eba888c87df917d4447cf4f91d61ce2 (patch) | |
tree | ed1ca1c5a62b8be4a8fc5f5cf26b9a8567297a0d /gcc/config/sh/sh.h | |
parent | 5d442a8a5c9627250972f55f0027f53d3928bc9a (diff) |
Fix gcc.dg/builtin-apply2.c failures:
* sh.h (TARGET_VARARGS_PRETEND_ARGS): Define.
* sh.c (extra_push): Delete.
(sh_expand_prologue): Don't do extra stack adjustment for
current_function_pretend_args_size if it comes from varargs setup.
Use TARGET_VARARGS_PRETEND_ARGS. Don't set extra_push.
(sh_expand_epilogue): Don't use extra_push.
(sh_setup_incoming_varargs): Set pretend_arg_size when necessary.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/sh-elf-3_5-branch@83863 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/sh/sh.h')
-rw-r--r-- | gcc/config/sh/sh.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index f6154a32200..0d6d1c6570c 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -263,6 +263,11 @@ extern int target_flags; #define TARGET_SAVE_ALL_TARGET_REGS (target_flags & SAVE_ALL_TR_BIT) +/* This is not used by the SH2E calling convention */ +#define TARGET_VARARGS_PRETEND_ARGS(FUN_DECL) \ + (TARGET_SH1 && ! TARGET_SH2E && ! TARGET_SH5 \ + && ! (TARGET_HITACHI || sh_attr_renesas_p (FUN_DECL))) + #ifndef TARGET_CPU_DEFAULT #define TARGET_CPU_DEFAULT SELECT_SH1 #define SUPPORT_SH1 |