1 /* { dg-options "-std=c99 -pedantic-errors" } */
2
foo1(int (* o)(int p[* ]))3 void foo1(int (*o)(int p[*])) { }
4
5 void foo2(int o[*]);
6 void foo3(int o[4][*]);
7
8 void foo4(int j, int a[j]);
9 void foo4(int, int a[*]);
10 void foo4(int, int a[]);
foo4(int j,int a[j])11 void foo4(int j, int a[j]) {
12 }
13
14 int foo5(int a, int b[*][*], int c[static sizeof(*b)]);
foo5(int a,int b[10][10],int c[400])15 int foo5(int a, int b[10][10], int c[400]) {
16 return sizeof (c); /* { dg-warning "on array function parameter" } */
17 }
18
19 int foo6(int a, int b[*][*], int c[static sizeof(*b)]);
foo6(int a,int b[a][a],int c[sizeof (* b)])20 int foo6(int a, int b[a][a], int c[sizeof(*b)]) {
21 return sizeof (c); /* { dg-warning "on array function parameter" } */
22 }
23
24 void foo7(__typeof__ (int (*)(int o[*])) i);
25