diff options
| author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2017-03-10 23:28:25 +0100 |
|---|---|---|
| committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2017-11-17 10:04:37 +0100 |
| commit | b6eb6410bc6f0cc388d89443f26bfce071b2eaa6 (patch) | |
| tree | 553834cdaac993a1841f0cd1dd2cff28d82fb5dc | |
| parent | 163f2aab9dd33c14af762da9ac7175c5f416c5c6 (diff) | |
| download | sparse-dev-b6eb6410bc6f0cc388d89443f26bfce071b2eaa6.tar.gz | |
llvm: add test cases for symbol's address
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
| -rw-r--r-- | validation/backend/symaddr.c | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/validation/backend/symaddr.c b/validation/backend/symaddr.c new file mode 100644 index 00000000..17c404f0 --- /dev/null +++ b/validation/backend/symaddr.c @@ -0,0 +1,63 @@ +extern void useip(int *); +extern void useia(int (*)[3]); +extern void usevp(void *); +static int sfun(void) { return 0; } +static int spun(void) { return 0; } + +void lfoo(int *p, int a) +{ + int larra[3], larrb[3], larrc[3], larrd[3], larre[3], larrf[3]; + useip(p); + useip(larra); + useip(larrb + 1); + useip(&larrd[1]); + useia(&larrf); +} + +static int sarra[3], sarrb[3], sarrc[3], sarrd[3], sarre[3], sarrf[3]; +static int s, sfun(void), spun(void); +void sfoo(int *p, int a) +{ + useip(p); + useip(&s); + useip(sarra); + useip(sarrb + 1); + useip(&sarrd[1]); + useia(&sarrf); + usevp(sfun); + usevp(&spun); +} + +extern int xarra[3], xarrb[3], xarrc[3], xarrd[3], xarre[3], xarrf[3]; +extern int x, xfun(void), xpun(void); +void xfoo(int *p, int a) +{ + useip(p); + useip(&x); + useip(xarra); + useip(xarrb + 1); + useip(&xarrd[1]); + useia(&xarrf); + usevp(xfun); + usevp(&xpun); +} + +int garra[3], garrb[3], garrc[3], garrd[3], garre[3], garrf[3]; +int g, gfun(void), gpun(void); +void gfoo(int *p, int a) +{ + useip(p); + useip(&g); + useip(garra); + useip(garrb + 1); + useip(&garrd[1]); + useia(&garrf); + usevp(gfun); + usevp(&gpun); +} + +/* + * check-name: symbol address + * check-command: ./sparsec -Wno-decl -c $file -o tmp.o + * check-known-to-fail + */ |
