tbaeder created this revision.
tbaeder added reviewers: aaron.ballman, rsmith.
tbaeder requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
Clang uses GNU-style attributes in objc code in (for example, I guess?)
`tests/Parser/stmt-attributes.m`:
__attribute__((nomerge)) @try {
[getTest() foo];
} @finally {
}
Once the `ProhibitAttributes()` call in question actually starts handling
GNU-style attributes, these tests fail.
The call was introduced in c202b2809ac814bcae8553cd772ec4901fdb8441 by Richard
Smith (I'll add him as a reviewer), but with a `TODO` comment stating that it
might be incorrect.
I'm having a hard time finding any concrete information on whether GNU-style
attributes on `@try`/`@catch` statements are allowed in objc, so maybe someone
with more experience can comment?
Thanks,
Timm
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D97371
Files:
clang/lib/Parse/ParseStmt.cpp
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);
}
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);
}
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits