//6.2.7 Compatible type and composite type
//c2011-6-2-7-ex.c
//(c)kaizen@gifu-u.ac.jp

#include <stdio.h>
int f(int (*)(), double (*)[3]);
int f(int (*)(char *), double (*)[]);
// int f(int (*)(char *), double (*)[3]);
int a(char *s){
	static int i[2];
	i[0]= (int) s;
	return i;
}
int f(int *a(char *), double *g[3]){
	int i;
	char * s="char*";
	i= *a(s)*((int)g[0][0]);
	return i;	
}
int main(void){
	char * s;
	double  b[3][3]={{2.2,0.0,0.0},{3.2,0.0,0.0},{4.4,0.0,0.0}};
return printf("%d",f(a(s),b));
}
//2 warnings generated.
//Undefined symbols for architecture x86_64:
//  "_f", referenced from:
//      _main in c2011-6-2-7-ex-LltUNt.o
//ld: symbol(s) not found for architecture x86_64
//clang: error: linker command failed with exit code 1 (use -v to see invocation)
