summaryrefslogtreecommitdiff
path: root/src/stdarg/va_arg.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/stdarg/va_arg.h')
-rw-r--r--src/stdarg/va_arg.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/stdarg/va_arg.h b/src/stdarg/va_arg.h
new file mode 100644
index 00000000..79584b2b
--- /dev/null
+++ b/src/stdarg/va_arg.h
@@ -0,0 +1,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)
+*/