From 992cbda8d0958572831ea18c58c32ed11daf812d Mon Sep 17 00:00:00 2001 From: Edmund Grimley Evans Date: Fri, 20 Nov 2015 00:24:46 +0000 Subject: 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. --- tests/tests2/78_vla_label.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'tests/tests2/78_vla_label.c') 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 /* 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; } -- cgit v1.3.1