diff options
author | Michael Han <Michael.Han@autodesk.com> | 2012-10-03 01:56:22 +0000 |
---|---|---|
committer | Michael Han <Michael.Han@autodesk.com> | 2012-10-03 01:56:22 +0000 |
commit | 6880f492365cc4fa4c941aa83688635003ee7498 (patch) | |
tree | 75cf9a2e19776577855988ee5cfd7789b5d3fa03 /include/clang | |
parent | 48314cf6a289bc5a082d8c769c58a38f924c93b7 (diff) |
Improve C++11 attribute parsing.
- General C++11 attributes were previously parsed and ignored. Now they are parsed and stored in AST.
- Add support to parse arguments of attributes that in 'gnu' namespace.
- Differentiate unknown attributes and known attributes that can't be applied to statements when emitting diagnostic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165082 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang')
-rw-r--r-- | include/clang/Parse/Parser.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/clang/Parse/Parser.h b/include/clang/Parse/Parser.h index d143a1a0c5..25fe4cf4aa 100644 --- a/include/clang/Parse/Parser.h +++ b/include/clang/Parse/Parser.h @@ -1848,7 +1848,10 @@ private: void ParseGNUAttributeArgs(IdentifierInfo *AttrName, SourceLocation AttrNameLoc, ParsedAttributes &Attrs, - SourceLocation *EndLoc); + SourceLocation *EndLoc, + IdentifierInfo *ScopeName, + SourceLocation ScopeLoc, + AttributeList::Syntax Syntax); void MaybeParseCXX0XAttributes(Declarator &D) { if (getLangOpts().CPlusPlus0x && isCXX11AttributeSpecifier()) { @@ -1878,6 +1881,7 @@ private: SourceLocation *EndLoc = 0); void ParseCXX11Attributes(ParsedAttributesWithRange &attrs, SourceLocation *EndLoc = 0); + IdentifierInfo *TryParseCXX11AttributeIdentifier(SourceLocation &Loc); void MaybeParseMicrosoftAttributes(ParsedAttributes &attrs, |