xref: /plan9-contrib/amd64/include/ape/stdarg.h (revision 272efad760864ee41cfe633b56aea9b4f5cf3ae7)
1 #ifndef __STDARG
2 #define __STDARG
3 
4 typedef char *va_list;
5 
6 #define va_start(list, start) list = (sizeof(start)<8 ? (char *)((long long *)&(start)+1) : \
7 (char *)(&(start)+1))
8 #define va_end(list)
9 #define va_arg(list, mode)\
10 	((sizeof(mode) == 1)?\
11 		((mode*)(list += 8))[-8]:\
12 	(sizeof(mode) == 2)?\
13 		((mode*)(list += 8))[-4]:\
14 	(sizeof(mode) == 4)?\
15 		((mode*)(list += 8))[-2]:\
16 		((mode*)(list += sizeof(mode)))[-1])
17 
18 #endif /* __STDARG */
19