diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2021-12-21 20:34:27 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2021-12-21 20:34:27 -0700 |
| commit | 88be5bd81decab792cdb5b749b4bb5cf6d71e877 (patch) | |
| tree | f5eed00970c7e97581e8382ae37d08ef177d431f /src/codegen/llvm.zig | |
| parent | 06d751dbb3c9cc4e09f2eb7250a242dc6b2423bc (diff) | |
| download | zig-88be5bd81decab792cdb5b749b4bb5cf6d71e877.tar.gz zig-88be5bd81decab792cdb5b749b4bb5cf6d71e877.zip | |
Sema: fix empty struct init
* Extract common logic between `zirStructInitEmpty` and
`zirStructInit`.
* `resolveTypeFields` additionally sets status to `have_layout` if the
total number of fields is 0.
Diffstat (limited to 'src/codegen/llvm.zig')
| -rw-r--r-- | src/codegen/llvm.zig | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index 78848bee28..02de622cf2 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -1487,7 +1487,6 @@ pub const DeclGen = struct { return self.context.constStruct(&fields, fields.len, .False); } - const llvm_type = try self.llvmType(tv.ty); if (!tv.ty.childType().hasCodeGenBits() or !decl.ty.hasCodeGenBits()) { return self.lowerPtrToVoid(tv.ty); } @@ -1498,6 +1497,8 @@ pub const DeclGen = struct { try self.resolveLlvmFunction(decl) else try self.resolveGlobalDecl(decl); + + const llvm_type = try self.llvmType(tv.ty); return llvm_val.constBitCast(llvm_type); } |
