Add workaround for KT-35001
Just suppress the warning. The accident it describes is generally harmless and totally expected.
This commit is contained in:
committed by
teamcityserver
parent
48a684c024
commit
ba6c3c7fe0
+19
-3
@@ -8,7 +8,23 @@ package org.jetbrains.kotlin.backend.konan.llvm
|
|||||||
import llvm.*
|
import llvm.*
|
||||||
import org.jetbrains.kotlin.backend.konan.Context
|
import org.jetbrains.kotlin.backend.konan.Context
|
||||||
|
|
||||||
internal fun llvmLinkModules2(context: Context, dest: LLVMModuleRef, src: LLVMModuleRef): LLVMBool =
|
internal fun llvmLinkModules2(context: Context, dest: LLVMModuleRef, src: LLVMModuleRef): LLVMBool {
|
||||||
withLlvmDiagnosticHandler(DefaultLlvmDiagnosticHandler(context)) {
|
val diagnosticHandler = DefaultLlvmDiagnosticHandler(context, object : DefaultLlvmDiagnosticHandler.Policy {
|
||||||
LLVMLinkModules2(dest, src)
|
override fun suppressWarning(diagnostic: LlvmDiagnostic): Boolean {
|
||||||
|
if (super.suppressWarning(diagnostic)) return true
|
||||||
|
|
||||||
|
// Workaround https://youtrack.jetbrains.com/issue/KT-35001.
|
||||||
|
// Note: SDK version mismatch is generally harmless.
|
||||||
|
// Also it is expected: LLVM bitcode can be built in different environments with different SDK versions,
|
||||||
|
// and then linked by the compiler altogether.
|
||||||
|
// Just ignore such warnings for now:
|
||||||
|
if (diagnostic.message.startsWith("linking module flags 'SDK Version': IDs have conflicting values")) return true
|
||||||
|
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
return withLlvmDiagnosticHandler(diagnosticHandler) {
|
||||||
|
LLVMLinkModules2(dest, src)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user