zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 8d078f1ba255eb2a60a7fdef4d73c35a33d24802 (tree)
parent 74fbcd22e6ebd12c227e1ba293d71c692f0edb8b
Author: Jacob Young <jacobly0@users.noreply.github.com>
Date:   Sun,  9 Feb 2025 08:48:10 -0500

cbe: fix incomplete array element types

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

Closes #21439

Diffstat:
Msrc/codegen/c/Type.zig | 12++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/codegen/c/Type.zig b/src/codegen/c/Type.zig @@ -728,6 +728,14 @@ pub const Kind = enum { .global => .global, }; } + + pub fn asComplete(kind: Kind) Kind { + return switch (kind) { + .forward, .complete => .complete, + .forward_parameter, .parameter => .parameter, + .global => .global, + }; + } }; pub const Info = union(enum) { @@ -1887,7 +1895,7 @@ pub const Pool = struct { elem_type, pt, mod, - kind.noParameter(), + kind.noParameter().asComplete(), ); if (elem_ctype.index == .void) return .void; const array_ctype = try pool.getArray(allocator, .{ @@ -1913,7 +1921,7 @@ pub const Pool = struct { elem_type, pt, mod, - kind.noParameter(), + kind.noParameter().asComplete(), ); if (elem_ctype.index == .void) return .void; const vector_ctype = try pool.getVector(allocator, .{