aboutsummaryrefslogtreecommitdiff
path: root/tests/tests2
diff options
context:
space:
mode:
authorEdmund Grimley Evans <Edmund.Grimley.Evans@gmail.com>2015-11-20 00:24:46 +0000
committerEdmund Grimley Evans <Edmund.Grimley.Evans@gmail.com>2015-11-20 00:24:46 +0000
commit992cbda8d0958572831ea18c58c32ed11daf812d (patch)
tree790cb8891837724ec602dfddf5aa6ce24361f3a2 /tests/tests2
parent30c54c9d433f5cc213912afd2ed04808cd9a4a23 (diff)
downloadtinycc-992cbda8d0958572831ea18c58c32ed11daf812d.tar.gz
tinycc-992cbda8d0958572831ea18c58c32ed11daf812d.tar.bz2
tccgen.c: Recognise constant expressions with conditional operator.
tests/tests2/78_vla_label.c: Check that int a[1 ? 1 : 1] is not a VLA.
Diffstat (limited to 'tests/tests2')
-rw-r--r--tests/tests2/78_vla_label.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/tests/tests2/78_vla_label.c b/tests/tests2/78_vla_label.c
index 0908e1b..93a8b08 100644
--- a/tests/tests2/78_vla_label.c
+++ b/tests/tests2/78_vla_label.c
@@ -1,8 +1,7 @@
#include <stdio.h>
/* This test segfaults as of April 27, 2015. */
-
-void f(int argc)
+void f1(int argc)
{
char test[argc];
if(0)
@@ -13,9 +12,21 @@ void f(int argc)
goto label;
}
+/* This segfaulted on 2015-11-19. */
+void f2(void)
+{
+ goto start;
+ {
+ int a[1 ? 1 : 1]; /* not a variable-length array */
+ start:
+ a[0] = 0;
+ }
+}
+
int main()
{
- f(2);
+ f1(2);
+ f2();
return 0;
}