diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-01-03 19:41:00 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-01-03 19:41:00 +0000 |
commit | 22fe771f78c957e0c1a2f28e31f7129497a3915f (patch) | |
tree | dd8f7541c7be8a4800178268510bace368c80a0b /clang/lib/Parse/ParseDecl.cpp | |
parent | 5772566ed66f8c4c09dcda81e96eb11a303b2140 (diff) | |
download | bcm5719-llvm-22fe771f78c957e0c1a2f28e31f7129497a3915f.tar.gz bcm5719-llvm-22fe771f78c957e0c1a2f28e31f7129497a3915f.zip |
Parse: __attribute__((keyword)) shouldn't error
Weird constructs like __attribute__((inline)) or
__attibute__((typename)) should result in warnings, not errors.
llvm-svn: 225118
Diffstat (limited to 'clang/lib/Parse/ParseDecl.cpp')
-rw-r--r-- | clang/lib/Parse/ParseDecl.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp index c0c0d59c7c4..7ff39aabeb1 100644 --- a/clang/lib/Parse/ParseDecl.cpp +++ b/clang/lib/Parse/ParseDecl.cpp @@ -143,11 +143,12 @@ void Parser::ParseGNUAttributes(ParsedAttributes &attrs, continue; // Expect an identifier or declaration specifier (const, int, etc.) - if (Tok.isNot(tok::identifier) && !isTypeQualifier() && - !isKnownToBeTypeSpecifier(Tok)) + if (Tok.isAnnotation()) break; - IdentifierInfo *AttrName = Tok.getIdentifierInfo(); + if (!AttrName) + break; + SourceLocation AttrNameLoc = ConsumeToken(); if (Tok.isNot(tok::l_paren)) { |