diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-06-11 00:27:41 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-11 00:27:41 -0400 |
| commit | c1eb6c30e84b0b161b634f7410088f44c80caa90 (patch) | |
| tree | 915141c29947e320175cd2c5ed73afaa88ddf259 /src/codegen/llvm.zig | |
| parent | 9b05474d797ea4600dbae36ae95d9eb042040bb2 (diff) | |
| parent | 6bf529dc381cb2f5a83c5f9e303ffdab7779ac4d (diff) | |
| download | zig-c1eb6c30e84b0b161b634f7410088f44c80caa90.tar.gz zig-c1eb6c30e84b0b161b634f7410088f44c80caa90.zip | |
Merge pull request #11835 from ziglang/stage2-behavior
stage2: fix handling of aggregates with mixed comptime-only fields
Diffstat (limited to 'src/codegen/llvm.zig')
| -rw-r--r-- | src/codegen/llvm.zig | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index 60803eff69..19a6917be4 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -9185,7 +9185,7 @@ fn isByRef(ty: Type) bool { .AnyFrame, => return false, - .Array, .Frame => return ty.hasRuntimeBitsIgnoreComptime(), + .Array, .Frame => return ty.hasRuntimeBits(), .Struct => { // Packed structs are represented to LLVM as integers. if (ty.containerLayout() == .Packed) return false; @@ -9204,7 +9204,7 @@ fn isByRef(ty: Type) bool { var count: usize = 0; const fields = ty.structFields(); for (fields.values()) |field| { - if (field.is_comptime or !field.ty.hasRuntimeBitsIgnoreComptime()) continue; + if (field.is_comptime or !field.ty.hasRuntimeBits()) continue; count += 1; if (count > max_fields_byval) return true; @@ -9212,7 +9212,7 @@ fn isByRef(ty: Type) bool { } return false; }, - .Union => return ty.hasRuntimeBitsIgnoreComptime(), + .Union => return ty.hasRuntimeBits(), .ErrorUnion => return isByRef(ty.errorUnionPayload()), .Optional => { var buf: Type.Payload.ElemType = undefined; |
