From 20354fe0cdb74ad122c8249f3057a142106f9d43 Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Tue, 28 Oct 2025 14:22:28 +0000 Subject: [PATCH] [llvm][DebugInfo][ObjC] Fix argument oreder of setter/getter to DIObjDIObjCProperty constructor Depends on https://github.com/llvm/llvm-project/pull/165373 This caused the `DW_AT_APPLE_property_(setter|getter)` to be inverted when compiling from LLVM IR. --- llvm/lib/AsmParser/LLParser.cpp | 4 ++-- llvm/test/DebugInfo/Generic/objc-property.ll | 11 ++++------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/llvm/lib/AsmParser/LLParser.cpp b/llvm/lib/AsmParser/LLParser.cpp index 5164cec33e6f5..e7a04d98df2af 100644 --- a/llvm/lib/AsmParser/LLParser.cpp +++ b/llvm/lib/AsmParser/LLParser.cpp @@ -6341,8 +6341,8 @@ bool LLParser::parseDIObjCProperty(MDNode *&Result, bool IsDistinct) { #undef VISIT_MD_FIELDS Result = GET_OR_DISTINCT(DIObjCProperty, - (Context, name.Val, file.Val, line.Val, setter.Val, - getter.Val, attributes.Val, type.Val)); + (Context, name.Val, file.Val, line.Val, getter.Val, + setter.Val, attributes.Val, type.Val)); return false; } diff --git a/llvm/test/DebugInfo/Generic/objc-property.ll b/llvm/test/DebugInfo/Generic/objc-property.ll index 6dd0e01017780..53ccfefedbfae 100644 --- a/llvm/test/DebugInfo/Generic/objc-property.ll +++ b/llvm/test/DebugInfo/Generic/objc-property.ll @@ -15,27 +15,24 @@ ; CHECK-SAME: DW_APPLE_PROPERTY_assign, DW_APPLE_PROPERTY_readwrite, ; CHECK-SAME: DW_APPLE_PROPERTY_atomic, DW_APPLE_PROPERTY_unsafe_unretained ; -; FIXME: this should have a DW_AT_APPLE_property_getter tag ; CHECK: DW_TAG_APPLE_property ; CHECK: DW_AT_APPLE_property_name ("customGetterProp") -; CHECK: DW_AT_APPLE_property_setter ("customGetter") +; CHECK: DW_AT_APPLE_property_getter ("customGetter") ; CHECK: DW_AT_APPLE_property_attribute ; CHECK-SAME: DW_APPLE_PROPERTY_getter, DW_APPLE_PROPERTY_assign, DW_APPLE_PROPERTY_readwrite, ; CHECK-SAME: DW_APPLE_PROPERTY_atomic, DW_APPLE_PROPERTY_unsafe_unretained ; -; FIXME: this should have a DW_AT_APPLE_property_setter tag ; CHECK: DW_TAG_APPLE_property ; CHECK: DW_AT_APPLE_property_name ("customSetterProp") -; CHECK: DW_AT_APPLE_property_getter ("customSetter:") +; CHECK: DW_AT_APPLE_property_setter ("customSetter:") ; CHECK: DW_AT_APPLE_property_attribute ; CHECK-SAME: DW_APPLE_PROPERTY_assign, DW_APPLE_PROPERTY_readwrite, ; CHECK-SAME: DW_APPLE_PROPERTY_setter, DW_APPLE_PROPERTY_atomic, DW_APPLE_PROPERTY_unsafe_unretained ; -; FIXME: the DW_AT_APPLE_property_(getter|setter) values are inverted ; CHECK: DW_TAG_APPLE_property ; CHECK: DW_AT_APPLE_property_name ("customAccessorsProp") -; CHECK: DW_AT_APPLE_property_getter ("customSetter:") -; CHECK: DW_AT_APPLE_property_setter ("customGetter") +; CHECK: DW_AT_APPLE_property_getter ("customGetter") +; CHECK: DW_AT_APPLE_property_setter ("customSetter:") ; CHECK: DW_AT_APPLE_property_attribute ; CHECK-SAME: DW_APPLE_PROPERTY_getter, DW_APPLE_PROPERTY_assign, DW_APPLE_PROPERTY_readwrite, ; CHECK-SAME: DW_APPLE_PROPERTY_setter, DW_APPLE_PROPERTY_atomic, DW_APPLE_PROPERTY_unsafe_unretained