summaryrefslogtreecommitdiff
path: root/src/stdarg/va_arg.c
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2019-02-08 18:42:39 -0500
committerJakob Kaivo <jkk@ung.org>2019-02-08 18:42:39 -0500
commit7ef8a7379f7f7d09e71ccae2a0b688c3cd80423f (patch)
tree092ab0aed1769117fd7b28b8592f6f96b0e0d5af /src/stdarg/va_arg.c
parent6acf19370e8adff79cd83b257d3f04aeaf2a59dd (diff)
merge sources into single tree
Diffstat (limited to 'src/stdarg/va_arg.c')
-rw-r--r--src/stdarg/va_arg.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/stdarg/va_arg.c b/src/stdarg/va_arg.c
new file mode 100644
index 00000000..37353882
--- /dev/null
+++ b/src/stdarg/va_arg.c
@@ -0,0 +1,22 @@
+#include <stdarg.h>
+#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)
+*/