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