1#include <stdarg.h>
2
3struct tiny
4{
5  short c;
6  short d;
7};
8
9f (int n, ...)
10{
11  struct tiny x;
12  int i;
13
14  va_list ap;
15  va_start (ap,n);
16  for (i = 0; i < n; i++)
17    {
18      x = va_arg (ap,struct tiny);
19      if (x.c != i + 10)
20	abort();
21      if (x.d != i + 20)
22	abort();
23    }
24  {
25    long x = va_arg (ap, long);
26    if (x != 123)
27      abort();
28  }
29  va_end (ap);
30}
31
32main ()
33{
34  struct tiny x[3];
35  x[0].c = 10;
36  x[1].c = 11;
37  x[2].c = 12;
38  x[0].d = 20;
39  x[1].d = 21;
40  x[2].d = 22;
41  f (3, x[0], x[1], x[2], (long) 123);
42  exit(0);
43}
44
45