stdarg.h (821B)
1 /* lispcc-bundled <stdarg.h>. Per CC.md §Standard library expectations, 2 * the pre-flatten step splices this in for any source that 3 * `#include`s <stdarg.h>; the compiler proper rejects #include. 4 * 5 * va_list is a single pointer. va_start, va_arg, va_end are macros 6 * around the __builtin_va_* names recognized by the parser. See 7 * cc/parse.scm parse-builtin-va-{start,arg,end}. 8 * 9 * Limit (cc/cg.scm cg-fn-begin/v): the incoming-arg window covers 10 * indices 0..15 (a-regs for 0..3, LDARG for 4..15). Calls with more 11 * than 15 variadic args after the named ones won't see them. */ 12 13 #ifndef _STDARG_H 14 #define _STDARG_H 15 16 typedef char *va_list; 17 18 #define va_start(ap, last) __builtin_va_start((ap), (last)) 19 #define va_arg(ap, T) __builtin_va_arg((ap), T) 20 #define va_end(ap) __builtin_va_end((ap)) 21 22 #endif