diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1994-03-23 14:20:35 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1994-03-23 14:20:35 -0800 |
commit | a20dcf46c04b7bc8533b3e6c6a040c9f7083e6e6 (patch) | |
tree | 6d8d7da65c672bdf8effb1b562f95279afa0646a /gcc | |
parent | 117aea7ad86c417a457823db2971b76f6a4046a9 (diff) | |
download | gcc-a20dcf46c04b7bc8533b3e6c6a040c9f7083e6e6.zip gcc-a20dcf46c04b7bc8533b3e6c6a040c9f7083e6e6.tar.gz gcc-a20dcf46c04b7bc8533b3e6c6a040c9f7083e6e6.tar.bz2 |
(va_start): Add call to builtin_next_arg.
From-SVN: r6856
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ginclude/va-alpha.h | 7 | ||||
-rw-r--r-- | gcc/ginclude/va-clipper.h | 5 | ||||
-rw-r--r-- | gcc/ginclude/va-m88k.h | 6 | ||||
-rw-r--r-- | gcc/ginclude/va-pa.h | 5 |
4 files changed, 18 insertions, 5 deletions
diff --git a/gcc/ginclude/va-alpha.h b/gcc/ginclude/va-alpha.h index 0cc1109..75cd6cd 100644 --- a/gcc/ginclude/va-alpha.h +++ b/gcc/ginclude/va-alpha.h @@ -35,8 +35,11 @@ typedef struct { /* ANSI alternative. */ -#define va_start(pvar, firstarg) \ - ((pvar) = *(__gnuc_va_list *) __builtin_saveregs ()) +/* Call __builtin_next_arg even though we aren't using its value, so that + we can verify that firstarg is correct. */ +#define va_start(pvar, firstarg) \ + (__builtin_next_arg (firstarg), \ + (pvar) = *(__gnuc_va_list *) __builtin_saveregs ()) #endif /* _STDARG_H */ diff --git a/gcc/ginclude/va-clipper.h b/gcc/ginclude/va-clipper.h index e3a4b8f..a6d000e 100644 --- a/gcc/ginclude/va-clipper.h +++ b/gcc/ginclude/va-clipper.h @@ -22,9 +22,12 @@ typedef struct #define _VA_LIST_ #define _SYS_INT_STDARG_H /* acc compatibility */ +/* Call __builtin_next_arg even though we aren't using its value, so that + we can verify that LASTARG is correct. */ #ifdef _STDARG_H #define va_start(AP,LASTARG) \ - ((AP) = *(va_list *)__builtin_saveregs(), \ + (__builtin_next_arg (LASTARG), \ + (AP) = *(va_list *)__builtin_saveregs(), \ (AP).__va_num = __builtin_args_info (0), \ (AP).__va_ap += __builtin_args_info (1)) #else diff --git a/gcc/ginclude/va-m88k.h b/gcc/ginclude/va-m88k.h index 243d653..480fef0 100644 --- a/gcc/ginclude/va-m88k.h +++ b/gcc/ginclude/va-m88k.h @@ -19,8 +19,12 @@ typedef struct #ifdef _STDARG_H /* stdarg.h support */ +/* Call __builtin_next_arg even though we aren't using its value, so that + we can verify that LASTARG is correct. */ #if __GNUC__ > 1 /* GCC 2.0 and beyond */ -#define va_start(AP,LASTARG) ((AP) = *(__gnuc_va_list *)__builtin_saveregs()) +#define va_start(AP,LASTARG) \ + (__builtin_next_arg (LASTARG), \ + (AP) = *(__gnuc_va_list *)__builtin_saveregs()) #else #define va_start(AP,LASTARG) \ ( (AP).__va_reg = (int *) __builtin_saveregs2(0), \ diff --git a/gcc/ginclude/va-pa.h b/gcc/ginclude/va-pa.h index 14c6b95..b21c1e4 100644 --- a/gcc/ginclude/va-pa.h +++ b/gcc/ginclude/va-pa.h @@ -21,8 +21,11 @@ typedef double *__gnuc_va_list; (AP) = (double *)((char *)(AP) + 4) #endif /* __GNUC__ > 1 */ +/* Call __builtin_next_arg even though we aren't using its value, so that + we can verify that LASTARG is correct. */ #ifdef _STDARG_H -#define va_start(AP,LASTARG) __gnuc_va_start (AP) +#define va_start(AP,LASTARG) \ + (__builtin_next_arg (LASTARG), __gnuc_va_start (AP)) #else /* The ... causes current_function_varargs to be set in cc1. */ #define va_dcl long va_alist; __va_ellipsis |