From 34a7e6fdb362cb7be1067b7d1fc110eb2f323c51 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 6 Feb 2016 01:13:47 -0700 Subject: codegen: return respects unconditional defer See #110 --- test/run_tests.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'test/run_tests.cpp') diff --git a/test/run_tests.cpp b/test/run_tests.cpp index 26c6a287f0..50fa09f5a9 100644 --- a/test/run_tests.cpp +++ b/test/run_tests.cpp @@ -1532,6 +1532,19 @@ pub fn main(args: [][]u8) -> %void { } )SOURCE", "before\nafter\ndefer3\ndefer2\ndefer1\n"); + + add_simple_case("defer with return", R"SOURCE( +import "std.zig"; +pub fn main(args: [][]u8) -> %void { + %%stdout.printf("before\n"); + defer %%stdout.printf("defer1\n"); + defer %%stdout.printf("defer2\n"); + if (args.len == 1) return; + defer %%stdout.printf("defer3\n"); + %%stdout.printf("after\n"); +} + )SOURCE", "before\ndefer2\ndefer1\n"); + } -- cgit v1.2.3