boot2

Playing with the boostrap
git clone https://git.ryansepassi.com/git/boot2.git
Log | Files | Refs | README

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