backend: use "erased" types for LLVM function signatures
This commit is contained in:
committed by
SvyatoslavScherbina
parent
92b462255c
commit
83bdae5d02
+3
-2
@@ -150,8 +150,9 @@ internal fun structType(types: List<LLVMTypeRef>): LLVMTypeRef = memScoped {
|
|||||||
}
|
}
|
||||||
|
|
||||||
internal fun ContextUtils.getLlvmFunctionType(function: FunctionDescriptor): LLVMTypeRef {
|
internal fun ContextUtils.getLlvmFunctionType(function: FunctionDescriptor): LLVMTypeRef {
|
||||||
val returnType = if (function is ConstructorDescriptor) voidType else getLLVMReturnType(function.returnType!!)
|
val original = function.original
|
||||||
val paramTypes = ArrayList(function.allValueParameters.map { getLLVMType(it.type) })
|
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)
|
if (isObjectType(returnType)) paramTypes.add(kObjHeaderPtrPtr)
|
||||||
|
|
||||||
memScoped {
|
memScoped {
|
||||||
|
|||||||
Reference in New Issue
Block a user