diff options
Diffstat (limited to 'win32/include/stdarg.h')
| -rw-r--r-- | win32/include/stdarg.h | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/win32/include/stdarg.h b/win32/include/stdarg.h deleted file mode 100644 index 666adf7..0000000 --- a/win32/include/stdarg.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef _STDARG_H -#define _STDARG_H - -#ifdef __x86_64__ -#ifndef _WIN64 - -typedef void *va_list; - -va_list __va_start(void *fp); -void *__va_arg(va_list ap, int arg_type, int size); -va_list __va_copy(va_list src); -void __va_end(va_list ap); - -#define va_start(ap, last) ((ap) = __va_start(__builtin_frame_address(0))) -#define va_arg(ap, type) \ - (*(type *)(__va_arg(ap, __builtin_va_arg_types(type), sizeof(type)))) -#define va_copy(dest, src) ((dest) = __va_copy(src)) -#define va_end(ap) __va_end(ap) - -#else /* _WIN64 */ -typedef char *va_list; -#define va_start(ap,last) ap = ((char *)&(last)) + ((sizeof(last)+7)&~7) -#define va_arg(ap,type) (ap += (sizeof(type)+7)&~7, *(type *)(ap - ((sizeof(type)+7)&~7))) -#define va_copy(dest, src) (dest) = (src) -#define va_end(ap) -#endif - -#else /* __i386__ */ -typedef char *va_list; -/* only correct for i386 */ -#define va_start(ap,last) ap = ((char *)&(last)) + ((sizeof(last)+3)&~3) -#define va_arg(ap,type) (ap += (sizeof(type)+3)&~3, *(type *)(ap - ((sizeof(type)+3)&~3))) -#define va_copy(dest, src) (dest) = (src) -#define va_end(ap) -#endif - -/* fix a buggy dependency on GCC in libio.h */ -typedef va_list __gnuc_va_list; -#define _VA_LIST_DEFINED - -#endif /* _STDARG_H */ |
