// C2011 ISO/IEC JTC1 SC22 WG14 N1570
//6.5.2.2 Function calls
//c2011-6-5-2-2-ex.c
//(c)kaizen@gifu-u.ac.jp
//Apple LLVM version 4.2 (clang-425.0.27) (based on LLVM 3.2svn)
//Target: x86_64-apple-darwin11.4.2
//Thread model: posix
#include <stdio.h>

int f1(void){return 1;}
int f2(void){return 2;}
int f3(void){return 3;}
int f4(void){return 4;}
void * pf[]={f1(),f2(),f3(),f4()};
int main(void){
	int i=	0;
(*pf[f1()]) (f2(), f3() + f4());
return printf("6.5.2.2 Function calls %d",i);
}
//c2011-6-5-2-2-ex.c:15:2: error: indirection requires pointer operand ('int' invalid)
//(*pf[f1()]) (f2(), f3() + f4())
// ^~~~~~~~~
//1 error generated.
