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))
      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  
      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