diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-01-28 22:42:45 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-01-28 22:42:45 +0000 |
commit | e233fbfc16fee2718290d159f6f7bab67ef2e15a (patch) | |
tree | 405ea0e7d4eb7d0232352f352cbdf34c6a68a394 /clang/lib/Parse/ParseObjc.cpp | |
parent | eeebb13fb24c88f0ff1d5f235cc7c626534e0e9b (diff) | |
download | bcm5719-llvm-e233fbfc16fee2718290d159f6f7bab67ef2e15a.tar.gz bcm5719-llvm-e233fbfc16fee2718290d159f6f7bab67ef2e15a.zip |
Finish semantic analysis for [[carries_dependency]] attribute.
This required plumbing through a new flag to determine whether a ParmVarDecl is
actually a parameter of a function declaration (as opposed to a function
typedef etc, where the attribute is prohibited). Weirdly, this attribute (just
like [[noreturn]]) cannot be applied to a function type, just to a function
declaration (and its parameters).
llvm-svn: 173726
Diffstat (limited to 'clang/lib/Parse/ParseObjc.cpp')
-rw-r--r-- | clang/lib/Parse/ParseObjc.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Parse/ParseObjc.cpp b/clang/lib/Parse/ParseObjc.cpp index 65bfd1c830e..b331defaa39 100644 --- a/clang/lib/Parse/ParseObjc.cpp +++ b/clang/lib/Parse/ParseObjc.cpp @@ -1028,8 +1028,8 @@ Decl *Parser::ParseObjCMethodDecl(SourceLocation mLoc, SmallVector<IdentifierInfo *, 12> KeyIdents; SmallVector<SourceLocation, 12> KeyLocs; SmallVector<Sema::ObjCArgInfo, 12> ArgInfos; - ParseScope PrototypeScope(this, - Scope::FunctionPrototypeScope|Scope::DeclScope); + ParseScope PrototypeScope(this, Scope::FunctionPrototypeScope | + Scope::FunctionDeclarationScope | Scope::DeclScope); AttributePool allParamAttrs(AttrFactory); while (1) { |