From 1d434899cb47902faedec495eab95f701244d539 Mon Sep 17 00:00:00 2001 From: Igor Chevdar Date: Mon, 28 Aug 2017 11:05:17 +0300 Subject: [PATCH] Fixed bug with globals deinitialization --- .../kotlin/backend/konan/llvm/IrToBitcode.kt | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 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 12f1e1e0a33..64be7284f70 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 @@ -360,13 +360,15 @@ internal class CodeGeneratorVisitor(val context: Context, val lifetimes: Map } + .forEach { + val descriptor = it.descriptor + val initialization = evaluateExpression(it.initializer!!.expression) + val globalPtr = context.llvmDeclarations.forStaticField(descriptor).storage + storeAnyGlobal(initialization, globalPtr) + } ret(null) } } @@ -668,8 +670,8 @@ internal class CodeGeneratorVisitor(val context: Context, val lifetimes: Map