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