diff options
Diffstat (limited to 'winsup/mingw/include')
-rw-r--r-- | winsup/mingw/include/stdarg.h | 5 | ||||
-rw-r--r-- | winsup/mingw/include/stdio.h | 9 | ||||
-rw-r--r-- | winsup/mingw/include/varargs.h | 8 |
3 files changed, 16 insertions, 6 deletions
diff --git a/winsup/mingw/include/stdarg.h b/winsup/mingw/include/stdarg.h index 6db01aa35..9d08ee86f 100644 --- a/winsup/mingw/include/stdarg.h +++ b/winsup/mingw/include/stdarg.h @@ -52,9 +52,12 @@ #ifndef _VA_LIST #define _VA_LIST +#if defined __GNUC__ && __GNUC__ >= 3 +typedef __builtin_va_list va_list; +#else typedef char* va_list; #endif - +#endif /* * Amount of space required in an argument list (ie. the stack) for an diff --git a/winsup/mingw/include/stdio.h b/winsup/mingw/include/stdio.h index d288f0009..a5a3e7c9e 100644 --- a/winsup/mingw/include/stdio.h +++ b/winsup/mingw/include/stdio.h @@ -127,11 +127,14 @@ * functions later on in the file which use va_list. That conflicts with * using stdio.h and varargs.h in the same file, so I do the typedef myself. */ -#ifndef _VA_LIST +#ifndef _VA_LIST #define _VA_LIST -typedef char* va_list; +#if defined __GNUC__ && __GNUC__ >= 3 +typedef __builtin_va_list va_list; +#else +typedef char* va_list; +#endif #endif - /* * The structure underlying the FILE type. * diff --git a/winsup/mingw/include/varargs.h b/winsup/mingw/include/varargs.h index 48e203b24..53703445c 100644 --- a/winsup/mingw/include/varargs.h +++ b/winsup/mingw/include/varargs.h @@ -52,10 +52,14 @@ #ifndef RC_INVOKED -#ifndef _VA_LIST -#define _VA_LIST +#ifndef _VA_LIST +#define _VA_LIST +#if defined __GNUC__ && __GNUC__ >= 3 +typedef __builtin_va_list va_list; +#else typedef char* va_list; #endif +#endif /* * Amount of space required in an argument list (ie. the stack) for an |