zig

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

commit ce919ccf45951856a762ffdb8ef850301cd8c588 (tree)
parent 05f78adeaf7685e6107da7c3533b233ce19a54b8
Author: mlugg <mlugg@mlugg.co.uk>
Date:   Fri, 22 Sep 2023 23:53:33 +0100

Sema: do not emit dbg_var_val and dbg_var_ptr instructions for comptime-only types

Diffstat:
Msrc/Sema.zig | 14++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/src/Sema.zig b/src/Sema.zig @@ -6526,15 +6526,13 @@ fn addDbgVar( ) CompileError!void { const mod = sema.mod; const operand_ty = sema.typeOf(operand); - switch (air_tag) { - .dbg_var_ptr => { - if (!(try sema.typeHasRuntimeBits(operand_ty.childType(mod)))) return; - }, - .dbg_var_val => { - if (!(try sema.typeHasRuntimeBits(operand_ty))) return; - }, + const val_ty = switch (air_tag) { + .dbg_var_ptr => operand_ty.childType(mod), + .dbg_var_val => operand_ty, else => unreachable, - } + }; + if (try sema.typeRequiresComptime(val_ty)) return; + if (!(try sema.typeHasRuntimeBits(val_ty))) return; try sema.queueFullTypeResolution(operand_ty);