From 0b6942de8ac5b69d48a07cca22539945cbe5d201 Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Sat, 31 Dec 2022 12:45:55 +0100 Subject: [PATCH] llvm:a fix opaque ptr IR for Objective-C protocol Also for interfacecom functions and properties. Fixes test/tobjc9 and test/tobjc9b with LLVM 15.0+ --- compiler/llvm/llvmdef.pas | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/compiler/llvm/llvmdef.pas b/compiler/llvm/llvmdef.pas index 8ba11d26b4..e3aef53884 100644 --- a/compiler/llvm/llvmdef.pas +++ b/compiler/llvm/llvmdef.pas @@ -666,7 +666,10 @@ implementation begin { opaque for now } if not(lef_removeouterpointer in flags) then - encodedstr:=encodedstr+'i8*' + if (llvmflag_opaque_ptr in llvmversion_properties[current_settings.llvmversion]) then + encodedstr:=encodedstr+'ptr' + else + encodedstr:=encodedstr+'i8*' else encodedstr:=encodedstr+'i8' end;