summaryrefslogtreecommitdiff
path: root/alpha/include/ape/stdarg.h
blob: f4ff6c734d136e523fc3798520544972b464006c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#ifndef __STDARG
#define __STDARG

typedef char *va_list;

#define va_start(list, start) list = (char *)(&(start)+1)
#define va_end(list)
#define va_arg(list, mode)\
	(sizeof(mode)==1?\
		((mode*)(list += 4))[-1]:\
	sizeof(mode)==2?\
		((mode*)(list += 4))[-1]:\
	sizeof(mode)>4?\
		((mode*)(list = (char*)((long)(list+7) & ~7) + sizeof(mode)))[-1]:\
		((mode*)(list += sizeof(mode)))[-1])

#endif /* __STDARG */