1 extern int array[3]; 2 extern int matrix[3][3]; 3 extern int fun(int); 4 5 extern int fia(int []); 6 extern int fip(int *); 7 extern int fim(int (*)[3]); 8 extern int fvp(void *); 9 extern int ffp(int (*)(int)); 10 11 void call(void); 12 void call(void) 13 { 14 fia(array); 15 16 fip(array); 17 fim(matrix); 18 19 fvp(array); 20 fvp(matrix); 21 22 fvp(fun); 23 fvp(&fun); 24 ffp(fun); 25 ffp(&fun); 26 } 27 28 void local(void); 29 void local(void) 30 { 31 int *ip; 32 int (*im)[3]; 33 void *vp; 34 int (*fp)(int); 35 36 ip = array; 37 im = matrix; 38 39 vp = array; 40 vp = matrix; 41 42 vp = fun; 43 vp = &fun; 44 fp = fun; 45 fp = &fun; 46 } 47 48 49 extern int *ip; 50 extern int (*im)[3]; 51 extern void *vp; 52 extern int (*fp)(int); 53 54 void global(void); 55 void global(void) 56 { 57 ip = array; 58 im = matrix; 59 60 vp = array; 61 vp = matrix; 62 63 vp = fun; 64 vp = &fun; 65 fp = fun; 66 fp = &fun; 67 } 68 69 /* 70 * check-name: degenerated pointer handling 71 * check-command: sparsec -c $file -o tmp.o 72 */