OSDN Git Service

Backported from mainline
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.c-torture / execute / pr38151.c
1 void abort (void);
2
3 struct S2848
4 {
5   unsigned int a;
6   _Complex int b;
7   struct
8   {
9   } __attribute__ ((aligned)) c;
10 };
11
12 struct S2848 s2848;
13
14 int fails;
15
16 void  __attribute__((noinline))
17 check2848va (int z, ...)
18 {
19   struct S2848 arg;
20   __builtin_va_list ap;
21
22   __builtin_va_start (ap, z);
23
24   arg = __builtin_va_arg (ap, struct S2848);
25
26   if (s2848.a != arg.a)
27     ++fails;
28   if (s2848.b != arg.b)
29     ++fails;
30
31   __builtin_va_end (ap);
32 }
33
34 int main (void)
35 {
36   s2848.a = 4027477739U;
37   s2848.b = (723419448 + -218144346 * __extension__ 1i);
38
39   check2848va (1, s2848);
40
41   if (fails)
42     abort ();
43
44   return 0;
45 }
46