translate-c fix increment rendering issues
This commit is contained in:
parent
de894f2bde
commit
3dd067fa2b
@ -2478,7 +2478,8 @@ fn transCreatePreCrement(
|
||||
const expr = try transExpr(rp, scope, op_expr, .used, .r_value);
|
||||
const token = try appendToken(rp.c, op_tok_id, bytes);
|
||||
const one = try transCreateNodeInt(rp.c, 1);
|
||||
_ = try appendToken(rp.c, .Semicolon, ";");
|
||||
if (scope.id != .Condition)
|
||||
_ = try appendToken(rp.c, .Semicolon, ";");
|
||||
return transCreateNodeInfixOp(rp, scope, expr, op, token, one, .used, false);
|
||||
}
|
||||
// worst case
|
||||
@ -2542,7 +2543,8 @@ fn transCreatePostCrement(
|
||||
const expr = try transExpr(rp, scope, op_expr, .used, .r_value);
|
||||
const token = try appendToken(rp.c, op_tok_id, bytes);
|
||||
const one = try transCreateNodeInt(rp.c, 1);
|
||||
_ = try appendToken(rp.c, .Semicolon, ";");
|
||||
if (scope.id != .Condition)
|
||||
_ = try appendToken(rp.c, .Semicolon, ";");
|
||||
return transCreateNodeInfixOp(rp, scope, expr, op, token, one, .used, false);
|
||||
}
|
||||
// worst case
|
||||
|
@ -585,13 +585,13 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
|
||||
|
||||
cases.add("for loop",
|
||||
\\void foo(void) {
|
||||
\\ for (int i = 0; i; i = i + 1) { }
|
||||
\\ for (int i = 0; i; i++) { }
|
||||
\\}
|
||||
, &[_][]const u8{
|
||||
\\pub export fn foo() void {
|
||||
\\ {
|
||||
\\ var i: c_int = 0;
|
||||
\\ while (i != 0) : (i = (i + @as(c_int, 1))) {}
|
||||
\\ while (i != 0) : (i += 1) {}
|
||||
\\ }
|
||||
\\}
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user