1 extern void useip(int *);
   2 extern void useia(int (*)[3]);
   3 extern void usevp(void *);
   4 static int  sfun(void) { return 0; }
   5 static int  spun(void) { return 0; }
   6 
   7 void lfoo(int *p, int a)
   8 {
   9         int larra[3], larrb[3], larrc[3], larrd[3], larre[3], larrf[3];
  10         useip(p);
  11         useip(larra);
  12         useip(larrb + 1);
  13         useip(larrc + a);
  14         useip(&larrd[1]);
  15         useip(&larre[a]);
  16         useia(&larrf);
  17 }
  18 
  19 static int sarra[3], sarrb[3], sarrc[3], sarrd[3], sarre[3], sarrf[3];
  20 static int s, sfun(void), spun(void);
  21 void sfoo(int *p, int a)
  22 {
  23         useip(p);
  24         useip(&s);
  25         useip(sarra);
  26         useip(sarrb + 1);
  27         useip(sarrc + a);
  28         useip(&sarrd[1]);
  29         useip(&sarre[a]);
  30         useia(&sarrf);
  31         usevp(sfun);
  32         usevp(&spun);
  33 }
  34 
  35 extern int xarra[3], xarrb[3], xarrc[3], xarrd[3], xarre[3], xarrf[3];
  36 extern int x, xfun(void), xpun(void);
  37 void xfoo(int *p, int a)
  38 {
  39         useip(p);
  40         useip(&x);
  41         useip(xarra);
  42         useip(xarrb + 1);
  43         useip(xarrc + a);
  44         useip(&xarrd[1]);
  45         useip(&xarre[a]);
  46         useia(&xarrf);
  47         usevp(xfun);
  48         usevp(&xpun);
  49 }
  50 
  51 int garra[3], garrb[3], garrc[3], garrd[3], garre[3], garrf[3];
  52 int g, gfun(void), gpun(void);
  53 void gfoo(int *p, int a)
  54 {
  55         useip(p);
  56         useip(&g);
  57         useip(garra);
  58         useip(garrb + 1);
  59         useip(garrc + a);
  60         useip(&garrd[1]);
  61         useip(&garre[a]);
  62         useia(&garrf);
  63         usevp(gfun);
  64         usevp(&gpun);
  65 }
  66 
  67 /*
  68  * check-name: symbol address
  69  * check-command: sparsec -Wno-decl -c $file -o tmp.o
  70  */