1 /* Test for warnings for overriding designated initializers:
2    -Woverride-init.  Bug 24010.  */
3 /* Origin: Joseph Myers <joseph@codesourcery.com> */
4 /* { dg-do compile } */
5 /* { dg-options "-Woverride-init" } */
6 
7 struct s { int a; int b; int c; };
8 union u { char a; long long b; };
9 
10 struct s s0 = {
11   .a = 1,
12   .b = 2,
13   .a = 3, /* { dg-warning "initialized field overwritten|near init" } */
14   4, /* { dg-warning "initialized field overwritten|near init" } */
15   5
16 };
17 
18 union u u0 = {
19   .a = 1,
20   .b = 2, /* { dg-warning "initialized field overwritten|near init" } */
21   .a = 3 }; /* { dg-warning "initialized field overwritten|near init" } */
22 
23 int a[5] = {
24   [0] = 1,
25   [1] = 2,
26   [0] = 3, /* { dg-warning "initialized field overwritten|near init" } */
27   [2] = 4
28 };
29