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 }