--- Gnu-Mach/i386/include/mach/sa/stdarg.h 2020/09/02 04:36:57 1.1.1.1 +++ Gnu-Mach/i386/include/mach/sa/stdarg.h 2020/09/02 04:46:46 1.1.1.3 @@ -29,7 +29,17 @@ #ifndef _MACH_SA_STDARG_H_ #define _MACH_SA_STDARG_H_ -#define __va_size(type) ((sizeof(type)+3) & ~0x3) +#if __GNUC__ >= 3 + +typedef __builtin_va_list va_list; + +#define va_start(v,l) __builtin_va_start(v,l) +#define va_end(v) __builtin_va_end(v) +#define va_arg(v,l) __builtin_va_arg(v,l) + +#else + +#define __va_size(type) ((sizeof(type)+sizeof(unsigned long)-1) & ~(sizeof(unsigned long)-1)) #ifndef _VA_LIST_ #define _VA_LIST_ @@ -43,4 +53,6 @@ typedef char *va_list; ((pvar) += __va_size(type), \ *((type *)((pvar) - __va_size(type)))) -#endif _MACH_SA_STDARG_H_ +#endif + +#endif /* _MACH_SA_STDARG_H_ */