4 static int test_stdarg_va(void* p1, ...)
12 l = va_arg(ap, unsigned long);
14 p2 = va_arg(ap, void *);
16 return p1 == p2 && i1 == 1 && l == 0x76214365ul && i2 == 2;
20 static int test_stdarg_builtin_va(void* p1, ...)
26 __builtin_stdarg_start(ap, p1);
27 i1 = __builtin_va_arg(ap, int);
28 l = __builtin_va_arg(ap, unsigned long);
29 i2 = __builtin_va_arg(ap, int);
30 p2 = __builtin_va_arg(ap, void *);
32 return p1 == p2 && i1 == 1 && l == 0x76214369ul && i2 == 2;
36 static int test_stdarg(int r)
39 if (test_stdarg_va(&r, c1, 0x76214365ul, c2, &r) != 1)
41 if (test_stdarg_builtin_va(&r, c1, 0x76214369ul, c2, &r) != 1)
47 int main(int argc, char **argv)
49 if (test_stdarg(1) != 1) {
53 printf("All done.\n");