1 /* { dg-options "-Wno-psabi" } */
2 /* { dg-require-effective-target int32plus } */
3 void abort (void);
4 
5 struct S2848
6 {
7   unsigned int a;
8   _Complex int b;
9   struct
10   {
11   } __attribute__ ((aligned)) c;
12 };
13 
14 struct S2848 s2848;
15 
16 int fails;
17 
18 void  __attribute__((noinline))
check2848va(int z,...)19 check2848va (int z, ...)
20 {
21   struct S2848 arg;
22   __builtin_va_list ap;
23 
24   __builtin_va_start (ap, z);
25 
26   arg = __builtin_va_arg (ap, struct S2848);
27 
28   if (s2848.a != arg.a)
29     ++fails;
30   if (s2848.b != arg.b)
31     ++fails;
32 
33   __builtin_va_end (ap);
34 }
35 
main(void)36 int main (void)
37 {
38   s2848.a = 4027477739U;
39   s2848.b = (723419448 + -218144346 * __extension__ 1i);
40 
41   check2848va (1, s2848);
42 
43   if (fails)
44     abort ();
45 
46   return 0;
47 }
48 
49