[PATCH] D102591: Fix DIObjCProperty getter and setter swapped during parsing

Hasyimi Bahrudin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun May 16 20:18:37 PDT 2021


hasyimibhar created this revision.
Herald added a subscriber: hiraditya.
hasyimibhar requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

DIObjCProperty getter and setter are swapped during parsing,
which is caused by the wrong order of arguments, where setter
was declared before getter in LLParser.cpp.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D102591

Files:
  llvm/lib/AsmParser/LLParser.cpp
  llvm/test/Assembler/diobjcproperty.ll


Index: llvm/test/Assembler/diobjcproperty.ll
===================================================================
--- llvm/test/Assembler/diobjcproperty.ll
+++ llvm/test/Assembler/diobjcproperty.ll
@@ -1,5 +1,6 @@
 ; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s
 ; RUN: verify-uselistorder %s
+; RUN: opt -S < %s | FileCheck %s
 
 ; CHECK: !named = !{!0, !1, !2, !3, !4, !4}
 !named = !{!0, !1, !2, !3, !4, !5}
Index: llvm/lib/AsmParser/LLParser.cpp
===================================================================
--- llvm/lib/AsmParser/LLParser.cpp
+++ llvm/lib/AsmParser/LLParser.cpp
@@ -5418,16 +5418,16 @@
   OPTIONAL(name, MDStringField, );                                             \
   OPTIONAL(file, MDField, );                                                   \
   OPTIONAL(line, LineField, );                                                 \
-  OPTIONAL(setter, MDStringField, );                                           \
   OPTIONAL(getter, MDStringField, );                                           \
+  OPTIONAL(setter, MDStringField, );                                           \
   OPTIONAL(attributes, MDUnsignedField, (0, UINT32_MAX));                      \
   OPTIONAL(type, MDField, );
   PARSE_MD_FIELDS();
 #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;
 }
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D102591.345742.patch
Type: text/x-patch
Size: 1649 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210517/66bbe6bd/attachment-0001.bin>


More information about the llvm-commits mailing list