//Testing array declarations
int a1[];
//int a2[*];
//double a4[3.0];

int m1[][3];
//int m2[*][*];
int m4[3][3];

typedef int T;

int fred() {
//	int a1[];
//	int a2[*];
	int a4[3];
	int T[3];
}

int mary( int T[3],
		  int p1[const 3],
		  int p2[static 3],
		  int p3[static const 3]
	) {
}

int (*tom())[3] {
}

int (*(jane)())( int T[3],
				 int p1[const 3],
				 int p2[static 3],
				 int p3[static const 3]
	) {
}

//Dummy main
int main(int argc, char const *argv[])
{
	return 0;
}
