summaryrefslogtreecommitdiff
path: root/gcc/ginclude
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1995-08-14 01:34:31 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1995-08-14 01:34:31 +0000
commit0e873c701a29712165ee9fc323b42367b47d5dcf (patch)
tree8e36021e6a5da3341e9c9bb3135d954d84d827a7 /gcc/ginclude
parent096016d93638ef8164a27ed280ae7eaa33eac108 (diff)
downloadgcc-0e873c701a29712165ee9fc323b42367b47d5dcf.tar.gz
(va_start): For stdarg, delete separate define for 64 bit ABI. For
varargs, don't subtract 64, and only add -8 when all argument registers are used. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10230 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ginclude')
-rw-r--r--gcc/ginclude/va-mips.h15
1 files changed, 4 insertions, 11 deletions
diff --git a/gcc/ginclude/va-mips.h b/gcc/ginclude/va-mips.h
index 76df3648ec1..3cf1c920af5 100644
--- a/gcc/ginclude/va-mips.h
+++ b/gcc/ginclude/va-mips.h
@@ -7,7 +7,7 @@
/* ---------------------------------------- */
-/* These macros implement varargs for GNU C--either traditional or ANSU. */
+/* These macros implement varargs for GNU C--either traditional or ANSI. */
/* Define __gnuc_va_list. */
@@ -43,14 +43,8 @@ typedef char * __gnuc_va_list;
#endif
#ifdef _STDARG_H
-#if defined(_MIPS_SIM) && (_MIPS_SIM == _MIPS_SIM_ABI64)
-#define va_start(__AP, __LASTARG) \
- (__AP = __builtin_next_arg (__LASTARG) - 64 \
- + (__builtin_args_info (2) > 8 ? 64 : __builtin_args_info(2) * 8))
-#else
#define va_start(__AP, __LASTARG) \
(__AP = (__gnuc_va_list) __builtin_next_arg (__LASTARG))
-#endif
#else
#define va_alist __builtin_va_alist
@@ -60,12 +54,11 @@ typedef char * __gnuc_va_list;
#else
#define va_dcl int __builtin_va_alist; __va_ellipsis
#endif
-/* Need alternate code for _MIPS_SIM_ABI64, but don't use that symbol
- because it may not be defined. */
+/* Need alternate code for _MIPS_SIM_ABI64. */
#if defined(_MIPS_SIM) && (_MIPS_SIM == _MIPS_SIM_ABI64)
#define va_start(__AP) \
- (__AP = __builtin_next_arg () - 64 \
- + (__builtin_args_info (2) > 8 ? 64 : __builtin_args_info(2) * 8))
+ (__AP = (__gnuc_va_list) __builtin_next_arg () \
+ + (__builtin_args_info (2) >= 8 ? -8 : 0))
#else
#define va_start(__AP) __AP = (char *) &__builtin_va_alist
#endif