From a36fdc88f064bb223ba8d6cfe5b1c872d245136a Mon Sep 17 00:00:00 2001 From: David Gonzalez Martin Date: Wed, 18 Jun 2025 07:55:09 -0600 Subject: [PATCH] Pass 'opaque' --- src/compiler.bbb | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/compiler.bbb b/src/compiler.bbb index db01990..b6bf931 100644 --- a/src/compiler.bbb +++ b/src/compiler.bbb @@ -7501,7 +7501,14 @@ parse = fn (module: &Module) void }, .opaque => { - #trap(); + skip_space(module); + expect_character(module, ';'); + new_type(module, { + .id = .opaque, + .name = global_name, + .scope = &module.scope, + zero, + }); }, .struct => { @@ -8121,6 +8128,10 @@ resolve_type_in_place_debug = fn (module: &Module, type: &Type) void >array_type = LLVMDIBuilderCreateArrayType(module.llvm.di_builder, element_count, bit_alignment, element_type.llvm.debug, zero, 0); result = array_type; }, + .opaque => + { + return; + }, else => { #trap(); @@ -17527,6 +17538,7 @@ names: [_][]u8 = "self_referential_struct", "forward_declared_type", "enum_array", + "opaque", ]; [export] main = fn [cc(c)] (argument_count: u32, argv: &&u8, envp: &&u8) s32