aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-03-23 01:04:47 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-11-13 14:16:51 +0100
commit5dab1f97a535ffd94337b9e9a5ce84464557a616 (patch)
tree03c26c4a5e4f66f25f069d6731822ce66ef63d23 /validation
parentfd978b5ae72d8bd58831e8f3f9def5bb726f376b (diff)
downloadsparse-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.c37
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
+ */