summaryrefslogtreecommitdiff
path: root/src/stdarg/va_arg.c
blob: 79584b2b3ebe2129200b1b7333f4bae37b479df2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#define va_arg(__ap, __type)                      __builtin_va_arg(__ap, __type)

/** get an unnamed parameter **/

/***
retrieves the next unnamed parameter for use. The ARGUMENT(ap) parameter must
be first initialized with a call to FUNCTION(va_start). Each successive call to
FUNCTION(va_arg) evaluates the next argument as an object of type ARGUMENT(type)
and returns that value, modifying ARGUMENT(ap) for use in the next call to
FUNCTION(va_arg).
***/

/*
PROTOTYPE(TYPE(VAR(type)) va_arg(va_list ap, TYPE(VAR(type)));)

UNDEFINED(There is no next argument)
UNDEFINED(The next argument is not compatible with TYPE(ARGUMENT(type)))
RETURN_SUCCESS(an object of TYPE(ARGUMENT(type)) which is the next unnamed function parameter)

STDC(1)
*/