From 5d4d57949055778f3c79071d390daa7397f68cb5 Mon Sep 17 00:00:00 2001 From: Igor Chevdar Date: Thu, 16 Nov 2017 14:19:51 +0300 Subject: [PATCH] Fix for global lateinit properties --- .../jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt index 2eac2fbd499..782d5fc56d7 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt @@ -631,11 +631,11 @@ internal class CodeGeneratorVisitor(val context: Context, val lifetimes: Map) { - LLVMSetInitializer(globalProperty, evaluateExpression(declaration.initializer!!.expression)) - } else { + val initializer = declaration.initializer?.expression as? IrConst<*> + if (initializer != null) + LLVMSetInitializer(globalProperty, evaluateExpression(initializer)) + else LLVMSetInitializer(globalProperty, LLVMConstNull(type)) - } context.llvm.fileInitializers.add(declaration) // (Cannot do this before the global is initialized).