diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/tests2/79_vla_continue.c | 24 | ||||
| -rw-r--r-- | tests/tests2/79_vla_continue.expect | 1 | ||||
| -rw-r--r-- | tests/tests2/Makefile | 6 |
3 files changed, 28 insertions, 3 deletions
diff --git a/tests/tests2/79_vla_continue.c b/tests/tests2/79_vla_continue.c index 9c48c1d..19301e0 100644 --- a/tests/tests2/79_vla_continue.c +++ b/tests/tests2/79_vla_continue.c @@ -81,12 +81,36 @@ void test4() } } +void test5() +{ + int count = 10; + int a[f()]; + int c[f()]; + + c[0] = 42; + + for(;count--;) { + int b[f()]; + int i; + for (i=0; i<f(); i++) { + b[i] = count; + } + } + + if (c[0] == 42) { + printf("OK\n"); + } else { + printf("NOT OK\n"); + } +} + int main(void) { test1(); test2(); test3(); test4(); + test5(); return 0; } diff --git a/tests/tests2/79_vla_continue.expect b/tests/tests2/79_vla_continue.expect index b462a5a..21da4d2 100644 --- a/tests/tests2/79_vla_continue.expect +++ b/tests/tests2/79_vla_continue.expect @@ -2,3 +2,4 @@ OK OK OK OK +OK diff --git a/tests/tests2/Makefile b/tests/tests2/Makefile index 6148c0b..a441674 100644 --- a/tests/tests2/Makefile +++ b/tests/tests2/Makefile @@ -96,9 +96,9 @@ TESTS = \ 74_nocode_wanted.test \ 75_array_in_struct_init.test \ 76_dollars_in_identifiers.test \ - 77_push_pop_macro.test -# 78_vla_label.test -- currently broken -# 79_vla_continue.test -- currently broken + 77_push_pop_macro.test \ + 78_vla_label.test \ + 79_vla_continue.test # 34_array_assignment.test -- array assignment is not in C standard |
