From 7cf38d95015d918586ef31a9b4290213505818d1 Mon Sep 17 00:00:00 2001 From: Nikolay Igotti Date: Tue, 1 Nov 2016 13:11:39 +0300 Subject: [PATCH] Fix void calls. --- .../org/jetbrains/kotlin/backend/native/llvm/IrToBitcode.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/native/llvm/IrToBitcode.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/native/llvm/IrToBitcode.kt index f1ad24fc84e..f86ebc853bd 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/native/llvm/IrToBitcode.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/native/llvm/IrToBitcode.kt @@ -85,7 +85,9 @@ internal class CodeGeneratorVisitor(val context: Context) : IrElementVisitorVoid } override fun visitCall(expression: IrCall) { - evaluateExpression(generator.tmpVariable(), expression) + val isUnit = KotlinBuiltIns.isUnit(expression.descriptor.returnType!!) + val tmpVariable = if (isUnit) "" else generator.tmpVariable() + evaluateExpression(tmpVariable, expression) } override fun visitFunction(declaration: IrFunction) { @@ -183,8 +185,6 @@ internal class CodeGeneratorVisitor(val context: Context) : IrElementVisitorVoid } private fun evaluateSimpleFunctionCall(tmpVariableName: String, value: IrCall, args: MutableList): LLVMOpaqueValue? { - if (KotlinBuiltIns.isUnit(value.descriptor.returnType!!)) - return generator.call(value.descriptor as FunctionDescriptor, args, null) return generator.call(value.descriptor as FunctionDescriptor, args, tmpVariableName) }