aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
-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
+ */