1  #include <stdarg.h>
       2  
       3  typedef double L;
       4  void f (L p0, L p1, L p2, L p3, L p4, L p5, L p6, L p7, L p8, ...)
       5  {
       6    va_list select;
       7  
       8    va_start (select, p8);
       9  
      10    if (va_arg (select, int) != 10)
      11      abort ();
      12    if (va_arg (select, int) != 11)
      13      abort ();
      14    if (va_arg (select, int) != 12)
      15      abort ();
      16  
      17    va_end (select);
      18  }
      19  
      20  int main ()
      21  {
      22    f (1., 2., 3., 4., 5., 6., 7., 8., 9., 10, 11, 12);
      23    exit (0);
      24  }