zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

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:
Msrc-self-hosted/translate_c.zig | 2+-
Mtest/translate_c.zig | 8++++----
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;