Skip to content

Commit f6eb0e9

Browse files
committed
translate_c: emit opaque {} instead of @type(.Opaque)
1 parent 4171fd1 commit f6eb0e9

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

src-self-hosted/translate_c.zig

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4438,10 +4438,18 @@ fn transCreateNodeFloat(c: *Context, int: anytype) !*ast.Node {
44384438
}
44394439

44404440
fn transCreateNodeOpaqueType(c: *Context) !*ast.Node {
4441-
const call_node = try c.createBuiltinCall("@Type", 1);
4442-
call_node.params()[0] = try transCreateNodeEnumLiteral(c, "Opaque");
4443-
call_node.rparen_token = try appendToken(c, .RParen, ")");
4444-
return &call_node.base;
4441+
const container_tok = try appendToken(c, .Keyword_opaque, "opaque");
4442+
const lbrace_token = try appendToken(c, .LBrace, "{");
4443+
const container_node = try ast.Node.ContainerDecl.alloc(c.arena, 0);
4444+
container_node.* = .{
4445+
.kind_token = container_tok,
4446+
.layout_token = null,
4447+
.lbrace_token = lbrace_token,
4448+
.rbrace_token = try appendToken(c, .RBrace, "}"),
4449+
.fields_and_decls_len = 0,
4450+
.init_arg_expr = .None,
4451+
};
4452+
return &container_node.base;
44454453
}
44464454

44474455
fn transCreateNodeMacroFn(c: *Context, name: []const u8, ref: *ast.Node, proto_alias: *ast.Node.FnProto) !*ast.Node {

0 commit comments

Comments
 (0)