modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/va-arg-6.c (about)

     1  #include <stdarg.h>
     2  
     3  f (int n, ...)
     4  {
     5    va_list args;
     6  
     7    va_start (args, n);
     8  
     9    if (va_arg (args, int) != 10)
    10      abort ();
    11    if (va_arg (args, long long) != 10000000000LL)
    12      abort ();
    13    if (va_arg (args, int) != 11)
    14      abort ();
    15    if (va_arg (args, long double) != 3.14L)
    16      abort ();
    17    if (va_arg (args, int) != 12)
    18      abort ();
    19    if (va_arg (args, int) != 13)
    20      abort ();
    21    if (va_arg (args, long long) != 20000000000LL)
    22      abort ();
    23    if (va_arg (args, int) != 14)
    24      abort ();
    25    if (va_arg (args, double) != 2.72)
    26      abort ();
    27  
    28    va_end(args);
    29  }
    30  
    31  main ()
    32  {
    33    f (4, 10, 10000000000LL, 11, 3.14L, 12, 13, 20000000000LL, 14, 2.72);
    34    exit (0);
    35  }