From 63300652d552c223962c3cc5aa46bf0600110576 Mon Sep 17 00:00:00 2001 From: Nikolay Igotti Date: Sat, 9 Jun 2018 13:49:24 +0300 Subject: [PATCH] Fix empty arrays. --- .../org/jetbrains/kotlin/backend/konan/llvm/StaticObjects.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/StaticObjects.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/StaticObjects.kt index 6effeeb7eb9..933cc6b08e9 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/StaticObjects.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/StaticObjects.kt @@ -138,7 +138,10 @@ internal fun StaticData.createArrayList(array: ConstPointer, length: Int): Const internal fun StaticData.createUniqueInstance( kind: UniqueKind, bodyType: LLVMTypeRef, typeInfo: ConstPointer): ConstPointer { assert (getStructElements(bodyType).isEmpty()) - val objHeader = objHeader(typeInfo) + val objHeader = when (kind) { + UniqueKind.UNIT -> objHeader(typeInfo) + UniqueKind.EMPTY_ARRAY -> arrayHeader(typeInfo, 0) + } val global = this.placeGlobal(kind.llvmName, objHeader, isExported = true) return global.pointer }