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  */