1 /* { dg-do compile } */
2 /* { dg-options "" } */
3
4 /* Verify that GCC forbids non-static initialization of
5 flexible array members. */
6
7 typedef char T[];
8 struct str { int len; T s; };
9
10 struct str a = { 2, "a" };
11
foo()12 void foo()
13 {
14 static struct str b = { 2, "b" };
15 struct str c = { 2, "c" }; /* { dg-error "(non-static)|(near initialization)" } */
16 struct str d = (struct str) { 2, "d" }; /* { dg-error "(non-static)|(near initialization)" } */
17 struct str e = (struct str) { d.len, "e" }; /* { dg-error "(non-static)|(initialization)" } */
18 }
19