aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Wolfe <thejoshwolfe@gmail.com>2020-01-03 16:41:32 -0700
committerJosh Wolfe <thejoshwolfe@gmail.com>2020-01-03 16:41:32 -0700
commit7838031b436fa403c628af46f62c7eb914808fd7 (patch)
tree6e2129590c51921c820aac613f4a23a883affaab
parentb91eaba38c6661b5eb3558b0c0b88a22a50d2a57 (diff)
downloadzig-7838031b436fa403c628af46f62c7eb914808fd7.tar.gz
zig-7838031b436fa403c628af46f62c7eb914808fd7.zip
use @intCast instead of @as for shift rhs
-rw-r--r--src-self-hosted/translate_c.zig30
1 files changed, 15 insertions, 15 deletions
diff --git a/src-self-hosted/translate_c.zig b/src-self-hosted/translate_c.zig
index 0b8fabc6c2..c323bb9b2c 100644
--- a/src-self-hosted/translate_c.zig
+++ b/src-self-hosted/translate_c.zig
@@ -2778,13 +2778,13 @@ fn transCreateCompoundAssign(
try transExpr(rp, scope, rhs, .used, .r_value);
if (is_shift) {
- const as_node = try transCreateNodeBuiltinFnCall(rp.c, "@as");
+ const cast_node = try transCreateNodeBuiltinFnCall(rp.c, "@intCast");
const rhs_type = try qualTypeToLog2IntRef(rp, getExprQualType(rp.c, rhs), loc);
- try as_node.params.push(rhs_type);
+ try cast_node.params.push(rhs_type);
_ = try appendToken(rp.c, .Comma, ",");
- try as_node.params.push(rhs_node);
- as_node.rparen_token = try appendToken(rp.c, .RParen, ")");
- rhs_node = &as_node.base;
+ try cast_node.params.push(rhs_node);
+ cast_node.rparen_token = try appendToken(rp.c, .RParen, ")");
+ rhs_node = &cast_node.base;
}
if (scope.id != .Condition)
_ = try appendToken(rp.c, .Semicolon, ";");
@@ -2815,13 +2815,13 @@ fn transCreateCompoundAssign(
const bin_token = try appendToken(rp.c, bin_tok_id, bin_bytes);
var rhs_node = try transExpr(rp, scope, rhs, .used, .r_value);
if (is_shift) {
- const as_node = try transCreateNodeBuiltinFnCall(rp.c, "@as");
+ const cast_node = try transCreateNodeBuiltinFnCall(rp.c, "@intCast");
const rhs_type = try qualTypeToLog2IntRef(rp, getExprQualType(rp.c, rhs), loc);
- try as_node.params.push(rhs_type);
+ try cast_node.params.push(rhs_type);
_ = try appendToken(rp.c, .Comma, ",");
- try as_node.params.push(rhs_node);
- as_node.rparen_token = try appendToken(rp.c, .RParen, ")");
- rhs_node = &as_node.base;
+ try cast_node.params.push(rhs_node);
+ cast_node.rparen_token = try appendToken(rp.c, .RParen, ")");
+ rhs_node = &cast_node.base;
}
const rhs_bin = try transCreateNodeInfixOp(rp, scope, ref_node, bin_op, bin_token, rhs_node, .used, false);
@@ -3883,20 +3883,20 @@ fn transCreateNodeShiftOp(
const lhs = try transExpr(rp, scope, lhs_expr, .used, .l_value);
const op_token = try appendToken(rp.c, op_tok_id, bytes);
- const as_node = try transCreateNodeBuiltinFnCall(rp.c, "@as");
+ const cast_node = try transCreateNodeBuiltinFnCall(rp.c, "@intCast");
const rhs_type = try qualTypeToLog2IntRef(rp, ZigClangBinaryOperator_getType(stmt), rhs_location);
- try as_node.params.push(rhs_type);
+ try cast_node.params.push(rhs_type);
_ = try appendToken(rp.c, .Comma, ",");
const rhs = try transExprCoercing(rp, scope, rhs_expr, .used, .r_value);
- try as_node.params.push(rhs);
- as_node.rparen_token = try appendToken(rp.c, .RParen, ")");
+ try cast_node.params.push(rhs);
+ cast_node.rparen_token = try appendToken(rp.c, .RParen, ")");
const node = try rp.c.a().create(ast.Node.InfixOp);
node.* = ast.Node.InfixOp{
.op_token = op_token,
.lhs = lhs,
.op = op,
- .rhs = &as_node.base,
+ .rhs = &cast_node.base,
};
return &node.base;