Loading...
Searching...
No Matches
Go to the documentation of this file.
58 typedef __builtin_va_list
va_list;
66#define STACKITEM int64_t
70#define VA_SIZE(TYPE) \
71 ((sizeof(TYPE)+sizeof(STACKITEM)-1) \
72 & ~(sizeof(STACKITEM)-1))
74#if defined(ARCH_X64) || defined(__x86_64__)
77#define va_start(AP, LASTARG) \
78 (AP = ((va_list)&(LASTARG)+VA_SIZE(LASTARG)))
83#define va_arg(AP, TYPE) \
84 (AP += VA_SIZE(TYPE), *((TYPE *)(AP - VA_SIZE(TYPE))))
85#elif defined(ARCH_ARM64) || defined(__aarch64__)
87#define va_start(ap, last) __builtin_va_start(ap, last)
88#define va_arg(ap, type) __builtin_va_arg(ap, type)
89#define va_end(ap) __builtin_va_end(ap)
91#define va_start(ap,last) \
92 ((ap) = (va_list)(&(last)) + 8)
95 (*(T*)((ap) += 8, (ap) - 8))
unsigned char * va_list
Definition stdarg.h:61