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

     1  /* { dg-additional-options "-Wl,-u,_printf_float" { target newlib_nano_io } } */
     2  
     3  #include <stdio.h>
     4  #include <stdarg.h>
     5  
     6  char buf[50];
     7  int
     8  va (int a, double b, int c, ...)
     9  {
    10    va_list ap;
    11    int d, e, f, g, h, i, j, k, l, m, n, o, p;
    12    va_start (ap, c);
    13  
    14    d = va_arg (ap, int);
    15    e = va_arg (ap, int);
    16    f = va_arg (ap, int);
    17    g = va_arg (ap, int);
    18    h = va_arg (ap, int);
    19    i = va_arg (ap, int);
    20    j = va_arg (ap, int);
    21    k = va_arg (ap, int);
    22    l = va_arg (ap, int);
    23    m = va_arg (ap, int);
    24    n = va_arg (ap, int);
    25    o = va_arg (ap, int);
    26    p = va_arg (ap, int);
    27  
    28    sprintf (buf,
    29  	   "%d,%f,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",
    30  	   a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);
    31    va_end (ap);
    32  }
    33  
    34  main()
    35  {
    36    va (1, 1.0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
    37    if (strcmp ("1,1.000000,2,3,4,5,6,7,8,9,10,11,12,13,14,15", buf))
    38      abort();
    39    exit(0);
    40  }