summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseDecl.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-01-03 19:41:00 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-01-03 19:41:00 +0000
commit22fe771f78c957e0c1a2f28e31f7129497a3915f (patch)
treedd8f7541c7be8a4800178268510bace368c80a0b /clang/lib/Parse/ParseDecl.cpp
parent5772566ed66f8c4c09dcda81e96eb11a303b2140 (diff)
downloadbcm5719-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.cpp7
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)) {
OpenPOWER on IntegriCloud