From 83bdae5d02adede5d5fd188bfb4ce4c80a5e5852 Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Tue, 10 Jan 2017 17:33:54 +0700 Subject: [PATCH] backend: use "erased" types for LLVM function signatures --- .../src/org/jetbrains/kotlin/backend/konan/llvm/LlvmUtils.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmUtils.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmUtils.kt index 0f29071c24c..6a8272a8a5d 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmUtils.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmUtils.kt @@ -150,8 +150,9 @@ internal fun structType(types: List): LLVMTypeRef = memScoped { } internal fun ContextUtils.getLlvmFunctionType(function: FunctionDescriptor): LLVMTypeRef { - val returnType = if (function is ConstructorDescriptor) voidType else getLLVMReturnType(function.returnType!!) - val paramTypes = ArrayList(function.allValueParameters.map { getLLVMType(it.type) }) + val original = function.original + val returnType = if (original is ConstructorDescriptor) voidType else getLLVMReturnType(original.returnType!!) + val paramTypes = ArrayList(original.allValueParameters.map { getLLVMType(it.type) }) if (isObjectType(returnType)) paramTypes.add(kObjHeaderPtrPtr) memScoped {