| ... | ... | @@ -60,57 +60,57 @@ pub fn addCases(ctx: *TestContext) !void { |
| 60 | 60 | , ""); |
| 61 | 61 | } |
| 62 | 62 | |
| 63 | | //{ |
| 64 | | // var case = ctx.exeUsingLlvmBackend("blocks", linux_x64); |
| 63 | { |
| 64 | var case = ctx.exeUsingLlvmBackend("blocks", linux_x64); |
| 65 | 65 | |
| 66 | | // case.addCompareOutput( |
| 67 | | // \\fn assert(ok: bool) void { |
| 68 | | // \\ if (!ok) unreachable; |
| 69 | | // \\} |
| 70 | | // \\ |
| 71 | | // \\fn foo(ok: bool) i32 { |
| 72 | | // \\ const val: i32 = blk: { |
| 73 | | // \\ var x: i32 = 1; |
| 74 | | // \\ if (!ok) break :blk x + 9; |
| 75 | | // \\ break :blk x + 19; |
| 76 | | // \\ }; |
| 77 | | // \\ return val + 10; |
| 78 | | // \\} |
| 79 | | // \\ |
| 80 | | // \\export fn main() c_int { |
| 81 | | // \\ assert(foo(false) == 20); |
| 82 | | // \\ assert(foo(true) == 30); |
| 83 | | // \\ return 0; |
| 84 | | // \\} |
| 85 | | // , ""); |
| 86 | | //} |
| 66 | case.addCompareOutput( |
| 67 | \\fn assert(ok: bool) void { |
| 68 | \\ if (!ok) unreachable; |
| 69 | \\} |
| 70 | \\ |
| 71 | \\fn foo(ok: bool) i32 { |
| 72 | \\ const val: i32 = blk: { |
| 73 | \\ var x: i32 = 1; |
| 74 | \\ if (!ok) break :blk x + 9; |
| 75 | \\ break :blk x + 19; |
| 76 | \\ }; |
| 77 | \\ return val + 10; |
| 78 | \\} |
| 79 | \\ |
| 80 | \\export fn main() c_int { |
| 81 | \\ assert(foo(false) == 20); |
| 82 | \\ assert(foo(true) == 30); |
| 83 | \\ return 0; |
| 84 | \\} |
| 85 | , ""); |
| 86 | } |
| 87 | 87 | |
| 88 | | //{ |
| 89 | | // var case = ctx.exeUsingLlvmBackend("nested blocks", linux_x64); |
| 88 | { |
| 89 | var case = ctx.exeUsingLlvmBackend("nested blocks", linux_x64); |
| 90 | 90 | |
| 91 | | // case.addCompareOutput( |
| 92 | | // \\fn assert(ok: bool) void { |
| 93 | | // \\ if (!ok) unreachable; |
| 94 | | // \\} |
| 95 | | // \\ |
| 96 | | // \\fn foo(ok: bool) i32 { |
| 97 | | // \\ var val: i32 = blk: { |
| 98 | | // \\ const val2: i32 = another: { |
| 99 | | // \\ if (!ok) break :blk 10; |
| 100 | | // \\ break :another 10; |
| 101 | | // \\ }; |
| 102 | | // \\ break :blk val2 + 10; |
| 103 | | // \\ }; |
| 104 | | // \\ return val; |
| 105 | | // \\} |
| 106 | | // \\ |
| 107 | | // \\export fn main() c_int { |
| 108 | | // \\ assert(foo(false) == 10); |
| 109 | | // \\ assert(foo(true) == 20); |
| 110 | | // \\ return 0; |
| 111 | | // \\} |
| 112 | | // , ""); |
| 113 | | //} |
| 91 | case.addCompareOutput( |
| 92 | \\fn assert(ok: bool) void { |
| 93 | \\ if (!ok) unreachable; |
| 94 | \\} |
| 95 | \\ |
| 96 | \\fn foo(ok: bool) i32 { |
| 97 | \\ var val: i32 = blk: { |
| 98 | \\ const val2: i32 = another: { |
| 99 | \\ if (!ok) break :blk 10; |
| 100 | \\ break :another 10; |
| 101 | \\ }; |
| 102 | \\ break :blk val2 + 10; |
| 103 | \\ }; |
| 104 | \\ return val; |
| 105 | \\} |
| 106 | \\ |
| 107 | \\export fn main() c_int { |
| 108 | \\ assert(foo(false) == 10); |
| 109 | \\ assert(foo(true) == 20); |
| 110 | \\ return 0; |
| 111 | \\} |
| 112 | , ""); |
| 113 | } |
| 114 | 114 | |
| 115 | 115 | { |
| 116 | 116 | var case = ctx.exeUsingLlvmBackend("while loops", linux_x64); |