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(...@@ -1945,7 +1945,7 @@ fn transCase(
1945 const expr = if (ZigClangCaseStmt_getRHS(stmt)) |rhs| blk: {1945 const expr = if (ZigClangCaseStmt_getRHS(stmt)) |rhs| blk: {
1946 const lhs_node = try transExpr(rp, scope, ZigClangCaseStmt_getLHS(stmt), .used, .r_value);1946 const lhs_node = try transExpr(rp, scope, ZigClangCaseStmt_getLHS(stmt), .used, .r_value);
1947 const ellips = try appendToken(rp.c, .Ellipsis3, "...");1947 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
1950 const node = try rp.c.a().create(ast.Node.InfixOp);1950 const node = try rp.c.a().create(ast.Node.InfixOp);
1951 node.* = .{1951 node.* = .{
test/translate_c.zig+4-4
...@@ -1286,12 +1286,12 @@ pub fn addCases(cases: *tests.TranslateCContext) void {...@@ -1286,12 +1286,12 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
1286 \\ switch (i) {1286 \\ switch (i) {
1287 \\ case 0:1287 \\ case 0:
1288 \\ res = 1;1288 \\ res = 1;
1289 \\ case 1:1289 \\ case 1 ... 3:
1290 \\ res = 2;1290 \\ res = 2;
1291 \\ default:1291 \\ default:
1292 \\ res = 3 * i;1292 \\ res = 3 * i;
1293 \\ break;1293 \\ break;
1294 \\ case 2:1294 \\ case 4:
1295 \\ res = 5;1295 \\ res = 5;
1296 \\ }1296 \\ }
1297 \\}1297 \\}
...@@ -1306,9 +1306,9 @@ pub fn addCases(cases: *tests.TranslateCContext) void {...@@ -1306,9 +1306,9 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
1306 \\ __case_0: {1306 \\ __case_0: {
1307 \\ switch (i) {1307 \\ switch (i) {
1308 \\ 0 => break :__case_0,1308 \\ 0 => break :__case_0,
1309 \\ 1 => break :__case_1,1309 \\ 1...3 => break :__case_1,
1310 \\ else => break :__default,1310 \\ else => break :__default,
1311 \\ 2 => break :__case_2,1311 \\ 4 => break :__case_2,
1312 \\ }1312 \\ }
1313 \\ }1313 \\ }
1314 \\ res = 1;1314 \\ res = 1;