authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2020-01-02 16:28:01+02:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-01-02 10:47:14-05:00
log3dd067fa2bd3e19abf49462d5c7140c22aac966e
treeaff44909c9fa68afb8d5af3ee674a99bb96e58d2
parentde894f2bde4ce708206a8161dc0c98cb8f5bcb67

translate-c fix increment rendering issues


2 files changed, 6 insertions(+), 4 deletions(-)

src-self-hosted/translate_c.zig+4-2
...@@ -2478,7 +2478,8 @@ fn transCreatePreCrement(...@@ -2478,7 +2478,8 @@ fn transCreatePreCrement(
2478 const expr = try transExpr(rp, scope, op_expr, .used, .r_value);2478 const expr = try transExpr(rp, scope, op_expr, .used, .r_value);
2479 const token = try appendToken(rp.c, op_tok_id, bytes);2479 const token = try appendToken(rp.c, op_tok_id, bytes);
2480 const one = try transCreateNodeInt(rp.c, 1);2480 const one = try transCreateNodeInt(rp.c, 1);
2481 _ = try appendToken(rp.c, .Semicolon, ";");2481 if (scope.id != .Condition)
2482 _ = try appendToken(rp.c, .Semicolon, ";");
2482 return transCreateNodeInfixOp(rp, scope, expr, op, token, one, .used, false);2483 return transCreateNodeInfixOp(rp, scope, expr, op, token, one, .used, false);
2483 }2484 }
2484 // worst case2485 // worst case
...@@ -2542,7 +2543,8 @@ fn transCreatePostCrement(...@@ -2542,7 +2543,8 @@ fn transCreatePostCrement(
2542 const expr = try transExpr(rp, scope, op_expr, .used, .r_value);2543 const expr = try transExpr(rp, scope, op_expr, .used, .r_value);
2543 const token = try appendToken(rp.c, op_tok_id, bytes);2544 const token = try appendToken(rp.c, op_tok_id, bytes);
2544 const one = try transCreateNodeInt(rp.c, 1);2545 const one = try transCreateNodeInt(rp.c, 1);
2545 _ = try appendToken(rp.c, .Semicolon, ";");2546 if (scope.id != .Condition)
2547 _ = try appendToken(rp.c, .Semicolon, ";");
2546 return transCreateNodeInfixOp(rp, scope, expr, op, token, one, .used, false);2548 return transCreateNodeInfixOp(rp, scope, expr, op, token, one, .used, false);
2547 }2549 }
2548 // worst case2550 // worst case
test/translate_c.zig+2-2
...@@ -585,13 +585,13 @@ pub fn addCases(cases: *tests.TranslateCContext) void {...@@ -585,13 +585,13 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
585585
586 cases.add("for loop",586 cases.add("for loop",
587 \\void foo(void) {587 \\void foo(void) {
588 \\ for (int i = 0; i; i = i + 1) { }588 \\ for (int i = 0; i; i++) { }
589 \\}589 \\}
590 , &[_][]const u8{590 , &[_][]const u8{
591 \\pub export fn foo() void {591 \\pub export fn foo() void {
592 \\ {592 \\ {
593 \\ var i: c_int = 0;593 \\ var i: c_int = 0;
594 \\ while (i != 0) : (i = (i + @as(c_int, 1))) {}594 \\ while (i != 0) : (i += 1) {}
595 \\ }595 \\ }
596 \\}596 \\}
597 });597 });