1 /* Test for multiple declarations and composite types. Check we don't
2 ICE with nested initializers. */
3
4 /* Origin: Joseph Myers <jsm@polyomino.org.uk> */
5 /* { dg-do compile } */
6 /* { dg-options "-g" } */
7
8 static int w[]; /* { dg-warning "array 'w' assumed to have one element" } */
9 void
f(void)10 f (void)
11 {
12 extern int w[] = { 1, 2 }; /* { dg-error "has both" } */
13 }
14
15 int x[]; /* { dg-warning "array 'x' assumed to have one element" } */
16 void
g(void)17 g (void)
18 {
19 extern int x[] = { 3, 4, 5 }; /* { dg-error "has both" } */
20 }
21
22 static int y[]; /* { dg-warning "array 'y' assumed to have one element" } */
23 void
h(void)24 h (void)
25 {
26 extern int y[] = { 6 }; /* { dg-error "has both" } */
27 }
28
29 int z[]; /* { dg-warning "array 'z' assumed to have one element" } */
30 void
i(void)31 i (void)
32 {
33 extern int z[] = { 7 }; /* { dg-error "has both" } */
34 }
35