diff options
| author | mlugg <mlugg@mlugg.co.uk> | 2023-09-22 23:53:33 +0100 |
|---|---|---|
| committer | Matthew Lugg <mlugg@mlugg.co.uk> | 2023-09-23 14:45:59 +0100 |
| commit | ce919ccf45951856a762ffdb8ef850301cd8c588 (patch) | |
| tree | 93c3b3365da7ab16bd29fd3b7e650d8496f24aac /src/Sema.zig | |
| parent | 05f78adeaf7685e6107da7c3533b233ce19a54b8 (diff) | |
| download | zig-ce919ccf45951856a762ffdb8ef850301cd8c588.tar.gz zig-ce919ccf45951856a762ffdb8ef850301cd8c588.zip | |
Sema: do not emit dbg_var_val and dbg_var_ptr instructions for comptime-only types
Diffstat (limited to 'src/Sema.zig')
| -rw-r--r-- | src/Sema.zig | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/Sema.zig b/src/Sema.zig index 0421ee89da..a14ee6c63b 100644 --- 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); |
