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