[clang] [ObjC] Add reserved field in 64-bit ABI mode (PR #85487)
https://github.com/AtariDreams created https://github.com/llvm/llvm-project/pull/85487 None >From 58648e62bbecb5e79d039a54ba74099f59262582 Mon Sep 17 00:00:00 2001 From: Rose Date: Fri, 15 Mar 2024 19:58:03 -0400 Subject: [PATCH] [ObjC] Add reserved field in 64-bit ABI mode --- clang/lib/CodeGen/CGObjCMac.cpp | 16 +++- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/clang/lib/CodeGen/CGObjCMac.cpp b/clang/lib/CodeGen/CGObjCMac.cpp index e815e097e1fb48..9f59a3a371ac33 100644 --- a/clang/lib/CodeGen/CGObjCMac.cpp +++ b/clang/lib/CodeGen/CGObjCMac.cpp @@ -6047,11 +6047,17 @@ ObjCNonFragileABITypesHelper::ObjCNonFragileABITypesHelper(CodeGen::CodeGenModul // const struct _prop_list_t * const properties; // } - // FIXME. Add 'reserved' field in 64bit abi mode! - ClassRonfABITy = llvm::StructType::create( - "struct._class_ro_t", IntTy, IntTy, IntTy, Int8PtrTy, Int8PtrTy, - MethodListnfABIPtrTy, ProtocolListnfABIPtrTy, IvarListnfABIPtrTy, - Int8PtrTy, PropertyListPtrTy); + if (CGM.getTarget().getTriple().isArch64Bit()) +ClassRonfABITy = llvm::StructType::create( +// Extra reserved field in 64-bit ABI +"struct._class_ro_t", IntTy, IntTy, IntTy, IntTy, Int8PtrTy, Int8PtrTy, +MethodListnfABIPtrTy, ProtocolListnfABIPtrTy, IvarListnfABIPtrTy, +Int8PtrTy, PropertyListPtrTy); + else +ClassRonfABITy = llvm::StructType::create( +"struct._class_ro_t", IntTy, IntTy, IntTy, Int8PtrTy, Int8PtrTy, +MethodListnfABIPtrTy, ProtocolListnfABIPtrTy, IvarListnfABIPtrTy, +Int8PtrTy, PropertyListPtrTy); // ImpnfABITy - LLVM for id (*)(id, SEL, ...) llvm::Type *params[] = { ObjectPtrTy, SelectorPtrTy }; ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [ObjC] Add reserved field in 64-bit ABI mode (PR #85487)
llvmbot wrote: @llvm/pr-subscribers-clang Author: AtariDreams (AtariDreams) Changes --- Full diff: https://github.com/llvm/llvm-project/pull/85487.diff 1 Files Affected: - (modified) clang/lib/CodeGen/CGObjCMac.cpp (+11-5) ``diff diff --git a/clang/lib/CodeGen/CGObjCMac.cpp b/clang/lib/CodeGen/CGObjCMac.cpp index e815e097e1fb48..9f59a3a371ac33 100644 --- a/clang/lib/CodeGen/CGObjCMac.cpp +++ b/clang/lib/CodeGen/CGObjCMac.cpp @@ -6047,11 +6047,17 @@ ObjCNonFragileABITypesHelper::ObjCNonFragileABITypesHelper(CodeGen::CodeGenModul // const struct _prop_list_t * const properties; // } - // FIXME. Add 'reserved' field in 64bit abi mode! - ClassRonfABITy = llvm::StructType::create( - "struct._class_ro_t", IntTy, IntTy, IntTy, Int8PtrTy, Int8PtrTy, - MethodListnfABIPtrTy, ProtocolListnfABIPtrTy, IvarListnfABIPtrTy, - Int8PtrTy, PropertyListPtrTy); + if (CGM.getTarget().getTriple().isArch64Bit()) +ClassRonfABITy = llvm::StructType::create( +// Extra reserved field in 64-bit ABI +"struct._class_ro_t", IntTy, IntTy, IntTy, IntTy, Int8PtrTy, Int8PtrTy, +MethodListnfABIPtrTy, ProtocolListnfABIPtrTy, IvarListnfABIPtrTy, +Int8PtrTy, PropertyListPtrTy); + else +ClassRonfABITy = llvm::StructType::create( +"struct._class_ro_t", IntTy, IntTy, IntTy, Int8PtrTy, Int8PtrTy, +MethodListnfABIPtrTy, ProtocolListnfABIPtrTy, IvarListnfABIPtrTy, +Int8PtrTy, PropertyListPtrTy); // ImpnfABITy - LLVM for id (*)(id, SEL, ...) llvm::Type *params[] = { ObjectPtrTy, SelectorPtrTy }; `` https://github.com/llvm/llvm-project/pull/85487 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [ObjC] Add reserved field in 64-bit ABI mode (PR #85487)
llvmbot wrote: @llvm/pr-subscribers-clang-codegen Author: AtariDreams (AtariDreams) Changes --- Full diff: https://github.com/llvm/llvm-project/pull/85487.diff 1 Files Affected: - (modified) clang/lib/CodeGen/CGObjCMac.cpp (+11-5) ``diff diff --git a/clang/lib/CodeGen/CGObjCMac.cpp b/clang/lib/CodeGen/CGObjCMac.cpp index e815e097e1fb48..9f59a3a371ac33 100644 --- a/clang/lib/CodeGen/CGObjCMac.cpp +++ b/clang/lib/CodeGen/CGObjCMac.cpp @@ -6047,11 +6047,17 @@ ObjCNonFragileABITypesHelper::ObjCNonFragileABITypesHelper(CodeGen::CodeGenModul // const struct _prop_list_t * const properties; // } - // FIXME. Add 'reserved' field in 64bit abi mode! - ClassRonfABITy = llvm::StructType::create( - "struct._class_ro_t", IntTy, IntTy, IntTy, Int8PtrTy, Int8PtrTy, - MethodListnfABIPtrTy, ProtocolListnfABIPtrTy, IvarListnfABIPtrTy, - Int8PtrTy, PropertyListPtrTy); + if (CGM.getTarget().getTriple().isArch64Bit()) +ClassRonfABITy = llvm::StructType::create( +// Extra reserved field in 64-bit ABI +"struct._class_ro_t", IntTy, IntTy, IntTy, IntTy, Int8PtrTy, Int8PtrTy, +MethodListnfABIPtrTy, ProtocolListnfABIPtrTy, IvarListnfABIPtrTy, +Int8PtrTy, PropertyListPtrTy); + else +ClassRonfABITy = llvm::StructType::create( +"struct._class_ro_t", IntTy, IntTy, IntTy, Int8PtrTy, Int8PtrTy, +MethodListnfABIPtrTy, ProtocolListnfABIPtrTy, IvarListnfABIPtrTy, +Int8PtrTy, PropertyListPtrTy); // ImpnfABITy - LLVM for id (*)(id, SEL, ...) llvm::Type *params[] = { ObjectPtrTy, SelectorPtrTy }; `` https://github.com/llvm/llvm-project/pull/85487 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [ObjC] Add reserved field in 64-bit ABI mode (PR #85487)
https://github.com/AtariDreams updated https://github.com/llvm/llvm-project/pull/85487 >From 5ac1ba54a050029bde7baedbb32630cd6f8449e5 Mon Sep 17 00:00:00 2001 From: Rose Date: Fri, 15 Mar 2024 19:58:03 -0400 Subject: [PATCH] [ObjC] Add reserved field in 64-bit ABI mode --- clang/lib/CodeGen/CGObjCMac.cpp | 16 +++- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/clang/lib/CodeGen/CGObjCMac.cpp b/clang/lib/CodeGen/CGObjCMac.cpp index e815e097e1fb48..9f59a3a371ac33 100644 --- a/clang/lib/CodeGen/CGObjCMac.cpp +++ b/clang/lib/CodeGen/CGObjCMac.cpp @@ -6047,11 +6047,17 @@ ObjCNonFragileABITypesHelper::ObjCNonFragileABITypesHelper(CodeGen::CodeGenModul // const struct _prop_list_t * const properties; // } - // FIXME. Add 'reserved' field in 64bit abi mode! - ClassRonfABITy = llvm::StructType::create( - "struct._class_ro_t", IntTy, IntTy, IntTy, Int8PtrTy, Int8PtrTy, - MethodListnfABIPtrTy, ProtocolListnfABIPtrTy, IvarListnfABIPtrTy, - Int8PtrTy, PropertyListPtrTy); + if (CGM.getTarget().getTriple().isArch64Bit()) +ClassRonfABITy = llvm::StructType::create( +// Extra reserved field in 64-bit ABI +"struct._class_ro_t", IntTy, IntTy, IntTy, IntTy, Int8PtrTy, Int8PtrTy, +MethodListnfABIPtrTy, ProtocolListnfABIPtrTy, IvarListnfABIPtrTy, +Int8PtrTy, PropertyListPtrTy); + else +ClassRonfABITy = llvm::StructType::create( +"struct._class_ro_t", IntTy, IntTy, IntTy, Int8PtrTy, Int8PtrTy, +MethodListnfABIPtrTy, ProtocolListnfABIPtrTy, IvarListnfABIPtrTy, +Int8PtrTy, PropertyListPtrTy); // ImpnfABITy - LLVM for id (*)(id, SEL, ...) llvm::Type *params[] = { ObjectPtrTy, SelectorPtrTy }; ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [ObjC] Add reserved field in 64-bit ABI mode (PR #85487)
https://github.com/AtariDreams updated https://github.com/llvm/llvm-project/pull/85487 >From b881ab8ff6d89860c5f49dec3baa63ed639edef3 Mon Sep 17 00:00:00 2001 From: Rose Date: Fri, 15 Mar 2024 19:58:03 -0400 Subject: [PATCH] [ObjC] Add reserved field in 64-bit ABI mode --- clang/lib/CodeGen/CGObjCMac.cpp | 16 +++- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/clang/lib/CodeGen/CGObjCMac.cpp b/clang/lib/CodeGen/CGObjCMac.cpp index e815e097e1fb48..9f59a3a371ac33 100644 --- a/clang/lib/CodeGen/CGObjCMac.cpp +++ b/clang/lib/CodeGen/CGObjCMac.cpp @@ -6047,11 +6047,17 @@ ObjCNonFragileABITypesHelper::ObjCNonFragileABITypesHelper(CodeGen::CodeGenModul // const struct _prop_list_t * const properties; // } - // FIXME. Add 'reserved' field in 64bit abi mode! - ClassRonfABITy = llvm::StructType::create( - "struct._class_ro_t", IntTy, IntTy, IntTy, Int8PtrTy, Int8PtrTy, - MethodListnfABIPtrTy, ProtocolListnfABIPtrTy, IvarListnfABIPtrTy, - Int8PtrTy, PropertyListPtrTy); + if (CGM.getTarget().getTriple().isArch64Bit()) +ClassRonfABITy = llvm::StructType::create( +// Extra reserved field in 64-bit ABI +"struct._class_ro_t", IntTy, IntTy, IntTy, IntTy, Int8PtrTy, Int8PtrTy, +MethodListnfABIPtrTy, ProtocolListnfABIPtrTy, IvarListnfABIPtrTy, +Int8PtrTy, PropertyListPtrTy); + else +ClassRonfABITy = llvm::StructType::create( +"struct._class_ro_t", IntTy, IntTy, IntTy, Int8PtrTy, Int8PtrTy, +MethodListnfABIPtrTy, ProtocolListnfABIPtrTy, IvarListnfABIPtrTy, +Int8PtrTy, PropertyListPtrTy); // ImpnfABITy - LLVM for id (*)(id, SEL, ...) llvm::Type *params[] = { ObjectPtrTy, SelectorPtrTy }; ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [ObjC] Add reserved field in 64-bit ABI mode (PR #85487)
https://github.com/AtariDreams converted_to_draft https://github.com/llvm/llvm-project/pull/85487 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [ObjC] Add reserved field in 64-bit ABI mode (PR #85487)
https://github.com/AtariDreams closed https://github.com/llvm/llvm-project/pull/85487 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits