1 // { dg-do assemble  }
2 
3 extern int a[][];   // { dg-error "" } invalid multidimensional array
4 extern int b[7][];  // { dg-error "" } invalid multidimensional array
5 extern int c[][7];  // OK
6 
7 extern int (*i)[];  // { dg-message "" } previous declaration
8 extern int (*i)[7]; // { dg-error "" } conflicting types for `i'
9 
10 extern int m[];
11 extern int m[7];    // OK
12 
f(int (* j)[3])13 void f(int (*j)[3])
14 {
15   extern int (*k)[];
16   f(k);             // { dg-error "" } passing wrong type
17 }
18