fix translate-c arrow deref

This commit is contained in:
Vexu 2019-11-06 10:56:51 +02:00 committed by Andrew Kelley
parent 9bc4f8ea77
commit 6b61fcddfa
2 changed files with 2 additions and 2 deletions

View File

@ -3052,7 +3052,7 @@ static AstNode *trans_member_expr(Context *c, ResultUsed result_used, TransScope
return nullptr; return nullptr;
if (ZigClangMemberExpr_isArrow(stmt)) { if (ZigClangMemberExpr_isArrow(stmt)) {
container_node = trans_create_node_unwrap_null(c, container_node); container_node = trans_create_node_ptr_deref(c, container_node);
} }
const char *name = ZigClangDecl_getName_bytes_begin((const ZigClangDecl *)ZigClangMemberExpr_getMemberDecl(stmt)); const char *name = ZigClangDecl_getName_bytes_begin((const ZigClangDecl *)ZigClangMemberExpr_getMemberDecl(stmt));

View File

@ -895,7 +895,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void {
\\ field: c_int, \\ field: c_int,
\\}; \\};
\\pub export fn read_field(foo: [*c]struct_Foo) c_int { \\pub export fn read_field(foo: [*c]struct_Foo) c_int {
\\ return foo.?.field; \\ return foo.*.field;
\\} \\}
); );