commit daeb93921049758f69474f8ad5b0d4b7a7d26a18 (tree)
parent d172a7335c5b943102e2c9e70c1bbdfa20eec955
Author: Vexu <git@vexu.eu>
Date: Fri, 20 Dec 2019 11:35:21 +0200
translate-c-2 fix switch range
Diffstat:
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src-self-hosted/translate_c.zig b/src-self-hosted/translate_c.zig
@@ -1945,7 +1945,7 @@ fn transCase(
const expr = if (ZigClangCaseStmt_getRHS(stmt)) |rhs| blk: {
const lhs_node = try transExpr(rp, scope, ZigClangCaseStmt_getLHS(stmt), .used, .r_value);
const ellips = try appendToken(rp.c, .Ellipsis3, "...");
- const rhs_node = try transExpr(rp, scope, ZigClangCaseStmt_getLHS(stmt), .used, .r_value);
+ const rhs_node = try transExpr(rp, scope, rhs, .used, .r_value);
const node = try rp.c.a().create(ast.Node.InfixOp);
node.* = .{
diff --git a/test/translate_c.zig b/test/translate_c.zig
@@ -1286,12 +1286,12 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
\\ switch (i) {
\\ case 0:
\\ res = 1;
- \\ case 1:
+ \\ case 1 ... 3:
\\ res = 2;
\\ default:
\\ res = 3 * i;
\\ break;
- \\ case 2:
+ \\ case 4:
\\ res = 5;
\\ }
\\}
@@ -1306,9 +1306,9 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
\\ __case_0: {
\\ switch (i) {
\\ 0 => break :__case_0,
- \\ 1 => break :__case_1,
+ \\ 1...3 => break :__case_1,
\\ else => break :__default,
- \\ 2 => break :__case_2,
+ \\ 4 => break :__case_2,
\\ }
\\ }
\\ res = 1;