authorgravatar for evan@lagerdata.comEvan Haas <evan@lagerdata.com> 2024-07-30 11:31:30-07:00
committergravatar for evan@lagerdata.comEvan Haas <evan@lagerdata.com> 2024-07-31 09:35:07-07:00
loge32cde256811c0de68c507014d901b1a88c8e7f9
treea3242439ee98966e3064b3deec693238d1707046
parentda3822f4c2b6a9e0703079c80a43c3e2a5f01aec
signaturebadge-check Signed by SSH key SHA256:cf2/TFgSxv2uRX26INvFSw25Prr1Dy9H8MiRXgLpok4

aro_translate_c: translate incomplete arrays


1 files changed, 9 insertions(+), 1 deletions(-)

lib/compiler/aro_translate_c.zig+9-1
...@@ -681,8 +681,16 @@ fn transType(c: *Context, scope: *Scope, raw_ty: Type, qual_handling: Type.QualH...@@ -681,8 +681,16 @@ fn transType(c: *Context, scope: *Scope, raw_ty: Type, qual_handling: Type.QualH
681 .float80 => return ZigTag.type.create(c.arena, "f80"),681 .float80 => return ZigTag.type.create(c.arena, "f80"),
682 .float128 => return ZigTag.type.create(c.arena, "f128"),682 .float128 => return ZigTag.type.create(c.arena, "f128"),
683 .@"enum" => @panic("TODO"),683 .@"enum" => @panic("TODO"),
684 .pointer, .incomplete_array => @panic("todo"),684 .pointer => @panic("todo"),
685 .unspecified_variable_len_array,685 .unspecified_variable_len_array,
686 .incomplete_array => {
687 const child_type = ty.elemType();
688 const is_const = child_type.qual.@"const";
689 const is_volatile = child_type.qual.@"volatile";
690 const elem_type = try transType(c, scope, child_type, qual_handling, source_loc);
691
692 return ZigTag.c_pointer.create(c.arena, .{ .is_const = is_const, .is_volatile = is_volatile, .elem_type = elem_type });
693 },
686 .array,694 .array,
687 .static_array,695 .static_array,
688 => {696 => {