From 34077e26acf330204ee9d52a87f6c4b6c355743c Mon Sep 17 00:00:00 2001 From: Nikolay Igotti Date: Thu, 8 Dec 2016 16:45:47 +0300 Subject: [PATCH] Fix multiple object storage. (#131) --- .../src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt | 2 ++ backend.native/tests/build.gradle | 2 -- 2 files changed, 2 insertions(+), 2 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 48e29ae3e8b..c7ba0045d35 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 @@ -618,6 +618,8 @@ internal class CodeGeneratorVisitor(val context: Context) : IrElementVisitorVoid if (objectPtr == null) { objectPtr = LLVMAddGlobal(context.llvmModule, codegen.getLLVMType(value.type), objName) LLVMSetInitializer(objectPtr, codegen.kNullObjHeaderPtr) + // Backing storage for this global is common between all modules. + LLVMSetLinkage(objectPtr, LLVMLinkage.LLVMCommonLinkage) } val bbCurrent = codegen.currentBlock diff --git a/backend.native/tests/build.gradle b/backend.native/tests/build.gradle index 3da68ed857d..2d6874891e0 100644 --- a/backend.native/tests/build.gradle +++ b/backend.native/tests/build.gradle @@ -329,8 +329,6 @@ task tostring2(type: RunKonanTest) { } task tostring3(type: RunKonanTest) { - // Enable, once double object init fixed. - disabled = true goldValue = "-128\n127\n-32768\n32767\n" + "-2147483648\n2147483647\n-9223372036854775808\n9223372036854775807\n" + "1.17549E-38\n3.40282E+38\n-INF\nINF\n" +