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  }