From c29be9c5ee4b20548373573bedc48c0377d10642 Mon Sep 17 00:00:00 2001 From: Sergey Bogolepov <1580082+sbogolepov@users.noreply.github.com> Date: Thu, 22 Nov 2018 11:37:59 +0700 Subject: [PATCH] Filter bitcode files by extension when passing them to llvm (#2356) --- .../src/org/jetbrains/kotlin/backend/konan/LinkStage.kt | 3 ++- .../kotlin/org/jetbrains/kotlin/konan/file/NativeFileType.kt | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/LinkStage.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/LinkStage.kt index e90c53c79f0..70ee8d57a87 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/LinkStage.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/LinkStage.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.backend.konan import org.jetbrains.kotlin.konan.KonanExternalToolFailure import org.jetbrains.kotlin.konan.exec.Command import org.jetbrains.kotlin.konan.file.File +import org.jetbrains.kotlin.konan.file.isBitcode import org.jetbrains.kotlin.konan.target.* typealias BitcodeFile = String @@ -199,7 +200,7 @@ internal class LinkStage(val context: Context, val phaser: PhaseManager) { fun linkStage() { val bitcodeFiles = listOf(emitted) + - libraries.map { it.bitcodePaths }.flatten() + libraries.map { it.bitcodePaths }.flatten().filter { it.isBitcode } val includedBinaries = libraries.map { it.includedPaths }.flatten() diff --git a/shared/src/main/kotlin/org/jetbrains/kotlin/konan/file/NativeFileType.kt b/shared/src/main/kotlin/org/jetbrains/kotlin/konan/file/NativeFileType.kt index b6965fa8fbf..ce3af307385 100644 --- a/shared/src/main/kotlin/org/jetbrains/kotlin/konan/file/NativeFileType.kt +++ b/shared/src/main/kotlin/org/jetbrains/kotlin/konan/file/NativeFileType.kt @@ -24,3 +24,6 @@ val String.isUnixStaticLib val String.isWindowsStaticLib get() = this.endsWith(".lib") + +val String.isBitcode + get() = this.endsWith(".bc")