[PATCH] D97371: [clang][parser] Remove questionable ProhibitAttributes() call in objc parsing
Timm Bäder via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Mar 23 07:27:21 PDT 2021
This revision was automatically updated to reflect the committed changes.
Closed by commit rGbc6b139392f6: [clang][parser] Don't prohibit attributes on objc @try/@throw (authored by tbaeder).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97371/new/
https://reviews.llvm.org/D97371
Files:
clang/lib/Parse/ParseStmt.cpp
clang/test/CodeGenObjC/attr-nomerge.m
Index: clang/test/CodeGenObjC/attr-nomerge.m
===================================================================
--- /dev/null
+++ clang/test/CodeGenObjC/attr-nomerge.m
@@ -0,0 +1,24 @@
+// RUN: %clang_cc1 -emit-llvm -fobjc-exceptions -triple x86_64-unknown-linux -o - %s | FileCheck %s
+
+// Test that the nomerge attribute is applied to function calls
+// in @try, @catch and @finally
+void opaque(void);
+void opaque2(void);
+void opaque3(void);
+
+int main(int argc, const char * argv[]) {
+ __attribute__((nomerge)) @try {
+ opaque();
+ } @catch(...) {
+ opaque2();
+ } @finally {
+ opaque3();
+ }
+
+ return 0;
+}
+
+// CHECK: call void @opaque() #[[ATTR0:[0-9]+]]
+// CHECK-DAG: call void @opaque2() #[[ATTR0]]
+// CHECK-DAG: call void @opaque3() #[[ATTR0]]
+// CHECK-DAG: attributes #[[ATTR0]] = {{{.*}}nomerge{{.*}}}
Index: clang/lib/Parse/ParseStmt.cpp
===================================================================
--- clang/lib/Parse/ParseStmt.cpp
+++ clang/lib/Parse/ParseStmt.cpp
@@ -172,7 +172,6 @@
switch (Kind) {
case tok::at: // May be a @try or @throw statement
{
- ProhibitAttributes(Attrs); // TODO: is it correct?
AtLoc = ConsumeToken(); // consume @
return ParseObjCAtStatement(AtLoc, StmtCtx);
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D97371.332672.patch
Type: text/x-patch
Size: 1275 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20210323/51e6f668/attachment.bin>
More information about the cfe-commits
mailing list