diff --git a/tests/tests2/78_vla_label.c b/tests/tests2/78_vla_label.c new file mode 100644 index 00000000..0908e1bb --- /dev/null +++ b/tests/tests2/78_vla_label.c @@ -0,0 +1,21 @@ +#include + +/* This test segfaults as of April 27, 2015. */ + +void f(int argc) +{ + char test[argc]; + if(0) + label: + printf("boom!\n"); + if(argc-- == 0) + return; + goto label; +} + +int main() +{ + f(2); + + return 0; +} diff --git a/tests/tests2/78_vla_label.expect b/tests/tests2/78_vla_label.expect new file mode 100644 index 00000000..9a8c1599 --- /dev/null +++ b/tests/tests2/78_vla_label.expect @@ -0,0 +1,2 @@ +boom! +boom! diff --git a/tests/tests2/Makefile b/tests/tests2/Makefile index 87daf7b5..470716b6 100644 --- a/tests/tests2/Makefile +++ b/tests/tests2/Makefile @@ -96,7 +96,8 @@ TESTS = \ 74_nocode_wanted.test \ 75_array_in_struct_init.test \ 76_dollars_in_identifiers.test \ - 77_push_pop_macro.test + 77_push_pop_macro.test \ + 78_vla_label.test # 34_array_assignment.test -- array assignment is not in C standard