diff options
| author | Ted Kremenek <kremenek@apple.com> | 2009-04-30 18:41:06 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2009-04-30 18:41:06 +0000 |
| commit | 290fbb1d42c9e50e94aecf72e40030b6b85b5786 (patch) | |
| tree | c5530eac072161d89861fe46b942d62dd0efd464 /clang/lib/Sema/Sema.h | |
| parent | 007cbe91c58442ca7032eb006a68560c306c1028 (diff) | |
| download | bcm5719-llvm-290fbb1d42c9e50e94aecf72e40030b6b85b5786.tar.gz bcm5719-llvm-290fbb1d42c9e50e94aecf72e40030b6b85b5786.zip | |
Hook up Sema support for attributes on Objective-C method declarations that
appear between the return type and the selector. This is a separate code path
from regular attribute processing, as we only want to (a) accept only a specific
set of attributes in this place and (b) want to distinguish to clients the
context in which an attribute was added to an ObjCMethodDecl.
Currently, the attribute 'objc_ownership_returns' is the only attribute that
uses this new feature. Shortly I will add a warning for 'objc_ownership_returns'
to be placed at the end of a method declaration.
llvm-svn: 70504
Diffstat (limited to 'clang/lib/Sema/Sema.h')
| -rw-r--r-- | clang/lib/Sema/Sema.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/Sema.h b/clang/lib/Sema/Sema.h index d04394d94fd..e4746372a51 100644 --- a/clang/lib/Sema/Sema.h +++ b/clang/lib/Sema/Sema.h @@ -1071,6 +1071,9 @@ public: // Decl attributes - this routine is the top level dispatcher. void ProcessDeclAttributes(Decl *D, const Declarator &PD); void ProcessDeclAttributeList(Decl *D, const AttributeList *AttrList); + + void ProcessObjCMethDeclReturnAttributeList(ObjCMethodDecl *D, + const AttributeList *AttrList); void WarnUndefinedMethod(SourceLocation ImpLoc, ObjCMethodDecl *method, bool &IncompleteImpl); @@ -2186,6 +2189,7 @@ public: // from the Sel.getNumArgs(). ObjCArgInfo *ArgInfo, llvm::SmallVectorImpl<Declarator> &Cdecls, + AttributeList *ReturnAttrList, AttributeList *AttrList, tok::ObjCKeywordKind MethodImplKind, bool isVariadic = false); |

