OSDN Git Service

PR tree-optimization/15262
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.c-torture / execute / strct-varg-1.c
1 #include <stdarg.h>
2
3 struct s { int x, y; };
4
5 f (int attr, ...)
6 {
7   struct s va_values;
8   va_list va;
9   int i;
10
11   va_start (va, attr);
12
13   if (attr != 2)
14     abort ();
15
16   va_values = va_arg (va, struct s);
17   if (va_values.x != 0xaaaa || va_values.y != 0x5555)
18     abort ();
19
20   attr = va_arg (va, int);
21   if (attr != 3)
22     abort ();
23
24   va_values = va_arg (va, struct s);
25   if (va_values.x != 0xffff || va_values.y != 0x1111)
26     abort ();
27
28   va_end (va);
29 }
30
31 main ()
32 {
33   struct s a, b;
34
35   a.x = 0xaaaa;
36   a.y = 0x5555;
37   b.x = 0xffff;
38   b.y = 0x1111;
39
40   f (2, a, 3, b);
41   exit (0);
42 }