Loading...
Searching...
No Matches
Go to the documentation of this file.
42 typedef __builtin_va_list
va_list;
50#define STACKITEM int64_t
54#define VA_SIZE(TYPE) \
55 ((sizeof(TYPE)+sizeof(STACKITEM)-1) \
56 & ~(sizeof(STACKITEM)-1))
58#if defined(ARCH_X64) || defined(__x86_64__)
61#define va_start(AP, LASTARG) \
62 (AP = ((va_list)&(LASTARG)+VA_SIZE(LASTARG)))
67#define va_arg(AP, TYPE) \
68 (AP += VA_SIZE(TYPE), *((TYPE *)(AP - VA_SIZE(TYPE))))
69#elif defined(ARCH_ARM64) || defined(__aarch64__)
71#define va_start(ap, last) __builtin_va_start(ap, last)
72#define va_arg(ap, type) __builtin_va_arg(ap, type)
73#define va_end(ap) __builtin_va_end(ap)
75#define va_start(ap,last) \
76 ((ap) = (va_list)(&(last)) + 8)
79 (*(T*)((ap) += 8, (ap) - 8))
unsigned char * va_list
Definition stdarg.h:45