aboutsummaryrefslogtreecommitdiff
path: root/src/codegen
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-06-11 00:27:41 -0400
committerGitHub <noreply@github.com>2022-06-11 00:27:41 -0400
commitc1eb6c30e84b0b161b634f7410088f44c80caa90 (patch)
tree915141c29947e320175cd2c5ed73afaa88ddf259 /src/codegen
parent9b05474d797ea4600dbae36ae95d9eb042040bb2 (diff)
parent6bf529dc381cb2f5a83c5f9e303ffdab7779ac4d (diff)
downloadzig-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')
-rw-r--r--src/codegen/llvm.zig6
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;