From 88be5bd81decab792cdb5b749b4bb5cf6d71e877 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 21 Dec 2021 20:34:27 -0700 Subject: 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. --- src/codegen/llvm.zig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/codegen/llvm.zig') 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); } -- cgit v1.2.3