PR c/64856
[official-gcc.git] / gcc / testsuite / gcc.dg / 20011021-1.c
blob8893b774aa31f175cffcae8d2907d7cc8a63b841
1 /* Test for various initializer warnings being suppressed by use of
2 designated initializers. */
4 /* { dg-do compile } */
5 /* { dg-options "-std=c99 -W -Wall -Wtraditional" } */
8 struct t
10 int a;
11 int b; /* { dg-message "note: 'b' declared here" } */
12 int c;
15 union u
17 int n;
18 float i;
21 struct multilevel
23 int x;
24 struct t t;
25 union u u;
26 union u v;
27 char *f;
30 struct t T0 = { 1 }; /* { dg-warning "missing init" } */
32 struct t T1 = { .a = 1 }; /* { dg-bogus "(missing|near) init" } */
34 union u U0 = { 1 }; /* { dg-warning "initialization of union" } */
35 union u U1 = { .i = 1 }; /* { dg-bogus "initialization of union" } */
37 struct multilevel M =
39 12,
40 { .b = 3 }, /* { dg-bogus "missing init" } */
41 { 4 }, /* { dg-warning "initialization of union" } */
42 { .n = 9 }, /* { dg-bogus "initialization of union" } */
43 /* "string here" */
44 }; /* { dg-warning "missing init" } */
45 /* { dg-message "declared here" "near init" { target *-*-* } 27 } */