diff options
| author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2017-03-23 01:04:47 +0100 |
|---|---|---|
| committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2017-11-13 14:16:51 +0100 |
| commit | 5dab1f97a535ffd94337b9e9a5ce84464557a616 (patch) | |
| tree | 03c26c4a5e4f66f25f069d6731822ce66ef63d23 /validation | |
| parent | fd978b5ae72d8bd58831e8f3f9def5bb726f376b (diff) | |
| download | sparse-dev-5dab1f97a535ffd94337b9e9a5ce84464557a616.tar.gz | |
add test case for VLA sizeof
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'validation')
| -rw-r--r-- | validation/vla-sizeof.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/validation/vla-sizeof.c b/validation/vla-sizeof.c new file mode 100644 index 00000000..43079992 --- /dev/null +++ b/validation/vla-sizeof.c @@ -0,0 +1,37 @@ +unsigned long vla_sizeof0(int size) +{ + int a[size]; + return sizeof(a); +} + +unsigned long vla_sizeof1(int size) +{ + struct s { + int a[size]; + }; + return sizeof(struct s); +} + +unsigned long vla_sizeof2(int size) +{ + struct s { + int a[size]; + } *p; + return sizeof(*p); +} + +void* vla_inc(int size, void *base) +{ + struct s { + int a[size]; + } *p = base; + + ++p; + return p; +} + +/* + * check-name: vla-sizeof.c + * + * check-known-to-fail + */ |
