commit e32cde256811c0de68c507014d901b1a88c8e7f9 (tree)
parent da3822f4c2b6a9e0703079c80a43c3e2a5f01aec
Author: Evan Haas <evan@lagerdata.com>
Date: Tue, 30 Jul 2024 11:31:30 -0700
aro_translate_c: translate incomplete arrays
Diffstat:
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/lib/compiler/aro_translate_c.zig b/lib/compiler/aro_translate_c.zig
@@ -681,8 +681,16 @@ fn transType(c: *Context, scope: *Scope, raw_ty: Type, qual_handling: Type.QualH
.float80 => return ZigTag.type.create(c.arena, "f80"),
.float128 => return ZigTag.type.create(c.arena, "f128"),
.@"enum" => @panic("TODO"),
- .pointer, .incomplete_array => @panic("todo"),
+ .pointer => @panic("todo"),
.unspecified_variable_len_array,
+ .incomplete_array => {
+ const child_type = ty.elemType();
+ const is_const = child_type.qual.@"const";
+ const is_volatile = child_type.qual.@"volatile";
+ const elem_type = try transType(c, scope, child_type, qual_handling, source_loc);
+
+ return ZigTag.c_pointer.create(c.arena, .{ .is_const = is_const, .is_volatile = is_volatile, .elem_type = elem_type });
+ },
.array,
.static_array,
=> {