Home | History | Annotate | Download | only in Lex

Lines Matching defs:Tok

342   Token Tok;
346 LexUnexpandedToken(Tok);
347 assert(Tok.is(tok::l_paren) && "Error computing l-paren-ness?");
355 while (Tok.isNot(tok::r_paren)) {
356 assert((Tok.is(tok::l_paren) || Tok.is(tok::comma)) &&
360 SourceLocation ArgStartLoc = Tok.getLocation();
369 LexUnexpandedToken(Tok);
371 if (Tok.is(tok::eof) || Tok.is(tok::eod)) { // "#if f(<eof>" & "#if f(\n"
374 MacroName = Tok;
376 } else if (Tok.is(tok::r_paren)) {
379 MacroEnd = Tok.getLocation();
382 } else if (Tok.is(tok::l_paren)) {
384 } else if (Tok.is(tok::comma) && NumParens == 0) {
391 } else if (Tok.is(tok::comment) && !KeepMacroComments) {
395 } else if (Tok.getIdentifierInfo() != 0) {
402 if (MacroInfo *MI = getMacroInfo(Tok.getIdentifierInfo()))
404 Tok.setFlag(Token::DisableExpand);
405 } else if (Tok.is(tok::code_completion)) {
414 ArgTokens.push_back(Tok);
419 if (ArgTokens.empty() && Toktok::r_paren)
437 Diag(Tok, LangOpts.CPlusPlus0x ?
444 EOFTok.setKind(tok::eof);
445 EOFTok.setLocation(Tok.getLocation());
475 Diag(Tok, diag::ext_missing_varargs_arg);
486 Diag(Tok, diag::err_too_few_args_in_macro_invoc);
491 SourceLocation EndLoc = Tok.getLocation();
492 Tok.startToken();
493 Tok.setKind(tok::eof);
494 Tok.setLocation(EndLoc);
495 Tok.setLength(0);
496 ArgTokens.push_back(Tok);
500 ArgTokens.push_back(Tok);
700 != tok::identifier)
712 != tok::identifier)
784 static bool EvaluateHasIncludeCommon(Token &Tok,
790 PP.LexNonComment(Tok);
793 if (Tok.isNot(tok::l_paren)) {
794 PP.Diag(Tok.getLocation(), diag::err_pp_missing_lparen) << II->getName();
799 LParenLoc = Tok.getLocation();
802 PP.getCurrentLexer()->LexIncludeFilename(Tok);
809 switch (Tok.getKind()) {
810 case tok::eod:
814 case tok::angle_string_literal:
815 case tok::string_literal: {
817 Filename = PP.getSpelling(Tok, FilenameBuffer, &Invalid);
823 case tok::less:
832 PP.Diag(Tok.getLocation(), diag::err_pp_expects_filename);
837 PP.LexNonComment(Tok);
840 if (Tok.isNot(tok::r_paren)) {
841 PP.Diag(Tok.getLocation(), diag::err_pp_missing_rparen) << II->getName();
846 bool isAngled = PP.GetIncludeFilenameSpelling(Tok.getLocation(), Filename);
863 static bool EvaluateHasInclude(Token &Tok, IdentifierInfo *II,
865 return EvaluateHasIncludeCommon(Tok, II, PP, NULL);
870 static bool EvaluateHasIncludeNext(Token &Tok,
878 PP.Diag(Tok, diag::pp_include_next_in_primary);
880 PP.Diag(Tok, diag::pp_include_next_absolute_path);
886 return EvaluateHasIncludeCommon(Tok, II, PP, Lookup);
890 /// as a builtin macro, handle it and return the next token as 'Tok'.
891 void Preprocessor::ExpandBuiltinMacro(Token &Tok) {
893 IdentifierInfo *II = Tok.getIdentifierInfo();
899 return Handle_Pragma(Tok);
901 return HandleMicrosoft__pragma(Tok);
909 Tok.setIdentifierInfo(0);
910 Tok.clearFlag(Token::NeedsCleaning);
916 SourceLocation Loc = Tok.getLocation();
932 Tok.setKind(tok::numeric_constant);
936 PresumedLoc PLoc = SourceMgr.getPresumedLoc(Tok.getLocation());
958 Tok.setKind(tok::string_literal);
962 Tok.setKind(tok::string_literal);
963 Tok.setLength(strlen("\"Mmm dd yyyy\""));
964 Tok.setLocation(SourceMgr.createExpansionLoc(DATELoc, Tok.getLocation(),
965 Tok.getLocation(),
966 Tok.getLength()));
971 Tok.setKind(tok::string_literal);
972 Tok.setLength(strlen("\"hh:mm:ss\""));
973 Tok.setLocation(SourceMgr.createExpansionLoc(TIMELoc, Tok.getLocation(),
974 Tok.getLocation(),
975 Tok.getLength()));
982 PresumedLoc PLoc = SourceMgr.getPresumedLoc(Tok.getLocation());
991 Tok.setKind(tok::numeric_constant);
1014 Tok.setKind(tok::string_literal);
1018 Tok.setKind(tok::numeric_constant);
1024 SourceLocation StartLoc = Tok.getLocation();
1030 Lex(Tok);
1031 if (Tok.is(tok::l_paren)) {
1033 Lex(Tok);
1034 if (Tok.is(tok::identifier)) {
1035 FeatureII = Tok.getIdentifierInfo();
1038 Lex(Tok);
1039 if (Tok.is(tok::r_paren))
1061 Tok.setKind(tok::numeric_constant);
1069 Value = EvaluateHasInclude(Tok, II, *this);
1071 Value = EvaluateHasIncludeNext(Tok, II, *this);
1073 Tok.setKind(tok::numeric_constant);
1077 SourceLocation StartLoc = Tok.getLocation();
1081 Lex(Tok);
1083 if (Tok.is(tok::l_paren)) {
1085 Lex(Tok);
1088 if (!Tok.is(tok::string_literal)) {
1089 StartLoc = Tok.getLocation();
1092 do Lex(Tok); while (!(Tok.is(tok::r_paren) || Tok.is(tok::eod)));
1099 while (Tok.is(tok::string_literal)) {
1101 if (Tok.hasUDSuffix())
1102 Diag(Tok, diag::err_invalid_string_udl);
1103 StrToks.push_back(Tok);
1104 LexUnexpandedToken(Tok);
1108 if (!(IsValid = Tok.is(tok::r_paren)))
1117 Diag(Tok, diag::warn_pragma_diagnostic_invalid);
1143 Tok.setKind(tok::numeric_constant);
1147 CreateString(OS.str().data(), OS.str().size(), Tok,
1148 Tok.getLocation(), Tok.getLocation());