authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2019-12-20 11:35:21+02:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2019-12-20 11:35:21+02:00
logdaeb93921049758f69474f8ad5b0d4b7a7d26a18
tree0804a99e1d4a88a71fe1766e6f43d400095c567b
parentd172a7335c5b943102e2c9e70c1bbdfa20eec955
signature Commit is signed but in an unrecognized format.

translate-c-2 fix switch range


2 files changed, 5 insertions(+), 5 deletions(-)

src-self-hosted/translate_c.zig+1-1
......@@ -1945,7 +1945,7 @@ fn transCase(
19451945 const expr = if (ZigClangCaseStmt_getRHS(stmt)) |rhs| blk: {
19461946 const lhs_node = try transExpr(rp, scope, ZigClangCaseStmt_getLHS(stmt), .used, .r_value);
19471947 const ellips = try appendToken(rp.c, .Ellipsis3, "...");
1948 const rhs_node = try transExpr(rp, scope, ZigClangCaseStmt_getLHS(stmt), .used, .r_value);
1948 const rhs_node = try transExpr(rp, scope, rhs, .used, .r_value);
19491949
19501950 const node = try rp.c.a().create(ast.Node.InfixOp);
19511951 node.* = .{
test/translate_c.zig+4-4
......@@ -1286,12 +1286,12 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
12861286 \\ switch (i) {
12871287 \\ case 0:
12881288 \\ res = 1;
1289 \\ case 1:
1289 \\ case 1 ... 3:
12901290 \\ res = 2;
12911291 \\ default:
12921292 \\ res = 3 * i;
12931293 \\ break;
1294 \\ case 2:
1294 \\ case 4:
12951295 \\ res = 5;
12961296 \\ }
12971297 \\}
......@@ -1306,9 +1306,9 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
13061306 \\ __case_0: {
13071307 \\ switch (i) {
13081308 \\ 0 => break :__case_0,
1309 \\ 1 => break :__case_1,
1309 \\ 1...3 => break :__case_1,
13101310 \\ else => break :__default,
1311 \\ 2 => break :__case_2,
1311 \\ 4 => break :__case_2,
13121312 \\ }
13131313 \\ }
13141314 \\ res = 1;