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 16b702218ab..72a878121d3 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 @@ -941,7 +941,13 @@ internal class CodeGeneratorVisitor(val context: Context) : IrElementVisitorVoid private fun genFinalizedBy(finalize: IrExpression?, type: KotlinType, code: (ContinuationBlock) -> Unit): LLVMValueRef? { - return genFinalizedBy({ evaluateExpression("", finalize) }, type, code) + val finalizeFun: (() -> Unit)? = if (finalize == null) { + null + } else { + { evaluateExpression("", finalize) } + } + + return genFinalizedBy(finalizeFun, type, code) } private fun KotlinType.isUnitOrNothing() = isUnit() || isNothing()