reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/include/clang/Parse/Parser.h
  409   const Token &getCurToken() const { return Tok; }
  451     PrevTokLocation = Tok.getLocation();
  452     PP.Lex(Tok);
  457     if (Tok.isNot(Expected))
  461     PrevTokLocation = Tok.getLocation();
  462     PP.Lex(Tok);
  485     if (Tok.is(tok::code_completion))
  488     if (Tok.isAnnotation())
  511     return Tok.isOneOf(tok::l_paren, tok::r_paren);
  515     return Tok.isOneOf(tok::l_square, tok::r_square);
  519     return Tok.isOneOf(tok::l_brace, tok::r_brace);
  523     return tok::isStringLiteral(Tok.getKind());
  528            isTokenBrace() || Tok.is(tok::code_completion) || Tok.isAnnotation();
  528            isTokenBrace() || Tok.is(tok::code_completion) || Tok.isAnnotation();
  538       Token Next = Tok;
  540       PP.Lex(Tok);
  545     assert(Tok.isAnnotation() && "wrong consume method");
  546     SourceLocation Loc = Tok.getLocation();
  547     PrevTokLocation = Tok.getAnnotationEndLoc();
  548     PP.Lex(Tok);
  556     if (Tok.getKind() == tok::l_paren)
  562     PrevTokLocation = Tok.getLocation();
  563     PP.Lex(Tok);
  571     if (Tok.getKind() == tok::l_square)
  578     PrevTokLocation = Tok.getLocation();
  579     PP.Lex(Tok);
  587     if (Tok.getKind() == tok::l_brace)
  594     PrevTokLocation = Tok.getLocation();
  595     PP.Lex(Tok);
  606     PrevTokLocation = Tok.getLocation();
  607     PP.Lex(Tok);
  617     assert(Tok.is(tok::code_completion));
  618     PrevTokLocation = Tok.getLocation();
  619     PP.Lex(Tok);
  636     Tok.setKind(tok::eof);
  642     tok::TokenKind Kind = Tok.getKind();
  748     if (N == 0 || Tok.is(tok::eof)) return Tok;
  748     if (N == 0 || Tok.is(tok::eof)) return Tok;
  832     if (Tok.getIdentifierInfo() != Ident_vector &&
  833         Tok.getIdentifierInfo() != Ident_bool &&
  834         (!getLangOpts().AltiVec || Tok.getIdentifierInfo() != Ident_pixel))
  845         Tok.getIdentifierInfo() != Ident_vector) return false;
  859     if (Tok.isAnnotation())
  863     return Tok.getIdentifierInfo() == Ident_instancetype;
  898       PrevTok = P.Tok;
  918       P.Tok = PrevTok;
 1072     return Diag(Tok, DiagID);
 1680     tok::TokenKind K = Tok.getKind();
 1888     if (Tok.isNot(tok::l_brace))
 2397     assert(Tok.is(tok::l_square));
 2408     if ((Tok.isNot(tok::l_square) || NextToken().isNot(tok::l_square)) &&
 2409         Tok.isNot(tok::kw_alignas))
 2465     if (Tok.is(tok::kw___attribute)) {
 2475     if (Tok.is(tok::kw___attribute))
 2535     if (getLangOpts().MicrosoftExt && Tok.is(tok::l_square))
 2544     if (LO.DeclSpecKeyword && Tok.is(tok::kw___declspec))
 2629     return isCXX11VirtSpecifier(Tok);
 3066     tok::TokenKind Kind = Tok.getKind();
tools/clang/include/clang/Parse/RAIIObjectsForParser.h
  413       if (!P.Tok.is(Kind))
  428       if (P.Tok.is(Close)) {
  431       } else if (P.Tok.is(tok::semi) && P.NextToken().is(Close)) {
tools/clang/lib/Parse/ParseCXXInlineMethods.cpp
   29   assert(Tok.isOneOf(tok::l_brace, tok::colon, tok::kw_try, tok::equal) &&
   65     SourceLocation KWEndLoc = Tok.getEndLoc().getLocWithOffset(-1);
   89     if (Tok.is(tok::comma)) {
  139   tok::TokenKind kind = Tok.getKind();
  159     while (Tok.is(tok::kw_catch)) {
  186   assert(Tok.isOneOf(tok::l_brace, tok::equal) &&
  194   tok::TokenKind kind = Tok.getKind();
  196     Toks.push_back(Tok);
  202     Toks.push_back(Tok);
  217   Eof.setLocation(Tok.getLocation());
  325       Toks->push_back(Tok); // So that the current token doesn't get lost
  332       assert(Tok.is(tok::equal) && "Default argument not starting with '='");
  342       if (getLangOpts().CPlusPlus11 && Tok.is(tok::l_brace)) {
  343         Diag(Tok, diag::warn_cxx98_compat_generalized_initializer_lists);
  351         if (Tok.isNot(tok::eof) || Tok.getEofData() != Param) {
  351         if (Tok.isNot(tok::eof) || Tok.getEofData() != Param) {
  356           Diag(Tok.getLocation(), diag::err_default_arg_unparsed)
  357             << SourceRange(Tok.getLocation(),
  366       while (Tok.isNot(tok::eof))
  369       if (Tok.is(tok::eof) && Tok.getEofData() == Param)
  369       if (Tok.is(tok::eof) && Tok.getEofData() == Param)
  398     Toks->push_back(Tok); // So that the current token doesn't get lost
  434     if (Tok.isNot(tok::eof) || Tok.getEofData() != LM.Method)
  434     if (Tok.isNot(tok::eof) || Tok.getEofData() != LM.Method)
  435       Diag(Tok.getLocation(), diag::err_except_spec_unparsed);
  447     while (Tok.isNot(tok::eof))
  451     if (Tok.is(tok::eof) && Tok.getEofData() == LM.Method)
  451     if (Tok.is(tok::eof) && Tok.getEofData() == LM.Method)
  505   LM.Toks.push_back(Tok);
  510   assert(Tok.isOneOf(tok::l_brace, tok::colon, tok::kw_try)
  519   if (Tok.is(tok::kw_try)) {
  522     while (Tok.isNot(tok::eof))
  525     if (Tok.is(tok::eof) && Tok.getEofData() == LM.D)
  525     if (Tok.is(tok::eof) && Tok.getEofData() == LM.D)
  529   if (Tok.is(tok::colon)) {
  533     if (!Tok.is(tok::l_brace)) {
  537       while (Tok.isNot(tok::eof))
  540       if (Tok.is(tok::eof) && Tok.getEofData() == LM.D)
  540       if (Tok.is(tok::eof) && Tok.getEofData() == LM.D)
  556   while (Tok.isNot(tok::eof))
  559   if (Tok.is(tok::eof) && Tok.getEofData() == LM.D)
  559   if (Tok.is(tok::eof) && Tok.getEofData() == LM.D)
  619   MI.Toks.push_back(Tok);
  636   if (Tok.isNot(tok::eof)) {
  640         EndLoc = Tok.getLocation();
  646     while (Tok.isNot(tok::eof))
  650   if (Tok.getEofData() == MI.Field)
  668     if (Tok.is(T1) || Tok.is(T2)) {
  668     if (Tok.is(T1) || Tok.is(T2)) {
  670         Toks.push_back(Tok);
  676     switch (Tok.getKind()) {
  686       Toks.push_back(Tok);
  692       Toks.push_back(Tok);
  698       Toks.push_back(Tok);
  711       Toks.push_back(Tok);
  717       Toks.push_back(Tok);
  723       Toks.push_back(Tok);
  733       Toks.push_back(Tok);
  748   if (Tok.is(tok::kw_try)) {
  749     Toks.push_back(Tok);
  753   if (Tok.isNot(tok::colon)) {
  762     if (Tok.isNot(tok::l_brace))
  763       return Diag(Tok.getLocation(), diag::err_expected) << tok::l_brace;
  765     Toks.push_back(Tok);
  770   Toks.push_back(Tok);
  787     if (Tok.is(tok::kw_decltype)) {
  788       Toks.push_back(Tok);
  790       if (Tok.isNot(tok::l_paren))
  791         return Diag(Tok.getLocation(), diag::err_expected_lparen_after)
  793       Toks.push_back(Tok);
  796         Diag(Tok.getLocation(), diag::err_expected) << tok::r_paren;
  803       if (Tok.is(tok::coloncolon)) {
  804         Toks.push_back(Tok);
  807         if (Tok.is(tok::kw_template)) {
  808           Toks.push_back(Tok);
  813       if (Tok.is(tok::identifier)) {
  814         Toks.push_back(Tok);
  819     } while (Tok.is(tok::coloncolon));
  821     if (Tok.is(tok::code_completion)) {
  822       Toks.push_back(Tok);
  824       if (Tok.isOneOf(tok::identifier, tok::coloncolon, tok::kw_decltype)) {
  831     if (Tok.is(tok::comma)) {
  833       Toks.push_back(Tok);
  837     if (Tok.is(tok::less))
  852         return Diag(Tok.getLocation(), diag::err_expected) << tok::l_brace;
  854     } else if (Tok.isNot(tok::l_paren) && Tok.isNot(tok::l_brace)) {
  854     } else if (Tok.isNot(tok::l_paren) && Tok.isNot(tok::l_brace)) {
  857         return Diag(Tok.getLocation(), diag::err_expected_either)
  860         return Diag(Tok.getLocation(), diag::err_expected) << tok::l_paren;
  863     tok::TokenKind kind = Tok.getKind();
  864     Toks.push_back(Tok);
  866     SourceLocation OpenLoc = Tok.getLocation();
  889             !Tok.isOneOf(tok::comma, tok::ellipsis, tok::l_brace)) {
  904       Diag(Tok, diag::err_expected) << CloseKind;
  910     if (Tok.is(tok::ellipsis)) {
  911       Toks.push_back(Tok);
  917     if (Tok.is(tok::comma)) {
  918       Toks.push_back(Tok);
  920     } else if (Tok.is(tok::l_brace)) {
  935       Toks.push_back(Tok);
  939       return Diag(Tok.getLocation(), diag::err_expected_either) << tok::l_brace
  949   assert(Tok.is(tok::question));
  950   Toks.push_back(Tok);
  953   while (Tok.isNot(tok::colon)) {
  960     if (Tok.is(tok::question) && !ConsumeAndStoreConditional(Toks))
  965   Toks.push_back(Tok);
  991       Buffer[Toks.size() - 1] = Self.Tok;
  995       Self.Tok = Toks.front();
 1023     switch (Tok.getKind()) {
 1054           if (Result == TPResult::Ambiguous && Tok.isNot(tok::semi))
 1127       Toks.push_back(Tok);
 1129       if (Tok.is(tok::identifier)) {
 1130         Toks.push_back(Tok);
 1132         if (Tok.is(tok::less)) {
 1135           Toks.push_back(Tok);
 1144       Toks.push_back(Tok);
 1146       switch (Tok.getKind()) {
 1152         Toks.push_back(Tok);
 1162       Toks.push_back(Tok);
 1168       Toks.push_back(Tok);
 1174       Toks.push_back(Tok);
 1190       Toks.push_back(Tok);
 1196       Toks.push_back(Tok);
 1202       Toks.push_back(Tok);
 1207       Toks.push_back(Tok);
 1216       Toks.push_back(Tok);
 1225       Toks.push_back(Tok);
tools/clang/lib/Parse/ParseDecl.cpp
  150   assert(Tok.is(tok::kw___attribute) && "Not a GNU attribute list!");
  152   while (Tok.is(tok::kw___attribute)) {
  173       if (Tok.isAnnotation())
  175       IdentifierInfo *AttrName = Tok.getIdentifierInfo();
  181       if (Tok.isNot(tok::l_paren)) {
  206       LA->Toks.push_back(Tok);
  213       Eof.setLocation(Tok.getLocation());
  215     } while (Tok.is(tok::comma));
  219     SourceLocation Loc = Tok.getLocation();
  293   assert(Tok.is(tok::identifier) && "expected an identifier");
  295                                             Tok.getLocation(),
  296                                             Tok.getIdentifierInfo());
  312   if (Tok.isNot(tok::r_paren))
  341   if (ChangeKWThisToIdent && Tok.is(tok::kw_this))
  342     Tok.setKind(tok::identifier);
  345   if (Tok.is(tok::identifier)) {
  365   if (!ArgExprs.empty() ? Tok.is(tok::comma) : Tok.isNot(tok::r_paren)) {
  365   if (!ArgExprs.empty() ? Tok.is(tok::comma) : Tok.isNot(tok::r_paren)) {
  373       if (ChangeKWThisToIdent && Tok.is(tok::kw_this))
  374         Tok.setKind(tok::identifier);
  386       } else if (Tok.is(tok::identifier) &&
  408   SourceLocation RParen = Tok.getLocation();
  438   assert(Tok.is(tok::l_paren) && "Attribute arg list not starting with '('");
  488   assert(Tok.is(tok::l_paren) && "Attribute arg list not starting with '('");
  530   SourceLocation OpenParenLoc = Tok.getLocation();
  552       if (!Tok.is(tok::identifier)) {
  554         if (Tok.is(tok::r_paren) && !HasInvalidAccessor &&
  561         Diag(Tok.getLocation(), diag::err_ms_property_unknown_accessor);
  566       SourceLocation KindLoc = Tok.getLocation();
  567       StringRef KindStr = Tok.getIdentifierInfo()->getName();
  603         Diag(Tok.getLocation(), diag::err_ms_property_expected_equal)
  609       if (!Tok.is(tok::identifier)) {
  610         Diag(Tok.getLocation(), diag::err_ms_property_expected_accessor_name);
  620         AccessorNames[Kind] = Tok.getIdentifierInfo();
  630       if (Tok.is(tok::r_paren))
  633       Diag(Tok.getLocation(), diag::err_ms_property_expected_comma_or_rparen);
  668   assert(Tok.is(tok::kw___declspec) && "Not a declspec!");
  670   while (Tok.is(tok::kw___declspec)) {
  679     while (Tok.isNot(tok::r_paren)) {
  686       bool IsString = Tok.getKind() == tok::string_literal;
  687       if (!IsString && Tok.getKind() != tok::identifier &&
  688           Tok.getKind() != tok::kw_restrict) {
  689         Diag(Tok, diag::err_ms_declspec_type);
  699         StringRef Str = PP.getSpelling(Tok, StrBuffer, &Invalid);
  707         AttrName = Tok.getIdentifierInfo();
  714       if (Tok.is(tok::l_paren))
  718         Diag(Tok.getLocation(), diag::err_expected_lparen_after)
  734     switch (Tok.getKind()) {
  746       IdentifierInfo *AttrName = Tok.getIdentifierInfo();
  759   SourceLocation StartLoc = Tok.getLocation();
  772     switch (Tok.getKind()) {
  796   while (Tok.is(tok::kw___pascal)) {
  797     IdentifierInfo *AttrName = Tok.getIdentifierInfo();
  806   while (Tok.is(tok::kw___kernel)) {
  807     IdentifierInfo *AttrName = Tok.getIdentifierInfo();
  815   IdentifierInfo *AttrName = Tok.getIdentifierInfo();
  816   SourceLocation AttrNameLoc = Tok.getLocation();
  824     switch (Tok.getKind()) {
  828       IdentifierInfo *AttrName = Tok.getIdentifierInfo();
  856   Range = SourceRange(Tok.getLocation(), Tok.getEndLoc());
  856   Range = SourceRange(Tok.getLocation(), Tok.getEndLoc());
  858   if (!Tok.is(tok::numeric_constant)) {
  859     Diag(Tok, diag::err_expected_version);
  870   Buffer.resize(Tok.getLength()+1);
  875   unsigned ActualLength = PP.getSpelling(Tok, ThisTokBegin, &Invalid);
  888     Diag(Tok, diag::err_expected_version);
  899       Diag(Tok, diag::err_zero_version);
  909     Diag(Tok, diag::err_expected_version);
  928       Diag(Tok, diag::err_zero_version);
  938     Diag(Tok, diag::err_expected_version);
  946     Diag(Tok, diag::warn_expected_consistent_version_separator);
  957     Diag(Tok, diag::err_expected_version);
 1005     Diag(Tok, diag::err_expected) << tok::l_paren;
 1010   if (Tok.isNot(tok::identifier)) {
 1011     Diag(Tok, diag::err_availability_expected_platform);
 1051     if (Tok.isNot(tok::identifier)) {
 1052       Diag(Tok, diag::err_availability_expected_change);
 1056     IdentifierInfo *Keyword = Tok.getIdentifierInfo();
 1092     if (Tok.isNot(tok::equal)) {
 1093       Diag(Tok, diag::err_expected_after) << Keyword << tok::equal;
 1099       if (Tok.isNot(tok::string_literal)) {
 1100         Diag(Tok, diag::err_expected_string_literal)
 1129         Tok.is(tok::identifier)) {
 1130       IdentifierInfo *NA = Tok.getIdentifierInfo();
 1250     if (Tok.isNot(tok::identifier)) {
 1251       Diag(Tok, diag::err_external_source_symbol_expected_keyword);
 1256     SourceLocation KeywordLoc = Tok.getLocation();
 1257     IdentifierInfo *Keyword = Tok.getIdentifierInfo();
 1260         Diag(Tok, diag::err_external_source_symbol_duplicate_clause) << Keyword;
 1269       Diag(Tok, diag::err_external_source_symbol_expected_keyword);
 1287     if (Tok.isNot(tok::string_literal)) {
 1288       Diag(Tok, diag::err_expected_string_literal)
 1347     Diag(Tok, diag::err_expected) << tok::l_paren;
 1352   if (Tok.isNot(tok::identifier)) {
 1353     Diag(Tok, diag::err_objcbridge_related_expected_related_class);
 1367   if (Tok.is(tok::identifier)) {
 1370       Diag(Tok, diag::err_objcbridge_related_selector_name);
 1376     if (Tok.is(tok::colon))
 1377       Diag(Tok, diag::err_objcbridge_related_selector_name);
 1379       Diag(Tok, diag::err_expected) << tok::comma;
 1387   if (Tok.is(tok::identifier))
 1389   else if (Tok.isNot(tok::r_paren)) {
 1390     Diag(Tok, diag::err_expected) << tok::r_paren;
 1483   AttrEnd.setLocation(Tok.getLocation());
 1489   LA.Toks.push_back(Tok);
 1540     Diag(Tok, diag::warn_attribute_no_decl) << LA.AttrName.getName();
 1545     Diag(Tok, diag::warn_attribute_on_function_definition)
 1553   while (Tok.isNot(tok::eof))
 1556   if (Tok.is(tok::eof) && Tok.getEofData() == AttrEnd.getEofData())
 1556   if (Tok.is(tok::eof) && Tok.getEofData() == AttrEnd.getEofData())
 1567   assert(Tok.is(tok::l_paren) && "Attribute arg list not starting with '('");
 1572   if (Tok.isNot(tok::identifier)) {
 1573     Diag(Tok, diag::err_expected) << tok::identifier;
 1594     if (Tok.isNot(tok::identifier)) {
 1595       Diag(Tok, diag::err_expected) << tok::identifier;
 1599     IdentifierInfo *Flag = Tok.getIdentifierInfo();
 1605       Diag(Tok, diag::err_type_safety_unknown_flag) << Flag;
 1631   assert(Tok.is(tok::l_square) && NextToken().is(tok::l_square));
 1639     Diag(Tok.getLocation(), diag::err_l_square_l_square_not_attribute);
 1647     assert(Tok.is(tok::r_square) && "isCXX11AttributeSpecifier lied");
 1662   assert((Tok.is(tok::l_square) && NextToken().is(tok::l_square)) ||
 1663          Tok.is(tok::kw_alignas));
 1666   SourceLocation Loc = Tok.getLocation();
 1754   switch (Tok.getKind()) {
 1829   if (Tok.is(tok::semi)) {
 1831     DeclEnd = Tok.getLocation();
 1854   switch (Tok.getKind()) {
 1924     switch (Tok.getKind()) {
 1930       if (Tok.isOneOf(tok::comma, tok::l_brace, tok::kw_try)) {
 1958       if (Tok.isAtStartOfLine() && NextToken().is(tok::kw_namespace) &&
 1967       if (Tok.isAtStartOfLine() &&
 1982       if (Tok.isAtStartOfLine() && ParsingInObjCContainer)
 2027     if (Tok.is(tok::kw__Noreturn)) {
 2036       Fixit &= Tok.isOneOf(tok::semi, tok::l_brace, tok::kw_try);
 2058           Diag(Tok, diag::err_function_declared_typedef);
 2077         Diag(Tok, diag::err_expected_fn_body);
 2082       if (Tok.is(tok::l_brace)) {
 2083         Diag(Tok, diag::err_function_definition_not_allowed);
 2099   if (FRI && (Tok.is(tok::colon) || isTokIdentifier_in())) {
 2105       if (Tok.is(tok::l_brace))
 2139     if (Tok.isAtStartOfLine() && ExpectSemi && !MightBeDeclarator(Context)) {
 2176     *DeclEnd = Tok.getLocation();
 2198   if (Tok.is(tok::kw_asm)) {
 2296     if (Tok.is(tok::semi)) {
 2311         Diag(Tok, diag::err_template_defn_explicit_instantiation)
 2341     if (Tok.is(tok::kw_delete)) {
 2347     } else if (Tok.is(tok::kw_default)) {
 2357       if (Tok.is(tok::code_completion)) {
 2364       PreferredType.enterVariableInit(Tok.getLocation(), ThisDecl);
 2369       if (Tok.is(tok::r_paren) && FRI && D.isFirstDeclarator()) {
 2393   } else if (Tok.is(tok::l_paren)) {
 2412       PreferredType.enterFunctionArgument(Tok.getLocation(), RunSignatureHelp);
 2447   } else if (getLangOpts().CPlusPlus11 && Tok.is(tok::l_brace) &&
 2450     Diag(Tok, diag::warn_cxx98_compat_generalized_initializer_lists);
 2488     Diag(Tok, diag::err_expected_type);
 2491     Diag(Tok, diag::err_typename_requires_specqual);
 2562   assert(Tok.is(tok::identifier) && "should have identifier");
 2564   SourceLocation Loc = Tok.getLocation();
 2612             *Tok.getIdentifierInfo(), Tok.getLocation(),
 2612             *Tok.getIdentifierInfo(), Tok.getLocation(),
 2618       DS.SetRangeEnd(Tok.getLocation());
 2634     switch (Actions.isTagName(*Tok.getIdentifierInfo(), getCurScope())) {
 2650       IdentifierInfo *TokenName = Tok.getIdentifierInfo();
 2656         << FixItHint::CreateInsertion(Tok.getLocation(), FixitTagName);
 2706         IdentifierInfo *II = Tok.getIdentifierInfo();
 2709             << Tok.getIdentifierInfo() << II
 2710             << FixItHint::CreateReplacement(Tok.getLocation(), II->getName());
 2711           Tok.setIdentifierInfo(II);
 2743   IdentifierInfo *II = Tok.getIdentifierInfo();
 2755     DS.SetRangeEnd(Tok.getLocation());
 2759   } else if (II != Tok.getIdentifierInfo()) {
 2761     Tok.setKind(II->getTokenID());
 2768   DS.SetRangeEnd(Tok.getLocation());
 2822     SourceLocation TypeLoc = Tok.getLocation();
 2824     SourceRange TypeRange(Start, Tok.getLocation());
 2846   assert(Tok.isOneOf(tok::kw_alignas, tok::kw__Alignas) &&
 2849   IdentifierInfo *KWName = Tok.getIdentifierInfo();
 2890       Tok.isOneOf(tok::identifier, tok::coloncolon, tok::kw_decltype,
 2897   bool HasScope = Tok.is(tok::annot_cxxscope);
 2899   Token AfterScope = HasScope ? NextToken() : Tok;
 2904   if (Tok.isOneOf(tok::kw_typename, tok::annot_typename)) {
 2929           Tok.getAnnotationValue(), Tok.getAnnotationRange(), SS);
 2929           Tok.getAnnotationValue(), Tok.getAnnotationRange(), SS);
 3030     DS.SetRangeStart(Tok.getLocation());
 3057     if (getLangOpts().MSVCCompat && Tok.is(tok::kw__Atomic) &&
 3060       Tok.setKind(tok::identifier);
 3062     SourceLocation Loc = Tok.getLocation();
 3064     switch (Tok.getKind()) {
 3139       if (Tok.is(tok::coloncolon)) // ::new or ::delete
 3148       Actions.RestoreNestedNameSpecifierAnnotation(Tok.getAnnotationValue(),
 3149                                                    Tok.getAnnotationRange(),
 3181         assert(Tok.is(tok::annot_template_id) &&
 3190         if (Tok.getAnnotationValue()) {
 3191           ParsedType T = getTypeAnnotation(Tok);
 3193                                          Tok.getAnnotationEndLoc(),
 3200         DS.SetRangeEnd(Tok.getAnnotationEndLoc());
 3250       DS.SetRangeEnd(Tok.getLocation());
 3262       if (Tok.getAnnotationValue()) {
 3263         ParsedType T = getTypeAnnotation(Tok);
 3272       DS.SetRangeEnd(Tok.getAnnotationEndLoc());
 3308       if (!getLangOpts().DeclSpecKeyword && Tok.is(tok::identifier) &&
 3309           Tok.getIdentifierInfo()->getName().equals("__declspec")) {
 3336         if (!Tok.is(tok::identifier))
 3366           Actions.isCurrentClassName(*Tok.getIdentifierInfo(), getCurScope()) &&
 3371           *Tok.getIdentifierInfo(), Tok.getLocation(), getCurScope(), nullptr,
 3371           *Tok.getIdentifierInfo(), Tok.getLocation(), getCurScope(), nullptr,
 3394           Actions.isDeductionGuideName(getCurScope(), *Tok.getIdentifierInfo(),
 3395                                        Tok.getLocation()) &&
 3405       DS.SetRangeEnd(Tok.getLocation());
 3411       if (Tok.is(tok::less) && getLangOpts().ObjC) {
 3429       TemplateIdAnnotation *TemplateId = takeTemplateIdAnnotation(Tok);
 3464       IdentifierInfo *AttrName = Tok.getIdentifierInfo();
 3465       SourceLocation AttrNameLoc = Tok.getLocation();
 3509       DS.getAttributes().addNew(Tok.getIdentifierInfo(), Loc, nullptr, Loc,
 3522         Diag(Tok, diag::ext_thread_before) << "extern";
 3534         Diag(Tok, diag::ext_thread_before) << "static";
 3545             Diag(Tok, diag::ext_auto_storage_class)
 3556       Diag(Tok, diag::ext_auto_type);
 3582         Diag(Tok, diag::ext_c11_feature) << Tok.getName();
 3582         Diag(Tok, diag::ext_c11_feature) << Tok.getName();
 3597         PrevSpec = Tok.getIdentifierInfo()->getNameStart();
 3610       if (Tok.is(tok::l_paren)) {
 3616           ConsumedEnd = Tok.getLocation();
 3618             CloseParenLoc = Tok.getLocation();
 3625           Diag(Tok.getLocation(), diag::warn_cxx2a_compat_explicit_bool);
 3633         Diag(Tok, diag::ext_c11_feature) << Tok.getName();
 3633         Diag(Tok, diag::ext_c11_feature) << Tok.getName();
 3640         Diag(Tok, diag::ext_c11_feature) << Tok.getName();
 3640         Diag(Tok, diag::ext_c11_feature) << Tok.getName();
 3698         Diag(Tok, diag::ext_c99_feature) << Tok.getName();
 3698         Diag(Tok, diag::ext_c99_feature) << Tok.getName();
 3704         Diag(Tok, diag::ext_c99_feature) << Tok.getName();
 3704         Diag(Tok, diag::ext_c99_feature) << Tok.getName();
 3785       if (Tok.is(tok::kw__Bool) && !getLangOpts().C99)
 3786         Diag(Tok, diag::ext_c99_feature) << Tok.getName();
 3786         Diag(Tok, diag::ext_c99_feature) << Tok.getName();
 3788       if (Tok.is(tok::kw_bool) &&
 3794         Tok.setKind(tok::identifier);
 3827         Tok.getIdentifierInfo()->revertTokenIDToIdentifier();
 3848       tok::TokenKind Kind = Tok.getKind();
 3893       if (!Tok.is(tok::kw_typename))
 3932         Diag(Tok, diag::ext_c11_feature) << Tok.getName();
 3932         Diag(Tok, diag::ext_c11_feature) << Tok.getName();
 3949         PrevSpec = Tok.getIdentifierInfo()->getNameStart();
 3973       SourceLocation StartLoc = Tok.getLocation();
 3992     DS.SetRangeEnd(ConsumedEnd.isValid() ? ConsumedEnd : Tok.getLocation());
 4046   if (Tok.is(tok::kw___extension__)) {
 4063   if (Tok.is(tok::semi)) {
 4085     if (Tok.isNot(tok::colon)) {
 4090       DeclaratorInfo.D.SetIdentifier(nullptr, Tok.getLocation());
 4141   while (!tryParseMisplacedModuleImport() && Tok.isNot(tok::r_brace) &&
 4142          Tok.isNot(tok::eof)) {
 4146     if (Tok.is(tok::semi)) {
 4152     if (Tok.is(tok::kw__Static_assert)) {
 4158     if (Tok.is(tok::annot_pragma_pack)) {
 4163     if (Tok.is(tok::annot_pragma_align)) {
 4168     if (Tok.is(tok::annot_pragma_openmp)) {
 4176     if (tok::isPragmaAnnotation(Tok.getKind())) {
 4177       Diag(Tok.getLocation(), diag::err_pragma_misplaced_in_decl)
 4184     if (!Tok.is(tok::at)) {
 4200       if (!Tok.isObjCAtKeyword(tok::objc_defs)) {
 4201         Diag(Tok, diag::err_unexpected_at);
 4207       if (!Tok.is(tok::identifier)) {
 4208         Diag(Tok, diag::err_expected) << tok::identifier;
 4213       Actions.ActOnDefs(getCurScope(), TagDecl, Tok.getLocation(),
 4214                         Tok.getIdentifierInfo(), Fields);
 4223     if (Tok.is(tok::r_brace)) {
 4281   if (Tok.is(tok::code_completion)) {
 4297   if (Tok.isOneOf(tok::kw_class, tok::kw_struct)) {
 4298     Diag(Tok, getLangOpts().CPlusPlus11 ? diag::warn_cxx98_compat_scoped_enum
 4300     IsScopedUsingClassTag = Tok.is(tok::kw_class);
 4338     if (Spec.isSet() && Tok.isNot(tok::identifier)) {
 4339       Diag(Tok, diag::err_expected) << tok::identifier;
 4340       if (Tok.isNot(tok::l_brace)) {
 4352   if (Tok.isNot(tok::identifier) && Tok.isNot(tok::l_brace) &&
 4352   if (Tok.isNot(tok::identifier) && Tok.isNot(tok::l_brace) &&
 4353       !(AllowDeclaration && Tok.is(tok::colon))) {
 4354     Diag(Tok, diag::err_expected_either) << tok::identifier << tok::l_brace;
 4364   if (Tok.is(tok::identifier)) {
 4365     Name = Tok.getIdentifierInfo();
 4372     Diag(Tok, diag::err_scoped_enum_missing_identifier);
 4386   if (AllowDeclaration && Tok.is(tok::colon)) {
 4472   } else if (Tok.is(tok::l_brace)) {
 4474       Diag(Tok.getLocation(), diag::err_friend_decl_defines_type)
 4483              (Tok.is(tok::semi) ||
 4484               (Tok.isAtStartOfLine() &&
 4487     if (Tok.isNot(tok::semi)) {
 4490       PP.EnterToken(Tok, /*IsReinject=*/true);
 4491       Tok.setKind(tok::semi);
 4508       Diag(Tok, diag::err_enum_template);
 4529     Diag(Tok, diag::err_enumerator_unnamed_no_def);
 4539   if (!Name && TUK == Sema::TUK_Definition && Tok.is(tok::l_brace) &&
 4578       Diag(Tok, diag::err_expected_type_name_after_typename);
 4601     if (Tok.is(tok::l_brace) && TUK != Sema::TUK_Reference) {
 4610   if (Tok.is(tok::l_brace) && TUK != Sema::TUK_Reference) {
 4646   if (Tok.is(tok::r_brace) && !getLangOpts().CPlusPlus)
 4647     Diag(Tok, diag::err_empty_enum);
 4655   while (Tok.isNot(tok::r_brace)) {
 4658     if (Tok.isNot(tok::identifier)) {
 4659       Diag(Tok.getLocation(), diag::err_expected) << tok::identifier;
 4665     IdentifierInfo *Ident = Tok.getIdentifierInfo();
 4674         Diag(Tok.getLocation(), getLangOpts().CPlusPlus17
 4702     if (Tok.is(tok::identifier)) {
 4713     if (Tok.isNot(tok::r_brace) && !TryConsumeToken(tok::comma, CommaLoc)) {
 4715         Diag(Tok.getLocation(), diag::err_expected_either) << tok::r_brace
 4718         Diag(Tok.getLocation(), diag::err_expected_end_of_enumerator);
 4728     if (Tok.is(tok::r_brace) && CommaLoc.isValid()) {
 4770     PP.EnterToken(Tok, /*IsReinject=*/true);
 4771     Tok.setKind(tok::semi);
 4830   switch (Tok.getKind()) {
 4842     if (Tok.is(tok::identifier))
 4960   switch (Tok.getKind()) {
 4980     if (Tok.is(tok::identifier))
 5162   if (Tok.is(tok::identifier)) {
 5166   } else if (Tok.is(tok::annot_template_id)) {
 5178   if (Tok.isNot(tok::l_paren)) {
 5186   if (Tok.is(tok::r_paren) ||
 5187       (Tok.is(tok::ellipsis) && NextToken().is(tok::r_paren))) {
 5216   else if (Tok.is(tok::identifier) ||
 5217            (Tok.is(tok::annot_cxxscope) && NextToken().is(tok::identifier))) {
 5222     if (Tok.is(tok::annot_cxxscope))
 5229     switch (Tok.getKind()) {
 5252         IsConstructor = Tok.is(tok::arrow);
 5255       if (Tok.is(tok::colon) || Tok.is(tok::kw_try)) {
 5255       if (Tok.is(tok::colon) || Tok.is(tok::kw_try)) {
 5261       if (Tok.is(tok::semi) || Tok.is(tok::l_brace)) {
 5261       if (Tok.is(tok::semi) || Tok.is(tok::l_brace)) {
 5317     SourceLocation Loc = Tok.getLocation();
 5319     switch (Tok.getKind()) {
 5343         Diag(Tok, diag::ext_c11_feature) << Tok.getName();
 5343         Diag(Tok, diag::ext_c11_feature) << Tok.getName();
 5408       DS.getAttributes().addNew(Tok.getIdentifierInfo(), Loc, nullptr, Loc,
 5416         Diag(Tok, diag::err_attributes_not_allowed);
 5440       Diag(Tok, DiagID) << PrevSpec;
 5527       (Tok.is(tok::coloncolon) || Tok.is(tok::kw_decltype) ||
 5527       (Tok.is(tok::coloncolon) || Tok.is(tok::kw_decltype) ||
 5528        (Tok.is(tok::identifier) &&
 5530        Tok.is(tok::annot_cxxscope))) {
 5538       if (Tok.isNot(tok::star)) {
 5569   tok::TokenKind Kind = Tok.getKind();
 5741     if (Tok.is(tok::l_square) && !D.mayOmitIdentifier() &&
 5771         D.SetIdentifier(nullptr, Tok.getLocation());
 5785     if (Tok.is(tok::ellipsis) && D.getCXXScopeSpec().isEmpty() &&
 5794       if (isPtrOperatorToken(Tok.getKind(), getLangOpts(), D.getContext())) {
 5809     if (Tok.isOneOf(tok::identifier, tok::kw_operator, tok::annot_template_id,
 5840         D.SetIdentifier(nullptr, Tok.getLocation());
 5863       D.SetIdentifier(nullptr, Tok.getLocation());
 5866   } else if (Tok.is(tok::identifier) && D.mayHaveIdentifier()) {
 5869     assert(Tok.getIdentifierInfo() && "Not an identifier?");
 5870     D.SetIdentifier(Tok.getIdentifierInfo(), Tok.getLocation());
 5870     D.SetIdentifier(Tok.getIdentifierInfo(), Tok.getLocation());
 5871     D.SetRangeEnd(Tok.getLocation());
 5874   } else if (Tok.is(tok::identifier) && !D.mayHaveIdentifier()) {
 5893              !isCXX11VirtSpecifier(Tok))
 5897       Diag(Tok.getLocation(), diag::err_unexpected_unqualified_id)
 5898         << FixItHint::CreateRemoval(Tok.getLocation());
 5899       D.SetIdentifier(nullptr, Tok.getLocation());
 5905   if (Tok.is(tok::l_paren)) {
 5913         D.SetIdentifier(nullptr, Tok.getLocation());
 5939     D.SetIdentifier(nullptr, Tok.getLocation());
 5947     if (Tok.getKind() == tok::annot_pragma_parser_crash)
 5949     if (Tok.is(tok::l_square))
 5955           Tok.getIdentifierInfo() &&
 5956           Tok.getIdentifierInfo()->isCPlusPlusKeyword(getLangOpts())) {
 5957         Diag(getMissingDeclaratorIdLoc(D, Tok.getLocation()),
 5959             << Tok.getIdentifierInfo()
 5962         D.SetIdentifier(Tok.getIdentifierInfo(), Tok.getLocation());
 5962         D.SetIdentifier(Tok.getIdentifierInfo(), Tok.getLocation());
 5963         D.SetRangeEnd(Tok.getLocation());
 5967       Diag(getMissingDeclaratorIdLoc(D, Tok.getLocation()),
 5972       if (Tok.isOneOf(tok::period, tok::arrow))
 5973         Diag(Tok, diag::err_invalid_operator_on_type) << Tok.is(tok::arrow);
 5973         Diag(Tok, diag::err_invalid_operator_on_type) << Tok.is(tok::arrow);
 5976         if (Tok.isAtStartOfLine() && Loc.isValid())
 5980           Diag(getMissingDeclaratorIdLoc(D, Tok.getLocation()),
 5985       Diag(getMissingDeclaratorIdLoc(D, Tok.getLocation()),
 5989     D.SetIdentifier(nullptr, Tok.getLocation());
 6002     if (Tok.is(tok::l_paren)) {
 6028     } else if (Tok.is(tok::l_square)) {
 6037   assert(Tok.is(tok::l_square));
 6053   while (Tok.isNot(tok::r_square)) {
 6055       if (Tok.is(tok::comma))
 6058         if (Tok.is(tok::identifier)) {
 6063           Diag(Tok, diag::err_expected_comma_or_rsquare);
 6068         if (Tok.is(tok::comma))
 6070         else if (Tok.isNot(tok::identifier))
 6075     if (Tok.isNot(tok::identifier)) {
 6076       Diag(Tok, diag::err_expected) << tok::identifier;
 6080     Bindings.push_back({Tok.getIdentifierInfo(), Tok.getLocation()});
 6080     Bindings.push_back({Tok.getIdentifierInfo(), Tok.getLocation()});
 6084   if (Tok.isNot(tok::r_square))
 6091       Diag(Tok.getLocation(), diag::ext_decomp_decl_empty);
 6131   if (Tok.is(tok::kw___attribute)) {
 6143   if  (Tok.is(tok::kw___pascal))
 6156   } else if (Tok.is(tok::r_paren) ||           // 'int()' is a function.
 6157              (getLangOpts().CPlusPlus && Tok.is(tok::ellipsis) &&
 6198   D.SetIdentifier(nullptr, Tok.getLocation());
 6269       Diag(Tok, diag::err_argument_required_after_attribute);
 6283     if (Tok.isNot(tok::r_paren))
 6287       Diag(Tok, diag::err_argument_required_after_attribute);
 6391       if (getLangOpts().CPlusPlus11 && Tok.is(tok::arrow)) {
 6392         Diag(Tok, diag::warn_cxx98_compat_trailing_return_type);
 6395         LocalEndLoc = Tok.getLocation();
 6439   if (Tok.isOneOf(tok::amp, tok::ampamp)) {
 6440     Diag(Tok, getLangOpts().CPlusPlus11 ?
 6444     RefQualifierIsLValueRef = Tok.is(tok::amp);
 6458          && Tok.is(tok::identifier)
 6462          && (TryAnnotateTypeOrScopeToken() || !Tok.is(tok::annot_typename))
 6475          && (!Tok.is(tok::eof) &&
 6496     Diag(Tok, diag::ext_ident_list_in_param);
 6503     if (Tok.isNot(tok::identifier)) {
 6504       Diag(Tok, diag::err_expected) << tok::identifier;
 6511     IdentifierInfo *ParmII = Tok.getIdentifierInfo();
 6514     if (Actions.getTypeName(*ParmII, Tok.getLocation(), getCurScope()))
 6515       Diag(Tok, diag::err_unexpected_typedef_ident) << ParmII;
 6519       Diag(Tok, diag::err_param_redefinition) << ParmII;
 6523                                                      Tok.getLocation(),
 6585     SourceLocation DSStart = Tok.getLocation();
 6628       if (Tok.is(tok::ellipsis) &&
 6642       if (Tok.is(tok::equal)) {
 6643         SourceLocation EqualLoc = Tok.getLocation();
 6672           if (getLangOpts().CPlusPlus11 && Tok.is(tok::l_brace)) {
 6673             Diag(Tok, diag::warn_cxx98_compat_generalized_initializer_lists);
 6745   if (Tok.getKind() == tok::r_square) {
 6756   } else if (Tok.getKind() == tok::numeric_constant &&
 6759     ExprResult ExprRes(Actions.ActOnNumericConstant(Tok, getCurScope()));
 6772   } else if (Tok.getKind() == tok::code_completion) {
 6799   if (Tok.is(tok::star) && GetLookAheadToken(1).is(tok::r_square)) {
 6807   } else if (Tok.isNot(tok::r_square)) {
 6852   assert(Tok.is(tok::l_square) && "Missing opening bracket");
 6855   SourceLocation StartBracketLoc = Tok.getLocation();
 6858   while (Tok.is(tok::l_square)) {
 6865   if (Tok.is(tok::semi))
 6868   SourceLocation SuggestParenLoc = Tok.getLocation();
 6944   assert(Tok.is(tok::kw_typeof) && "Not a typeof specifier");
 6945   Token OpTok = Tok;
 6948   const bool hasParens = Tok.is(tok::l_paren);
 6964     DS.SetRangeEnd(Tok.getLocation());
 7010   assert(Tok.is(tok::kw__Atomic) && NextToken().is(tok::l_paren) &&
 7059     Tok.setKind(tok::kw___vector);
 7063       Tok.setKind(tok::kw___vector);
 7067       Tok.setKind(tok::kw___vector);
 7078   if (Tok.getIdentifierInfo() == Ident_vector) {
 7108   } else if ((Tok.getIdentifierInfo() == Ident_pixel) &&
 7112   } else if ((Tok.getIdentifierInfo() == Ident_bool) &&
tools/clang/lib/Parse/ParseDeclCXX.cpp
   61   assert(Tok.is(tok::kw_namespace) && "Not a namespace!");
   65   if (Tok.is(tok::code_completion)) {
   79     Diag(Tok.getLocation(), getLangOpts().CPlusPlus17
   83     attrLoc = Tok.getLocation();
   87   if (Tok.is(tok::identifier)) {
   88     Ident = Tok.getIdentifierInfo();
   90     while (Tok.is(tok::coloncolon) &&
   98       if (Tok.is(tok::kw_inline)) {
  104       Info.Ident = Tok.getIdentifierInfo();
  116   if (Tok.is(tok::kw___attribute)) {
  117     attrLoc = Tok.getLocation();
  121   if (Tok.is(tok::equal)) {
  123       Diag(Tok, diag::err_expected) << tok::identifier;
  140       Diag(Tok, diag::err_expected) << tok::l_brace;
  142       Diag(Tok, diag::err_expected_either) << tok::identifier << tok::l_brace;
  172     Token rBraceToken = Tok;
  242     while (!tryParseMisplacedModuleImport() && Tok.isNot(tok::r_brace) &&
  243            Tok.isNot(tok::eof)) {
  281   assert(Tok.is(tok::equal) && "Not equal token");
  285   if (Tok.is(tok::code_completion)) {
  299   if (Tok.isNot(tok::identifier)) {
  300     Diag(Tok, diag::err_expected_namespace_name);
  314   IdentifierInfo *Ident = Tok.getIdentifierInfo();
  318   DeclEnd = Tok.getLocation();
  343                 Tok.is(tok::l_brace) ? Tok.getLocation() : SourceLocation());
  343                 Tok.is(tok::l_brace) ? Tok.getLocation() : SourceLocation());
  348   if (Tok.isNot(tok::l_brace)) {
  370     switch (Tok.getKind()) {
  417   assert(Tok.is(tok::kw_export));
  423       Tok.is(tok::l_brace) ? Tok.getLocation() : SourceLocation());
  423       Tok.is(tok::l_brace) ? Tok.getLocation() : SourceLocation());
  425   if (Tok.isNot(tok::l_brace)) {
  440   if (Tok.is(tok::r_brace) && getLangOpts().ModulesTS) {
  442         << SourceRange(ExportLoc, Tok.getLocation());
  445   while (!tryParseMisplacedModuleImport() && Tok.isNot(tok::r_brace) &&
  446          Tok.isNot(tok::eof)) {
  465   assert(Tok.is(tok::kw_using) && "Not using token");
  471   if (Tok.is(tok::code_completion)) {
  478   while (Tok.is(tok::kw_template)) {
  485   if (Tok.is(tok::kw_namespace)) {
  520   assert(Tok.is(tok::kw_namespace) && "Not 'namespace' token");
  525   if (Tok.is(tok::code_completion)) {
  543   if (Tok.isNot(tok::identifier)) {
  544     Diag(Tok, diag::err_expected_namespace_name);
  559   NamespcName = Tok.getIdentifierInfo();
  564   if (Tok.is(tok::kw___attribute)) {
  570   DeclEnd = Tok.getLocation();
  593   if (Tok.is(tok::kw___super)) {
  594     Diag(Tok.getLocation(), diag::err_super_in_using_declaration);
  623       Tok.is(tok::identifier) &&
  626       D.SS.isNotEmpty() && LastII == Tok.getIdentifierInfo() &&
  637             /*AllowConstructorName=*/!(Tok.is(tok::identifier) &&
  645     Diag(Tok.getLocation(), getLangOpts().CPlusPlus17 ?
  686   if (Tok.is(tok::equal)) {
  697                Tok.getLocation(),
  763     Diag(Tok.getLocation(), getLangOpts().CPlusPlus17 ?
  768   DeclEnd = Tok.getLocation();
  786   Diag(Tok.getLocation(), getLangOpts().CPlusPlus11 ?
  840   DeclEnd = Tok.getLocation();
  864   assert(Tok.isOneOf(tok::kw_static_assert, tok::kw__Static_assert) &&
  867   if (Tok.is(tok::kw__Static_assert) && !getLangOpts().C11)
  868     Diag(Tok, diag::ext_c11_feature) << Tok.getName();
  868     Diag(Tok, diag::ext_c11_feature) << Tok.getName();
  869   if (Tok.is(tok::kw_static_assert))
  870     Diag(Tok, diag::warn_cxx98_compat_static_assert);
  876     Diag(Tok, diag::err_expected) << tok::l_paren;
  890   if (Tok.is(tok::r_paren)) {
  891     Diag(Tok, getLangOpts().CPlusPlus17
  896               : FixItHint::CreateInsertion(Tok.getLocation(), ", \"\""));
  904       Diag(Tok, diag::err_expected_string_literal)
  919   DeclEnd = Tok.getLocation();
  934   assert(Tok.isOneOf(tok::kw_decltype, tok::annot_decltype)
  938   SourceLocation StartLoc = Tok.getLocation();
  941   if (Tok.is(tok::annot_decltype)) {
  942     Result = getExprAnnotation(Tok);
  943     EndLoc = Tok.getAnnotationEndLoc();
  950     if (Tok.getIdentifierInfo()->isStr("decltype"))
  951       Diag(Tok, diag::warn_cxx98_compat_decltype);
  959       return T.getOpenLocation() == Tok.getLocation() ?
  964     if (Tok.is(tok::kw_auto)) {
  968       Diag(Tok.getLocation(),
  990           if (PP.isBacktrackEnabled() && Tok.is(tok::semi)) {
  995             assert(Tok.is(tok::semi));
  997             EndLoc = Tok.getLocation();
 1046     PP.EnterToken(Tok, /*IsReinject*/true);
 1048   Tok.setKind(tok::annot_decltype);
 1049   setExprAnnotation(Tok,
 1053   Tok.setAnnotationEndLoc(EndLoc);
 1054   Tok.setLocation(StartLoc);
 1055   PP.AnnotateCachedTokens(Tok);
 1059   assert(Tok.is(tok::kw___underlying_type) &&
 1110   if (Tok.is(tok::kw_typename)) {
 1111     Diag(Tok, diag::err_expected_class_name_not_template)
 1112       << FixItHint::CreateRemoval(Tok.getLocation());
 1121   BaseLoc = Tok.getLocation();
 1126   if (Tok.isOneOf(tok::kw_decltype, tok::annot_decltype)) {
 1140   if (Tok.is(tok::annot_template_id)) {
 1141     TemplateIdAnnotation *TemplateId = takeTemplateIdAnnotation(Tok);
 1147       assert(Tok.is(tok::annot_typename) && "template-id -> type failed");
 1148       ParsedType Type = getTypeAnnotation(Tok);
 1149       EndLocation = Tok.getAnnotationEndLoc();
 1160   if (Tok.isNot(tok::identifier)) {
 1161     Diag(Tok, diag::err_expected_class_name);
 1165   IdentifierInfo *Id = Tok.getIdentifierInfo();
 1168   if (Tok.is(tok::less)) {
 1200     if (Tok.isNot(tok::annot_typename))
 1205     EndLocation = Tok.getAnnotationEndLoc();
 1206     ParsedType Type = getTypeAnnotation(Tok);
 1242   while (Tok.isOneOf(tok::kw___single_inheritance,
 1245     IdentifierInfo *AttrName = Tok.getIdentifierInfo();
 1257   switch (Tok.getKind()) {
 1409   if (Tok.is(tok::code_completion)) {
 1436   if (Tok.isOneOf(tok::kw___single_inheritance,
 1448   SourceLocation AttrFixitLoc = Tok.getLocation();
 1451       Tok.isNot(tok::identifier) &&
 1452       !Tok.isAnnotation() &&
 1453       Tok.getIdentifierInfo() &&
 1454       Tok.isOneOf(tok::kw___is_abstract,
 1536                                         Tok.is(tok::kw__Atomic) &&
 1539       Tok, ShouldChangeAtomicToIdentifier);
 1555       if (Tok.isNot(tok::identifier) && Tok.isNot(tok::annot_template_id)) {
 1555       if (Tok.isNot(tok::identifier) && Tok.isNot(tok::annot_template_id)) {
 1556         Diag(Tok, diag::err_expected) << tok::identifier;
 1599   if (Tok.is(tok::identifier)) {
 1600     Name = Tok.getIdentifierInfo();
 1603     if (Tok.is(tok::less) && getLangOpts().CPlusPlus) {
 1618   } else if (Tok.is(tok::annot_template_id)) {
 1619     TemplateId = takeTemplateIdAnnotation(Tok);
 1686   else if (Tok.is(tok::l_brace) ||
 1687            (getLangOpts().CPlusPlus && Tok.is(tok::colon)) ||
 1693       Diag(Tok.getLocation(), diag::err_friend_decl_defines_type)
 1715       if (Tok.is(tok::l_square) && NextToken().is(tok::l_square)) {
 1719       } else if (Tok.is(tok::kw_alignas) && NextToken().is(tok::l_paren)) {
 1729     if (Tok.isOneOf(tok::l_brace, tok::colon))
 1736              (Tok.is(tok::semi) ||
 1737               (Tok.isAtStartOfLine() && !isValidAfterTypeSpecifier(false)))) {
 1739     if (Tok.isNot(tok::semi)) {
 1744       PP.EnterToken(Tok, /*IsReinject*/true);
 1745       Tok.setKind(tok::semi);
 1791     if (TUK == Sema::TUK_Definition && Tok.is(tok::colon))
 1914       Diag(Tok, diag::err_template_defn_explicit_instantiation)
 1952     assert(Tok.is(tok::l_brace) ||
 1953            (getLangOpts().CPlusPlus && Tok.is(tok::colon)) ||
 2014     if (Tok.isNot(tok::semi)) {
 2021       PP.EnterToken(Tok, /*IsReinject=*/true);
 2022       Tok.setKind(tok::semi);
 2035   assert(Tok.is(tok::colon) && "Not a base clause");
 2076   SourceLocation StartLoc = Tok.getLocation();
 2096   if (Tok.is(tok::kw_virtual))  {
 2115   if (getLangOpts().MSVCCompat && Tok.is(tok::kw__Atomic) &&
 2117     Tok.setKind(tok::identifier);
 2149   switch (Tok.getKind()) {
 2253       Diag(Tok.getLocation(), diag::err_friend_decl_spec)
 2255         << FixItHint::CreateRemoval(Tok.getLocation())
 2264     if (VS.SetSpecifier(Specifier, Tok.getLocation(), PrevSpec))
 2265       Diag(Tok.getLocation(), diag::err_duplicate_virt_specifier)
 2267         << FixItHint::CreateRemoval(Tok.getLocation());
 2271       Diag(Tok.getLocation(), diag::err_override_control_interface)
 2274       Diag(Tok.getLocation(), diag::ext_ms_sealed_keyword);
 2276       Diag(Tok.getLocation(), diag::ext_warn_gnu_final);
 2278       Diag(Tok.getLocation(),
 2306   if (Tok.isNot(tok::colon))
 2309     DeclaratorInfo.SetIdentifier(nullptr, Tok.getLocation());
 2326   if (Tok.is(tok::kw_asm)) {
 2463   if (Tok.is(tok::at)) {
 2465       Diag(Tok, diag::err_at_defs_cxx);
 2467       Diag(Tok, diag::err_at_in_class);
 2485       Tok.isOneOf(tok::identifier, tok::coloncolon, tok::kw___super)) {
 2490     if (Tok.isNot(tok::annot_cxxscope))
 2536       Tok.isOneOf(tok::kw_static_assert, tok::kw__Static_assert)) {
 2542   if (Tok.is(tok::kw_template)) {
 2553   if (Tok.is(tok::kw___extension__)) {
 2572   if (Tok.is(tok::kw_using)) {
 2579     while (Tok.is(tok::kw_template)) {
 2585     if (Tok.is(tok::kw_namespace)) {
 2650     if (Tok.isNot(tok::equal))
 2694     if (Tok.is(tok::l_brace) && !getLangOpts().CPlusPlus11) {
 2697       if (Tok.isOneOf(tok::l_brace, tok::colon, tok::kw_try)) {
 2699       } else if (Tok.is(tok::equal)) {
 2753       if (Tok.is(tok::semi))
 2767     if (Tok.isOneOf(tok::equal, tok::l_brace) && PureSpecLoc.isInvalid()) {
 2780           Diag(Tok, getLangOpts().CPlusPlus2a
 2783         HasInClassInit = Tok.is(tok::equal) ? ICIS_CopyInit : ICIS_ListInit;
 2840       Diag(Tok, getLangOpts().CPlusPlus11
 2850         Diag(Tok, diag::err_incomplete_array_member_init);
 2898     if (Tok.isAtStartOfLine() &&
 2958   assert(Tok.isOneOf(tok::equal, tok::l_brace)
 2964     if (Tok.is(tok::kw_delete)) {
 2979     } else if (Tok.is(tok::kw_default)) {
 2981         Diag(Tok, diag::err_default_delete_in_multiple_declaration)
 2990     Diag(Tok, diag::err_ms_property_initializer) << PD;
 3000   if (getLangOpts().CPlusPlus && Tok.is(tok::identifier)) {
 3012     if (Tok.isNot(tok::colon) && Tok.isNot(tok::l_brace))
 3012     if (Tok.isNot(tok::colon) && Tok.isNot(tok::l_brace))
 3019   if (Tok.is(tok::colon)) {
 3032     if (!Tok.is(tok::l_brace)) {
 3040   assert(Tok.is(tok::l_brace));
 3047   if (Tok.is(tok::kw___attribute))
 3056   switch (Tok.getKind()) {
 3107     SourceLocation ASLoc = Tok.getLocation();
 3108     unsigned TokLength = Tok.getLength();
 3143     if (tok::isPragmaAnnotation(Tok.getKind())) {
 3144       Diag(Tok.getLocation(), diag::err_pragma_misplaced_in_decl)
 3219   if (getLangOpts().CPlusPlus && Tok.is(tok::identifier)) {
 3220     VirtSpecifiers::Specifier Specifier = isCXX11VirtSpecifier(Tok);
 3254     if (!Tok.is(tok::colon) && !Tok.is(tok::l_brace)) {
 3254     if (!Tok.is(tok::colon) && !Tok.is(tok::l_brace)) {
 3261   if (Tok.is(tok::colon)) {
 3266     if (!Tok.is(tok::l_brace)) {
 3269       if (Tok.isAtStartOfLine()) {
 3270         switch (Tok.getKind()) {
 3296         PP.EnterToken(Tok, /*IsReinject*/true);
 3297         Tok.setKind(tok::l_brace);
 3306   assert(Tok.is(tok::l_brace));
 3327     while (!tryParseMisplacedModuleImport() && Tok.isNot(tok::r_brace) &&
 3328            Tok.isNot(tok::eof)) {
 3382   assert(Tok.is(tok::kw_namespace));
 3388   Diag(Tok.getLocation(),
 3392   PP.EnterToken(Tok, /*IsReinject*/ true);
 3394   Tok.startToken();
 3395   Tok.setLocation(PP.getLocForEndOfToken(PrevTokLocation));
 3396   Tok.setKind(tok::semi);
 3397   PP.EnterToken(Tok, /*IsReinject*/ true);
 3399   Tok.setKind(tok::r_brace);
 3424   assert(Tok.is(tok::colon) &&
 3436     if (Tok.is(tok::code_completion)) {
 3448     if (Tok.is(tok::comma))
 3450     else if (Tok.is(tok::l_brace))
 3455              Tok.isOneOf(tok::identifier, tok::coloncolon)) {
 3462         Diag(Tok.getLocation(), diag::err_expected_either) << tok::l_brace
 3493   SourceLocation IdLoc = Tok.getLocation();
 3499   if (Tok.is(tok::identifier)) {
 3502     II = Tok.getIdentifierInfo();
 3504   } else if (Tok.is(tok::annot_decltype)) {
 3511     TemplateIdAnnotation *TemplateId = Tok.is(tok::annot_template_id)
 3512                                            ? takeTemplateIdAnnotation(Tok)
 3518       assert(Tok.is(tok::annot_typename) && "template-id -> type failed");
 3519       TemplateTypeTy = getTypeAnnotation(Tok);
 3524       Diag(Tok, diag::err_expected_member_or_base_name);
 3530   if (getLangOpts().CPlusPlus11 && Tok.is(tok::l_brace)) {
 3531     Diag(Tok, diag::warn_cxx98_compat_generalized_initializer_lists);
 3544   } else if(Tok.is(tok::l_paren)) {
 3558     if (Tok.isNot(tok::r_paren) &&
 3560           PreferredType.enterFunctionArgument(Tok.getLocation(),
 3581     return Diag(Tok, diag::err_expected_either) << tok::l_paren << tok::l_brace;
 3583     return Diag(Tok, diag::err_expected) << tok::l_paren;
 3607     if (Tok.isNot(tok::kw_throw) && Tok.isNot(tok::kw_noexcept))
 3607     if (Tok.isNot(tok::kw_throw) && Tok.isNot(tok::kw_noexcept))
 3611     bool IsNoexcept = Tok.is(tok::kw_noexcept);
 3612     Token StartTok = Tok;
 3616     if (!Tok.is(tok::l_paren)) {
 3619         Diag(Tok, diag::warn_cxx98_compat_noexcept_decl);
 3624       Diag(Tok, diag::err_expected_lparen_after) << "throw";
 3631     ExceptionSpecTokens->push_back(Tok); // '('
 3643   if (Tok.is(tok::kw_throw)) {
 3652   if (Tok.isNot(tok::kw_noexcept))
 3655   Diag(Tok, diag::warn_cxx98_compat_noexcept_decl);
 3663   if (Tok.is(tok::l_paren)) {
 3688     if (Tok.is(tok::kw_throw)) {
 3689       Diag(Tok.getLocation(), diag::err_dynamic_and_noexcept_specification);
 3694     Diag(Tok.getLocation(), diag::err_dynamic_and_noexcept_specification);
 3729   assert(Tok.is(tok::kw_throw) && "expected throw");
 3734     Diag(Tok, diag::err_expected_lparen_after) << "throw";
 3741   if (Tok.is(tok::ellipsis)) {
 3753   while (Tok.isNot(tok::r_paren)) {
 3756     if (Tok.is(tok::ellipsis)) {
 3786   assert(Tok.is(tok::arrow) && "expected arrow");
 3863   switch (Tok.getKind()) {
 3866     if (!Tok.isAnnotation()) {
 3867       if (IdentifierInfo *II = Tok.getIdentifierInfo()) {
 3878     if (Tok.getLocation().isMacroID()) {
 3881           PP.getSourceManager().getExpansionLoc(Tok.getLocation());
 3886             PP.getSourceManager().getExpansionLoc(Tok.getEndLoc()));
 3887         Diag(Tok, diag::warn_wrong_clang_attr_namespace)
 3911         PP.getSourceManager().getSpellingLoc(Tok.getLocation());
 3960   assert(Tok.is(tok::l_paren) && "Not a C++11 attribute argument list");
 3961   SourceLocation LParenLoc = Tok.getLocation();
 4045   if (Tok.is(tok::kw_alignas)) {
 4046     Diag(Tok.getLocation(), diag::warn_cxx98_compat_alignas);
 4051   assert(Tok.is(tok::l_square) && NextToken().is(tok::l_square) &&
 4054   Diag(Tok.getLocation(), diag::warn_cxx98_compat_attribute);
 4061   if (Tok.is(tok::kw_using)) {
 4062     Diag(Tok.getLocation(), getLangOpts().CPlusPlus17
 4069       Diag(Tok.getLocation(), diag::err_expected) << tok::identifier;
 4073       Diag(Tok.getLocation(), diag::err_expected) << tok::colon;
 4078   while (Tok.isNot(tok::r_square)) {
 4098         Diag(Tok.getLocation(), diag::err_expected) << tok::identifier;
 4123     if (Tok.is(tok::l_paren))
 4135       Diag(Tok, diag::err_cxx11_attribute_forbids_ellipsis)
 4142     *endLoc = Tok.getLocation();
 4155   SourceLocation StartLoc = Tok.getLocation(), Loc;
 4168   SourceLocation StartLoc = Tok.getLocation();
 4185     if (Tok.is(tok::l_square)) {
 4191       assert(Tok.is(tok::kw_alignas) && "not an attribute specifier");
 4205   assert(Tok.is(tok::identifier) && "Not a Microsoft attribute list");
 4206   IdentifierInfo *UuidIdent = Tok.getIdentifierInfo();
 4209   SourceLocation UuidLoc = Tok.getLocation();
 4215     Diag(Tok, diag::err_expected) << tok::l_paren;
 4220   if (Tok.is(tok::string_literal)) {
 4241     SourceLocation StartLoc = Tok.getLocation();
 4242     while (Tok.isNot(tok::r_paren)) {
 4243       if (Tok.hasLeadingSpace() || Tok.isAtStartOfLine()) {
 4243       if (Tok.hasLeadingSpace() || Tok.isAtStartOfLine()) {
 4244         Diag(Tok, diag::err_attribute_uuid_malformed_guid);
 4249       SpellingBuffer.resize(Tok.getLength() + 1);
 4251       StringRef TokSpelling = PP.getSpelling(Tok, SpellingBuffer, &Invalid);
 4261     if (Tok.hasLeadingSpace() || Tok.isAtStartOfLine()) {
 4261     if (Tok.hasLeadingSpace() || Tok.isAtStartOfLine()) {
 4262       Diag(Tok, diag::err_attribute_uuid_malformed_guid);
 4298   assert(Tok.is(tok::l_square) && "Not a Microsoft attribute list");
 4308       if (Tok.isNot(tok::identifier)) // ']', but also eof
 4310       if (Tok.getIdentifierInfo()->getName() == "uuid")
 4319   } while (Tok.is(tok::l_square));
 4331     Diag(Tok, diag::err_expected) << tok::l_brace;
 4351   while (Tok.isNot(tok::r_brace) && !isEofOrEom()) {
 4353     if (Tok.isOneOf(tok::kw___if_exists, tok::kw___if_not_exists)) {
 4360     if (Tok.is(tok::semi)) {
 4369       SourceLocation ASLoc = Tok.getLocation();
 4371       if (Tok.is(tok::colon))
 4372         Actions.ActOnAccessSpecifier(AS, ASLoc, Tok.getLocation(),
 4375         Diag(Tok, diag::err_expected) << tok::colon;
tools/clang/lib/Parse/ParseExpr.cpp
  160   if (Tok.is(tok::code_completion)) {
  162                                    PreferredType.get(Tok.getLocation()));
  167   if (Tok.is(tok::kw_throw))
  169   if (Tok.is(tok::kw_co_yield))
  245   tok::TokenKind K = Tok.getKind();
  268   prec::Level NextTokPrec = getBinOpPrecedence(Tok.getKind(),
  284     Token OpToken = Tok;
  288       return ExprError(Diag(Tok, diag::err_opencl_logical_exclusive_or));
  304       PP.EnterToken(Tok, /*IsReinject*/true);
  305       Tok = OpToken;
  311     if (isFoldOperator(NextTokPrec) && Tok.is(tok::ellipsis)) {
  314       PP.EnterToken(Tok, /*IsReinject*/true);
  315       Tok = OpToken;
  325         Tok.isOneOf(tok::colon, tok::r_square) &&
  327       PP.EnterToken(Tok, /*IsReinject*/true);
  328       Tok = OpToken;
  335       if (getLangOpts().CPlusPlus11 && Tok.is(tok::l_brace)) {
  337         SourceLocation BraceLoc = Tok.getLocation();
  345       } else if (Tok.isNot(tok::colon)) {
  358         Diag(Tok, diag::ext_gnu_conditional_expr);
  372         SourceLocation FILoc = Tok.getLocation();
  390         Diag(Tok, diag::err_expected)
  393         ColonLoc = Tok.getLocation();
  397     PreferredType.enterBinary(Actions, Tok.getLocation(), LHS.get(),
  411     if (getLangOpts().CPlusPlus11 && Tok.is(tok::l_brace)) {
  431     NextTokPrec = getBinOpPrecedence(Tok.getKind(), GreaterThanIsOperator,
  443         Diag(Tok, diag::err_init_list_bin_op)
  444           << /*LHS*/0 << PP.getSpelling(Tok) << Actions.getExprRange(RHS.get());
  465       NextTokPrec = getBinOpPrecedence(Tok.getKind(), GreaterThanIsOperator,
  539     Diag(Tok, diag::err_expected_expression);
  768   tok::TokenKind SavedKind = Tok.getKind();
  823     Res = Actions.ActOnNumericConstant(Tok, /*UDLScope*/getCurScope());
  837     Diag(Tok, diag::warn_cxx98_compat_nullptr);
  841     Res = getExprAnnotation(Tok);
  843     if (!Res.isInvalid() && Tok.is(tok::less))
  863     assert(Tok.isNot(tok::kw_decltype) && Tok.isNot(tok::kw___super));
  863     assert(Tok.isNot(tok::kw_decltype) && Tok.isNot(tok::kw___super));
  880           Tok.is(tok::identifier) &&
  881           Tok.getIdentifierInfo()->hasRevertedTokenIDToIdentifier()) {
  882         IdentifierInfo *II = Tok.getIdentifierInfo();
  951           Tok.setKind(Known->second);
  963         if (!Tok.is(tok::identifier))
  970     IdentifierInfo &II = *Tok.getIdentifierInfo();
  974     if (getLangOpts().ObjC && Tok.is(tok::period) &&
  980       if (Tok.is(tok::code_completion) && &II != Ident_super) {
  987       if (Tok.isNot(tok::identifier) &&
  988           !(getLangOpts().CPlusPlus && Tok.is(tok::kw_class))) {
  989         Diag(Tok, diag::err_expected_property_name);
  992       IdentifierInfo &PropertyName = *Tok.getIdentifierInfo();
 1006         ((Tok.is(tok::identifier) &&
 1008          Tok.is(tok::code_completion))) {
 1020         ((Tok.is(tok::identifier) && !InMessageExpression) ||
 1021          Tok.is(tok::code_completion))) {
 1023       if (Tok.is(tok::code_completion) ||
 1061         /*Next=*/Tok,
 1065     if (Tok.isOneOf(tok::periodstar, tok::arrowstar)) {
 1069       Validator.WantRemainingKeywords = Tok.isNot(tok::r_paren);
 1073         getCurScope(), ScopeSpec, TemplateKWLoc, Name, Tok.is(tok::l_paren),
 1076         Tok.is(tok::r_paren) ? nullptr : &Replacement);
 1082     if (!Res.isInvalid() && Tok.is(tok::less))
 1091     Res = Actions.ActOnCharacterConstant(Tok, /*UDLScope*/getCurScope());
 1101     Res = Actions.ActOnPredefinedExpr(Tok.getLocation(), SavedKind);
 1115     return ParseAvailabilityCheckExpr(Tok.getLocation());
 1135     Token SavedTok = Tok;
 1138     PreferredType.enterUnary(Actions, Tok.getLocation(), SavedTok.getKind(),
 1161     PreferredType.enterUnary(Actions, Tok.getLocation(), tok::amp, SavedLoc);
 1176     PreferredType.enterUnary(Actions, Tok.getLocation(), SavedKind, SavedLoc);
 1202       Diag(Tok, diag::ext_c11_feature) << Tok.getName();
 1202       Diag(Tok, diag::ext_c11_feature) << Tok.getName();
 1215     if (Tok.isNot(tok::identifier))
 1216       return ExprError(Diag(Tok, diag::err_expected) << tok::identifier);
 1219       return ExprError(Diag(Tok, diag::err_address_of_label_outside_fn));
 1222     LabelDecl *LD = Actions.LookupOrCreateLabel(Tok.getIdentifierInfo(),
 1223                                                 Tok.getLocation());
 1224     Res = Actions.ActOnAddrLabel(AmpAmpLoc, Tok.getLocation(), LD);
 1249       ParsedType Type = getTypeAnnotation(Tok);
 1253       DS.SetRangeStart(Tok.getLocation());
 1254       DS.SetRangeEnd(Tok.getLastLoc());
 1258       DS.SetTypeSpecType(TST_typename, Tok.getAnnotationEndLoc(),
 1301       Diag(Tok, diag::err_expected_expression);
 1311       if (!Actions.isSimpleTypeSpecifier(Tok.getKind()))
 1323     if (Tok.isNot(tok::l_paren) &&
 1324         (!getLangOpts().CPlusPlus11 || Tok.isNot(tok::l_brace)))
 1325       return ExprError(Diag(Tok, diag::err_expected_lparen_after_type)
 1328     if (Tok.is(tok::l_brace))
 1329       Diag(Tok, diag::warn_cxx98_compat_generalized_initializer_lists);
 1340     if (!Tok.is(tok::annot_cxxscope))
 1366     TemplateIdAnnotation *TemplateId = takeTemplateIdAnnotation(Tok);
 1389     if (!Tok.is(tok::coloncolon))
 1395     if (Tok.is(tok::kw_new))
 1397     if (Tok.is(tok::kw_delete))
 1406     return ParseCXXNewExpression(false, Tok.getLocation());
 1409     return ParseCXXDeleteExpression(false, Tok.getLocation());
 1412     Diag(Tok, diag::warn_cxx98_compat_noexcept_expr);
 1455                                    PreferredType.get(Tok.getLocation()));
 1534     switch (Tok.getKind()) {
 1540           getCurScope(), LHS, PreferredType.get(Tok.getLocation()));
 1566       if (getLangOpts().ObjC && Tok.isAtStartOfLine() &&
 1582       PreferredType.enterSubscript(Actions, Tok.getLocation(), LHS.get());
 1583       if (getLangOpts().CPlusPlus11 && Tok.is(tok::l_brace)) {
 1584         Diag(Tok, diag::warn_cxx98_compat_generalized_initializer_lists);
 1589         if (!Tok.is(tok::colon)) {
 1593         if (Tok.is(tok::colon)) {
 1596           if (Tok.isNot(tok::r_square))
 1602       SourceLocation RLoc = Tok.getLocation();
 1608           Tok.is(tok::r_square)) {
 1629       tok::TokenKind OpKind = Tok.getKind();
 1652           Diag(Tok, diag::err_expected) << tok::greatergreatergreater;
 1689         if (Tok.isNot(tok::r_paren)) {
 1691                 PreferredType.enterFunctionArgument(Tok.getLocation(),
 1712       } else if (Tok.isNot(tok::r_paren)) {
 1732                                     ArgExprs, Tok.getLocation(),
 1743       tok::TokenKind OpKind = Tok.getKind();
 1751       PreferredType.enterMemAccess(Actions, Tok.getLocation(), OrigLHS);
 1756         if (BaseType && Tok.is(tok::l_paren) &&
 1778       if (Tok.is(tok::code_completion)) {
 1800             PreferredType.get(Tok.getLocation()));
 1822           Tok.is(tok::kw_class)) {
 1830         IdentifierInfo *Id = Tok.getIdentifierInfo();
 1850       if (!LHS.isInvalid() && Tok.is(tok::less))
 1857         LHS = Actions.ActOnPostfixUnaryOp(getCurScope(), Tok.getLocation(),
 1858                                           Tok.getKind(), LHS.get());
 1903   if (Tok.isNot(tok::l_paren)) {
 1927       Diag(Tok, diag::err_expected_after) << OpTok.getIdentifierInfo()
 1939     SourceLocation LParenLoc = Tok.getLocation(), RParenLoc;
 1981   assert(Tok.isOneOf(tok::kw_sizeof, tok::kw___alignof, tok::kw_alignof,
 1985   Token OpTok = Tok;
 1989   if (Tok.is(tok::ellipsis) && OpTok.is(tok::kw_sizeof)) {
 1994     if (Tok.is(tok::l_paren)) {
 1998       if (Tok.is(tok::identifier)) {
 1999         Name = Tok.getIdentifierInfo();
 2006         Diag(Tok, diag::err_expected_parameter_pack);
 2009     } else if (Tok.is(tok::identifier)) {
 2010       Name = Tok.getIdentifierInfo();
 2019       Diag(Tok, diag::err_sizeof_parameter_pack);
 2102   const IdentifierInfo *BuiltinII = Tok.getIdentifierInfo();
 2104   tok::TokenKind T = Tok.getKind();
 2108   if (Tok.isNot(tok::l_paren))
 2109     return ExprError(Diag(Tok, diag::err_expected_after) << BuiltinII
 2129     if (Tok.isNot(tok::r_paren)) {
 2130       Diag(Tok, diag::err_expected) << tok::r_paren;
 2141     SourceLocation TypeLoc = Tok.getLocation();
 2154     if (Tok.isNot(tok::identifier)) {
 2155       Diag(Tok, diag::err_expected) << tok::identifier;
 2165     Comps.back().U.IdentInfo = Tok.getIdentifierInfo();
 2170       if (Tok.is(tok::period)) {
 2176         if (Tok.isNot(tok::identifier)) {
 2177           Diag(Tok, diag::err_expected) << tok::identifier;
 2181         Comps.back().U.IdentInfo = Tok.getIdentifierInfo();
 2184       } else if (Tok.is(tok::l_square)) {
 2204         if (Tok.isNot(tok::r_paren)) {
 2246     if (Tok.isNot(tok::r_paren)) {
 2247       Diag(Tok, diag::err_expected) << tok::r_paren;
 2273     if (Tok.isNot(tok::r_paren)) {
 2274       Diag(Tok, diag::err_expected) << tok::r_paren;
 2302     if (Tok.isNot(tok::r_paren)) {
 2303       Diag(Tok, diag::err_expected) << tok::r_paren;
 2317     if (Tok.isNot(tok::r_paren)) {
 2318       Diag(Tok, diag::err_expected) << tok::r_paren;
 2378   assert(Tok.is(tok::l_paren) && "Not a paren expr!");
 2385   PreferredType.enterParenExpr(Tok.getLocation(), OpenLoc);
 2391   if (Tok.is(tok::code_completion)) {
 2393         getCurScope(), PreferredType.get(Tok.getLocation()),
 2401                      Tok.isOneOf(tok::kw___bridge,
 2407       StringRef BridgeCastName = Tok.getName();
 2419   if (ExprType >= CompoundStmt && Tok.is(tok::l_brace)) {
 2420     Diag(Tok, diag::ext_gnu_statement_expr);
 2443         Result = Actions.ActOnStmtExpr(OpenLoc, Stmt.get(), Tok.getLocation());
 2449     tok::TokenKind tokenKind = Tok.getKind();
 2476     PreferredType.enterTypeCast(Tok.getLocation(), Ty.get().get());
 2511     if (!DeclaratorInfo.isInvalidType() && Tok.is(tok::identifier) &&
 2527       if (Tok.is(tok::l_brace)) {
 2537       if (Tok.is(tok::l_paren)) {
 2598         if (Tok.is(tok::identifier) && getLangOpts().ObjC &&
 2599             Tok.getIdentifierInfo() == Ident_super &&
 2602           Diag(Tok.getLocation(), diag::err_illegal_super_cast)
 2607         PreferredType.enterTypeCast(Tok.getLocation(), CastTy.get());
 2621       Diag(Tok, diag::err_expected_lbrace_in_compound_literal);
 2624   } else if (ExprType >= FoldExpr && Tok.is(tok::ellipsis) &&
 2639           isFoldOperator(Tok.getKind()) && NextToken().is(tok::ellipsis)) {
 2645       Result = Actions.ActOnParenListExpr(OpenLoc, Tok.getLocation(),
 2658     if (ExprType >= FoldExpr && isFoldOperator(Tok.getKind()) &&
 2666     if (!Result.isInvalid() && Tok.is(tok::r_paren))
 2668           Actions.ActOnParenExpr(OpenLoc, Tok.getLocation(), Result.get());
 2694   assert(Tok.is(tok::l_brace) && "Not a compound literal!");
 2719     StringToks.push_back(Tok);
 2743   assert(Tok.is(tok::kw__Generic) && "_Generic keyword expected");
 2745     Diag(Tok, diag::ext_c11_feature) << Tok.getName();
 2745     Diag(Tok, diag::ext_c11_feature) << Tok.getName();
 2776     if (Tok.is(tok::kw_default)) {
 2780         Diag(Tok, diag::err_duplicate_default_assoc);
 2842     Kind = Tok.getKind();
 2847   assert(Tok.is(tok::ellipsis) && "not a fold-expression");
 2851   if (Tok.isNot(tok::r_paren)) {
 2852     if (!isFoldOperator(Tok.getKind()))
 2853       return Diag(Tok.getLocation(), diag::err_expected_fold_operator);
 2855     if (Kind != tok::unknown && Tok.getKind() != Kind)
 2856       Diag(Tok.getLocation(), diag::err_fold_operator_mismatch)
 2858     Kind = Tok.getKind();
 2908     if (getLangOpts().CPlusPlus11 && Tok.is(tok::l_brace)) {
 2909       Diag(Tok, diag::warn_cxx98_compat_generalized_initializer_lists);
 2914     if (Tok.is(tok::ellipsis))
 2923     if (Tok.isNot(tok::comma))
 2926     Token Comma = Tok;
 2960     if (Tok.isNot(tok::comma))
 2964     Token Comma = Tok;
 2978   if (Tok.is(tok::code_completion)) {
 3009   assert(Tok.is(tok::caret) && "block literal starts with ^");
 3031   ParamInfo.SetSourceRange(SourceRange(Tok.getLocation(), Tok.getLocation()));
 3031   ParamInfo.SetSourceRange(SourceRange(Tok.getLocation(), Tok.getLocation()));
 3035   if (Tok.is(tok::l_paren)) {
 3055   } else if (!Tok.is(tok::l_brace)) {
 3089   if (!Tok.is(tok::l_brace)) {
 3091     Diag(Tok, diag::err_expected_expression);
 3110   tok::TokenKind Kind = Tok.getKind();
 3160   if (Tok.is(tok::star)) {
 3164     if (Tok.is(tok::code_completion)) {
 3169     if (Tok.isNot(tok::identifier)) {
 3170       Diag(Tok, diag::err_avail_query_expected_platform_name);
 3198   assert(Tok.is(tok::kw___builtin_available) ||
 3199          Tok.isObjCAtKeyword(tok::objc_available));
tools/clang/lib/Parse/ParseExprCXX.cpp
   91   TemplateName.setIdentifier(&II, Tok.getLocation());
  153   if (Tok.is(tok::annot_cxxscope)) {
  156     Actions.RestoreNestedNameSpecifierAnnotation(Tok.getAnnotationValue(),
  157                                                  Tok.getAnnotationRange(),
  163   if (Tok.is(tok::annot_template_id)) {
  166     TemplateIdAnnotation *TemplateId = takeTemplateIdAnnotation(Tok);
  182   if (Tok.is(tok::coloncolon)) {
  201   if (Tok.is(tok::kw___super)) {
  203     if (!Tok.is(tok::coloncolon)) {
  204       Diag(Tok.getLocation(), diag::err_expected_coloncolon_after_super);
  212       Tok.isOneOf(tok::kw_decltype, tok::annot_decltype)) {
  214     SourceLocation DeclLoc = Tok.getLocation();
  236       if (Tok.is(tok::code_completion)) {
  246         SS.setEndLoc(Tok.getLocation());
  269     if (Tok.is(tok::kw_template)) {
  280       if (Tok.is(tok::identifier)) {
  282         TemplateName.setIdentifier(Tok.getIdentifierInfo(), Tok.getLocation());
  282         TemplateName.setIdentifier(Tok.getIdentifierInfo(), Tok.getLocation());
  284       } else if (Tok.is(tok::kw_operator)) {
  311       if (Tok.isNot(tok::less)) {
  331     if (Tok.is(tok::annot_template_id) && NextToken().is(tok::coloncolon)) {
  339       TemplateIdAnnotation *TemplateId = takeTemplateIdAnnotation(Tok);
  351       assert(Tok.is(tok::coloncolon) && "NextToken() not working properly!");
  380     if (Tok.isNot(tok::identifier))
  383     IdentifierInfo &II = *Tok.getIdentifierInfo();
  390     Sema::NestedNameSpecInfo IdInfo(&II, Tok.getLocation(), Next.getLocation(),
  412       Token Identifier = Tok; // Stash away the identifier.
  447       Token Identifier = Tok;
  449       assert(Tok.isOneOf(tok::coloncolon, tok::colon) &&
  451       Token ColonColon = Tok;
  463           PP.EnterToken(Tok, /*IsReinject*/ true);
  465           Tok = Identifier;
  481       TemplateName.setIdentifier(&II, Tok.getLocation());
  521         Diag(Tok.getLocation(), DiagID)
  523           << FixItHint::CreateInsertion(Tok.getLocation(), "template ");
  526                 getCurScope(), SS, Tok.getLocation(), TemplateName, ObjectType,
  549   if (CheckForDestructor && Tok.is(tok::tilde))
  561   switch (Tok.getKind()) {
  563     NamedDecl *ND = getNonTypeAnnotation(Tok);
  565     E = Actions.ActOnNameClassifiedAsNonType(getCurScope(), SS, ND, Loc, Tok);
  570     IdentifierInfo *II = getIdentifierAnnotation(Tok);
  586     IdentifierInfo *II = getIdentifierAnnotation(Tok);
  609         getCurScope(), SS, TemplateKWLoc, Name, Tok.is(tok::l_paren),
  615   if (!E.isInvalid() && !E.isUnset() && Tok.is(tok::less))
  744          && Tok.is(tok::l_square)
  821   assert(Tok.is(tok::l_square) && "Lambda expressions begin with '['.");
  850   if (Tok.is(tok::amp) &&
  855     if (!Tok.getIdentifierInfo()) {
  860   } else if (Tok.is(tok::equal)) {
  867   while (Tok.isNot(tok::r_square)) {
  869       if (Tok.isNot(tok::comma)) {
  874         if (Tok.is(tok::code_completion) &&
  883           Diag(Tok.getLocation(), diag::err_expected_comma_or_rsquare);
  889     if (Tok.is(tok::code_completion)) {
  910     SourceLocation LocStart = Tok.getLocation();
  912     if (Tok.is(tok::star)) {
  914       if (Tok.is(tok::kw_this)) {
  919           Diag(Tok.getLocation(), diag::err_expected_star_this_capture);
  922     } else if (Tok.is(tok::kw_this)) {
  928       if (Tok.is(tok::amp)) {
  932         if (Tok.is(tok::code_completion)) {
  942       if (Tok.is(tok::identifier)) {
  943         Id = Tok.getIdentifierInfo();
  945       } else if (Tok.is(tok::kw_this)) {
  948           Diag(Tok.getLocation(), diag::err_this_captured_by_reference);
  952           Diag(Tok.getLocation(), diag::err_expected_capture);
  958       if (Tok.is(tok::l_paren)) {
  978       } else if (Tok.isOneOf(tok::l_brace, tok::equal)) {
  992         } else if (Tok.is(tok::l_brace)) {
 1018           SourceLocation StartLoc = Tok.getLocation();
 1024           if (Tok.getLocation() != StartLoc) {
 1029             Tok.setLocation(StartLoc);
 1030             Tok.setKind(tok::annot_primary_expr);
 1031             setExprAnnotation(Tok, Init);
 1032             Tok.setAnnotationEndLoc(PP.getLastCachedTokenLocation());
 1033             PP.AnnotateCachedTokens(Tok);
 1045     if (Tentative && Tok.is(tok::identifier) &&
 1237   SourceLocation DeclLoc = Tok.getLocation();
 1257   const bool HasExplicitTemplateParams = Tok.is(tok::less);
 1261     Diag(Tok, getLangOpts().CPlusPlus2a
 1284   if (Tok.is(tok::l_paren)) {
 1298     if (Tok.isNot(tok::r_paren)) {
 1358     if (Tok.is(tok::arrow)) {
 1359       FunLocalRangeEnd = Tok.getLocation();
 1385   } else if (Tok.isOneOf(tok::kw_mutable, tok::arrow, tok::kw___attribute,
 1387              (Tok.is(tok::l_square) && NextToken().is(tok::l_square))) {
 1391     switch (Tok.getKind()) {
 1401     Diag(Tok, diag::err_lambda_missing_parens)
 1403       << FixItHint::CreateInsertion(Tok.getLocation(), "() ");
 1412     if (Tok.is(tok::kw_mutable)) {
 1421     if (Tok.is(tok::arrow)) {
 1462   if (!Tok.is(tok::l_brace)) {
 1463     Diag(Tok, diag::err_expected_lambda_body);
 1489   tok::TokenKind Kind = Tok.getKind();
 1501   SourceLocation LAngleBracketLoc = Tok.getLocation();
 1505   if (Tok.is(tok::l_square) && Tok.getLength() == 2) {
 1505   if (Tok.is(tok::l_square) && Tok.getLength() == 2) {
 1507     if (Next.is(tok::colon) && areTokensAdjacent(Tok, Next))
 1508       FixDigraph(*this, PP, Tok, Next, Kind, /*AtDigraph*/true);
 1522   SourceLocation RAngleBracketLoc = Tok.getLocation();
 1554   assert(Tok.is(tok::kw_typeid) && "Not 'typeid'!");
 1621   assert(Tok.is(tok::kw___uuidof) && "Not '__uuidof'!");
 1693   if (Tok.is(tok::identifier)) {
 1694     FirstTypeName.setIdentifier(Tok.getIdentifierInfo(), Tok.getLocation());
 1694     FirstTypeName.setIdentifier(Tok.getIdentifierInfo(), Tok.getLocation());
 1696     assert(Tok.is(tok::coloncolon) &&"ParseOptionalCXXScopeSpecifier fail");
 1698   } else if (Tok.is(tok::annot_template_id)) {
 1702                               (TemplateIdAnnotation *)Tok.getAnnotationValue());
 1704     assert(Tok.is(tok::coloncolon) &&"ParseOptionalCXXScopeSpecifier fail");
 1711   assert(Tok.is(tok::tilde) && "ParseOptionalCXXScopeSpecifier fail");
 1714   if (Tok.is(tok::kw_decltype) && !FirstTypeName.isValid() && SS.isEmpty()) {
 1723   if (!Tok.is(tok::identifier)) {
 1724     Diag(Tok, diag::err_destructor_tilde_identifier);
 1730   IdentifierInfo *Name = Tok.getIdentifierInfo();
 1736   if (Tok.is(tok::less) &&
 1754   tok::TokenKind Kind = Tok.getKind();
 1763   assert(Tok.is(tok::kw_throw) && "Not throw!");
 1769   switch (Tok.getKind()) {  // FIXME: move this predicate somewhere common.
 1790   assert(Tok.is(tok::kw_co_yield) && "Not co_yield!");
 1793   ExprResult Expr = Tok.is(tok::l_brace) ? ParseBraceInitializer()
 1806   assert(Tok.is(tok::kw_this) && "Not 'this'!");
 1829   assert((Tok.is(tok::l_paren) ||
 1830           (getLangOpts().CPlusPlus11 && Tok.is(tok::l_brace)))
 1833   if (Tok.is(tok::l_brace)) {
 1845     PreferredType.enterTypeCast(Tok.getLocation(), TypeRep.get());
 1858     if (Tok.isNot(tok::r_paren)) {
 1860             PreferredType.enterFunctionArgument(Tok.getLocation(),
 1915   PreferredType.enterCondition(Actions, Tok.getLocation());
 1917   if (Tok.is(tok::code_completion)) {
 1927     Diag(Tok.getLocation(), getLangOpts().CPlusPlus17
 1940     if (InitStmt && Tok.is(tok::semi)) {
 1942       SourceLocation SemiLoc = Tok.getLocation();
 1943       if (!Tok.hasLeadingEmptyMacro() && !SemiLoc.isMacroID()) {
 1958     if (InitStmt && Tok.is(tok::semi)) {
 1970     SourceLocation DeclStart = Tok.getLocation(), DeclEnd;
 1980     SourceLocation DeclStart = Tok.getLocation(), DeclEnd;
 1983     FRI->LoopVar = Actions.ActOnDeclStmt(DG, DeclStart, Tok.getLocation());
 2002   if (Tok.is(tok::kw_asm)) {
 2030   if (getLangOpts().CPlusPlus11 && Tok.is(tok::l_brace)) {
 2031     Diag(Tok.getLocation(),
 2035     PreferredType.enterVariableInit(Tok.getLocation(), DeclOut);
 2037   } else if (Tok.is(tok::l_paren)) {
 2085   DS.SetRangeStart(Tok.getLocation());
 2088   SourceLocation Loc = Tok.getLocation();
 2092   switch (Tok.getKind()) {
 2101     if (getTypeAnnotation(Tok))
 2103                          getTypeAnnotation(Tok), Policy);
 2107     DS.SetRangeEnd(Tok.getAnnotationEndLoc());
 2252   assert(Tok.is(tok::less) && "Expected '<' to finish parsing a template-id");
 2443   assert(Tok.is(tok::kw_operator) && "Expected 'operator' keyword");
 2452   switch (Tok.getKind()) {
 2455       bool isNew = Tok.getKind() == tok::kw_new;
 2459       if (Tok.is(tok::l_square) &&
 2538     Diag(Tok.getLocation(), diag::warn_cxx98_compat_literal_operator);
 2548       if (!Tok.is(tok::string_literal) && !DiagId) {
 2552         DiagLoc = Tok.getLocation();
 2555       Toks.push_back(Tok);
 2573     } else if (Tok.is(tok::identifier)) {
 2574       II = Tok.getIdentifierInfo();
 2578       Diag(Tok.getLocation(), diag::err_expected) << tok::identifier;
 2684   if (Tok.is(tok::kw_template)) {
 2698   if (Tok.is(tok::identifier)) {
 2700     IdentifierInfo *Id = Tok.getIdentifierInfo();
 2732     if (Tok.is(tok::less))
 2748   if (Tok.is(tok::annot_template_id)) {
 2749     TemplateIdAnnotation *TemplateId = takeTemplateIdAnnotation(Tok);
 2798   if (Tok.is(tok::kw_operator)) {
 2810         Tok.is(tok::less))
 2826       (AllowDestructorName || SS.isSet()) && Tok.is(tok::tilde)) {
 2835     if (SS.isEmpty() && Tok.is(tok::kw_decltype)) {
 2847     if (Tok.isNot(tok::identifier)) {
 2848       Diag(Tok, diag::err_destructor_tilde_identifier);
 2868       if (Tok.isNot(tok::identifier) || NextToken().is(tok::coloncolon) ||
 2877         << FixItHint::CreateInsertion(Tok.getLocation(), "~");
 2885     IdentifierInfo *ClassName = Tok.getIdentifierInfo();
 2888     if (Tok.is(tok::less)) {
 2907   Diag(Tok, diag::err_expected_unqualified_id)
 2942   assert(Tok.is(tok::kw_new) && "expected 'new' token");
 2954   if (Tok.is(tok::l_paren)) {
 2977       if (Tok.is(tok::l_paren)) {
 3016   if (Tok.is(tok::l_paren)) {
 3022     if (Tok.isNot(tok::r_paren)) {
 3034             PreferredType.enterFunctionArgument(Tok.getLocation(),
 3052   } else if (Tok.is(tok::l_brace) && getLangOpts().CPlusPlus11) {
 3053     Diag(Tok.getLocation(),
 3075   while (Tok.is(tok::l_square)) {
 3084         First ? (Tok.is(tok::r_square) ? ExprResult() : ParseExpression())
 3150   assert(Tok.is(tok::kw_delete) && "Expected 'delete' keyword");
 3155   if (Tok.is(tok::l_square) && NextToken().is(tok::r_square)) {
 3172       SourceLocation LSquareLoc = Tok.getLocation();
 3180       if (Tok.is(tok::l_brace)) {
 3183         RBraceLoc = Tok.getLocation();
 3281   tok::TokenKind Kind = Tok.getKind();
 3300     if (Tok.is(tok::ellipsis)) {
 3340   ArrayTypeTrait ATT = ArrayTypeTraitFromTokKind(Tok.getKind());
 3383   ExpressionTrait ET = ExpressionTraitFromTokKind(Tok.getKind());
 3444   if (Tok.is(tok::l_brace)) {
 3448     if (Tok.is(tok::l_paren) && NextToken().is(tok::r_paren)) {
 3471   AttrEnd.setLocation(Tok.getLocation());
 3476   Toks.push_back(Tok);
 3500     assert(Tok.is(tok::eof) && Tok.getEofData() == AttrEnd.getEofData());
 3500     assert(Tok.is(tok::eof) && Tok.getEofData() == AttrEnd.getEofData());
 3533   if (!Result.isInvalid() && Tok.is(tok::r_paren))
 3535                                     Tok.getLocation(), Result.get());
 3539     while (Tok.isNot(tok::eof))
 3541     assert(Tok.getEofData() == AttrEnd.getEofData());
 3548   assert(Tok.is(tok::eof) && Tok.getEofData() == AttrEnd.getEofData());
 3548   assert(Tok.is(tok::eof) && Tok.getEofData() == AttrEnd.getEofData());
 3570     Diag(Tok.getLocation(), diag::err_expected) << tok::comma;
tools/clang/lib/Parse/ParseInit.cpp
   26   switch (Tok.getKind()) {
  100   return Tok.is(tok::equal);
  163   if (Tok.is(tok::identifier)) {
  164     const IdentifierInfo *FieldName = Tok.getIdentifierInfo();
  172     assert(Tok.is(tok::colon) && "MayBeDesignationStart not working properly!");
  191   while (Tok.is(tok::period) || Tok.is(tok::l_square)) {
  191   while (Tok.is(tok::period) || Tok.is(tok::l_square)) {
  192     if (Tok.is(tok::period)) {
  196       if (Tok.isNot(tok::identifier)) {
  197         Diag(Tok.getLocation(), diag::err_expected_field_designator);
  201       Desig.AddDesignator(Designator::getField(Tok.getIdentifierInfo(), DotLoc,
  202                                                Tok.getLocation()));
  208     assert(Tok.is(tok::l_square) && "Unexpected token!");
  241       if (Tok.is(tok::identifier) && Tok.getIdentifierInfo() == Ident_super &&
  241       if (Tok.is(tok::identifier) && Tok.getIdentifierInfo() == Ident_super &&
  272     } else if (getLangOpts().ObjC && Tok.is(tok::identifier)) {
  273       IdentifierInfo *II = Tok.getIdentifierInfo();
  274       SourceLocation IILoc = Tok.getLocation();
  296         if (Tok.is(tok::less)) {
  342     if (getLangOpts().ObjC && Tok.isNot(tok::ellipsis) &&
  343         Tok.isNot(tok::r_square)) {
  344       CheckArrayDesignatorSyntax(*this, Tok.getLocation(), Desig);
  350     if (Tok.isNot(tok::ellipsis)) {
  354       Diag(Tok, diag::ext_gnu_array_range);
  379   if (Tok.is(tok::equal)) {
  388   if (Tok.is(tok::l_brace) && getLangOpts().CPlusPlus11) {
  400     Diag(Tok, diag::ext_gnu_missing_equal_designator)
  401       << FixItHint::CreateInsertion(Tok.getLocation(), "= ");
  402     return Actions.ActOnDesignatedInitializer(Desig, Tok.getLocation(),
  406   Diag(Tok, diag::err_expected_equal_designator);
  434   if (Tok.is(tok::r_brace)) {
  450     if (getLangOpts().MicrosoftExt && (Tok.is(tok::kw___if_exists) ||
  451         Tok.is(tok::kw___if_not_exists))) {
  453         if (Tok.isNot(tok::comma)) break;
  456       if (Tok.is(tok::r_brace)) break;
  470     if (Tok.is(tok::ellipsis))
  489       if (Tok.isNot(tok::comma)) {
  496     if (Tok.isNot(tok::comma)) break;
  502     if (Tok.is(tok::r_brace)) break;
  526     Diag(Tok, diag::err_expected) << tok::l_brace;
  556     if (Tok.is(tok::ellipsis))
  565     if (Tok.is(tok::comma)) {
  570     if (Tok.is(tok::r_brace))
tools/clang/lib/Parse/ParseObjc.cpp
   29   if (Tok.is(tok::kw___attribute)) {
   31       Diag(Tok, diag::err_objc_postfix_attribute_hint)
   34       Diag(Tok, diag::err_objc_postfix_attribute);
   51   if (Tok.is(tok::code_completion)) {
   58   switch (Tok.getObjCKeywordID()) {
  142     ClassNames.push_back(Tok.getIdentifierInfo());
  143     ClassLocs.push_back(Tok.getLocation());
  148     if (Tok.is(tok::less))
  214   assert(Tok.isObjCAtKeyword(tok::objc_interface) &&
  220   if (Tok.is(tok::code_completion)) {
  232   IdentifierInfo *nameId = Tok.getIdentifierInfo();
  242   if (Tok.is(tok::less))
  246   if (Tok.is(tok::l_paren) &&
  254     if (Tok.is(tok::code_completion)) {
  261     if (Tok.is(tok::identifier)) {
  262       categoryId = Tok.getIdentifierInfo();
  266       Diag(Tok, diag::err_expected)
  279     if (Tok.is(tok::less) &&
  290     if (Tok.is(tok::l_brace))
  305   if (Tok.is(tok::colon)) { // a super class is specified.
  309     if (Tok.is(tok::code_completion)) {
  317     superClassId = Tok.getIdentifierInfo();
  321     if (Tok.is(tok::less)) {
  327       if (Tok.is(tok::eof))
  344   } else if (protocols.empty() && Tok.is(tok::less) &&
  351   if (Tok.isNot(tok::less))
  361   if (Tok.is(tok::l_brace))
  424   assert(Tok.is(tok::less) && "Not at the beginning of a type parameter list");
  453     if (Tok.is(tok::kw___covariant) || Tok.is(tok::kw___contravariant)) {
  453     if (Tok.is(tok::kw___covariant) || Tok.is(tok::kw___contravariant)) {
  454       variance = Tok.is(tok::kw___covariant)
  469     if (!Tok.is(tok::identifier)) {
  471       if (Tok.is(tok::code_completion)) {
  481       Diag(Tok, diag::err_objc_expected_type_parameter);
  486     IdentifierInfo *paramName = Tok.getIdentifierInfo();
  523     if (Tok.is(tok::greater))
  533     if (Tok.is(tok::greater))
  542     if (Tok.isNot(tok::colon) && Tok.isNot(tok::l_paren)) {
  542     if (Tok.isNot(tok::colon) && Tok.isNot(tok::l_paren)) {
  603     if (Tok.isOneOf(tok::minus, tok::plus)) {
  612         if (Tok.is(tok::semi))
  617     if (Tok.is(tok::l_paren)) {
  618       Diag(Tok, diag::err_expected_minus_or_plus);
  619       ParseObjCMethodDecl(Tok.getLocation(),
  625     if (Tok.is(tok::semi)) {
  637     if (Tok.is(tok::code_completion)) {
  645     if (Tok.isNot(tok::at)) {
  649       if (Tok.is(tok::r_brace))
  657       if (Tok.isOneOf(tok::kw_static_assert, tok::kw__Static_assert)) {
  670     if (Tok.is(tok::code_completion)) {
  675     tok::ObjCKeywordKind DirectiveKind = Tok.getObjCKeywordID();
  679       AtEnd.setEnd(Tok.getLocation());
  682       Diag(Tok, diag::err_objc_unknown_at);
  723       if (Tok.is(tok::l_paren)) {
  724         LParenLoc = Tok.getLocation();
  779   if (Tok.is(tok::code_completion)) {
  782   } else if (Tok.isObjCAtKeyword(tok::objc_end)) {
  785     Diag(Tok, diag::err_objc_missing_end)
  786         << FixItHint::CreateInsertion(Tok.getLocation(), "\n@end\n");
  789     AtEnd.setBegin(Tok.getLocation());
  790     AtEnd.setEnd(Tok.getLocation());
  842   assert(Tok.getKind() == tok::l_paren);
  847     if (Tok.is(tok::code_completion)) {
  851     const IdentifierInfo *II = Tok.getIdentifierInfo();
  893       if (Tok.is(tok::code_completion)) {
  905         Diag(Tok, diag::err_objc_expected_selector_for_getter_setter)
  928                                              Tok.getLocation());
  930       DS.setNullability(Tok.getLocation(), NullabilityKind::NonNull);
  935                                              Tok.getLocation());
  937       DS.setNullability(Tok.getLocation(), NullabilityKind::Nullable);
  942                                              Tok.getLocation());
  944       DS.setNullability(Tok.getLocation(), NullabilityKind::Unspecified);
  949                                              Tok.getLocation());
  951       DS.setNullability(Tok.getLocation(), NullabilityKind::Unspecified);
  963     if (Tok.isNot(tok::comma))
  984   assert(Tok.isOneOf(tok::minus, tok::plus) && "expected +/-");
  986   tok::TokenKind methodType = Tok.getKind();
 1005   switch (Tok.getKind()) {
 1010     SelectorLoc = Tok.getLocation();
 1023     std::string ThisTok(PP.getSpelling(Tok));
 1026       Tok.setKind(tok::identifier);
 1103     IdentifierInfo *II = Tok.getIdentifierInfo();
 1115   return (getLangOpts().ObjC && Tok.is(tok::identifier) &&
 1116           Tok.getIdentifierInfo() == ObjCTypeQuals[objc_in]);
 1144     if (Tok.is(tok::code_completion)) {
 1150     if (Tok.isNot(tok::identifier))
 1153     const IdentifierInfo *II = Tok.getIdentifierInfo();
 1190         DS.setNullability(Tok.getLocation(), Nullability);
 1241   assert(Tok.is(tok::l_paren) && "expected (");
 1250   SourceLocation TypeStartLoc = Tok.getLocation();
 1285   if (Tok.is(tok::r_paren))
 1287   else if (Tok.getLocation() == TypeStartLoc) {
 1289     Diag(Tok, diag::err_expected_type);
 1333   if (Tok.is(tok::code_completion)) {
 1343   if (Tok.is(tok::l_paren))
 1353   if (Tok.is(tok::code_completion)) {
 1365   if (!SelIdent && Tok.isNot(tok::colon)) { // missing selector name.
 1366     Diag(Tok, diag::err_expected_selector_for_method)
 1367       << SourceRange(mLoc, Tok.getLocation());
 1374   if (Tok.isNot(tok::colon)) {
 1382         getCurScope(), mLoc, Tok.getLocation(), mType, DSRet, ReturnType,
 1405     if (Tok.is(tok::l_paren)) // Parse the argument type if present.
 1418     if (Tok.is(tok::code_completion)) {
 1431     ArgInfo.Name = Tok.getIdentifierInfo();
 1432     ArgInfo.NameLoc = Tok.getLocation();
 1443     if (Tok.is(tok::code_completion)) {
 1454     if (!SelIdent && Tok.isNot(tok::colon))
 1457       SourceLocation ColonLoc = Tok.getLocation();
 1470   while (Tok.is(tok::comma)) {
 1472     if (Tok.is(tok::ellipsis)) {
 1478       Diag(Tok, diag::warn_cstyle_param);
 1506       getCurScope(), mLoc, Tok.getLocation(), mType, DSRet, ReturnType, KeyLocs,
 1523   assert(Tok.is(tok::less) && "expected <");
 1530     if (Tok.is(tok::code_completion)) {
 1540     ProtocolIdents.push_back(std::make_pair(Tok.getIdentifierInfo(),
 1541                                        Tok.getLocation()));
 1542     ProtocolLocs.push_back(Tok.getLocation());
 1561   assert(Tok.is(tok::less) && "Protocol qualifiers start with '<'");
 1599   assert(Tok.is(tok::less) && "Not at the start of type args or protocols");
 1612     if (Tok.is(tok::identifier) &&
 1616       identifiers.push_back(Tok.getIdentifierInfo());
 1621     if (Tok.is(tok::code_completion)) {
 1718     Token CurTypeTok = Tok;
 1777   assert(Tok.is(tok::less));
 1790   if (Tok.is(tok::eof)) // Nothing else to do here...
 1796   if ((consumeLastToken && Tok.is(tok::less)) ||
 1807       Diag(Tok, diag::err_objc_type_args_after_protocols)
 1825   assert(Tok.is(tok::less));
 1840   if (Tok.is(tok::eof))
 1847     endLoc = Tok.getLocation();
 1903   assert(Tok.is(tok::l_brace) && "expected {");
 1912   while (Tok.isNot(tok::r_brace) && !isEofOrEom()) {
 1916     if (Tok.is(tok::semi)) {
 1923       if (Tok.is(tok::code_completion)) {
 1928       switch (Tok.getObjCKeywordID()) {
 1933         visibility = Tok.getObjCKeywordID();
 1938         Diag(Tok, diag::err_objc_unexpected_atend);
 1939         Tok.setLocation(Tok.getLocation().getLocWithOffset(-1));
 1939         Tok.setLocation(Tok.getLocation().getLocWithOffset(-1));
 1940         Tok.setKind(tok::at);
 1941         Tok.setLength(1);
 1942         PP.EnterToken(Tok, /*IsReinject*/true);
 1948         Diag(Tok, diag::err_objc_illegal_visibility_spec);
 1953     if (Tok.is(tok::code_completion)) {
 1962     if (Tok.isOneOf(tok::kw_static_assert, tok::kw__Static_assert)) {
 1985     if (Tok.is(tok::semi)) {
 1988       Diag(Tok, diag::err_expected_semi_decl_list);
 2016   assert(Tok.isObjCAtKeyword(tok::objc_protocol) &&
 2020   if (Tok.is(tok::code_completion)) {
 2031   IdentifierInfo *protocolName = Tok.getIdentifierInfo();
 2041   if (Tok.is(tok::comma)) { // list of forward declarations.
 2052       ProtocolRefs.push_back(IdentifierLocPair(Tok.getIdentifierInfo(),
 2053                                                Tok.getLocation()));
 2056       if (Tok.isNot(tok::comma))
 2071   if (Tok.is(tok::less) &&
 2098   assert(Tok.isObjCAtKeyword(tok::objc_implementation) &&
 2104   if (Tok.is(tok::code_completion)) {
 2115   IdentifierInfo *nameId = Tok.getIdentifierInfo();
 2121   if (Tok.is(tok::less)) {
 2124     SourceLocation diagLoc = Tok.getLocation();
 2136   if (Tok.is(tok::l_paren)) {
 2142     if (Tok.is(tok::code_completion)) {
 2148     if (Tok.is(tok::identifier)) {
 2149       categoryId = Tok.getIdentifierInfo();
 2152       Diag(Tok, diag::err_expected)
 2156     if (Tok.isNot(tok::r_paren)) {
 2157       Diag(Tok, diag::err_expected) << tok::r_paren;
 2162     if (Tok.is(tok::less)) { // we have illegal '<' try to recover
 2163       Diag(Tok, diag::err_unexpected_protocol_qualifier);
 2184       superClassId = Tok.getIdentifierInfo();
 2190     if (Tok.is(tok::l_brace)) // we have ivars
 2192     else if (Tok.is(tok::less)) { // we have illegal '<' try to recover
 2193       Diag(Tok, diag::err_unexpected_protocol_qualifier);
 2226   assert(Tok.isObjCAtKeyword(tok::objc_end) &&
 2239     finish(P.Tok.getLocation());
 2241       P.Diag(P.Tok, diag::err_objc_missing_end)
 2242           << FixItHint::CreateInsertion(P.Tok.getLocation(), "\n@end\n");
 2279   assert(Tok.isObjCAtKeyword(tok::objc_compatibility_alias) &&
 2284   IdentifierInfo *aliasId = Tok.getIdentifierInfo();
 2288   IdentifierInfo *classId = Tok.getIdentifierInfo();
 2307   assert(Tok.isObjCAtKeyword(tok::objc_synthesize) &&
 2312     if (Tok.is(tok::code_completion)) {
 2318     if (Tok.isNot(tok::identifier)) {
 2319       Diag(Tok, diag::err_synthesized_property_name);
 2325     IdentifierInfo *propertyId = Tok.getIdentifierInfo();
 2330       if (Tok.is(tok::code_completion)) {
 2338       propertyIvar = Tok.getIdentifierInfo();
 2345     if (Tok.isNot(tok::comma))
 2361   assert(Tok.isObjCAtKeyword(tok::objc_dynamic) &&
 2366   if (Tok.is(tok::l_paren)) {
 2368     const IdentifierInfo *II = Tok.getIdentifierInfo();
 2371       Diag(Tok, diag::err_objc_expected_property_attr) << II;
 2377         if (Tok.isNot(tok::r_paren)) {
 2378           Diag(Tok, diag::err_expected) << tok::r_paren;
 2390     if (Tok.is(tok::code_completion)) {
 2401     IdentifierInfo *propertyId = Tok.getIdentifierInfo();
 2409     if (Tok.isNot(tok::comma))
 2423   if (Tok.isNot(tok::semi)) {
 2441   if (Tok.isNot(tok::l_paren)) {
 2442     Diag(Tok, diag::err_expected_lparen_after) << "@synchronized";
 2450   if (Tok.is(tok::r_paren)) {
 2454       Diag(Tok, diag::err_expected) << tok::r_paren;
 2461   if (Tok.isNot(tok::l_brace)) {
 2463       Diag(Tok, diag::err_expected) << tok::l_brace;
 2482     body = Actions.ActOnNullStmt(Tok.getLocation());
 2502   if (Tok.isNot(tok::l_brace)) {
 2503     Diag(Tok, diag::err_expected) << tok::l_brace;
 2512     TryBody = Actions.ActOnNullStmt(Tok.getLocation());
 2514   while (Tok.is(tok::at)) {
 2524     if (Tok.isObjCAtKeyword(tok::objc_catch)) {
 2527       if (Tok.is(tok::l_paren)) {
 2532         if (Tok.isNot(tok::ellipsis)) {
 2546         if (Tok.is(tok::r_paren))
 2552         if (Tok.is(tok::l_brace))
 2555           Diag(Tok, diag::err_expected) << tok::l_brace;
 2557           CatchBody = Actions.ActOnNullStmt(Tok.getLocation());
 2573       assert(Tok.isObjCAtKeyword(tok::objc_finally) && "Lookahead confused?");
 2581         Actions.ActOnCapturedRegionStart(Tok.getLocation(), getCurScope(),
 2585       if (Tok.is(tok::l_brace))
 2588         Diag(Tok, diag::err_expected) << tok::l_brace;
 2591         FinallyBody = Actions.ActOnNullStmt(Tok.getLocation());
 2620   if (Tok.isNot(tok::l_brace)) {
 2621     Diag(Tok, diag::err_expected) << tok::l_brace;
 2632     AutoreleasePoolBody = Actions.ActOnNullStmt(Tok.getLocation());
 2650   Toks.push_back(Tok);
 2651   if (Tok.is(tok::kw_try)) {
 2653     if (Tok.is(tok::colon)) {
 2654       Toks.push_back(Tok);
 2656       while (Tok.isNot(tok::l_brace)) {
 2661     Toks.push_back(Tok); // also store '{'
 2663   else if (Tok.is(tok::colon)) {
 2666     while (Tok.isNot(tok::l_brace)) {
 2670     Toks.push_back(Tok); // also store '{'
 2675   while (Tok.is(tok::kw_catch)) {
 2686   PrettyDeclStackTraceEntry CrashInfo(Actions.Context, MDecl, Tok.getLocation(),
 2690   if (Tok.is(tok::semi)) {
 2692       Diag(Tok, diag::warn_semicolon_before_method_body)
 2693         << FixItHint::CreateRemoval(Tok.getLocation());
 2699   if (Tok.isNot(tok::l_brace)) {
 2700     Diag(Tok, diag::err_expected_method_body);
 2706     if (Tok.isNot(tok::l_brace))
 2727   if (Tok.is(tok::code_completion)) {
 2733   if (Tok.isObjCAtKeyword(tok::objc_try))
 2736   if (Tok.isObjCAtKeyword(tok::objc_throw))
 2739   if (Tok.isObjCAtKeyword(tok::objc_synchronized))
 2742   if (Tok.isObjCAtKeyword(tok::objc_autoreleasepool))
 2745   if (Tok.isObjCAtKeyword(tok::objc_import) &&
 2748     return Actions.ActOnNullStmt(Tok.getLocation());
 2767   switch (Tok.getKind()) {
 2775     tok::TokenKind Kind = Tok.getKind();
 2778     if (!Tok.is(tok::numeric_constant)) {
 2785       Diag(Tok, diag::err_nsnumber_nonliteral_unary)
 2790     ExprResult Lit(Actions.ActOnNumericConstant(Tok));
 2834     if (Tok.getIdentifierInfo() == nullptr)
 2837     switch (Tok.getIdentifierInfo()->getObjCKeywordID()) {
 2853           char ch = Tok.getIdentifierInfo()->getNameStart()[0];
 2860           SourceLocation kwLoc = Tok.getLocation();
 2896   if (Tok.isOneOf(tok::identifier, tok::coloncolon, tok::kw_typename,
 2900   if (!Actions.isSimpleTypeSpecifier(Tok.getKind())) {
 2922   if (Tok.is(tok::l_paren)) {
 2967   assert(Tok.is(tok::l_square) && getLangOpts().ObjC &&
 2980   if (Tok.is(tok::annot_typename))
 2981     Type = getTypeAnnotation(Tok);
 2982   else if (Tok.is(tok::identifier))
 2983     Type = Actions.getTypeName(*Tok.getIdentifierInfo(), Tok.getLocation(),
 2983     Type = Actions.getTypeName(*Tok.getIdentifierInfo(), Tok.getLocation(),
 2991       if (Tok.is(tok::identifier))
 2994       return Tok.is(tok::annot_typename);
 3011   assert(Tok.is(tok::l_square) && "'[' expected");
 3014   if (Tok.is(tok::code_completion)) {
 3029     if (Tok.is(tok::identifier) && Tok.getIdentifierInfo() == Ident_super &&
 3029     if (Tok.is(tok::identifier) && Tok.getIdentifierInfo() == Ident_super &&
 3051   if (Tok.is(tok::identifier)) {
 3052     IdentifierInfo *Name = Tok.getIdentifierInfo();
 3053     SourceLocation NameLoc = Tok.getLocation();
 3072       if (Tok.is(tok::less)) {
 3151   if (Tok.is(tok::code_completion)) {
 3173   if (Tok.is(tok::colon)) {
 3189       if (Tok.is(tok::code_completion)) {
 3208       if (getLangOpts().CPlusPlus11 && Tok.is(tok::l_brace)) {
 3209         Diag(Tok, diag::warn_cxx98_compat_generalized_initializer_lists);
 3227       if (Tok.is(tok::code_completion)) {
 3246       if (!selIdent && Tok.isNot(tok::colon))
 3251     while (Tok.is(tok::comma)) {
 3255       if (Tok.is(tok::colon))
 3258         if (Tok.is(tok::colon)) {
 3273     Diag(Tok, diag::err_expected) << tok::identifier; // missing selector name.
 3282   if (Tok.isNot(tok::r_square)) {
 3283     Diag(Tok, diag::err_expected)
 3284         << (Tok.is(tok::identifier) ? tok::colon : tok::r_square);
 3323   while (Tok.is(tok::at)) {
 3328       return ExprError(Diag(Tok, diag::err_objc_concat_string));
 3355   ExprResult Lit(Actions.ActOnCharacterConstant(Tok));
 3369   ExprResult Lit(Actions.ActOnNumericConstant(Tok));
 3382   if (Tok.isNot(tok::l_paren))
 3383     return ExprError(Diag(Tok, diag::err_expected_lparen_after) << "@");
 3407   while (Tok.isNot(tok::r_square)) {
 3423     if (Tok.is(tok::ellipsis))
 3430     if (Tok.is(tok::comma))
 3432     else if (Tok.isNot(tok::r_square))
 3433       return ExprError(Diag(Tok, diag::err_expected_either) << tok::r_square
 3449   while (Tok.isNot(tok::r_brace)) {
 3498     if (!TryConsumeToken(tok::comma) && Tok.isNot(tok::r_brace))
 3499       return ExprError(Diag(Tok, diag::err_expected_either) << tok::r_brace
 3516   assert(Tok.isObjCAtKeyword(tok::objc_encode) && "Not an @encode expression!");
 3520   if (Tok.isNot(tok::l_paren))
 3521     return ExprError(Diag(Tok, diag::err_expected_lparen_after) << "@encode");
 3543   if (Tok.isNot(tok::l_paren))
 3544     return ExprError(Diag(Tok, diag::err_expected_lparen_after) << "@protocol");
 3552   IdentifierInfo *protocolId = Tok.getIdentifierInfo();
 3567   if (Tok.isNot(tok::l_paren))
 3568     return ExprError(Diag(Tok, diag::err_expected_lparen_after) << "@selector");
 3575   bool HasOptionalParen = Tok.is(tok::l_paren);
 3579   if (Tok.is(tok::code_completion)) {
 3587       Tok.isNot(tok::colon) && Tok.isNot(tok::coloncolon))
 3587       Tok.isNot(tok::colon) && Tok.isNot(tok::coloncolon))
 3588     return ExprError(Diag(Tok, diag::err_expected) << tok::identifier);
 3593   if (Tok.isNot(tok::r_paren)) {
 3602       if (Tok.is(tok::r_paren))
 3605       if (Tok.is(tok::code_completion)) {
 3615       if (!SelIdent && Tok.isNot(tok::colon) && Tok.isNot(tok::coloncolon))
 3615       if (!SelIdent && Tok.isNot(tok::colon) && Tok.isNot(tok::coloncolon))
 3619   if (HasOptionalParen && Tok.is(tok::r_paren))
 3639   SourceLocation OrigLoc = Tok.getLocation();
 3652   LM.Toks.push_back(Tok);
 3658   assert(Tok.isOneOf(tok::l_brace, tok::kw_try, tok::colon) &&
 3671   if (Tok.is(tok::kw_try))
 3674     if (Tok.is(tok::colon))
 3681   if (Tok.getLocation() != OrigLoc) {
 3687     if (PP.getSourceManager().isBeforeInTranslationUnit(Tok.getLocation(),
 3689       while (Tok.getLocation() != OrigLoc && Tok.isNot(tok::eof))
 3689       while (Tok.getLocation() != OrigLoc && Tok.isNot(tok::eof))
tools/clang/lib/Parse/ParseOpenMP.cpp
  247   if (Name.isEmpty() && Tok.is(tok::annot_pragma_openmp_end))
  253   if (!IsCorrect && Tok.is(tok::annot_pragma_openmp_end))
  258   if (Tok.is(tok::colon) || Tok.is(tok::annot_pragma_openmp_end)) {
  258   if (Tok.is(tok::colon) || Tok.is(tok::annot_pragma_openmp_end)) {
  259     Diag(Tok.getLocation(), diag::err_expected_type);
  263   if (!IsCorrect && Tok.is(tok::annot_pragma_openmp_end))
  285     if (Tok.is(tok::colon) || Tok.is(tok::annot_pragma_openmp_end))
  285     if (Tok.is(tok::colon) || Tok.is(tok::annot_pragma_openmp_end))
  291       if (Tok.is(tok::annot_pragma_openmp_end)) {
  292         Diag(Tok.getLocation(), diag::err_expected_type);
  296   } while (Tok.isNot(tok::annot_pragma_openmp_end));
  303   if (!IsCorrect && Tok.is(tok::annot_pragma_openmp_end))
  310   if (Tok.is(tok::annot_pragma_openmp_end)) {
  311     Diag(Tok.getLocation(), diag::err_expected_expression);
  333     if (CombinerResult.isInvalid() && Tok.isNot(tok::r_paren) &&
  334         Tok.isNot(tok::annot_pragma_openmp_end)) {
  341     if (Tok.isNot(tok::annot_pragma_openmp_end)) {
  343       if (Tok.is(tok::identifier) &&
  344           Tok.getIdentifierInfo()->isStr("initializer")) {
  347         Diag(Tok.getLocation(), diag::err_expected) << "'initializer'";
  358       if (Tok.isNot(tok::annot_pragma_openmp_end)) {
  367         if (Tok.is(tok::identifier) &&
  368             Tok.getIdentifierInfo()->isStr("omp_priv")) {
  384         if (InitializerResult.isInvalid() && Tok.isNot(tok::r_paren) &&
  385             Tok.isNot(tok::annot_pragma_openmp_end)) {
  413     if (Tok.is(tok::code_completion)) {
  429   } else if (Tok.is(tok::l_paren)) {
  446           PreferredType.enterFunctionArgument(Tok.getLocation(),
  455       SourceLocation RLoc = Tok.getLocation();
  467   } else if (getLangOpts().CPlusPlus11 && Tok.is(tok::l_brace)) {
  469     Diag(Tok, diag::warn_cxx98_compat_generalized_initializer_lists);
  507     if (Tok.isNot(tok::identifier) && Tok.isNot(tok::kw_default)) {
  507     if (Tok.isNot(tok::identifier) && Tok.isNot(tok::kw_default)) {
  508       Diag(Tok.getLocation(), diag::err_omp_mapper_illegal_identifier);
  511       MapperId = DeclNames.getIdentifier(Tok.getIdentifierInfo());
  522   if (!IsCorrect && Tok.is(tok::annot_pragma_openmp_end))
  552   SourceLocation Loc = Tok.getLocation();
  564   while (Tok.isNot(tok::annot_pragma_openmp_end)) {
  565     OpenMPClauseKind CKind = Tok.isAnnotation()
  567                                  : getOpenMPClauseKind(PP.getSpelling(Tok));
  576     if (Tok.is(tok::comma))
  581     Diag(Tok, diag::err_omp_expected_clause)
  611     Diag(Tok.getLocation(), diag::err_omp_mapper_expected_declarator);
  759   PP.EnterToken(Tok, /*IsReinject*/ true);
  780   if (Tok.isNot(tok::annot_pragma_openmp_end)) {
  781     Diag(Tok, diag::warn_omp_extra_tokens_at_eol)
  783     while (Tok.isNot(tok::annot_pragma_openmp_end))
  919     if (!Tok.is(tok::identifier)) {
  920       Diag(Tok.getLocation(), diag::err_omp_declare_variant_no_ctx_selector)
  925     StringRef CtxSelectorSetName = PP.getSpelling(Tok, Buffer);
  926     auto Res = UsedCtxSets.try_emplace(CtxSelectorSetName, Tok.getLocation());
  930       Diag(Tok.getLocation(), diag::err_omp_declare_variant_ctx_set_mutiple_use)
  938     if (Tok.isNot(tok::equal)) {
  939       Diag(Tok.getLocation(), diag::err_omp_declare_variant_equal_expected)
  969         const Token PrevTok = Tok;
  970         if (!TryConsumeToken(tok::comma) && Tok.isNot(tok::r_brace))
  971           Diag(Tok, diag::err_omp_expected_comma_brace)
  974       } while (Tok.is(tok::identifier));
  979     if (Tok.isNot(tok::r_paren) && Tok.isNot(tok::annot_pragma_openmp_end))
  979     if (Tok.isNot(tok::r_paren) && Tok.isNot(tok::annot_pragma_openmp_end))
  981   } while (Tok.isAnyIdentifier());
  989   PP.EnterToken(Tok, /*IsReinject*/ true);
 1005     if (!Tok.is(tok::annot_pragma_openmp_end))
 1014           Ptr, AssociatedFunction.get(), SourceRange(Loc, Tok.getLocation()));
 1017   OpenMPClauseKind CKind = Tok.isAnnotation()
 1019                                : getOpenMPClauseKind(PP.getSpelling(Tok));
 1021     Diag(Tok.getLocation(), diag::err_omp_declare_variant_wrong_clause)
 1054     if (Tok.isNot(tok::annot_pragma_openmp_end)) {
 1055       Diag(Tok, diag::warn_omp_extra_tokens_at_eol)
 1061   while (Tok.isNot(tok::annot_pragma_openmp_end))
 1125   while (Tok.isNot(tok::annot_pragma_openmp_end)) {
 1127     if (Tok.is(tok::identifier)) {
 1128       IdentifierInfo *II = Tok.getIdentifierInfo();
 1136         Diag(Tok, diag::err_omp_declare_target_unexpected_clause)
 1181     if (Tok.is(tok::comma))
 1205     Diag(Tok, diag::err_expected_end_declare_target);
 1210   if (Tok.isNot(tok::annot_pragma_openmp_end)) {
 1211     Diag(Tok, diag::warn_omp_extra_tokens_at_eol)
 1250   assert(Tok.is(tok::annot_pragma_openmp) && "Not an OpenMP directive!");
 1264       if (Tok.isNot(tok::annot_pragma_openmp_end)) {
 1265         Diag(Tok, diag::warn_omp_extra_tokens_at_eol)
 1282       if (Tok.isNot(tok::annot_pragma_openmp_end)) {
 1286         while (Tok.isNot(tok::annot_pragma_openmp_end)) {
 1288               Tok.isAnnotation() ? OMPC_unknown
 1289                                  : getOpenMPClauseKind(PP.getSpelling(Tok));
 1298           if (Tok.is(tok::annot_pragma_openmp_end)) {
 1303           if (Tok.is(tok::comma))
 1309         if (Tok.isNot(tok::annot_pragma_openmp_end)) {
 1310           Diag(Tok, diag::warn_omp_extra_tokens_at_eol)
 1327     if (Tok.is(tok::annot_pragma_openmp_end)) {
 1328       Diag(Tok, diag::err_omp_expected_clause)
 1332     while (Tok.isNot(tok::annot_pragma_openmp_end)) {
 1333       OpenMPClauseKind CKind = Tok.isAnnotation()
 1335                                    : getOpenMPClauseKind(PP.getSpelling(Tok));
 1344       if (Tok.is(tok::annot_pragma_openmp_end)) {
 1349       if (Tok.is(tok::comma))
 1355       Diag(Tok, diag::err_omp_expected_clause)
 1368       if (Tok.isNot(tok::annot_pragma_openmp_end)) {
 1369         Diag(Tok, diag::warn_omp_extra_tokens_at_eol)
 1371         while (Tok.isNot(tok::annot_pragma_openmp_end))
 1395     Toks.push_back(Tok);
 1397     while(Tok.isNot(tok::annot_pragma_openmp_end)) {
 1398       Toks.push_back(Tok);
 1401     Toks.push_back(Tok);
 1405     if (Tok.is(tok::annot_pragma_openmp)) {
 1407     } else if (Tok.isNot(tok::r_brace) && !isEofOrEom()) {
 1433     if (Tok.isNot(tok::annot_pragma_openmp_end)) {
 1445     while (DKind != OMPD_end_declare_target && Tok.isNot(tok::eof) &&
 1446            Tok.isNot(tok::r_brace)) {
 1462       if (Tok.isAnnotation() && Tok.is(tok::annot_pragma_openmp)) {
 1462       if (Tok.isAnnotation() && Tok.is(tok::annot_pragma_openmp)) {
 1478     Diag(Tok, diag::err_omp_unknown_directive);
 1531     Diag(Tok, diag::err_omp_unexpected_directive)
 1535   while (Tok.isNot(tok::annot_pragma_openmp_end))
 1582   assert(Tok.is(tok::annot_pragma_openmp) && "Not an OpenMP directive!");
 1603       Diag(Tok, diag::err_omp_immediate_directive)
 1612       if (Tok.isNot(tok::annot_pragma_openmp_end)) {
 1613         Diag(Tok, diag::warn_omp_extra_tokens_at_eol)
 1619       Directive = Actions.ActOnDeclStmt(Res, Loc, Tok.getLocation());
 1628       Diag(Tok, diag::err_omp_immediate_directive)
 1636       if (Tok.isNot(tok::annot_pragma_openmp_end)) {
 1640         while (Tok.isNot(tok::annot_pragma_openmp_end)) {
 1642               Tok.isAnnotation() ? OMPC_unknown
 1643                                  : getOpenMPClauseKind(PP.getSpelling(Tok));
 1652           if (Tok.is(tok::annot_pragma_openmp_end)) {
 1657           if (Tok.is(tok::comma))
 1663         if (Tok.isNot(tok::annot_pragma_openmp_end)) {
 1664           Diag(Tok, diag::warn_omp_extra_tokens_at_eol)
 1671       Directive = Actions.ActOnDeclStmt(Res, Loc, Tok.getLocation());
 1682       if (Tok.isNot(tok::annot_pragma_openmp_end)) {
 1683         Diag(Tok, diag::warn_omp_extra_tokens_at_eol)
 1685         while (Tok.isNot(tok::annot_pragma_openmp_end))
 1689       Directive = Actions.ActOnDeclStmt(Res, Loc, Tok.getLocation());
 1700       Directive = Actions.ActOnDeclStmt(Res, Loc, Tok.getLocation());
 1711       PP.EnterToken(Tok, /*IsReinject*/ true);
 1724       Diag(Tok, diag::err_omp_immediate_directive)
 1777         if (Tok.isAnyIdentifier()) {
 1779               DeclarationNameInfo(Tok.getIdentifierInfo(), Tok.getLocation());
 1779               DeclarationNameInfo(Tok.getIdentifierInfo(), Tok.getLocation());
 1782           Diag(Tok, diag::err_omp_expected_identifier_for_critical);
 1788       if (Tok.isNot(tok::annot_pragma_openmp_end))
 1799     while (Tok.isNot(tok::annot_pragma_openmp_end)) {
 1801           Tok.isAnnotation()
 1804                                : getOpenMPClauseKind(PP.getSpelling(Tok));
 1816       if (Tok.is(tok::comma))
 1821     EndLoc = Tok.getLocation();
 1869     Diag(Tok, diag::err_omp_unexpected_directive)
 1874     Diag(Tok, diag::err_omp_unknown_directive);
 1899   while (Tok.isNot(tok::r_paren) && Tok.isNot(tok::annot_pragma_openmp_end)) {
 1899   while (Tok.isNot(tok::r_paren) && Tok.isNot(tok::annot_pragma_openmp_end)) {
 1903     Token PrevTok = Tok;
 1916     } else if (Tok.isNot(tok::comma) && Tok.isNot(tok::r_paren) &&
 1916     } else if (Tok.isNot(tok::comma) && Tok.isNot(tok::r_paren) &&
 1917                Tok.isNot(tok::annot_pragma_openmp_end)) {
 1928     if (Tok.is(tok::comma)) {
 1934     Diag(Tok, diag::err_expected) << tok::identifier;
 1967     Diag(Tok, diag::err_omp_unexpected_clause) << getOpenMPClauseName(CKind)
 2011       Diag(Tok, diag::err_omp_more_one_clause)
 2033       Diag(Tok, diag::err_omp_more_one_clause)
 2048       Diag(Tok, diag::err_omp_more_one_clause)
 2079       Diag(Tok, diag::err_omp_more_one_clause)
 2109     Diag(Tok, diag::warn_omp_extra_tokens_at_eol)
 2117       Diag(Tok, diag::err_omp_unexpected_clause)
 2135   SourceLocation ELoc = Tok.getLocation();
 2142   RLoc = Tok.getLocation();
 2186   SourceLocation LLoc = Tok.getLocation();
 2244   SourceLocation Loc = Tok.getLocation();
 2249   return Actions.ActOnOpenMPClause(Kind, Loc, Tok.getLocation());
 2287         Kind, Tok.isAnnotation() ? "" : PP.getSpelling(Tok));
 2287         Kind, Tok.isAnnotation() ? "" : PP.getSpelling(Tok));
 2291       KLoc[Modifier1] = Tok.getLocation();
 2292       if (Tok.isNot(tok::r_paren) && Tok.isNot(tok::comma) &&
 2292       if (Tok.isNot(tok::r_paren) && Tok.isNot(tok::comma) &&
 2293           Tok.isNot(tok::annot_pragma_openmp_end))
 2295       if (Tok.is(tok::comma)) {
 2299             Kind, Tok.isAnnotation() ? "" : PP.getSpelling(Tok));
 2299             Kind, Tok.isAnnotation() ? "" : PP.getSpelling(Tok));
 2303         KLoc[Modifier2] = Tok.getLocation();
 2304         if (Tok.isNot(tok::r_paren) && Tok.isNot(tok::comma) &&
 2304         if (Tok.isNot(tok::r_paren) && Tok.isNot(tok::comma) &&
 2305             Tok.isNot(tok::annot_pragma_openmp_end))
 2309       if (Tok.is(tok::colon))
 2312         Diag(Tok, diag::warn_pragma_expected_colon) << "schedule modifier";
 2314           Kind, Tok.isAnnotation() ? "" : PP.getSpelling(Tok));
 2314           Kind, Tok.isAnnotation() ? "" : PP.getSpelling(Tok));
 2317     KLoc[ScheduleKind] = Tok.getLocation();
 2318     if (Tok.isNot(tok::r_paren) && Tok.isNot(tok::comma) &&
 2318     if (Tok.isNot(tok::r_paren) && Tok.isNot(tok::comma) &&
 2319         Tok.isNot(tok::annot_pragma_openmp_end))
 2324         Tok.is(tok::comma))
 2328         Kind, Tok.isAnnotation() ? "" : PP.getSpelling(Tok)));
 2328         Kind, Tok.isAnnotation() ? "" : PP.getSpelling(Tok)));
 2329     KLoc.push_back(Tok.getLocation());
 2330     if (Tok.isNot(tok::r_paren) && Tok.isNot(tok::comma) &&
 2330     if (Tok.isNot(tok::r_paren) && Tok.isNot(tok::comma) &&
 2331         Tok.isNot(tok::annot_pragma_openmp_end))
 2333     if (Arg.back() == OMPC_DIST_SCHEDULE_static && Tok.is(tok::comma))
 2338         Kind, Tok.isAnnotation() ? "" : PP.getSpelling(Tok)));
 2338         Kind, Tok.isAnnotation() ? "" : PP.getSpelling(Tok)));
 2339     KLoc.push_back(Tok.getLocation());
 2340     if (Tok.isNot(tok::r_paren) && Tok.isNot(tok::comma) &&
 2340     if (Tok.isNot(tok::r_paren) && Tok.isNot(tok::comma) &&
 2341         Tok.isNot(tok::annot_pragma_openmp_end))
 2344     if (Tok.is(tok::colon))
 2347       Diag(Tok, diag::warn_pragma_expected_colon) << "defaultmap modifier";
 2350         Kind, Tok.isAnnotation() ? "" : PP.getSpelling(Tok)));
 2350         Kind, Tok.isAnnotation() ? "" : PP.getSpelling(Tok)));
 2351     KLoc.push_back(Tok.getLocation());
 2352     if (Tok.isNot(tok::r_paren) && Tok.isNot(tok::comma) &&
 2352     if (Tok.isNot(tok::r_paren) && Tok.isNot(tok::comma) &&
 2353         Tok.isNot(tok::annot_pragma_openmp_end))
 2357     KLoc.push_back(Tok.getLocation());
 2362       if (Tok.is(tok::colon) && getLangOpts().OpenMP > 40) {
 2378     SourceLocation ELoc = Tok.getLocation();
 2386   SourceLocation RLoc = Tok.getLocation();
 2471   if (Tok.isNot(tok::identifier) && Tok.isNot(tok::kw_default)) {
 2471   if (Tok.isNot(tok::identifier) && Tok.isNot(tok::kw_default)) {
 2472     Diag(Tok.getLocation(), diag::err_omp_mapper_illegal_identifier);
 2479       DeclNames.getIdentifier(Tok.getIdentifierInfo()), Tok.getLocation());
 2479       DeclNames.getIdentifier(Tok.getIdentifierInfo()), Tok.getLocation());
 2494       Data.MapTypeModifiersLoc.push_back(Tok.getLocation());
 2498       Data.MapTypeModifiersLoc.push_back(Tok.getLocation());
 2506       if (Tok.is(tok::comma)) {
 2507         Diag(Tok, diag::err_omp_map_type_modifier_missing);
 2514       Diag(Tok, diag::err_omp_unknown_map_type_modifier);
 2582     if (Tok.is(tok::colon))
 2585       Diag(Tok, diag::warn_pragma_expected_colon) << "reduction identifier";
 2594             Kind, Tok.is(tok::identifier) ? PP.getSpelling(Tok) : ""));
 2594             Kind, Tok.is(tok::identifier) ? PP.getSpelling(Tok) : ""));
 2595     Data.DepLinMapLoc = Tok.getLocation();
 2609     if (Tok.is(tok::colon)) {
 2612       Diag(Tok, DKind == OMPD_ordered ? diag::warn_pragma_expected_colon_r_paren
 2618     if (Tok.is(tok::identifier) && PP.LookAhead(0).is(tok::l_paren)) {
 2620           getOpenMPSimpleClauseType(Kind, PP.getSpelling(Tok)));
 2632     Data.DepLinMapLoc = Tok.getLocation();
 2639       if (Tok.is(tok::colon))
 2657     if (Tok.is(tok::colon))
 2660     if (Tok.is(tok::identifier)) {
 2664             getOpenMPSimpleClauseType(Kind, PP.getSpelling(Tok)));
 2669             getOpenMPSimpleClauseType(Kind, PP.getSpelling(Tok)));
 2677         if (Tok.isNot(tok::colon)) {
 2679             Diag(Tok, diag::warn_pragma_expected_colon) << ")";
 2684         if (Tok.is(tok::colon))
 2697       if (Tok.is(tok::colon)) {
 2722   while (IsComma || (Tok.isNot(tok::r_paren) && Tok.isNot(tok::colon) &&
 2722   while (IsComma || (Tok.isNot(tok::r_paren) && Tok.isNot(tok::colon) &&
 2723                      Tok.isNot(tok::annot_pragma_openmp_end))) {
 2735     IsComma = Tok.is(tok::comma);
 2738     else if (Tok.isNot(tok::r_paren) &&
 2739              Tok.isNot(tok::annot_pragma_openmp_end) &&
 2740              (!MayHaveTail || Tok.isNot(tok::colon)))
 2741       Diag(Tok, diag::err_omp_expected_punc)
 2752   const bool MustHaveTail = MayHaveTail && Tok.is(tok::colon);
 2754     Data.ColonLoc = Tok.getLocation();
 2767   Data.RLoc = Tok.getLocation();
 2827   SourceLocation Loc = Tok.getLocation();
tools/clang/lib/Parse/ParsePragma.cpp
  498   assert(Tok.is(tok::annot_pragma_unused));
  500   Actions.ActOnPragmaUnused(Tok, getCurScope(), UnusedLoc);
  505   assert(Tok.is(tok::annot_pragma_vis));
  507     static_cast<IdentifierInfo *>(Tok.getAnnotationValue());
  521   assert(Tok.is(tok::annot_pragma_pack));
  523     static_cast<PragmaPackInfo *>(Tok.getAnnotationValue());
  524   SourceLocation PragmaLoc = Tok.getLocation();
  541   assert(Tok.is(tok::annot_pragma_msstruct));
  543       reinterpret_cast<uintptr_t>(Tok.getAnnotationValue()));
  549   assert(Tok.is(tok::annot_pragma_align));
  552     reinterpret_cast<uintptr_t>(Tok.getAnnotationValue()));
  553   Actions.ActOnPragmaOptionsAlign(Kind, Tok.getLocation());
  560   assert(Tok.is(tok::annot_pragma_dump));
  562       reinterpret_cast<IdentifierInfo *>(Tok.getAnnotationValue());
  563   Actions.ActOnPragmaDump(getCurScope(), Tok.getLocation(), II);
  568   assert(Tok.is(tok::annot_pragma_weak));
  570   Actions.ActOnPragmaWeakID(Tok.getIdentifierInfo(), PragmaLoc,
  571                             Tok.getLocation());
  576   assert(Tok.is(tok::annot_pragma_weakalias));
  578   IdentifierInfo *WeakName = Tok.getIdentifierInfo();
  579   SourceLocation WeakNameLoc = Tok.getLocation();
  581   IdentifierInfo *AliasName = Tok.getIdentifierInfo();
  582   SourceLocation AliasNameLoc = Tok.getLocation();
  590   assert(Tok.is(tok::annot_pragma_redefine_extname));
  592   IdentifierInfo *RedefName = Tok.getIdentifierInfo();
  593   SourceLocation RedefNameLoc = Tok.getLocation();
  595   IdentifierInfo *AliasName = Tok.getIdentifierInfo();
  596   SourceLocation AliasNameLoc = Tok.getLocation();
  603   assert(Tok.is(tok::annot_pragma_fp_contract));
  606     reinterpret_cast<uintptr_t>(Tok.getAnnotationValue()));
  626   assert(Tok.is(tok::annot_pragma_fenv_access));
  629     reinterpret_cast<uintptr_t>(Tok.getAnnotationValue()));
  651   assert(Tok.is(tok::annot_pragma_captured));
  654   if (Tok.isNot(tok::l_brace)) {
  655     PP.Diag(Tok, diag::err_expected) << tok::l_brace;
  659   SourceLocation Loc = Tok.getLocation();
  685   assert(Tok.is(tok::annot_pragma_opencl_extension));
  686   OpenCLExtData *Data = static_cast<OpenCLExtData*>(Tok.getAnnotationValue());
  689   SourceLocation NameLoc = Tok.getLocation();
  724   assert(Tok.is(tok::annot_pragma_ms_pointers_to_members));
  727           reinterpret_cast<uintptr_t>(Tok.getAnnotationValue()));
  733   assert(Tok.is(tok::annot_pragma_ms_vtordisp));
  734   uintptr_t Value = reinterpret_cast<uintptr_t>(Tok.getAnnotationValue());
  743   assert(Tok.is(tok::annot_pragma_ms_pragma));
  746       (std::pair<std::unique_ptr<Token[]>, size_t> *)Tok.getAnnotationValue();
  750   assert(Tok.isAnyIdentifier());
  751   StringRef PragmaName = Tok.getIdentifierInfo()->getName();
  752   PP.Lex(Tok); // pragma kind
  768     while (Tok.isNot(tok::eof))
  769       PP.Lex(Tok);
  770     PP.Lex(Tok);
  776   if (Tok.isNot(tok::l_paren)) {
  780   PP.Lex(Tok); // (
  782   if (Tok.isNot(tok::string_literal)) {
  798   while (Tok.is(tok::comma)) {
  799     PP.Lex(Tok); // ,
  803     if (Tok.is(tok::kw_long) || Tok.is(tok::kw_short)) {
  803     if (Tok.is(tok::kw_long) || Tok.is(tok::kw_short)) {
  804       PP.Lex(Tok); // long/short
  808     if (!Tok.isAnyIdentifier()) {
  815       Tok.getIdentifierInfo()->getName())
  829           << PragmaName << Tok.getIdentifierInfo()->getName();
  834     PP.Lex(Tok); // Identifier
  840   if (Tok.isNot(tok::r_paren)) {
  844   PP.Lex(Tok); // )
  845   if (Tok.isNot(tok::eof)) {
  850   PP.Lex(Tok); // eof
  857   if (Tok.isNot(tok::l_paren)) {
  861   PP.Lex(Tok); // (
  864   if (Tok.isAnyIdentifier()) {
  865     StringRef PushPop = Tok.getIdentifierInfo()->getName();
  877       PP.Lex(Tok); // push | pop
  878       if (Tok.is(tok::comma)) {
  879         PP.Lex(Tok); // ,
  881         if (Tok.isAnyIdentifier()) {
  882           SlotLabel = Tok.getIdentifierInfo()->getName();
  883           PP.Lex(Tok); // identifier
  884           if (Tok.is(tok::comma))
  885             PP.Lex(Tok);
  886           else if (Tok.isNot(tok::r_paren)) {
  892       } else if (Tok.isNot(tok::r_paren)) {
  900   if (Tok.isNot(tok::r_paren)) {
  901     if (Tok.isNot(tok::string_literal)) {
  922   if (Tok.isNot(tok::r_paren)) {
  926   PP.Lex(Tok); // )
  927   if (Tok.isNot(tok::eof)) {
  932   PP.Lex(Tok); // eof
  952   if (Tok.isAnyIdentifier()) {
  953     auto *II = Tok.getIdentifierInfo();
  965       Toks[0].setLocation(Tok.getLocation());
  970       PP.Lex(Tok);
  972   } else if (Tok.is(tok::string_literal)) {
 1019   assert(Tok.is(tok::annot_pragma_loop_hint));
 1021       static_cast<PragmaLoopHintInfo *>(Tok.getAnnotationValue());
 1111       Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol)
 1124     if (Tok.isNot(tok::eof)) {
 1125       Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol)
 1127       while (Tok.isNot(tok::eof))
 1213   if (getIdentifier(Tok) == "any") {
 1222     StringRef Name = getIdentifier(Tok);
 1224       Diag(Tok, diag::err_pragma_attribute_expected_subject_identifier);
 1231       Diag(Tok, diag::err_pragma_attribute_unknown_subject_rule) << Name;
 1249                    RuleLoc, Tok.is(tok::comma) ? Tok.getLocation() : RuleLoc));
 1249                    RuleLoc, Tok.is(tok::comma) ? Tok.getLocation() : RuleLoc));
 1255     StringRef SubRuleName = getIdentifier(Tok);
 1258                                               Tok.getLocation());
 1267       SubRuleName = getIdentifier(Tok);
 1288                                                SubRuleName, Tok.getLocation());
 1294     SourceLocation RuleEndLoc = Tok.getLocation();
 1304                  RuleLoc, Tok.is(tok::comma) ? Tok.getLocation() : RuleEndLoc));
 1304                  RuleLoc, Tok.is(tok::comma) ? Tok.getLocation() : RuleEndLoc));
 1400   assert(Tok.is(tok::annot_pragma_attribute) &&
 1402   SourceLocation PragmaLoc = Tok.getLocation();
 1403   auto *Info = static_cast<PragmaAttributeInfo *>(Tok.getAnnotationValue());
 1432   if (Tok.is(tok::l_square) && NextToken().is(tok::l_square)) {
 1435   } else if (Tok.is(tok::kw___attribute)) {
 1443     if (Tok.isNot(tok::identifier)) {
 1444       Diag(Tok, diag::err_pragma_attribute_expected_attribute_name);
 1448     IdentifierInfo *AttrName = Tok.getIdentifierInfo();
 1451     if (Tok.isNot(tok::l_paren))
 1464   } else if (Tok.is(tok::kw___declspec)) {
 1467     Diag(Tok, diag::err_pragma_attribute_expected_attribute_syntax);
 1468     if (Tok.getIdentifierInfo()) {
 1472               Tok.getIdentifierInfo(), /*ScopeName=*/nullptr,
 1474         SourceLocation InsertStartLoc = Tok.getLocation();
 1476         if (Tok.is(tok::l_paren)) {
 1479           if (Tok.isNot(tok::r_paren))
 1482         Diag(Tok, diag::note_pragma_attribute_use_attribute_kw)
 1484             << FixItHint::CreateInsertion(Tok.getEndLoc(), "))");
 1522   if (Tok.isNot(tok::identifier)) {
 1529   const IdentifierInfo *II = Tok.getIdentifierInfo();
 1558   if (Tok.isNot(tok::eof)) {
 1559     Diag(Tok, diag::err_pragma_attribute_extra_tokens_after_attribute);
 2752   assert(Tok.is(tok::annot_pragma_fp));
 2754       reinterpret_cast<TokFPAnnotValue *>(Tok.getAnnotationValue());
tools/clang/lib/Parse/ParseStmt.cpp
  162   tok::TokenKind Kind  = Tok.getKind();
  194         if (Tok.is(tok::semi))
  200       if (Tok.isNot(tok::identifier))
  213       SourceLocation DeclStart = Tok.getLocation(), DeclEnd;
  228     if (Tok.is(tok::r_brace)) {
  229       Diag(Tok, diag::err_expected_statement);
  237     GNUAttributeLoc = Tok.getLocation();
  250     bool HasLeadingEmptyMacro = Tok.hasLeadingEmptyMacro();
  356     Diag(Tok, diag::err_pragma_fp_contract_scope);
  362     Diag(Tok, diag::err_pragma_fp_scope);
  428   Token OldToken = Tok;
  430   ExprStatementTokLoc = Tok.getLocation();
  439     if (Tok.is(tok::semi))
  444   if (Tok.is(tok::colon) && getCurScope()->isSwitchScope() &&
  470   assert(Tok.is(tok::kw___try) && "Expected '__try'");
  473   if (Tok.isNot(tok::l_brace))
  474     return StmtError(Diag(Tok, diag::err_expected) << tok::l_brace);
  483   if (Tok.is(tok::identifier) &&
  484       Tok.getIdentifierInfo() == getSEHExceptKeyword()) {
  487   } else if (Tok.is(tok::kw___finally)) {
  491     return StmtError(Diag(Tok, diag::err_seh_expected_handler));
  544   if (Tok.isNot(tok::l_brace))
  545     return StmtError(Diag(Tok, diag::err_expected) << tok::l_brace);
  565   if (Tok.isNot(tok::l_brace))
  566     return StmtError(Diag(Tok, diag::err_expected) << tok::l_brace);
  598   assert(Tok.is(tok::identifier) && Tok.getIdentifierInfo() &&
  598   assert(Tok.is(tok::identifier) && Tok.getIdentifierInfo() &&
  605   Token IdentTok = Tok;  // Save the whole token.
  608   assert(Tok.is(tok::colon) && "Not a label!");
  615   if (Tok.is(tok::kw___attribute)) {
  626     if (!getLangOpts().CPlusPlus || Tok.is(tok::semi))
  640       Diag(Tok, diag::err_expected_after) << "__attribute__" << tok::semi;
  668   assert((MissingCase || Tok.is(tok::kw_case)) && "Not a case stmt!");
  704     if (Tok.is(tok::code_completion)) {
  779   } while (Tok.is(tok::kw_case));
  784   if (Tok.isNot(tok::r_brace)) {
  816   assert(Tok.is(tok::kw_default) && "Not a default stmt!");
  841   if (Tok.isNot(tok::r_brace)) {
  889   assert(Tok.is(tok::l_brace) && "Not a compount stmt!");
  905     switch (Tok.getKind()) {
  962   if (!Tok.is(tok::semi))
  965   SourceLocation StartLoc = Tok.getLocation();
  968   while (Tok.is(tok::semi) && !Tok.hasLeadingEmptyMacro() &&
  968   while (Tok.is(tok::semi) && !Tok.hasLeadingEmptyMacro() &&
  969          Tok.getLocation().isValid() && !Tok.getLocation().isMacroID()) {
  969          Tok.getLocation().isValid() && !Tok.getLocation().isMacroID()) {
  970     EndLoc = Tok.getLocation();
 1014                                 Tok.getLocation(),
 1035   while (Tok.is(tok::kw___label__)) {
 1040       if (Tok.isNot(tok::identifier)) {
 1041         Diag(Tok, diag::err_expected) << tok::identifier;
 1045       IdentifierInfo *II = Tok.getIdentifierInfo();
 1056     StmtResult R = Actions.ActOnDeclStmt(Res, LabelLoc, Tok.getLocation());
 1067   while (!tryParseMisplacedModuleImport() && Tok.isNot(tok::r_brace) &&
 1068          Tok.isNot(tok::eof)) {
 1069     if (Tok.is(tok::annot_pragma_unused)) {
 1078     if (Tok.isNot(tok::kw___extension__)) {
 1086       while (Tok.is(tok::kw___extension__))
 1099         SourceLocation DeclStart = Tok.getLocation(), DeclEnd;
 1125   SourceLocation CloseLoc = Tok.getLocation();
 1171   if (Cond.isInvalid() && Tok.isNot(tok::r_paren)) {
 1175     if (Tok.isNot(tok::r_paren))
 1185   while (Tok.is(tok::r_paren)) {
 1186     Diag(Tok, diag::err_extraneous_rparen_in_condition)
 1187       << FixItHint::CreateRemoval(Tok.getLocation());
 1203   assert(Tok.is(tok::kw_if) && "Not an if stmt!");
 1207   if (Tok.is(tok::kw_constexpr)) {
 1208     Diag(Tok, getLangOpts().CPlusPlus17 ? diag::warn_cxx14_compat_constexpr_if
 1214   if (Tok.isNot(tok::l_paren)) {
 1215     Diag(Tok, diag::err_expected_lparen_after) << "if";
 1266   ParseScope InnerScope(this, Scope::DeclScope, C99orCXX, Tok.is(tok::l_brace));
 1269   SourceLocation ThenStmtLoc = Tok.getLocation();
 1289   if (Tok.is(tok::kw_else)) {
 1291       *TrailingElseLoc = Tok.getLocation();
 1294     ElseStmtLoc = Tok.getLocation();
 1306                           Tok.is(tok::l_brace));
 1316   } else if (Tok.is(tok::code_completion)) {
 1351   assert(Tok.is(tok::kw_switch) && "Not a switch stmt!");
 1354   if (Tok.isNot(tok::l_paren)) {
 1355     Diag(Tok, diag::err_expected_lparen_after) << "switch";
 1394     if (Tok.is(tok::l_brace)) {
 1414   ParseScope InnerScope(this, Scope::DeclScope, C99orCXX, Tok.is(tok::l_brace));
 1436   assert(Tok.is(tok::kw_while) && "Not a while stmt!");
 1437   SourceLocation WhileLoc = Tok.getLocation();
 1440   if (Tok.isNot(tok::l_paren)) {
 1441     Diag(Tok, diag::err_expected_lparen_after) << "while";
 1485   ParseScope InnerScope(this, Scope::DeclScope, C99orCXX, Tok.is(tok::l_brace));
 1505   assert(Tok.is(tok::kw_do) && "Not a do stmt!");
 1527   ParseScope InnerScope(this, Scope::DeclScope, C99orCXX, Tok.is(tok::l_brace));
 1535   if (Tok.isNot(tok::kw_while)) {
 1537       Diag(Tok, diag::err_expected_while);
 1545   if (Tok.isNot(tok::l_paren)) {
 1546     Diag(Tok, diag::err_expected_lparen_after) << "do/while";
 1573   assert(Tok.is(tok::identifier));
 1583     bool Result = Tok.is(tok::colon);
 1614   assert(Tok.is(tok::kw_for) && "Not a for stmt!");
 1618   if (Tok.is(tok::kw_co_await))
 1621   if (Tok.isNot(tok::l_paren)) {
 1622     Diag(Tok, diag::err_expected_lparen_after) << "for";
 1663   if (Tok.is(tok::code_completion)) {
 1677   if (Tok.is(tok::semi)) {  // for (;
 1680     SourceLocation SemiLoc = Tok.getLocation();
 1681     if (!Tok.hasLeadingEmptyMacro() && !SemiLoc.isMacroID())
 1684   } else if (getLangOpts().CPlusPlus && Tok.is(tok::identifier) &&
 1687     IdentifierInfo *Name = Tok.getIdentifierInfo();
 1692     if (Tok.is(tok::l_brace))
 1709       Diag(Tok, diag::ext_c99_variable_decl_in_for_loop);
 1710       Diag(Tok, diag::warn_gcc_variable_decl_in_for_loop);
 1717     SourceLocation DeclStart = Tok.getLocation(), DeclEnd;
 1721     FirstPart = Actions.ActOnDeclStmt(DG, DeclStart, Tok.getLocation());
 1727     } else if (Tok.is(tok::semi)) {  // for (int x = 4;
 1734       if (Tok.is(tok::code_completion)) {
 1741       Diag(Tok, diag::err_expected_semi_for);
 1760             getLangOpts().CPlusPlus11 && !ForEach && Tok.is(tok::colon);
 1765     if (Tok.is(tok::semi)) {
 1770       if (Tok.is(tok::code_completion)) {
 1776     } else if (getLangOpts().CPlusPlus11 && Tok.is(tok::colon) && FirstPart.get()) {
 1779       Diag(Tok, diag::err_for_range_expected_decl)
 1785         Diag(Tok, diag::err_expected_semi_for);
 1789         if (Tok.is(tok::semi))
 1800     if (Tok.is(tok::semi)) {  // for (...;;
 1802     } else if (Tok.is(tok::r_paren)) {
 1842     if (Tok.isNot(tok::semi)) {
 1844         Diag(Tok, diag::err_expected_semi_for);
 1850     if (Tok.is(tok::semi)) {
 1854     if (Tok.isNot(tok::r_paren)) {   // for (...;...;)
 1912                         Tok.is(tok::l_brace));
 1953   assert(Tok.is(tok::kw_goto) && "Not a goto stmt!");
 1957   if (Tok.is(tok::identifier)) {
 1958     LabelDecl *LD = Actions.LookupOrCreateLabel(Tok.getIdentifierInfo(),
 1959                                                 Tok.getLocation());
 1960     Res = Actions.ActOnGotoStmt(GotoLoc, Tok.getLocation(), LD);
 1962   } else if (Tok.is(tok::star)) {
 1964     Diag(Tok, diag::ext_gnu_indirect_goto);
 1973     Diag(Tok, diag::err_expected) << tok::identifier;
 2009   assert((Tok.is(tok::kw_return) || Tok.is(tok::kw_co_return)) &&
 2009   assert((Tok.is(tok::kw_return) || Tok.is(tok::kw_co_return)) &&
 2011   bool IsCoreturn = Tok.is(tok::kw_co_return);
 2015   if (Tok.isNot(tok::semi)) {
 2017       PreferredType.enterReturn(Actions, Tok.getLocation());
 2019     if (Tok.is(tok::code_completion) && !IsCoreturn) {
 2021                                      PreferredType.get(Tok.getLocation()));
 2026     if (Tok.is(tok::l_brace) && getLangOpts().CPlusPlus) {
 2054   while (Tok.is(tok::annot_pragma_loop_hint)) {
 2077   assert(Tok.is(tok::l_brace));
 2078   SourceLocation LBraceLoc = Tok.getLocation();
 2110   assert(Tok.is(tok::kw_try) && "Expected 'try'");
 2117   if (Tok.is(tok::colon))
 2128   SourceLocation LBraceLoc = Tok.getLocation();
 2152   bool IsTryCatch = Tok.is(tok::kw_try);
 2170   while (IsTryCatch && Tok.is(tok::kw_catch)) {
 2187   assert(Tok.is(tok::kw_try) && "Expected 'try'");
 2210   if (Tok.isNot(tok::l_brace))
 2211     return StmtError(Diag(Tok, diag::err_expected) << tok::l_brace);
 2222   if ((Tok.is(tok::identifier) &&
 2223        Tok.getIdentifierInfo() == getSEHExceptKeyword()) ||
 2224       Tok.is(tok::kw___finally)) {
 2227     if(Tok.getIdentifierInfo() == getSEHExceptKeyword()) {
 2250     if (Tok.isNot(tok::kw_catch))
 2251       return StmtError(Diag(Tok, diag::err_expected_catch));
 2252     while (Tok.is(tok::kw_catch)) {
 2277   assert(Tok.is(tok::kw_catch) && "Expected 'catch'");
 2295   if (Tok.isNot(tok::ellipsis)) {
 2315   if (Tok.isNot(tok::l_brace))
 2316     return StmtError(Diag(Tok, diag::err_expected) << tok::l_brace);
 2336     if (!Tok.is(tok::l_brace)) {
 2337       Diag(Tok, diag::err_expected) << tok::l_brace;
 2357     Diag(Tok, diag::err_expected) << tok::l_brace;
 2375   while (Tok.isNot(tok::r_brace)) {
 2393   if (!(Tok.is(tok::kw_for) || Tok.is(tok::kw_while) || Tok.is(tok::kw_do))) {
 2393   if (!(Tok.is(tok::kw_for) || Tok.is(tok::kw_while) || Tok.is(tok::kw_do))) {
 2393   if (!(Tok.is(tok::kw_for) || Tok.is(tok::kw_while) || Tok.is(tok::kw_do))) {
 2394     Diag(Tok, diag::err_opencl_unroll_hint_on_non_loop);
tools/clang/lib/Parse/ParseStmtAsm.cpp
  213   LineToks.push_back(Tok);
  232   if (Tok.is(tok::kw_this)) {
  249   while (Result.isUsable() && Tok.is(tok::period)) {
  254     IdentifierInfo *Id = Tok.getIdentifierInfo();
  257                                                  Tok.getLocation());
  262   if (Tok.is(EndOfStream)) {
  265     while (LineToks[LineIndex].getLocation() != Tok.getLocation()) {
  273   if (Invalid || Tok.is(EndOfStream)) {
  285   assert(Tok.is(EndOfStream));
  409   if (Tok.is(tok::l_brace)) {
  425   SourceLocation TokLoc = Tok.getLocation();
  431     if (!InAsmComment && Tok.is(tok::l_brace)) {
  433       SkippedStartOfLine = Tok.isAtStartOfLine();
  434       AsmToks.push_back(Tok);
  438       TokLoc = Tok.getLocation();
  441     } else if (!InAsmComment && Tok.is(tok::semi)) {
  462         bool isAsm = Tok.is(tok::kw_asm);
  473           SkippedStartOfLine = Tok.isAtStartOfLine();
  474         } else if (Tok.is(tok::semi)) {
  480       } else if (!InAsmComment && Tok.is(tok::r_brace)) {
  488     if (!InAsmComment && BraceNesting && Tok.is(tok::r_brace) &&
  491       SkippedStartOfLine = Tok.isAtStartOfLine();
  494         Tok.clearFlag(Token::LeadingSpace);
  495         AsmToks.push_back(Tok);
  505         TokLoc = Tok.getLocation();
  515       PP.Lex(Tok);
  520         Tok.setFlag(Token::StartOfLine);
  521       AsmToks.push_back(Tok);
  524     TokLoc = Tok.getLocation();
  532       Diag(Tok, diag::err_expected) << tok::r_brace;
  539     Diag(Tok, diag::err_expected) << tok::l_brace;
  690   assert(Tok.is(tok::kw_asm) && "Not an asm stmt");
  693   if (getLangOpts().AsmBlocks && !isGCCAsmStatement(Tok)) {
  699   SourceLocation Loc = Tok.getLocation();
  716   if (Tok.is(tok::kw_goto)) {
  721   if (Tok.isNot(tok::l_paren)) {
  722     Diag(Tok, diag::err_expected_lparen_after) << "asm";
  750   if (Tok.is(tok::r_paren)) {
  762   if (Tok.is(tok::colon) || Tok.is(tok::coloncolon)) {
  762   if (Tok.is(tok::colon) || Tok.is(tok::coloncolon)) {
  764     AteExtraColon = Tok.is(tok::coloncolon);
  767     if (!AteExtraColon && isGotoAsm && Tok.isNot(tok::colon)) {
  768       Diag(Tok, diag::err_asm_goto_cannot_have_output);
  780   if (AteExtraColon || Tok.is(tok::colon) || Tok.is(tok::coloncolon)) {
  780   if (AteExtraColon || Tok.is(tok::colon) || Tok.is(tok::coloncolon)) {
  785       AteExtraColon = Tok.is(tok::coloncolon);
  799   if (AteExtraColon || Tok.is(tok::colon) || Tok.is(tok::coloncolon)) {
  799   if (AteExtraColon || Tok.is(tok::colon) || Tok.is(tok::coloncolon)) {
  803       AteExtraColon = Tok.is(tok::coloncolon);
  821   if (!isGotoAsm && (Tok.isNot(tok::r_paren) || AteExtraColon)) {
  822     Diag(Tok, diag::err_expected) << tok::r_paren;
  829   if (AteExtraColon || Tok.is(tok::colon)) {
  834       if (Tok.isNot(tok::identifier)) {
  835         Diag(Tok, diag::err_expected) << tok::identifier;
  839       LabelDecl *LD = Actions.LookupOrCreateLabel(Tok.getIdentifierInfo(),
  840                                                   Tok.getLocation());
  841       Names.push_back(Tok.getIdentifierInfo());
  847           Actions.ActOnAddrLabel(Tok.getLocation(), Tok.getLocation(), LD);
  847           Actions.ActOnAddrLabel(Tok.getLocation(), Tok.getLocation(), LD);
  855     Diag(Tok, diag::err_expected) << tok::colon;
  883   if (!isTokenStringLiteral() && Tok.isNot(tok::l_square))
  888     if (Tok.is(tok::l_square)) {
  892       if (Tok.isNot(tok::identifier)) {
  893         Diag(Tok, diag::err_expected) << tok::identifier;
  898       IdentifierInfo *II = Tok.getIdentifierInfo();
  913     if (Tok.isNot(tok::l_paren)) {
  914       Diag(Tok, diag::err_expected_lparen_after) << "asm operand";
tools/clang/lib/Parse/ParseTemplate.cpp
   31   if (Tok.is(tok::kw_template) && NextToken().isNot(tok::less)) {
   66   assert(Tok.isOneOf(tok::kw_export, tok::kw_template) &&
  111       Diag(Tok.getLocation(), diag::err_expected_template);
  148   } while (Tok.isOneOf(tok::kw_export, tok::kw_template));
  154   if (Tok.is(tok::kw_concept))
  183   if (Tok.is(tok::kw_static_assert)) {
  185     Diag(Tok.getLocation(), diag::err_templated_invalid_declaration)
  201   if (Tok.is(tok::kw_using)) {
  216   if (Tok.is(tok::semi)) {
  245     if (Tok.is(tok::semi))
  267       Diag(Tok, diag::err_function_definition_not_allowed);
  286         Diag(Tok, diag::err_template_defn_explicit_instantiation) << 0;
  318   if (Tok.is(tok::comma)) {
  319     Diag(Tok, diag::err_multiple_template_declarators)
  344   assert(Tok.is(tok::kw_concept) &&
  351     Diag(Tok.getLocation(), diag::ext_concept_legacy_bool_keyword) <<
  392     Diag(Tok.getLocation(), diag::err_expected) << tok::equal;
  404   DeclEnd = Tok.getLocation();
  426     Diag(Tok.getLocation(), diag::err_expected_less_after) << "template";
  432   if (!Tok.is(tok::greater) && !Tok.is(tok::greatergreater))
  432   if (!Tok.is(tok::greater) && !Tok.is(tok::greatergreater))
  435   if (Tok.is(tok::greatergreater)) {
  441     Tok.setKind(tok::greater);
  442     RAngleLoc = Tok.getLocation();
  443     Tok.setLocation(Tok.getLocation().getLocWithOffset(1));
  443     Tok.setLocation(Tok.getLocation().getLocWithOffset(1));
  445     Diag(Tok.getLocation(), diag::err_expected) << tok::greater;
  475     if (Tok.is(tok::comma)) {
  477     } else if (Tok.isOneOf(tok::greater, tok::greatergreater)) {
  484       Diag(Tok.getLocation(), diag::err_expected_comma_greater);
  496   if (Tok.is(tok::kw_class)) {
  530   if (Tok.isNot(tok::kw_typename) && Tok.isNot(tok::kw_typedef))
  530   if (Tok.isNot(tok::kw_typename) && Tok.isNot(tok::kw_typedef))
  583     if (Tok.is(tok::kw_typedef)) {
  584       Diag(Tok.getLocation(), diag::err_expected_template_parameter);
  586       Diag(Tok.getLocation(), diag::note_meant_to_use_typename)
  588                                               Tok.getLocation(), Tok.getEndLoc()),
  588                                               Tok.getLocation(), Tok.getEndLoc()),
  591       Tok.setKind(tok::kw_typename);
  597   if (Tok.is(tok::kw_template))
  616   assert(Tok.isOneOf(tok::kw_class, tok::kw_typename) &&
  620   bool TypenameKeyword = Tok.is(tok::kw_typename);
  633   SourceLocation NameLoc = Tok.getLocation();
  635   if (Tok.is(tok::identifier)) {
  636     ParamName = Tok.getIdentifierInfo();
  638   } else if (Tok.isOneOf(tok::equal, tok::comma, tok::greater,
  643     Diag(Tok.getLocation(), diag::err_expected) << tok::identifier;
  679   assert(Tok.is(tok::kw_template) && "Expected 'template' keyword");
  699     bool Replace = Tok.isOneOf(tok::kw_typename, tok::kw_struct);
  700     const Token &Next = Tok.is(tok::kw_struct) ? NextToken() : Tok;
  700     const Token &Next = Tok.is(tok::kw_struct) ? NextToken() : Tok;
  701     if (Tok.is(tok::kw_typename)) {
  702       Diag(Tok.getLocation(),
  707                 ? FixItHint::CreateReplacement(Tok.getLocation(), "class")
  711       Diag(Tok.getLocation(), diag::err_class_on_template_template_param)
  712         << (Replace ? FixItHint::CreateReplacement(Tok.getLocation(), "class")
  713                     : FixItHint::CreateInsertion(Tok.getLocation(), "class "));
  715       Diag(Tok.getLocation(), diag::err_class_on_template_template_param);
  730   SourceLocation NameLoc = Tok.getLocation();
  732   if (Tok.is(tok::identifier)) {
  733     ParamName = Tok.getIdentifierInfo();
  735   } else if (Tok.isOneOf(tok::equal, tok::comma, tok::greater,
  740     Diag(Tok.getLocation(), diag::err_expected) << tok::identifier;
  763       Diag(Tok.getLocation(),
  795     Diag(Tok.getLocation(), diag::err_expected_template_parameter);
  875   switch (Tok.getKind()) {
  877     Diag(Tok.getLocation(), diag::err_expected) << tok::greater;
  883     RAngleLoc = Tok.getLocation();
  904         areTokensAdjacent(Tok, NextToken())) {
  924   SourceLocation TokLoc = Tok.getLocation();
  936       areTokensAdjacent(Tok, Next);
  959         (Tok.is(tok::greatergreater) || Tok.is(tok::greatergreatergreater)))
  959         (Tok.is(tok::greatergreater) || Tok.is(tok::greatergreatergreater)))
  961     else if (Tok.is(tok::greaterequal))
  977   bool CachingTokens = PP.IsPreviousCachedToken(Tok);
  979   Token Greater = Tok;
  984   unsigned OldLength = Tok.getLength();
  987     OldLength += Tok.getLength();
  990   Tok.setKind(RemainingToken);
  991   Tok.setLength(OldLength - GreaterLength);
  997     AfterGreaterLoc = PP.SplitToken(AfterGreaterLoc, Tok.getLength());
  998   Tok.setLocation(AfterGreaterLoc);
 1007       PP.ReplacePreviousCachedToken({Greater, Tok});
 1016     PP.EnterToken(Tok, /*IsReinject=*/true);
 1017     Tok = Greater;
 1040   assert(Tok.is(tok::less) && "Must have already parsed the template-name");
 1049     if (!Tok.isOneOf(tok::greater, tok::greatergreater,
 1111   assert(Template && Tok.is(tok::less) &&
 1150     Tok.setKind(tok::annot_typename);
 1151     setTypeAnnotation(Tok, Type.get());
 1153       Tok.setLocation(SS.getBeginLoc());
 1155       Tok.setLocation(TemplateKWLoc);
 1157       Tok.setLocation(TemplateNameLoc);
 1161     Tok.setKind(tok::annot_template_id);
 1177     Tok.setAnnotationValue(TemplateId);
 1179       Tok.setLocation(TemplateKWLoc);
 1181       Tok.setLocation(TemplateNameLoc);
 1185   Tok.setAnnotationEndLoc(RAngleLoc);
 1189   PP.AnnotateCachedTokens(Tok);
 1205   assert(Tok.is(tok::annot_template_id) && "Requires template-id tokens");
 1207   TemplateIdAnnotation *TemplateId = takeTemplateIdAnnotation(Tok);
 1229   Tok.setKind(tok::annot_typename);
 1230   setTypeAnnotation(Tok, Type.isInvalid() ? nullptr : Type.get());
 1232     Tok.setLocation(TemplateId->SS.getBeginLoc());
 1237   PP.AnnotateCachedTokens(Tok);
 1247   if (!Tok.is(tok::identifier) && !Tok.is(tok::coloncolon) &&
 1247   if (!Tok.is(tok::identifier) && !Tok.is(tok::coloncolon) &&
 1248       !Tok.is(tok::annot_cxxscope))
 1268   if (SS.isSet() && Tok.is(tok::kw_template)) {
 1273     if (Tok.is(tok::identifier)) {
 1276       Name.setIdentifier(Tok.getIdentifierInfo(), Tok.getLocation());
 1276       Name.setIdentifier(Tok.getIdentifierInfo(), Tok.getLocation());
 1285       if (isEndOfTemplateArgument(Tok) &&
 1292   } else if (Tok.is(tok::identifier)) {
 1296     Name.setIdentifier(Tok.getIdentifierInfo(), Tok.getLocation());
 1296     Name.setIdentifier(Tok.getIdentifierInfo(), Tok.getLocation());
 1301     if (isEndOfTemplateArgument(Tok)) {
 1366   SourceLocation Loc = Tok.getLocation();
 1498   LPT.Toks.push_back(Tok);
 1503   assert(Tok.isOneOf(tok::l_brace, tok::colon, tok::kw_try) &&
 1517   if (Tok.is(tok::kw_try)) {
 1520     if (Tok.is(tok::colon))
 1525     if (Tok.is(tok::l_brace)) {
 1548   tok::TokenKind kind = Tok.getKind();
 1556     while (Tok.is(tok::kw_catch)) {
 1588   assert(Tok.is(tok::less) && "not at a potential angle bracket");
 1633       (Tok.hasLeadingSpace() ? AngleBracketTracker::SpaceBeforeLess
 1635   AngleBrackets.add(*this, PotentialTemplateName.get(), Tok.getLocation(),
 1653   if (OpToken.is(tok::greater) && Tok.is(tok::l_paren) &&
tools/clang/lib/Parse/ParseTentative.cpp
   50   switch (Tok.getKind()) {
  155   switch (Tok.getKind()) {
  166     if (Tok.isNot(tok::l_paren))
  189     while (Tok.isOneOf(tok::l_square, tok::kw___attribute, tok::kw___declspec,
  191       if (Tok.is(tok::l_square)) {
  197         if (Tok.isNot(tok::l_paren))
  205     if (Tok.isOneOf(tok::identifier, tok::coloncolon, tok::kw_decltype,
  209     if (Tok.is(tok::annot_cxxscope))
  211     if (Tok.is(tok::identifier))
  213     else if (Tok.is(tok::annot_template_id))
  225     if (getLangOpts().ObjC && Tok.is(tok::less))
  248   if (Tok.isNot(tok::l_paren)) {
  261   if (Tok.isNot(tok::semi) && (!AllowForRangeDecl || Tok.isNot(tok::colon)))
  261   if (Tok.isNot(tok::semi) && (!AllowForRangeDecl || Tok.isNot(tok::colon)))
  302     if (Tok.isOneOf(tok::kw_asm, tok::kw___attribute))
  306     if (Tok.is(tok::l_paren)) {
  311     } else if (Tok.is(tok::l_brace)) {
  315     } else if (Tok.is(tok::equal) || isTokIdentifier_in()) {
  375           if (P.Tok.is(tok::question))
  377           else if (P.Tok.is(tok::colon)) {
  394       if (P.Tok.isNot(tok::r_paren))
  396       if (P.Tok.isNot(tok::semi))
  478   assert(Tok.is(tok::l_paren) && "Expected '('");
  488     if (Tok.isOneOf(tok::equal, tok::kw_asm, tok::kw___attribute) ||
  489         (getLangOpts().CPlusPlus11 && Tok.is(tok::l_brace))) {
  495     if (State.CanBeForRangeDecl && Tok.is(tok::colon))
  509     if (Tok.is(tok::l_paren)) {
  519   if (State.CanBeCondition && Tok.is(tok::r_paren))
  521   else if (State.CanBeInitStatement && Tok.is(tok::semi))
  570   assert(Tok.is(tok::l_paren) && "Expected '('");
  582     if (Context == TypeIdInParens && Tok.is(tok::r_paren)) {
  591                (Tok.isOneOf(tok::greater, tok::comma) ||
  593                  (Tok.isOneOf(tok::greatergreater,
  595                   (Tok.is(tok::ellipsis) &&
  646   if (Tok.is(tok::kw_alignas))
  649   if (Tok.isNot(tok::l_square) || NextToken().isNot(tok::l_square))
  669     IsAttribute &= Tok.is(tok::r_square);
  706       if (Tok.is(tok::r_square))
  729   while (Tok.isNot(tok::r_square)) {
  730     if (Tok.is(tok::comma)) {
  745     if (Tok.is(tok::coloncolon)) {
  754     if (Tok.is(tok::l_paren)) {
  770     if (Tok.is(tok::r_square)) {
  772       IsAttribute = Tok.is(tok::r_square);
  788     if (Tok.isOneOf(tok::coloncolon, tok::identifier))
  792     if (Tok.isOneOf(tok::star, tok::amp, tok::caret, tok::ampamp) ||
  793         (Tok.is(tok::annot_cxxscope) && NextToken().is(tok::star))) {
  796       while (Tok.isOneOf(tok::kw_const, tok::kw_volatile, tok::kw_restrict,
  825   assert(Tok.is(tok::kw_operator));
  829   switch (Tok.getKind()) {
  832     if (Tok.is(tok::l_square) && NextToken().is(tok::r_square)) {
  869       FoundUDSuffix |= Tok.hasUDSuffix();
  874       if (Tok.is(tok::identifier))
  964   if (Tok.is(tok::ellipsis))
  967   if ((Tok.isOneOf(tok::identifier, tok::kw_operator) ||
  968        (Tok.is(tok::annot_cxxscope) && (NextToken().is(tok::identifier) ||
  972     if (Tok.is(tok::annot_cxxscope))
  974     else if (Tok.is(tok::identifier))
  975       TentativelyDeclaredIdentifiers.push_back(Tok.getIdentifierInfo());
  976     if (Tok.is(tok::kw_operator)) {
  981   } else if (Tok.is(tok::l_paren)) {
  984         (Tok.is(tok::r_paren) ||       // 'int()' is a function.
  986          (Tok.is(tok::ellipsis) && NextToken().is(tok::r_paren)) ||
  997       if (Tok.isOneOf(tok::kw___attribute, tok::kw___declspec, tok::kw___cdecl,
 1004       if (Tok.isNot(tok::r_paren))
 1018     if (Tok.is(tok::l_paren)) {
 1030     } else if (Tok.is(tok::l_square)) {
 1315   switch (Tok.getKind()) {
 1346           if (Tok.isNot(tok::identifier))
 1358       assert(Tok.isNot(tok::identifier) &&
 1370       if (Tok.is(tok::identifier))
 1507     TemplateIdAnnotation *TemplateId = takeTemplateIdAnnotation(Tok);
 1522     assert(Tok.is(tok::annot_typename));
 1530     if (!Tok.is(tok::annot_typename)) {
 1533       if (Tok.is(tok::annot_cxxscope) && NextToken().is(tok::identifier)) {
 1535         Actions.RestoreNestedNameSpecifierAnnotation(Tok.getAnnotationValue(),
 1536                                                      Tok.getAnnotationRange(),
 1542           bool isIdentifier = Tok.is(tok::identifier);
 1562               if (((Tok.is(tok::amp) || Tok.is(tok::star)) &&
 1562               if (((Tok.is(tok::amp) || Tok.is(tok::star)) &&
 1565                   (Tok.is(tok::ampamp) && NextToken().is(tok::greater)))
 1583               if (Tok.isNot(tok::identifier))
 1600           assert(Tok.isNot(tok::annot_cxxscope) ||
 1637       bool isFollowedByParen = Tok.is(tok::l_paren);
 1638       bool isFollowedByBrace = Tok.is(tok::l_brace);
 1700     bool isFollowedByParen = Tok.is(tok::l_paren);
 1701     bool isFollowedByBrace = Tok.is(tok::l_brace);
 1729   switch (Tok.getKind()) {
 1789   assert(Tok.is(tok::kw_typeof) && "Expected 'typeof'!");
 1792   assert(Tok.is(tok::l_paren) && "Expected '('");
 1804   assert(Tok.is(tok::less) && "Expected '<' for qualifier list");
 1807     if (Tok.isNot(tok::identifier))
 1811     if (Tok.is(tok::comma)) {
 1816     if (Tok.is(tok::greater)) {
 1852     if (Tok.isNot(tok::r_paren))
 1898   if (Tok.is(tok::r_paren))
 1910     if (Tok.is(tok::ellipsis)) {
 1912       if (Tok.is(tok::r_paren))
 1944       if (SeenType && Tok.is(tok::identifier))
 1964     if (Tok.is(tok::kw___attribute))
 1978       return Tok.isOneOf(tok::equal, tok::r_paren) ? TPResult::True
 1981     if (Tok.is(tok::equal)) {
 1989     if (Tok.is(tok::ellipsis)) {
 1991       if (Tok.is(tok::r_paren))
 2021   if (TPR == TPResult::Ambiguous && Tok.isNot(tok::r_paren))
 2032   while (Tok.isOneOf(tok::kw_const, tok::kw_volatile, tok::kw___unaligned,
 2037   if (Tok.isOneOf(tok::amp, tok::ampamp))
 2041   if (Tok.is(tok::kw_throw)) {
 2043     if (Tok.isNot(tok::l_paren))
 2051   if (Tok.is(tok::kw_noexcept)) {
 2054     if (Tok.is(tok::l_paren)) {
 2081     if (Tok.isNot(tok::less))
tools/clang/lib/Parse/Parser.cpp
   56   Tok.startToken();
   57   Tok.setKind(tok::eof);
  111   if (Tok.is(ExpectedTok) || Tok.is(tok::code_completion)) {
  111   if (Tok.is(ExpectedTok) || Tok.is(tok::code_completion)) {
  117   if (IsCommonTypo(ExpectedTok, Tok)) {
  118     SourceLocation Loc = Tok.getLocation();
  144           : Diag(Tok, DiagID);
  159   if (Tok.is(tok::code_completion)) {
  164   if ((Tok.is(tok::r_paren) || Tok.is(tok::r_square)) &&
  164   if ((Tok.is(tok::r_paren) || Tok.is(tok::r_square)) &&
  166     Diag(Tok, diag::err_extraneous_token_before_semi)
  167       << PP.getSpelling(Tok)
  168       << FixItHint::CreateRemoval(Tok.getLocation());
  178   if (!Tok.is(tok::semi)) return;
  181   SourceLocation StartLoc = Tok.getLocation();
  182   SourceLocation EndLoc = Tok.getLocation();
  185   while ((Tok.is(tok::semi) && !Tok.isAtStartOfLine())) {
  185   while ((Tok.is(tok::semi) && !Tok.isAtStartOfLine())) {
  187     EndLoc = Tok.getLocation();
  215   if (Tok.is(tok::identifier))
  217   if (const auto *II = Tok.getIdentifierInfo()) {
  219       Diag(Tok, diag::err_expected_token_instead_of_objcxx_keyword)
  220           << tok::identifier << Tok.getIdentifierInfo();
  225   Diag(Tok, diag::err_expected) << tok::identifier;
  252       if (Tok.is(Toks[i])) {
  268       while (Tok.isNot(tok::eof))
  273     switch (Tok.getKind()) {
  382   Actions.ActOnPopScope(Tok.getLocation(), getCurScope());
  579   if (PP.isIncrementalProcessingEnabled() && Tok.is(tok::eof))
  583   switch (Tok.getKind()) {
  630     Actions.ActOnModuleInclude(Tok.getLocation(),
  632                                    Tok.getAnnotationValue()));
  637     Actions.ActOnModuleBegin(Tok.getLocation(), reinterpret_cast<Module *>(
  638                                                     Tok.getAnnotationValue()));
  643     Actions.ActOnModuleEnd(Tok.getLocation(), reinterpret_cast<Module *>(
  644                                                   Tok.getAnnotationValue()));
  665     if ((Tok.getIdentifierInfo() == Ident_module ||
  666          Tok.getIdentifierInfo() == Ident_import) &&
  668       if (Tok.getIdentifierInfo() == Ident_module)
  724   switch (Tok.getKind()) {
  780         Actions.ActOnEmptyDeclaration(getCurScope(), attrs, Tok.getLocation());
  784     Diag(Tok, diag::err_extraneous_closing_brace);
  788     Diag(Tok, diag::err_expected_external_declaration);
  799     SourceLocation StartLoc = Tok.getLocation();
  826       Diag(Tok, diag::err_expected_external_declaration);
  920     Diag(Tok, diag::err_unexpected_module_decl);
  926     if (Tok.isEditorPlaceholder()) {
  943   if (getLangOpts().CPlusPlus && Tok.is(tok::equal)) {
  949   return Tok.is(tok::equal) ||      // int X()=  -> not a function def
  950     Tok.is(tok::comma) ||           // int X(),  -> not a function def
  951     Tok.is(tok::semi)  ||           // int X();  -> not a function def
  952     Tok.is(tok::kw_asm) ||          // int X() __asm__ -> not a function def
  953     Tok.is(tok::kw___attribute) ||  // int X() __attr__ -> not a function def
  955      Tok.is(tok::l_paren));         // int X(0) -> not a function def [C++]
  962   if (Tok.is(tok::l_brace))   // int X() {}
  970   if (getLangOpts().CPlusPlus && Tok.is(tok::equal)) {
  975   return Tok.is(tok::colon) ||         // X() : Base() {} (used for ctors)
  976          Tok.is(tok::kw_try);          // X() try { ... }
 1012   if (Tok.is(tok::semi)) {
 1057   if (getLangOpts().ObjC && Tok.is(tok::at)) {
 1059     if (!Tok.isObjCAtKeyword(tok::objc_interface) &&
 1060         !Tok.isObjCAtKeyword(tok::objc_protocol) &&
 1061         !Tok.isObjCAtKeyword(tok::objc_implementation)) {
 1062       Diag(Tok, diag::err_objc_unexpected_attr);
 1075     if (Tok.isObjCAtKeyword(tok::objc_protocol))
 1078     if (Tok.isObjCAtKeyword(tok::objc_implementation))
 1158   if (Tok.isNot(tok::l_brace) &&
 1160        (Tok.isNot(tok::colon) && Tok.isNot(tok::kw_try) &&
 1160        (Tok.isNot(tok::colon) && Tok.isNot(tok::kw_try) &&
 1161         Tok.isNot(tok::equal)))) {
 1162     Diag(Tok, diag::err_expected_fn_body);
 1168     if (Tok.isNot(tok::l_brace))
 1174   if (Tok.isNot(tok::equal)) {
 1182   if (getLangOpts().DelayedTemplateParsing && Tok.isNot(tok::equal) &&
 1215            (Tok.is(tok::l_brace) || Tok.is(tok::kw_try) ||
 1215            (Tok.is(tok::l_brace) || Tok.is(tok::kw_try) ||
 1216             Tok.is(tok::colon)) &&
 1283     if (Tok.is(tok::comma)) {
 1304   if (Tok.is(tok::kw_try))
 1309   if (Tok.is(tok::colon)) {
 1313     if (!Tok.is(tok::l_brace)) {
 1329   if (Tok.is(tok::equal)) {
 1334   bool IsFunctionTryBlock = Tok.is(tok::kw_try);
 1343     while (IsFunctionTryBlock && Tok.is(tok::kw_catch)) {
 1363     SourceLocation DSStart = Tok.getLocation();
 1437       if (Tok.isNot(tok::comma))
 1460   Actions.ActOnFinishKNRParamDeclarations(getCurScope(), D, Tok.getLocation());
 1472     Diag(Tok, diag::err_expected_string_literal)
 1481       Diag(Tok, diag::err_asm_operand_wide_string_literal)
 1496   assert(Tok.is(tok::kw_asm) && "Not an asm!");
 1499   if (Tok.is(tok::kw_volatile)) {
 1502                              PP.getLocForEndOfToken(Tok.getLocation()));
 1504     Diag(Tok, diag::warn_file_asm_volatile)
 1511     Diag(Tok, diag::err_expected_lparen_after) << "asm";
 1524       *EndLoc = Tok.getLocation();
 1547     PP.EnterToken(Tok, /*IsReinject=*/true);
 1548   Tok.setKind(tok::annot_cxxscope);
 1549   Tok.setAnnotationValue(Actions.SaveNestedNameSpecifierAnnotation(SS));
 1550   Tok.setAnnotationRange(SS.getRange());
 1556     PP.AnnotateCachedTokens(Tok);
 1568   assert(Tok.is(tok::identifier) || Tok.is(tok::annot_cxxscope));
 1568   assert(Tok.is(tok::identifier) || Tok.is(tok::annot_cxxscope));
 1571   const bool WasScopeAnnotation = Tok.is(tok::annot_cxxscope);
 1578   if (Tok.isNot(tok::identifier) || SS.isInvalid()) {
 1584   IdentifierInfo *Name = Tok.getIdentifierInfo();
 1585   SourceLocation NameLoc = Tok.getLocation();
 1594     return Tok.is(tok::annot_typename) ? ANK_Success : ANK_TentativeDecl;
 1626     Tok.setIdentifierInfo(Name);
 1627     Tok.setKind(Name->getTokenID());
 1628     PP.TypoCorrectToken(Tok);
 1658       else if (Tok.is(tok::eof)) // Nothing to do here, bail out...
 1662     Tok.setKind(tok::annot_typename);
 1663     setTypeAnnotation(Tok, Ty);
 1664     Tok.setAnnotationEndLoc(Tok.getLocation());
 1664     Tok.setAnnotationEndLoc(Tok.getLocation());
 1665     Tok.setLocation(BeginLoc);
 1666     PP.AnnotateCachedTokens(Tok);
 1671     Tok.setKind(tok::annot_primary_expr);
 1672     setExprAnnotation(Tok, Classification.getExpression());
 1673     Tok.setAnnotationEndLoc(NameLoc);
 1675       Tok.setLocation(SS.getBeginLoc());
 1676     PP.AnnotateCachedTokens(Tok);
 1680     Tok.setKind(tok::annot_non_type);
 1681     setNonTypeAnnotation(Tok, Classification.getNonTypeDecl());
 1682     Tok.setLocation(NameLoc);
 1683     Tok.setAnnotationEndLoc(NameLoc);
 1684     PP.AnnotateCachedTokens(Tok);
 1691     Tok.setKind(Classification.getKind() == Sema::NC_UndeclaredNonType
 1694     setIdentifierAnnotation(Tok, Name);
 1695     Tok.setLocation(NameLoc);
 1696     Tok.setAnnotationEndLoc(NameLoc);
 1697     PP.AnnotateCachedTokens(Tok);
 1732   assert(Tok.isNot(tok::identifier));
 1733   Diag(Tok, diag::ext_keyword_as_ident)
 1734     << PP.getSpelling(Tok)
 1737     Tok.getIdentifierInfo()->revertTokenIDToIdentifier();
 1738   Tok.setKind(tok::identifier);
 1765   assert((Tok.is(tok::identifier) || Tok.is(tok::coloncolon) ||
 1765   assert((Tok.is(tok::identifier) || Tok.is(tok::coloncolon) ||
 1766           Tok.is(tok::kw_typename) || Tok.is(tok::annot_cxxscope) ||
 1766           Tok.is(tok::kw_typename) || Tok.is(tok::annot_cxxscope) ||
 1767           Tok.is(tok::kw_decltype) || Tok.is(tok::annot_template_id) ||
 1767           Tok.is(tok::kw_decltype) || Tok.is(tok::annot_template_id) ||
 1768           Tok.is(tok::kw___super)) &&
 1771   if (Tok.is(tok::kw_typename)) {
 1782       PP.EnterToken(Tok, /*IsReinject=*/true);
 1783       Tok = TypedefToken;
 1785         Diag(Tok.getLocation(), diag::warn_expected_qualified_after_typename);
 1802       if (Tok.is(tok::identifier) || Tok.is(tok::annot_template_id) ||
 1802       if (Tok.is(tok::identifier) || Tok.is(tok::annot_template_id) ||
 1803           Tok.is(tok::annot_decltype)) {
 1805         if (Tok.is(tok::annot_decltype) ||
 1806             (!TryAnnotateTypeOrScopeToken() && Tok.isAnnotation())) {
 1812           Diag(Tok.getLocation(), DiagID);
 1816       if (Tok.isEditorPlaceholder())
 1819       Diag(Tok.getLocation(), diag::err_expected_qualified_after_typename);
 1824     if (Tok.is(tok::identifier)) {
 1827                                      *Tok.getIdentifierInfo(),
 1828                                      Tok.getLocation());
 1829     } else if (Tok.is(tok::annot_template_id)) {
 1830       TemplateIdAnnotation *TemplateId = takeTemplateIdAnnotation(Tok);
 1834         Diag(Tok, diag::err_typename_refers_to_non_type_template)
 1835           << Tok.getAnnotationRange();
 1851       Diag(Tok, diag::err_expected_type_name_after_typename)
 1856     SourceLocation EndLoc = Tok.getLastLoc();
 1857     Tok.setKind(tok::annot_typename);
 1858     setTypeAnnotation(Tok, Ty.isInvalid() ? nullptr : Ty.get());
 1859     Tok.setAnnotationEndLoc(EndLoc);
 1860     Tok.setLocation(TypenameLoc);
 1861     PP.AnnotateCachedTokens(Tok);
 1866   bool WasScopeAnnotation = Tok.is(tok::annot_cxxscope);
 1881   if (Tok.is(tok::identifier)) {
 1884             *Tok.getIdentifierInfo(), Tok.getLocation(), getCurScope(), &SS,
 1884             *Tok.getIdentifierInfo(), Tok.getLocation(), getCurScope(), &SS,
 1889       SourceLocation BeginLoc = Tok.getLocation();
 1907         else if (Tok.is(tok::eof)) // Nothing to do here, bail out...
 1913       Tok.setKind(tok::annot_typename);
 1914       setTypeAnnotation(Tok, Ty);
 1915       Tok.setAnnotationEndLoc(Tok.getLocation());
 1915       Tok.setAnnotationEndLoc(Tok.getLocation());
 1916       Tok.setLocation(BeginLoc);
 1920       PP.AnnotateCachedTokens(Tok);
 1937       TemplateName.setIdentifier(Tok.getIdentifierInfo(), Tok.getLocation());
 1937       TemplateName.setIdentifier(Tok.getIdentifierInfo(), Tok.getLocation());
 1967   if (Tok.is(tok::annot_template_id)) {
 1968     TemplateIdAnnotation *TemplateId = takeTemplateIdAnnotation(Tok);
 1996   assert((Tok.is(tok::identifier) || Tok.is(tok::coloncolon) ||
 1996   assert((Tok.is(tok::identifier) || Tok.is(tok::coloncolon) ||
 1997           (Tok.is(tok::annot_template_id) && NextToken().is(tok::coloncolon)) ||
 1998           Tok.is(tok::kw_decltype) || Tok.is(tok::kw___super)) &&
 1998           Tok.is(tok::kw_decltype) || Tok.is(tok::kw___super)) &&
 2012   tok::TokenKind Kind = Tok.getKind();
 2030     Diag(Tok, diag::err_invalid_token_after_declarator_suggest_equal)
 2032         << FixItHint::CreateReplacement(SourceRange(Tok.getLocation()), "=");
 2040   assert(Tok.is(tok::code_completion));
 2041   PrevTokLocation = Tok.getLocation();
 2097   assert((Tok.is(tok::kw___if_exists) || Tok.is(tok::kw___if_not_exists)) &&
 2097   assert((Tok.is(tok::kw___if_exists) || Tok.is(tok::kw___if_not_exists)) &&
 2099   Result.IsIfExists = Tok.is(tok::kw___if_exists);
 2104     Diag(Tok, diag::err_expected_lparen_after)
 2163     Diag(Tok, diag::err_expected) << tok::l_brace;
 2182   while (Tok.isNot(tok::r_brace) && !isEofOrEom()) {
 2206   SourceLocation StartLoc = Tok.getLocation();
 2213       (Tok.is(tok::kw_module) ||
 2214        (Tok.is(tok::identifier) && Tok.getIdentifierInfo() == Ident_module)) &&
 2214        (Tok.is(tok::identifier) && Tok.getIdentifierInfo() == Ident_module)) &&
 2223   if (getLangOpts().CPlusPlusModules && Tok.is(tok::semi)) {
 2238   if (getLangOpts().CPlusPlusModules && Tok.is(tok::colon) &&
 2256   if (Tok.is(tok::colon)) {
 2294   SourceLocation StartLoc = AtLoc.isInvalid() ? Tok.getLocation() : AtLoc;
 2299   assert((AtLoc.isInvalid() ? Tok.isOneOf(tok::kw_import, tok::identifier)
 2300                             : Tok.isObjCAtKeyword(tok::objc_import)) &&
 2302   bool IsObjCAtImport = Tok.isObjCAtKeyword(tok::objc_import);
 2308   if (Tok.is(tok::header_name)) {
 2313   } else if (Tok.is(tok::annot_header_unit)) {
 2315     HeaderUnit = reinterpret_cast<Module *>(Tok.getAnnotationValue());
 2317   } else if (getLangOpts().CPlusPlusModules && Tok.is(tok::colon)) {
 2378     if (!Tok.is(tok::identifier)) {
 2379       if (Tok.is(tok::code_completion)) {
 2385       Diag(Tok, diag::err_module_expected_ident) << IsImport;
 2391     Path.push_back(std::make_pair(Tok.getIdentifierInfo(), Tok.getLocation()));
 2391     Path.push_back(std::make_pair(Tok.getIdentifierInfo(), Tok.getLocation()));
 2394     if (Tok.isNot(tok::period))
 2407     switch (Tok.getKind()) {
 2414         Actions.ActOnModuleEnd(Tok.getLocation(),
 2416                                    Tok.getAnnotationValue()));
 2426       Actions.ActOnModuleBegin(Tok.getLocation(),
 2428                                    Tok.getAnnotationValue()));
 2435       Actions.ActOnModuleInclude(Tok.getLocation(),
 2437                                      Tok.getAnnotationValue()));
 2449   P.Diag(P.Tok, diag::err_bracket_depth_exceeded)
 2451   P.Diag(P.Tok, diag::note_bracket_depth);
 2459   LOpen = P.Tok.getLocation();
 2473   assert(!P.Tok.is(Close) && "Should have consumed closing delimiter");
 2475   if (P.Tok.is(tok::annot_module_end))
 2476     P.Diag(P.Tok, diag::err_missing_before_module_end) << Close;
 2478     P.Diag(P.Tok, diag::err_expected) << Close;
 2483   if (P.Tok.isNot(tok::r_paren) && P.Tok.isNot(tok::r_brace) &&
 2483   if (P.Tok.isNot(tok::r_paren) && P.Tok.isNot(tok::r_brace) &&
 2484       P.Tok.isNot(tok::r_square) &&
 2487       P.Tok.is(Close))