/* Test for warnings for overriding designated initializers:
   -Wextra.  Bug 24010.  */
/* Origin: Joseph Myers <joseph@codesourcery.com> */
/* { dg-do compile } */
/* { dg-options "-Wextra" } */

struct s { int a; int b; int c; };
union u { char a; long long b; };

struct s s0 = {
  .a = 1,
  .b = 2,
  .a = 3, /* { dg-warning "initialized field overwritten|near init" } */
  4, /* { dg-warning "initialized field overwritten|near init" } */
  5
};

union u u0 = {
  .a = 1,
  .b = 2, /* { dg-warning "initialized field overwritten|near init" } */
  .a = 3 }; /* { dg-warning "initialized field overwritten|near init" } */

int a[5] = {
  [0] = 1,
  [1] = 2,
  [0] = 3, /* { dg-warning "initialized field overwritten|near init" } */
  [2] = 4
};
