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

     1  #include <stdarg.h>
     2  
     3  va_double (int n, ...)
     4  {
     5    va_list args;
     6  
     7    va_start (args, n);
     8  
     9    if (va_arg (args, double) != 3.141592)
    10      abort ();
    11    if (va_arg (args, double) != 2.71827)
    12      abort ();
    13    if (va_arg (args, double) != 2.2360679)
    14      abort ();
    15    if (va_arg (args, double) != 2.1474836)
    16      abort ();
    17  
    18    va_end (args);
    19  }
    20  
    21  va_long_double (int n, ...)
    22  {
    23    va_list args;
    24  
    25    va_start (args, n);
    26  
    27    if (va_arg (args, long double) != 3.141592L)
    28      abort ();
    29    if (va_arg (args, long double) != 2.71827L)
    30      abort ();
    31    if (va_arg (args, long double) != 2.2360679L)
    32      abort ();
    33    if (va_arg (args, long double) != 2.1474836L)
    34      abort ();
    35  
    36    va_end (args);
    37  }
    38  
    39  main ()
    40  {
    41    va_double (4, 3.141592, 2.71827, 2.2360679, 2.1474836);
    42    va_long_double (4, 3.141592L, 2.71827L, 2.2360679L, 2.1474836L);
    43    exit (0);
    44  }