Lines Matching refs:Tok

546           Callbacks->MacroExpands(Info.Tok, Info.MD, Info.Range,  in HandleMacroExpandedIdentifier()
774 Token Tok; in ReadMacroCallArgumentList() local
778 LexUnexpandedToken(Tok); in ReadMacroCallArgumentList()
779 assert(Tok.is(tok::l_paren) && "Error computing l-paren-ness?"); in ReadMacroCallArgumentList()
791 while (Tok.isNot(tok::r_paren)) { in ReadMacroCallArgumentList()
792 if (ContainsCodeCompletionTok && Tok.isOneOf(tok::eof, tok::eod)) in ReadMacroCallArgumentList()
795 assert(Tok.isOneOf(tok::l_paren, tok::comma) && in ReadMacroCallArgumentList()
799 SourceLocation ArgStartLoc = Tok.getLocation(); in ReadMacroCallArgumentList()
808 LexUnexpandedToken(Tok); in ReadMacroCallArgumentList()
810 if (Tok.isOneOf(tok::eof, tok::eod)) { // "#if f(<eof>" & "#if f(\n" in ReadMacroCallArgumentList()
816 MacroName = Tok; in ReadMacroCallArgumentList()
821 Toks[0] = Tok; in ReadMacroCallArgumentList()
824 } else if (Tok.is(tok::r_paren)) { in ReadMacroCallArgumentList()
827 MacroEnd = Tok.getLocation(); in ReadMacroCallArgumentList()
834 } else if (Tok.is(tok::l_paren)) { in ReadMacroCallArgumentList()
836 } else if (Tok.is(tok::comma)) { in ReadMacroCallArgumentList()
840 if (Tok.getFlags() & Token::IgnoredComma) { in ReadMacroCallArgumentList()
846 Tok.clearFlag(Token::IgnoredComma); in ReadMacroCallArgumentList()
856 } else if (Tok.is(tok::comment) && !KeepMacroComments) { in ReadMacroCallArgumentList()
860 } else if (!Tok.isAnnotation() && Tok.getIdentifierInfo() != nullptr) { in ReadMacroCallArgumentList()
867 if (MacroInfo *MI = getMacroInfo(Tok.getIdentifierInfo())) in ReadMacroCallArgumentList()
869 Tok.setFlag(Token::DisableExpand); in ReadMacroCallArgumentList()
870 } else if (Tok.is(tok::code_completion)) { in ReadMacroCallArgumentList()
880 ArgTokens.push_back(Tok); in ReadMacroCallArgumentList()
885 if (ArgTokens.empty() && Tok.getKind() == tok::r_paren) in ReadMacroCallArgumentList()
900 Diag(Tok, getLangOpts().CPlusPlus11 in ReadMacroCallArgumentList()
908 EOFTok.setLocation(Tok.getLocation()); in ReadMacroCallArgumentList()
969 EOFTok.setLocation(Tok.getLocation()); in ReadMacroCallArgumentList()
996 Diag(Tok, getLangOpts().CPlusPlus20 in ReadMacroCallArgumentList()
1012 Diag(Tok, diag::err_too_few_args_in_macro_invoc); in ReadMacroCallArgumentList()
1019 SourceLocation EndLoc = Tok.getLocation(); in ReadMacroCallArgumentList()
1020 Tok.startToken(); in ReadMacroCallArgumentList()
1021 Tok.setKind(tok::eof); in ReadMacroCallArgumentList()
1022 Tok.setLocation(EndLoc); in ReadMacroCallArgumentList()
1023 Tok.setLength(0); in ReadMacroCallArgumentList()
1024 ArgTokens.push_back(Tok); in ReadMacroCallArgumentList()
1028 ArgTokens.push_back(Tok); in ReadMacroCallArgumentList()
1166 static bool EvaluateHasIncludeCommon(Token &Tok, IdentifierInfo *II, in EvaluateHasIncludeCommon() argument
1172 SourceLocation LParenLoc = Tok.getLocation(); in EvaluateHasIncludeCommon()
1178 assert(Tok.is(tok::identifier)); in EvaluateHasIncludeCommon()
1179 Tok.setIdentifierInfo(II); in EvaluateHasIncludeCommon()
1185 if (PP.LexHeaderName(Tok)) in EvaluateHasIncludeCommon()
1187 } while (Tok.getKind() == tok::comment); in EvaluateHasIncludeCommon()
1190 if (Tok.isNot(tok::l_paren)) { in EvaluateHasIncludeCommon()
1196 if (Tok.isNot(tok::header_name)) in EvaluateHasIncludeCommon()
1200 LParenLoc = Tok.getLocation(); in EvaluateHasIncludeCommon()
1201 if (PP.LexHeaderName(Tok)) in EvaluateHasIncludeCommon()
1205 if (Tok.isNot(tok::header_name)) { in EvaluateHasIncludeCommon()
1206 PP.Diag(Tok.getLocation(), diag::err_pp_expects_filename); in EvaluateHasIncludeCommon()
1213 StringRef Filename = PP.getSpelling(Tok, FilenameBuffer, &Invalid); in EvaluateHasIncludeCommon()
1217 SourceLocation FilenameLoc = Tok.getLocation(); in EvaluateHasIncludeCommon()
1220 PP.LexNonComment(Tok); in EvaluateHasIncludeCommon()
1223 if (Tok.isNot(tok::r_paren)) { in EvaluateHasIncludeCommon()
1230 bool isAngled = PP.GetIncludeFilenameSpelling(Tok.getLocation(), Filename); in EvaluateHasIncludeCommon()
1253 bool Preprocessor::EvaluateHasInclude(Token &Tok, IdentifierInfo *II) { in EvaluateHasInclude() argument
1254 return EvaluateHasIncludeCommon(Tok, II, *this, nullptr, nullptr); in EvaluateHasInclude()
1257 bool Preprocessor::EvaluateHasIncludeNext(Token &Tok, IdentifierInfo *II) { in EvaluateHasIncludeNext() argument
1260 std::tie(Lookup, LookupFromFile) = getIncludeNextStart(Tok); in EvaluateHasIncludeNext()
1262 return EvaluateHasIncludeCommon(Tok, II, *this, Lookup, LookupFromFile); in EvaluateHasIncludeNext()
1268 Token &Tok, IdentifierInfo *II, in EvaluateFeatureLikeBuiltinMacro() argument
1271 int(Token &Tok, in EvaluateFeatureLikeBuiltinMacro()
1274 PP.LexUnexpandedToken(Tok); in EvaluateFeatureLikeBuiltinMacro()
1275 if (Tok.isNot(tok::l_paren)) { in EvaluateFeatureLikeBuiltinMacro()
1276 PP.Diag(Tok.getLocation(), diag::err_pp_expected_after) << II in EvaluateFeatureLikeBuiltinMacro()
1280 if (!Tok.isOneOf(tok::eof, tok::eod)) { in EvaluateFeatureLikeBuiltinMacro()
1282 Tok.setKind(tok::numeric_constant); in EvaluateFeatureLikeBuiltinMacro()
1288 SourceLocation LParenLoc = Tok.getLocation(); in EvaluateFeatureLikeBuiltinMacro()
1296 PP.Lex(Tok); in EvaluateFeatureLikeBuiltinMacro()
1298 PP.LexUnexpandedToken(Tok); in EvaluateFeatureLikeBuiltinMacro()
1301 switch (Tok.getKind()) { in EvaluateFeatureLikeBuiltinMacro()
1306 PP.Diag(Tok.getLocation(), diag::err_unterm_macro_invoc); in EvaluateFeatureLikeBuiltinMacro()
1311 PP.Diag(Tok.getLocation(), diag::err_too_many_args_in_macro_invoc); in EvaluateFeatureLikeBuiltinMacro()
1321 PP.Diag(Tok.getLocation(), diag::err_pp_nested_paren) << II; in EvaluateFeatureLikeBuiltinMacro()
1341 PP.Diag(Tok.getLocation(), diag::err_too_few_args_in_macro_invoc); in EvaluateFeatureLikeBuiltinMacro()
1343 Tok.setKind(tok::numeric_constant); in EvaluateFeatureLikeBuiltinMacro()
1352 Result = Op(Tok, HasLexedNextToken); in EvaluateFeatureLikeBuiltinMacro()
1353 ResultTok = Tok; in EvaluateFeatureLikeBuiltinMacro()
1362 if (auto Diag = PP.Diag(Tok.getLocation(), diag::err_pp_expected_after)) { in EvaluateFeatureLikeBuiltinMacro()
1377 static IdentifierInfo *ExpectFeatureIdentifierInfo(Token &Tok, in ExpectFeatureIdentifierInfo() argument
1381 if (!Tok.isAnnotation() && (II = Tok.getIdentifierInfo())) in ExpectFeatureIdentifierInfo()
1384 PP.Diag(Tok.getLocation(), DiagID); in ExpectFeatureIdentifierInfo()
1473 void Preprocessor::ExpandBuiltinMacro(Token &Tok) { in ExpandBuiltinMacro() argument
1475 IdentifierInfo *II = Tok.getIdentifierInfo(); in ExpandBuiltinMacro()
1481 return Handle_Pragma(Tok); in ExpandBuiltinMacro()
1483 return HandleMicrosoft__pragma(Tok); in ExpandBuiltinMacro()
1491 Tok.setIdentifierInfo(nullptr); in ExpandBuiltinMacro()
1492 Tok.clearFlag(Token::NeedsCleaning); in ExpandBuiltinMacro()
1493 bool IsAtStartOfLine = Tok.isAtStartOfLine(); in ExpandBuiltinMacro()
1494 bool HasLeadingSpace = Tok.hasLeadingSpace(); in ExpandBuiltinMacro()
1500 SourceLocation Loc = Tok.getLocation(); in ExpandBuiltinMacro()
1516 Tok.setKind(tok::numeric_constant); in ExpandBuiltinMacro()
1521 PresumedLoc PLoc = SourceMgr.getPresumedLoc(Tok.getLocation()); in ExpandBuiltinMacro()
1556 Tok.setKind(tok::string_literal); in ExpandBuiltinMacro()
1558 Diag(Tok.getLocation(), diag::warn_pp_date_time); in ExpandBuiltinMacro()
1561 Tok.setKind(tok::string_literal); in ExpandBuiltinMacro()
1562 Tok.setLength(strlen("\"Mmm dd yyyy\"")); in ExpandBuiltinMacro()
1563 Tok.setLocation(SourceMgr.createExpansionLoc(DATELoc, Tok.getLocation(), in ExpandBuiltinMacro()
1564 Tok.getLocation(), in ExpandBuiltinMacro()
1565 Tok.getLength())); in ExpandBuiltinMacro()
1568 Diag(Tok.getLocation(), diag::warn_pp_date_time); in ExpandBuiltinMacro()
1571 Tok.setKind(tok::string_literal); in ExpandBuiltinMacro()
1572 Tok.setLength(strlen("\"hh:mm:ss\"")); in ExpandBuiltinMacro()
1573 Tok.setLocation(SourceMgr.createExpansionLoc(TIMELoc, Tok.getLocation(), in ExpandBuiltinMacro()
1574 Tok.getLocation(), in ExpandBuiltinMacro()
1575 Tok.getLength())); in ExpandBuiltinMacro()
1582 PresumedLoc PLoc = SourceMgr.getPresumedLoc(Tok.getLocation()); in ExpandBuiltinMacro()
1591 Tok.setKind(tok::numeric_constant); in ExpandBuiltinMacro()
1593 Diag(Tok.getLocation(), diag::warn_pp_date_time); in ExpandBuiltinMacro()
1615 Tok.setKind(tok::string_literal); in ExpandBuiltinMacro()
1627 Tok.setKind(tok::minus); in ExpandBuiltinMacro()
1640 Tok.setKind(tok::numeric_constant); in ExpandBuiltinMacro()
1644 Diag(Tok, diag::err_illegal_use_of_flt_eval_macro); in ExpandBuiltinMacro()
1651 Tok.setKind(tok::numeric_constant); in ExpandBuiltinMacro()
1653 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1654 [this](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro() argument
1655 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro()
1660 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1661 [this](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro() argument
1662 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro()
1667 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1668 [this](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro() argument
1669 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro()
1723 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1724 [](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro() argument
1725 return Tok.is(tok::identifier); in ExpandBuiltinMacro()
1728 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, true, in ExpandBuiltinMacro()
1729 [this](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro() argument
1730 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro()
1737 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, true, in ExpandBuiltinMacro()
1738 [this](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro() argument
1739 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro()
1753 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, true, in ExpandBuiltinMacro()
1754 [&](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro() argument
1757 Tok, *this, diag::err_feature_check_malformed); in ExpandBuiltinMacro()
1763 LexUnexpandedToken(Tok); in ExpandBuiltinMacro()
1764 if (Tok.isNot(tok::coloncolon)) in ExpandBuiltinMacro()
1769 Lex(Tok); in ExpandBuiltinMacro()
1770 II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro()
1788 Value = EvaluateHasInclude(Tok, II); in ExpandBuiltinMacro()
1790 Value = EvaluateHasIncludeNext(Tok, II); in ExpandBuiltinMacro()
1792 if (Tok.isNot(tok::r_paren)) in ExpandBuiltinMacro()
1795 Tok.setKind(tok::numeric_constant); in ExpandBuiltinMacro()
1798 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1799 [this](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro() argument
1801 SourceLocation StrStartLoc = Tok.getLocation(); in ExpandBuiltinMacro()
1803 HasLexedNextToken = Tok.is(tok::string_literal); in ExpandBuiltinMacro()
1804 if (!FinishLexStringLiteral(Tok, WarningName, "'__has_warning'", in ExpandBuiltinMacro()
1829 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1830 [this](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro() argument
1831 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro()
1840 Tok.setIdentifierInfo(ModuleII); in ExpandBuiltinMacro()
1841 Tok.setKind(ModuleII->getTokenID()); in ExpandBuiltinMacro()
1843 SourceLocation Loc = Tok.getLocation(); in ExpandBuiltinMacro()
1847 LexNonComment(Tok); in ExpandBuiltinMacro()
1848 if (Tok.isNot(tok::l_paren)) { in ExpandBuiltinMacro()
1853 if (!Tok.isAnnotation() && Tok.getIdentifierInfo()) in ExpandBuiltinMacro()
1854 Tok.setKind(tok::identifier); in ExpandBuiltinMacro()
1858 SourceLocation LParenLoc = Tok.getLocation(); in ExpandBuiltinMacro()
1859 LexNonComment(Tok); in ExpandBuiltinMacro()
1861 if (!Tok.isAnnotation() && Tok.getIdentifierInfo()) in ExpandBuiltinMacro()
1862 Tok.setKind(tok::identifier); in ExpandBuiltinMacro()
1863 else if (Tok.is(tok::string_literal) && !Tok.hasUDSuffix()) { in ExpandBuiltinMacro()
1864 StringLiteralParser Literal(Tok, *this); in ExpandBuiltinMacro()
1868 Tok.setIdentifierInfo(getIdentifierInfo(Literal.GetString())); in ExpandBuiltinMacro()
1869 Tok.setKind(tok::identifier); in ExpandBuiltinMacro()
1871 Diag(Tok.getLocation(), diag::err_pp_identifier_arg_not_identifier) in ExpandBuiltinMacro()
1872 << Tok.getKind(); in ExpandBuiltinMacro()
1874 if (Tok.isOneOf(tok::eof, tok::eod) || Tok.isAnnotation()) in ExpandBuiltinMacro()
1882 Diag(getLocForEndOfToken(Tok.getLocation()), diag::err_pp_expected_after) in ExpandBuiltinMacro()
1883 << Tok.getKind() << tok::r_paren; in ExpandBuiltinMacro()
1889 OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1890 [this](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro() argument
1892 Tok, *this, diag::err_feature_check_malformed); in ExpandBuiltinMacro()
1897 OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1898 [this](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro() argument
1900 Tok, *this, diag::err_feature_check_malformed); in ExpandBuiltinMacro()
1905 OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1906 [this](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro() argument
1908 Tok, *this, diag::err_feature_check_malformed); in ExpandBuiltinMacro()
1913 OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1914 [this](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro() argument
1916 Tok, *this, diag::err_feature_check_malformed); in ExpandBuiltinMacro()
1921 OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1922 [this](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro() argument
1924 Tok, *this, diag::err_feature_check_malformed); in ExpandBuiltinMacro()
1929 OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1930 [this](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro() argument
1932 Tok, *this, diag::err_feature_check_malformed); in ExpandBuiltinMacro()
1938 CreateString(OS.str(), Tok, Tok.getLocation(), Tok.getLocation()); in ExpandBuiltinMacro()
1939 Tok.setFlagValue(Token::StartOfLine, IsAtStartOfLine); in ExpandBuiltinMacro()
1940 Tok.setFlagValue(Token::LeadingSpace, HasLeadingSpace); in ExpandBuiltinMacro()