aboutsummaryrefslogtreecommitdiff
path: root/test/run_tests.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2015-12-24 15:30:32 -0700
committerAndrew Kelley <superjoe30@gmail.com>2015-12-24 15:30:55 -0700
commit44ca5e19dc174383b1b0490e636398092711306d (patch)
tree5aafee34cee55228bdfd059313389c2a49a63001 /test/run_tests.cpp
parent5ceaae288c4f80fe5ce1449cd9d2efe0e541d629 (diff)
downloadzig-44ca5e19dc174383b1b0490e636398092711306d.tar.gz
zig-44ca5e19dc174383b1b0490e636398092711306d.zip
add error for break outside loop
also fix break in nested loops
Diffstat (limited to 'test/run_tests.cpp')
-rw-r--r--test/run_tests.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/test/run_tests.cpp b/test/run_tests.cpp
index 91cf6591eb..165113ebe9 100644
--- a/test/run_tests.cpp
+++ b/test/run_tests.cpp
@@ -664,11 +664,14 @@ use "std.zig";
export fn main(argc : isize, argv : &&u8, env : &&u8) -> i32 {
var i : i32 = 0;
while true {
- if i >= 4 {
- break;
+ while true {
+ if i >= 4 {
+ break;
+ }
+ print_str("loop\n");
+ i += 1;
}
- print_str("loop\n");
- i += 1;
+ break;
}
return 0;
}
@@ -949,6 +952,12 @@ fn f() {
};
}
)SOURCE", 1, ".tmp_source.zig:11:9: error: no member named 'foo' in 'A'");
+
+ add_compile_fail_case("invalid break expression", R"SOURCE(
+fn f() {
+ break;
+}
+ )SOURCE", 1, ".tmp_source.zig:3:5: error: 'break' expression not in loop");
}
static void print_compiler_invocation(TestCase *test_case) {