commit 22299869baaa4e65c3dae48b292b1bd8bd4b1c58 (tree)
parent e1f3eec9cc05535b3f3b81f2fb7cd65dd4d1e841
Author: hryx <codroid@gmail.com>
Date: Mon, 27 May 2019 17:54:40 -0700
Prevent infinite recursion
Diffstat:
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src-self-hosted/translate_c.zig b/src-self-hosted/translate_c.zig
@@ -459,9 +459,10 @@ fn transImplicitCastExpr(
const c = rp.c;
switch (ZigClangImplicitCastExpr_getCastKind(expr)) {
.BitCast => {
- const node = try transExpr(rp, scope, @ptrCast(*const ZigClangExpr, expr), .used, .r_value);
+ const sub_expr = ZigClangImplicitCastExpr_getSubExpr(expr);
+ const node = try transExpr(rp, scope, @ptrCast(*const ZigClangExpr, sub_expr), .used, .r_value);
const dest_type = getExprQualType(c, @ptrCast(*const ZigClangExpr, expr));
- const src_type = getExprQualType(c, ZigClangImplicitCastExpr_getSubExpr(expr));
+ const src_type = getExprQualType(c, sub_expr);
return try transCCast(rp, scope, ZigClangImplicitCastExpr_getBeginLoc(expr), dest_type, src_type, node.node);
},
else => |kind| return revertAndWarn(