modernc.org/cc@v1.0.1/v2/testdata/bug/15.c (about) 1 #include <assert.h> 2 #include <stdarg.h> 3 4 va_list a; 5 6 void g(va_list ap) { 7 assert(va_arg(ap, int) == 278); 8 } 9 10 void f(int i, ...) { 11 va_list ap; 12 va_start(ap, i); 13 assert(va_arg(ap, int) == 42); 14 assert(va_arg(ap, double) == 3.14); 15 g(ap); 16 assert(va_arg(ap, int) == 123); 17 va_end(ap); 18 } 19 20 int main() { 21 va_list b; 22 __builtin_printf("%i %i\n", sizeof(a), sizeof(b)); 23 assert(sizeof(a) == sizeof(void*)); 24 assert(sizeof(b) == sizeof(void*)); 25 f(0, 42, 3.14, 278, 123); 26 }