1extern int gfun(int); 2static int sfun(int a) { return a; } 3 4void usei(int *); 5void usef(int (*)(int)); 6void usev(void *); 7 8void foo(int *p, int a[5], int (*pfun)(int)); 9void foo(int *p, int a[5], int (*pfun)(int)) 10{ 11 extern int valg[5], valh[5], vali[5]; 12 static int vals[5], valt[5], valr[5]; 13 int vala[5], valb[5], valc[5]; 14 15 usei(p); 16 usei(valg); 17 usei(&valh[0]); 18 usei(&vali[1]); 19 usei(vals); 20 usei(&valt[0]); 21 usei(&valr[1]); 22 usei(vala); 23 usei(&valb[0]); 24 usei(&valc[1]); 25 26 usef(pfun); 27 usef(gfun); 28 usef(&gfun); 29 usef(sfun); 30 usef(&sfun); 31 32 usev(pfun); 33 usev(gfun); 34 usev(&gfun); 35 usev(sfun); 36 usev(&sfun); 37} 38 39/* 40 * check-name: pointer-param 41 * check-command: sparsec -c $file -o tmp.o 42 */ 43