From 87c13b8d88cb1aa114bd24593a1c701589f649bd Mon Sep 17 00:00:00 2001 From: SvyatoslavScherbina Date: Mon, 30 Sep 2019 18:23:04 +0300 Subject: [PATCH] Avoid using unnamed bridges for ObjCExport (#3393) Since lldb's crashlog.py can't handle them. --- .../backend/konan/llvm/objcexport/BlockPointerSupport.kt | 2 +- .../konan/llvm/objcexport/ObjCExportCodeGenerator.kt | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/BlockPointerSupport.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/BlockPointerSupport.kt index 71f12fc8f2a..d15ed2682b8 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/BlockPointerSupport.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/BlockPointerSupport.kt @@ -74,7 +74,7 @@ internal fun ObjCExportCodeGenerator.generateBlockToKotlinFunctionConverter( return generateFunction( codegen, functionType(codegen.kObjHeaderPtr, false, int8TypePtr, codegen.kObjHeaderPtrPtr), - "" + "convertBlock${bridge.nameSuffix}" ) { val blockPtr = param(0) ifThen(icmpEq(blockPtr, kNullInt8Ptr)) { diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/ObjCExportCodeGenerator.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/ObjCExportCodeGenerator.kt index 503280cc1c0..9ea480accdb 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/ObjCExportCodeGenerator.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/objcexport/ObjCExportCodeGenerator.kt @@ -542,7 +542,7 @@ private inline fun ObjCExportCodeGenerator.generateObjCImpBy( methodBridge: MethodBridge, genBody: FunctionGenerationContext.() -> Unit ): LLVMValueRef { - val result = LLVMAddFunction(context.llvmModule, "", objCFunctionType(context, methodBridge))!! + val result = LLVMAddFunction(context.llvmModule, "objc2kotlin", objCFunctionType(context, methodBridge))!! generateFunction(codegen, result) { genBody() @@ -720,7 +720,7 @@ private fun ObjCExportCodeGenerator.generateKotlinToObjCBridge( val functionType = codegen.getLlvmFunctionType(irFunction) - val result = generateFunction(codegen, functionType, "") { + val result = generateFunction(codegen, functionType, "kotlin2objc") { var errorOutPtr: LLVMValueRef? = null var kotlinResultOutPtr: LLVMValueRef? = null lateinit var kotlinResultOutBridge: TypeBridge @@ -1167,7 +1167,7 @@ private inline fun ObjCExportCodeGenerator.generateObjCToKotlinSyntheticGetter( ) val encoding = getEncoding(methodBridge) - val imp = generateFunction(codegen, objCFunctionType(context, methodBridge), "") { + val imp = generateFunction(codegen, objCFunctionType(context, methodBridge), "objc2kotlin") { block() }