Home | History | Annotate | Download | only in Lex

Lines Matching defs:Tok

80                                    Token &Tok) {
83 PP.LexUnexpandedToken(Tok);
87 = FindHandler(Tok.getIdentifierInfo() ? Tok.getIdentifierInfo()->getName()
91 PP.Diag(Tok, diag::warn_pragma_ignored);
96 Handler->HandlePragma(PP, Introducer, Tok);
109 Token Tok;
110 PragmaHandlers->HandlePragma(*this, PragmaIntroducerKind(Introducer), Tok);
129 Token &Tok)
131 Failed(false), OutTok(Tok) {
157 /// been read into 'Tok'.
158 void Preprocessor::Handle_Pragma(Token &Tok) {
171 LexingFor_PragmaRAII _PragmaLexing(*this, InMacroArgPreExpansion, Tok);
174 SourceLocation PragmaLoc = Tok.getLocation();
177 Lex(Tok);
178 if (Tok.isNot(tok::l_paren)) {
184 Lex(Tok);
185 if (Tok.isNot(tok::string_literal) && Tok.isNot(tok::wide_string_literal)) {
188 if (Tok.isNot(tok::r_paren))
189 Lex(Tok);
190 if (Tok.is(tok::r_paren))
191 Lex(Tok);
195 if (Tok.hasUDSuffix()) {
196 Diag(Tok, diag::err_invalid_string_udl);
198 Lex(Tok);
199 if (Tok.is(tok::r_paren))
200 Lex(Tok);
205 Token StrTok = Tok;
208 Lex(Tok);
209 if (Tok.isNot(tok::r_paren)) {
217 SourceLocation RParenLoc = Tok.getLocation();
265 return Lex(Tok);
270 void Preprocessor::HandleMicrosoft__pragma(Token &Tok) {
272 SourceLocation PragmaLoc = Tok.getLocation();
275 Lex(Tok);
276 if (Tok.isNot(tok::l_paren)) {
284 Lex(Tok);
285 while (Tok.isNot(tok::eof)) {
286 PragmaToks.push_back(Tok);
287 if (Tok.is(tok::l_paren))
289 else if (Tok.is(tok::r_paren) && NumParens-- == 0)
291 Lex(Tok);
294 if (Tok.is(tok::eof)) {
302 PragmaToks.back().setKind(tok::eod);
314 return Lex(Tok);
342 Token Tok;
351 LexUnexpandedToken(Tok);
355 if (Tok.is(tok::eod)) return;
358 if (Tok.isNot(tok::raw_identifier)) {
359 Diag(Tok, diag::err_pp_invalid_poison);
365 IdentifierInfo *II = LookUpIdentifierInfo(Tok);
372 Diag(Tok, diag::pp_poisoning_existing_macro);
421 if (FilenameTok.is(tok::eod))
455 while (DependencyTok.isNot(tok::eod)) {
473 void Preprocessor::HandlePragmaComment(Token &Tok) {
474 SourceLocation CommentLoc = Tok.getLocation();
475 Lex(Tok);
476 if (Tok.isNot(tok::l_paren)) {
482 Lex(Tok);
483 if (Tok.isNot(tok::identifier)) {
490 const IdentifierInfo *II = Tok.getIdentifierInfo();
493 Diag(Tok.getLocation(), diag::err_pragma_comment_unknown_kind);
498 Lex(Tok);
500 if (Tok.is(tok::comma)) {
501 Lex(Tok); // eat the comma.
504 if (Tok.isNot(tok::string_literal)) {
505 Diag(Tok.getLocation(), diag::err_pragma_comment_malformed);
513 while (Tok.is(tok::string_literal)) {
514 if (Tok.hasUDSuffix())
515 Diag(Tok, diag::err_invalid_string_udl);
516 StrToks.push_back(Tok);
517 Lex(Tok);
539 if (Tok.isNot(tok::r_paren)) {
540 Diag(Tok.getLocation(), diag::err_pragma_comment_malformed);
543 Lex(Tok); // eat the r_paren.
545 if (Tok.isNot(tok::eod)) {
546 Diag(Tok.getLocation(), diag::err_pragma_comment_malformed);
562 void Preprocessor::HandlePragmaMessage(Token &Tok) {
563 SourceLocation MessageLoc = Tok.getLocation();
564 Lex(Tok);
566 switch (Tok.getKind()) {
567 case tok::l_paren:
571 Lex(Tok);
573 case tok::string_literal:
582 if (Tok.isNot(tok::string_literal)) {
583 Diag(Tok.getLocation(), diag::err_pragma_message_malformed);
591 while (Tok.is(tok::string_literal)) {
592 if (Tok.hasUDSuffix())
593 Diag(Tok, diag::err_invalid_string_udl);
594 StrToks.push_back(Tok);
595 Lex(Tok);
611 if (Tok.isNot(tok::r_paren)) {
612 Diag(Tok.getLocation(), diag::err_pragma_message_malformed);
615 Lex(Tok); // eat the r_paren.
618 if (Tok.isNot(tok::eod)) {
619 Diag(Tok.getLocation(), diag::err_pragma_message_malformed);
633 IdentifierInfo *Preprocessor::ParsePragmaPushOrPopMacro(Token &Tok) {
635 Token PragmaTok = Tok;
638 Lex(Tok);
639 if (Tok.isNot(tok::l_paren)) {
646 Lex(Tok);
647 if (Tok.isNot(tok::string_literal)) {
653 if (Tok.hasUDSuffix()) {
654 Diag(Tok, diag::err_invalid_string_udl);
659 std::string StrVal = getSpelling(Tok);
662 Lex(Tok);
663 if (Tok.isNot(tok::r_paren)) {
675 MacroTok.setKind(tok::raw_identifier);
744 void Preprocessor::HandlePragmaIncludeAlias(Token &Tok) {
751 Lex(Tok);
752 if (Tok.isNot(tok::l_paren)) {
753 Diag(Tok, diag::warn_pragma_include_alias_expected) << "(";
760 if (SourceFilenameTok.is(tok::eod)) {
767 if (SourceFilenameTok.is(tok::string_literal) ||
768 SourceFilenameTok.is(tok::angle_string_literal)) {
770 } else if (SourceFilenameTok.is(tok::less)) {
778 Diag(Tok, diag::warn_pragma_include_alias_expected_filename);
784 Lex(Tok);
785 if (Tok.isNot(tok::comma)) {
786 Diag(Tok, diag::warn_pragma_include_alias_expected) << ",";
792 if (ReplaceFilenameTok.is(tok::eod)) {
798 if (ReplaceFilenameTok.is(tok::string_literal) ||
799 ReplaceFilenameTok.is(tok::angle_string_literal)) {
801 } else if (ReplaceFilenameTok.is(tok::less)) {
809 Diag(Tok, diag::warn_pragma_include_alias_expected_filename);
814 Lex(Tok);
815 if (Tok.isNot(tok::r_paren)) {
816 Diag(Tok, diag::warn_pragma_include_alias_expected) << ")";
906 bool Preprocessor::LexOnOffSwitch(tok::OnOffSwitch &Result) {
907 Token Tok;
908 LexUnexpandedToken(Tok);
910 if (Tok.isNot(tok::identifier)) {
911 Diag(Tok, diag::ext_on_off_switch_syntax);
914 IdentifierInfo *II = Tok.getIdentifierInfo();
916 Result = tok::OOS_ON;
918 Result = tok::OOS_OFF;
920 Result = tok::OOS_DEFAULT;
922 Diag(Tok, diag::ext_on_off_switch_syntax);
927 LexUnexpandedToken(Tok);
928 if (Tok.isNot(tok::eod))
929 Diag(Tok, diag::ext_pragma_syntax_eod);
985 Token Tok;
986 PP.LexUnexpandedToken(Tok);
987 if (Tok.isNot(tok::identifier)) {
988 PP.Diag(Tok, diag::warn_pragma_diagnostic_invalid);
991 IdentifierInfo *II = Tok.getIdentifierInfo();
1008 PP.Diag(Tok, diag::warn_pragma_debug_unexpected_command)
1036 Token Tok;
1037 PP.LexUnexpandedToken(Tok);
1038 if (Tok.isNot(tok::identifier)) {
1039 PP.Diag(Tok, diag::warn_pragma_diagnostic_invalid);
1042 IdentifierInfo *II = Tok.getIdentifierInfo();
1056 PP.Diag(Tok, diag::warn_pragma_diagnostic_cannot_pop);
1066 PP.Diag(Tok, diag::warn_pragma_diagnostic_invalid);
1070 PP.LexUnexpandedToken(Tok);
1073 if (Tok.isNot(tok::string_literal)) {
1074 PP.Diag(Tok.getLocation(), diag::warn_pragma_diagnostic_invalid_token);
1082 while (Tok.is(tok::string_literal)) {
1083 StrToks.push_back(Tok);
1084 PP.LexUnexpandedToken(Tok);
1087 if (Tok.isNot(tok::eod)) {
1088 PP.Diag(Tok.getLocation(), diag::warn_pragma_diagnostic_invalid_token);
1098 PP.Diag(Tok, diag::warn_pragma_diagnostic_invalid);
1174 Token &Tok) {
1175 tok::OnOffSwitch OOS;
1178 if (OOS == tok::OOS_ON)
1179 PP.Diag(Tok, diag::warn_stdc_fenv_access_not_supported);
1188 Token &Tok) {
1189 tok::OnOffSwitch OOS;
1213 Token Tok;
1216 PP.LexUnexpandedToken(Tok);
1217 const IdentifierInfo *BeginEnd = Tok.getIdentifierInfo();
1223 PP.Diag(Tok.getLocation(), diag::err_pp_arc_cf_code_audited_syntax);
1228 PP.LexUnexpandedToken(Tok);
1229 if (Tok.isNot(tok::eod))
1230 PP.Diag(Tok, diag::ext_pp_extra_tokens_at_eol) << "pragma";