authorgravatar for jacobly@ziglang.orgJacob Young <jacobly@ziglang.org> 2025-02-09 08:48:10-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-02-10 17:21:32-08:00
log8d078f1ba255eb2a60a7fdef4d73c35a33d24802
tree42afc4226eabe9d26f650564eebf2e0e8f2ab780
parent74fbcd22e6ebd12c227e1ba293d71c692f0edb8b

cbe: fix incomplete array element types

Can't imagine this working, but might as well try until I remember why. Closes #21439

1 files changed, 10 insertions(+), 2 deletions(-)

src/codegen/c/Type.zig+10-2
......@@ -728,6 +728,14 @@ pub const Kind = enum {
728728 .global => .global,
729729 };
730730 }
731
732 pub fn asComplete(kind: Kind) Kind {
733 return switch (kind) {
734 .forward, .complete => .complete,
735 .forward_parameter, .parameter => .parameter,
736 .global => .global,
737 };
738 }
731739};
732740
733741pub const Info = union(enum) {
......@@ -1887,7 +1895,7 @@ pub const Pool = struct {
18871895 elem_type,
18881896 pt,
18891897 mod,
1890 kind.noParameter(),
1898 kind.noParameter().asComplete(),
18911899 );
18921900 if (elem_ctype.index == .void) return .void;
18931901 const array_ctype = try pool.getArray(allocator, .{
......@@ -1913,7 +1921,7 @@ pub const Pool = struct {
19131921 elem_type,
19141922 pt,
19151923 mod,
1916 kind.noParameter(),
1924 kind.noParameter().asComplete(),
19171925 );
19181926 if (elem_ctype.index == .void) return .void;
19191927 const vector_ctype = try pool.getVector(allocator, .{