ziglang/zig

C backend hits unreachable compiling `@call` to lazy function with `never_inline` modifier

amp-59 opened this issue · 0 comments

Zig Version

0.13.0-dev.75+5c9eb4081

Steps to Reproduce and Observed Behaviour

Compile example program with zig build-obj -ofmt=c fmtc_never_inline_args_unreach.zig
fmtc_never_inline_args_unreach.zig:

fn F(comptime T: type) type {
    return struct {
        fn f(_: T) void {}
    };
}
export fn entry() void {
    @call(.never_inline, F(u8).f, .{0});
}

Output:

zig build-obj -ofmt=c fmtc_never_inline_args_unreach.zig
Trace/breakpoint trap