From a5d25fabdaf7e68f375874b9bda402acaeb9545d Mon Sep 17 00:00:00 2001 From: John Schmidt <3405586+schmee@users.noreply.github.com> Date: Fri, 10 Feb 2023 14:46:29 +0100 Subject: translate_c: fix typedeffed pointer subtraction Closes #14560. --- src/translate_c.zig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/translate_c.zig b/src/translate_c.zig index a6715d161c..7fd4b93821 100644 --- a/src/translate_c.zig +++ b/src/translate_c.zig @@ -1748,7 +1748,8 @@ fn transBinaryOperator( const lhs_expr = stmt.getLHS(); const lhs_qt = getExprQualType(c, lhs_expr); const lhs_qt_translated = try transQualType(c, scope, lhs_qt, lhs_expr.getBeginLoc()); - const elem_type = lhs_qt_translated.castTag(.c_pointer).?.data.elem_type; + const c_pointer = getContainer(c, lhs_qt_translated).?; + const elem_type = c_pointer.castTag(.c_pointer).?.data.elem_type; const sizeof = try Tag.sizeof.create(c.arena, elem_type); const bitcast = try Tag.bit_cast.create(c.arena, .{ .lhs = ptrdiff_type, .rhs = infixOpNode }); -- cgit v1.2.3