From c9e2b5ac698fb2cead0cc9d89ddfd552752c9a27 Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Mon, 13 Mar 2017 15:51:29 +0700 Subject: [PATCH] backend: fix handling unreachable return from inlined function --- .../src/org/jetbrains/kotlin/backend/konan/llvm/IrToBitcode.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 67a4f9b3272..fc24d6e7ff7 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 @@ -1406,10 +1406,11 @@ internal class CodeGeneratorVisitor(val context: Context) : IrElementVisitorVoid return } // It is local return. + codegen.br(getExit()!!) // Generate branch on exit block. + if (KotlinBuiltIns.isUnit(inlineBody.type) == false) { // If function returns more then "unit" codegen.assignPhis(getResult()!! to value!!) // Assign return value to result PHI node. } - codegen.br(getExit()!!) // Generate branch on exit block. } }