From 86330afd355b8b31ae3b19e6d636dd3ce26d5ad6 Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Mon, 29 Dec 2014 02:14:26 +0000 Subject: SemaCXX: Don't crash when annotation tokens show up before the tag name Clang has a hack to accept definitions of structs with tag names which have the same name as intrinsics. However, this hack didn't guard against annotation tokens showing up in the token stream. llvm-svn: 224909 --- clang/lib/Parse/ParseDeclCXX.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'clang/lib') diff --git a/clang/lib/Parse/ParseDeclCXX.cpp b/clang/lib/Parse/ParseDeclCXX.cpp index e2a51ecfca4..14fe9f7cf37 100644 --- a/clang/lib/Parse/ParseDeclCXX.cpp +++ b/clang/lib/Parse/ParseDeclCXX.cpp @@ -1244,7 +1244,8 @@ void Parser::ParseClassSpecifier(tok::TokenKind TagTokKind, SourceLocation AttrFixitLoc = Tok.getLocation(); if (TagType == DeclSpec::TST_struct && - !Tok.is(tok::identifier) && + Tok.isNot(tok::identifier) && + !Tok.isAnnotation() && Tok.getIdentifierInfo() && (Tok.is(tok::kw___is_abstract) || Tok.is(tok::kw___is_arithmetic) || -- cgit v1.2.3