stdarg-builtin.after (685B)
1 /* Routed through cc.scm's __builtin_va_* parser-recognized names so 2 * va_start/va_arg/va_end go through cc/cc.scm cg-va-{start,arg,end}. 3 * The original mes macros lower as raw C expressions; cc.scm's 4 * general expression path mishandles them (see cc-libc/05). The 5 * builtin path is exercised by tests/cc/131-vararg-mixed for the 6 * printf -> vprintf -> vfprintf two-frame forwarding shape. */ 7 typedef char *va_list; 8 #define va_start(ap, last) __builtin_va_start((ap), (last)) 9 #define va_arg(ap, type) __builtin_va_arg((ap), type) 10 #define va_arg8(ap, type) __builtin_va_arg((ap), type) 11 #define va_end(ap) __builtin_va_end((ap)) 12 #define va_copy(dest, src) (dest) = (src)