diff options
| author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2017-03-10 23:29:24 +0100 |
|---|---|---|
| committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2017-11-17 10:04:37 +0100 |
| commit | 922389c710ce361ca963d187aa3f7698343e9bdf (patch) | |
| tree | 7a9264c2eeaa2875e3deff453160bbf0281a7349 | |
| parent | b6eb6410bc6f0cc388d89443f26bfce071b2eaa6 (diff) | |
| download | sparse-dev-922389c710ce361ca963d187aa3f7698343e9bdf.tar.gz | |
llvm: add test cases for pointers passed as argument
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
| -rw-r--r-- | validation/backend/pointer-param.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/validation/backend/pointer-param.c b/validation/backend/pointer-param.c new file mode 100644 index 00000000..745d069f --- /dev/null +++ b/validation/backend/pointer-param.c @@ -0,0 +1,43 @@ +extern int gfun(int); +static int sfun(int a) { return a; } + +void usei(int *); +void usef(int (*)(int)); +void usev(void *); + +void foo(int *p, int a[5], int (*pfun)(int)); +void foo(int *p, int a[5], int (*pfun)(int)) +{ + extern int valg[5], valh[5], vali[5]; + static int vals[5], valt[5], valr[5]; + int vala[5], valb[5], valc[5]; + + usei(p); + usei(valg); + usei(&valh[0]); + usei(&vali[1]); + usei(vals); + usei(&valt[0]); + usei(&valr[1]); + usei(vala); + usei(&valb[0]); + usei(&valc[1]); + + usef(pfun); + usef(gfun); + usef(&gfun); + usef(sfun); + usef(&sfun); + + usev(pfun); + usev(gfun); + usev(&gfun); + usev(sfun); + usev(&sfun); +} + +/* + * check-name: pointer-param + * check-command: ./sparsec -c $file -o tmp.o + * check-known-to-fail + */ |
