diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-08-13 21:34:31 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-08-13 21:34:31 -0400 |
commit | ba418aa40a65738e175e6e49ad5925a414b9fa8e (patch) | |
tree | 8e36021e6a5da3341e9c9bb3135d954d84d827a7 /gcc/ginclude | |
parent | a2ef6e41d2c7f6ed0096983ca7c0cd1d74faad16 (diff) | |
download | gcc-ba418aa40a65738e175e6e49ad5925a414b9fa8e.zip gcc-ba418aa40a65738e175e6e49ad5925a414b9fa8e.tar.gz gcc-ba418aa40a65738e175e6e49ad5925a414b9fa8e.tar.bz2 |
(va_start): For stdarg, delete separate define for 64 bit ABI.
(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.
From-SVN: r10230
Diffstat (limited to 'gcc/ginclude')
-rw-r--r-- | gcc/ginclude/va-mips.h | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/gcc/ginclude/va-mips.h b/gcc/ginclude/va-mips.h index 76df364..3cf1c92 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 |