Lines Matching full:pp
36 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
42 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
48 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
54 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
61 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
70 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
76 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
82 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
88 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
94 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
101 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
111 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer, in HandlePragma()
114 if (!PP.getTargetInfo().hasStrictFP() && !PP.getLangOpts().ExpStrictFP) { in HandlePragma()
115 PP.Diag(Tok.getLocation(), diag::warn_pragma_fp_ignored) in HandlePragma()
120 if (PP.LexOnOffSwitch(OOS)) in HandlePragma()
123 MutableArrayRef<Token> Toks(PP.getPreprocessorAllocator().Allocate<Token>(1), in HandlePragma()
131 PP.EnterTokenStream(Toks, /*DisableMacroExpansion=*/true, in HandlePragma()
140 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer, in HandlePragma()
143 if (PP.LexOnOffSwitch(OOS)) in HandlePragma()
147 PP.getPreprocessorAllocator().Allocate<Token>(1), 1); in HandlePragma()
155 PP.EnterTokenStream(Toks, /*DisableMacroExpansion=*/true, in HandlePragma()
164 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
172 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer, in HandlePragma()
175 PP.Diag(UnknownTok, diag::ext_stdc_pragma_ignored); in HandlePragma()
181 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
191 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
212 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
234 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
244 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
254 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
260 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
266 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
272 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
280 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
289 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
295 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
305 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
312 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer, in HandlePragma()
315 if (!PP.getTargetInfo().hasStrictFP() && !PP.getLangOpts().ExpStrictFP) { in HandlePragma()
316 PP.Diag(FirstToken.getLocation(), diag::warn_pragma_fp_ignored) in HandlePragma()
322 PP.Lex(Tok); in HandlePragma()
324 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_lparen) in HandlePragma()
328 PP.Lex(Tok); // Consume the l_paren. in HandlePragma()
330 PP.Diag(Tok.getLocation(), diag::warn_pragma_ms_fenv_access); in HandlePragma()
337 PP.Lex(Tok); in HandlePragma()
340 PP.Lex(Tok); in HandlePragma()
342 PP.Diag(Tok.getLocation(), diag::warn_pragma_ms_fenv_access); in HandlePragma()
346 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_rparen) in HandlePragma()
350 PP.Lex(Tok); // Consume the r_paren. in HandlePragma()
353 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) in HandlePragma()
359 PP.getPreprocessorAllocator().Allocate<Token>(1), 1); in HandlePragma()
366 PP.EnterTokenStream(Toks, /*DisableMacroExpansion=*/true, in HandlePragma()
374 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
385 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
394 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
400 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
407 void HandlePragma(Preprocessor &PP, PragmaIntroducer Introducer,
422 PP.AddPragmaHandler(AlignHandler.get()); in initializePragmaHandlers()
425 PP.AddPragmaHandler("GCC", GCCVisibilityHandler.get()); in initializePragmaHandlers()
428 PP.AddPragmaHandler(OptionsHandler.get()); in initializePragmaHandlers()
431 PP.AddPragmaHandler(PackHandler.get()); in initializePragmaHandlers()
434 PP.AddPragmaHandler(MSStructHandler.get()); in initializePragmaHandlers()
437 PP.AddPragmaHandler(UnusedHandler.get()); in initializePragmaHandlers()
440 PP.AddPragmaHandler(WeakHandler.get()); in initializePragmaHandlers()
443 PP.AddPragmaHandler(RedefineExtnameHandler.get()); in initializePragmaHandlers()
446 PP.AddPragmaHandler("STDC", FPContractHandler.get()); in initializePragmaHandlers()
449 PP.AddPragmaHandler("STDC", STDCFenvAccessHandler.get()); in initializePragmaHandlers()
452 PP.AddPragmaHandler("STDC", STDCFenvRoundHandler.get()); in initializePragmaHandlers()
455 PP.AddPragmaHandler("STDC", STDCCXLIMITHandler.get()); in initializePragmaHandlers()
458 PP.AddPragmaHandler("STDC", STDCUnknownHandler.get()); in initializePragmaHandlers()
461 PP.AddPragmaHandler("clang", PCSectionHandler.get()); in initializePragmaHandlers()
465 PP.AddPragmaHandler("OPENCL", OpenCLExtensionHandler.get()); in initializePragmaHandlers()
467 PP.AddPragmaHandler("OPENCL", FPContractHandler.get()); in initializePragmaHandlers()
473 PP.AddPragmaHandler(OpenMPHandler.get()); in initializePragmaHandlers()
479 PP.AddPragmaHandler(OpenACCHandler.get()); in initializePragmaHandlers()
484 PP.AddPragmaHandler(MSCommentHandler.get()); in initializePragmaHandlers()
488 PP.AddPragmaHandler(FloatControlHandler.get()); in initializePragmaHandlers()
492 PP.AddPragmaHandler(MSDetectMismatchHandler.get()); in initializePragmaHandlers()
494 PP.AddPragmaHandler(MSPointersToMembers.get()); in initializePragmaHandlers()
496 PP.AddPragmaHandler(MSVtorDisp.get()); in initializePragmaHandlers()
498 PP.AddPragmaHandler(MSInitSeg.get()); in initializePragmaHandlers()
500 PP.AddPragmaHandler(MSDataSeg.get()); in initializePragmaHandlers()
502 PP.AddPragmaHandler(MSBSSSeg.get()); in initializePragmaHandlers()
504 PP.AddPragmaHandler(MSConstSeg.get()); in initializePragmaHandlers()
506 PP.AddPragmaHandler(MSCodeSeg.get()); in initializePragmaHandlers()
508 PP.AddPragmaHandler(MSSection.get()); in initializePragmaHandlers()
511 PP.AddPragmaHandler(MSStrictGuardStackCheck.get()); in initializePragmaHandlers()
513 PP.AddPragmaHandler(MSFunction.get()); in initializePragmaHandlers()
515 PP.AddPragmaHandler(MSAllocText.get()); in initializePragmaHandlers()
517 PP.AddPragmaHandler(MSOptimize.get()); in initializePragmaHandlers()
519 PP.AddPragmaHandler(MSRuntimeChecks.get()); in initializePragmaHandlers()
521 PP.AddPragmaHandler(MSIntrinsic.get()); in initializePragmaHandlers()
523 PP.AddPragmaHandler(MSFenvAccess.get()); in initializePragmaHandlers()
529 PP.AddPragmaHandler("clang", CUDAForceHostDeviceHandler.get()); in initializePragmaHandlers()
533 PP.AddPragmaHandler("clang", OptimizeHandler.get()); in initializePragmaHandlers()
536 PP.AddPragmaHandler("clang", LoopHintHandler.get()); in initializePragmaHandlers()
539 PP.AddPragmaHandler(UnrollHintHandler.get()); in initializePragmaHandlers()
540 PP.AddPragmaHandler("GCC", UnrollHintHandler.get()); in initializePragmaHandlers()
543 PP.AddPragmaHandler(NoUnrollHintHandler.get()); in initializePragmaHandlers()
544 PP.AddPragmaHandler("GCC", NoUnrollHintHandler.get()); in initializePragmaHandlers()
548 PP.AddPragmaHandler(UnrollAndJamHintHandler.get()); in initializePragmaHandlers()
552 PP.AddPragmaHandler(NoUnrollAndJamHintHandler.get()); in initializePragmaHandlers()
555 PP.AddPragmaHandler("clang", FPHandler.get()); in initializePragmaHandlers()
559 PP.AddPragmaHandler("clang", AttributePragmaHandler.get()); in initializePragmaHandlers()
562 PP.AddPragmaHandler("clang", MaxTokensHerePragmaHandler.get()); in initializePragmaHandlers()
565 PP.AddPragmaHandler("clang", MaxTokensTotalPragmaHandler.get()); in initializePragmaHandlers()
569 PP.AddPragmaHandler("clang", RISCVPragmaHandler.get()); in initializePragmaHandlers()
575 PP.RemovePragmaHandler(AlignHandler.get()); in resetPragmaHandlers()
577 PP.RemovePragmaHandler("GCC", GCCVisibilityHandler.get()); in resetPragmaHandlers()
579 PP.RemovePragmaHandler(OptionsHandler.get()); in resetPragmaHandlers()
581 PP.RemovePragmaHandler(PackHandler.get()); in resetPragmaHandlers()
583 PP.RemovePragmaHandler(MSStructHandler.get()); in resetPragmaHandlers()
585 PP.RemovePragmaHandler(UnusedHandler.get()); in resetPragmaHandlers()
587 PP.RemovePragmaHandler(WeakHandler.get()); in resetPragmaHandlers()
589 PP.RemovePragmaHandler(RedefineExtnameHandler.get()); in resetPragmaHandlers()
593 PP.RemovePragmaHandler("OPENCL", OpenCLExtensionHandler.get()); in resetPragmaHandlers()
595 PP.RemovePragmaHandler("OPENCL", FPContractHandler.get()); in resetPragmaHandlers()
597 PP.RemovePragmaHandler(OpenMPHandler.get()); in resetPragmaHandlers()
600 PP.RemovePragmaHandler(OpenACCHandler.get()); in resetPragmaHandlers()
605 PP.RemovePragmaHandler(MSCommentHandler.get()); in resetPragmaHandlers()
609 PP.RemovePragmaHandler("clang", PCSectionHandler.get()); in resetPragmaHandlers()
612 PP.RemovePragmaHandler(FloatControlHandler.get()); in resetPragmaHandlers()
615 PP.RemovePragmaHandler(MSDetectMismatchHandler.get()); in resetPragmaHandlers()
617 PP.RemovePragmaHandler(MSPointersToMembers.get()); in resetPragmaHandlers()
619 PP.RemovePragmaHandler(MSVtorDisp.get()); in resetPragmaHandlers()
621 PP.RemovePragmaHandler(MSInitSeg.get()); in resetPragmaHandlers()
623 PP.RemovePragmaHandler(MSDataSeg.get()); in resetPragmaHandlers()
625 PP.RemovePragmaHandler(MSBSSSeg.get()); in resetPragmaHandlers()
627 PP.RemovePragmaHandler(MSConstSeg.get()); in resetPragmaHandlers()
629 PP.RemovePragmaHandler(MSCodeSeg.get()); in resetPragmaHandlers()
631 PP.RemovePragmaHandler(MSSection.get()); in resetPragmaHandlers()
633 PP.RemovePragmaHandler(MSStrictGuardStackCheck.get()); in resetPragmaHandlers()
635 PP.RemovePragmaHandler(MSFunction.get()); in resetPragmaHandlers()
637 PP.RemovePragmaHandler(MSAllocText.get()); in resetPragmaHandlers()
639 PP.RemovePragmaHandler(MSRuntimeChecks.get()); in resetPragmaHandlers()
641 PP.RemovePragmaHandler(MSIntrinsic.get()); in resetPragmaHandlers()
643 PP.RemovePragmaHandler(MSOptimize.get()); in resetPragmaHandlers()
645 PP.RemovePragmaHandler(MSFenvAccess.get()); in resetPragmaHandlers()
650 PP.RemovePragmaHandler("clang", CUDAForceHostDeviceHandler.get()); in resetPragmaHandlers()
654 PP.RemovePragmaHandler("STDC", FPContractHandler.get()); in resetPragmaHandlers()
657 PP.RemovePragmaHandler("STDC", STDCFenvAccessHandler.get()); in resetPragmaHandlers()
660 PP.RemovePragmaHandler("STDC", STDCFenvRoundHandler.get()); in resetPragmaHandlers()
663 PP.RemovePragmaHandler("STDC", STDCCXLIMITHandler.get()); in resetPragmaHandlers()
666 PP.RemovePragmaHandler("STDC", STDCUnknownHandler.get()); in resetPragmaHandlers()
669 PP.RemovePragmaHandler("clang", OptimizeHandler.get()); in resetPragmaHandlers()
672 PP.RemovePragmaHandler("clang", LoopHintHandler.get()); in resetPragmaHandlers()
675 PP.RemovePragmaHandler(UnrollHintHandler.get()); in resetPragmaHandlers()
676 PP.RemovePragmaHandler("GCC", UnrollHintHandler.get()); in resetPragmaHandlers()
679 PP.RemovePragmaHandler(NoUnrollHintHandler.get()); in resetPragmaHandlers()
680 PP.RemovePragmaHandler("GCC", NoUnrollHintHandler.get()); in resetPragmaHandlers()
683 PP.RemovePragmaHandler(UnrollAndJamHintHandler.get()); in resetPragmaHandlers()
686 PP.RemovePragmaHandler(NoUnrollAndJamHintHandler.get()); in resetPragmaHandlers()
689 PP.RemovePragmaHandler("clang", FPHandler.get()); in resetPragmaHandlers()
692 PP.RemovePragmaHandler("clang", AttributePragmaHandler.get()); in resetPragmaHandlers()
695 PP.RemovePragmaHandler("clang", MaxTokensHerePragmaHandler.get()); in resetPragmaHandlers()
698 PP.RemovePragmaHandler("clang", MaxTokensTotalPragmaHandler.get()); in resetPragmaHandlers()
702 PP.RemovePragmaHandler("clang", RISCVPragmaHandler.get()); in resetPragmaHandlers()
770 PP.Diag(Tok, diag::warn_pragma_debug_missing_argument) << "dump"; in HandlePragmaDump()
773 PP.Diag(Tok, diag::warn_pragma_debug_unexpected_argument); in HandlePragmaDump()
789 PP.Diag(StartLoc, diag::warn_pragma_debug_dependent_argument) in HandlePragmaDump()
943 PP.Diag(Tok, diag::err_expected) << tok::l_brace; in HandlePragmaCaptured()
989 PP.Diag(NameLoc, diag::warn_pragma_expected_predicate) << 1; in HandlePragmaOpenCLExtension()
1001 PP.Diag(NameLoc, diag::warn_pragma_unknown_extension) << Ident; in HandlePragmaOpenCLExtension()
1005 PP.Diag(NameLoc, diag::warn_pragma_extension_is_core) << Ident; in HandlePragmaOpenCLExtension()
1007 PP.Diag(NameLoc, diag::warn_pragma_unsupported_extension) << Ident; in HandlePragmaOpenCLExtension()
1034 PP.EnterTokenStream(std::move(TheTokens->first), TheTokens->second, true, in HandlePragmaMSPragma()
1039 PP.Lex(Tok); // pragma kind in HandlePragmaMSPragma()
1061 PP.Lex(Tok); in HandlePragmaMSPragma()
1062 PP.Lex(Tok); in HandlePragmaMSPragma()
1069 PP.Diag(PragmaLocation, diag::warn_pragma_expected_lparen) << PragmaName; in HandlePragmaMSSection()
1072 PP.Lex(Tok); // ( in HandlePragmaMSSection()
1075 PP.Diag(PragmaLocation, diag::warn_pragma_expected_section_name) in HandlePragmaMSSection()
1084 PP.Diag(PragmaLocation, diag::warn_pragma_expected_non_wide_string) in HandlePragmaMSSection()
1091 PP.Lex(Tok); // , in HandlePragmaMSSection()
1096 PP.Lex(Tok); // long/short in HandlePragmaMSSection()
1101 PP.Diag(PragmaLocation, diag::warn_pragma_expected_action_or_r_paren) in HandlePragmaMSSection()
1118 PP.Diag(PragmaLocation, Flag == ASTContext::PSF_None in HandlePragmaMSSection()
1126 PP.Lex(Tok); // Identifier in HandlePragmaMSSection()
1133 PP.Diag(PragmaLocation, diag::warn_pragma_expected_rparen) << PragmaName; in HandlePragmaMSSection()
1136 PP.Lex(Tok); // ) in HandlePragmaMSSection()
1138 PP.Diag(PragmaLocation, diag::warn_pragma_extra_tokens_at_eol) in HandlePragmaMSSection()
1142 PP.Lex(Tok); // eof in HandlePragmaMSSection()
1150 PP.Diag(PragmaLocation, diag::warn_pragma_expected_lparen) << PragmaName; in HandlePragmaMSSegment()
1153 PP.Lex(Tok); // ( in HandlePragmaMSSegment()
1163 PP.Diag(PragmaLocation, in HandlePragmaMSSegment()
1169 PP.Lex(Tok); // push | pop in HandlePragmaMSSegment()
1171 PP.Lex(Tok); // , in HandlePragmaMSSegment()
1175 PP.Lex(Tok); // identifier in HandlePragmaMSSegment()
1177 PP.Lex(Tok); in HandlePragmaMSSegment()
1179 PP.Diag(PragmaLocation, diag::warn_pragma_expected_punc) in HandlePragmaMSSegment()
1185 PP.Diag(PragmaLocation, diag::warn_pragma_expected_punc) << PragmaName; in HandlePragmaMSSegment()
1198 PP.Diag(PragmaLocation, DiagID) << PragmaName; in HandlePragmaMSSegment()
1206 PP.Diag(PragmaLocation, diag::warn_pragma_expected_non_wide_string) in HandlePragmaMSSegment()
1215 PP.Diag(PragmaLocation, diag::warn_pragma_expected_rparen) << PragmaName; in HandlePragmaMSSegment()
1218 PP.Lex(Tok); // ) in HandlePragmaMSSegment()
1220 PP.Diag(PragmaLocation, diag::warn_pragma_extra_tokens_at_eol) in HandlePragmaMSSegment()
1224 PP.Lex(Tok); // eof in HandlePragmaMSSegment()
1234 PP.Diag(PragmaLocation, diag::warn_pragma_init_seg_unsupported_target); in HandlePragmaMSInitSeg()
1262 PP.Lex(Tok); in HandlePragmaMSInitSeg()
1270 PP.Diag(PragmaLocation, diag::warn_pragma_expected_non_wide_string) in HandlePragmaMSInitSeg()
1278 PP.Diag(PragmaLocation, diag::warn_pragma_expected_init_seg) << PragmaName; in HandlePragmaMSInitSeg()
1305 PP.Lex(Tok); in HandlePragmaMSStrictGuardStackCheck()
1311 PP.Lex(Tok); in HandlePragmaMSStrictGuardStackCheck()
1320 PP.Lex(Tok); in HandlePragmaMSStrictGuardStackCheck()
1323 PP.Lex(Tok); in HandlePragmaMSStrictGuardStackCheck()
1326 PP.Diag(Tok.getLocation(), diag::warn_pragma_invalid_action) in HandlePragmaMSStrictGuardStackCheck()
1359 PP.Diag(PragmaLocation, diag::warn_pragma_expected_non_wide_string) in HandlePragmaMSAllocText()
1366 PP.Lex(Tok); in HandlePragmaMSAllocText()
1368 PP.Diag(PragmaLocation, diag::warn_pragma_expected_section_name) in HandlePragmaMSAllocText()
1380 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_identifier) in HandlePragmaMSAllocText()
1388 PP.Lex(Tok); in HandlePragmaMSAllocText()
1391 PP.Lex(Tok); in HandlePragmaMSAllocText()
1513 PP.EnterTokenStream(Toks, /*DisableMacroExpansion=*/false, in HandlePragmaLoopHint()
1523 PP.Lex(Tok); // Identifier in HandlePragmaLoopHint()
1546 PP.Lex(Tok); // , in HandlePragmaLoopHint()
1559 PP.Lex(Tok); // Identifier in HandlePragmaLoopHint()
1583 PP.EnterTokenStream(Toks, /*DisableMacroExpansion=*/false, in HandlePragmaLoopHint()
1900 PP.EnterTokenStream(Info->Tokens, /*DisableMacroExpansion=*/false, in HandlePragmaAttribute()
2068 void PragmaGCCVisibilityHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
2074 PP.LexUnexpandedToken(Tok); in HandlePragma()
2082 PP.LexUnexpandedToken(Tok); in HandlePragma()
2084 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_lparen) in HandlePragma()
2088 PP.LexUnexpandedToken(Tok); in HandlePragma()
2091 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_identifier) in HandlePragma()
2095 PP.LexUnexpandedToken(Tok); in HandlePragma()
2097 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_rparen) in HandlePragma()
2102 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_identifier) in HandlePragma()
2107 PP.LexUnexpandedToken(Tok); in HandlePragma()
2109 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) in HandlePragma()
2121 PP.EnterTokenStream(std::move(Toks), 1, /*DisableMacroExpansion=*/true, in HandlePragma()
2129 void PragmaPackHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
2135 PP.Lex(Tok); in HandlePragma()
2137 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_lparen) << "pack"; in HandlePragma()
2145 PP.Lex(Tok); in HandlePragma()
2149 PP.Lex(Tok); in HandlePragma()
2154 Action = (PP.getLangOpts().ApplePragmaPack || PP.getLangOpts().XLPragmaPack) in HandlePragma()
2161 PP.Lex(Tok); in HandlePragma()
2168 PP.Diag(Tok.getLocation(), diag::warn_pragma_invalid_action) << "pack"; in HandlePragma()
2171 PP.Lex(Tok); in HandlePragma()
2174 PP.Lex(Tok); in HandlePragma()
2180 PP.Lex(Tok); in HandlePragma()
2183 PP.Lex(Tok); in HandlePragma()
2186 PP.Lex(Tok); in HandlePragma()
2189 PP.Diag(Tok.getLocation(), diag::warn_pragma_pack_malformed); in HandlePragma()
2196 PP.Lex(Tok); in HandlePragma()
2199 PP.Diag(Tok.getLocation(), diag::warn_pragma_pack_malformed); in HandlePragma()
2204 } else if (PP.getLangOpts().ApplePragmaPack || in HandlePragma()
2205 PP.getLangOpts().XLPragmaPack) { in HandlePragma()
2214 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_rparen) << "pack"; in HandlePragma()
2219 PP.Lex(Tok); in HandlePragma()
2221 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) << "pack"; in HandlePragma()
2226 PP.getPreprocessorAllocator().Allocate<Sema::PragmaPackInfo>(1); in HandlePragma()
2231 MutableArrayRef<Token> Toks(PP.getPreprocessorAllocator().Allocate<Token>(1), in HandlePragma()
2238 PP.EnterTokenStream(Toks, /*DisableMacroExpansion=*/true, in HandlePragma()
2244 void PragmaMSStructHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
2250 PP.Lex(Tok); in HandlePragma()
2252 PP.Diag(Tok.getLocation(), diag::warn_pragma_ms_struct); in HandlePragma()
2259 PP.Lex(Tok); in HandlePragma()
2262 PP.Lex(Tok); in HandlePragma()
2264 PP.Diag(Tok.getLocation(), diag::warn_pragma_ms_struct); in HandlePragma()
2269 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) in HandlePragma()
2274 MutableArrayRef<Token> Toks(PP.getPreprocessorAllocator().Allocate<Token>(1), in HandlePragma()
2282 PP.EnterTokenStream(Toks, /*DisableMacroExpansion=*/true, in HandlePragma()
2287 void PragmaClangSectionHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
2294 PP.Lex(Tok); // eat 'section' in HandlePragma()
2297 PP.Diag(Tok.getLocation(), diag::err_pragma_expected_clang_section_name) << "clang section"; in HandlePragma()
2313 PP.Diag(Tok.getLocation(), diag::err_pragma_expected_clang_section_name) << "clang section"; in HandlePragma()
2318 PP.Lex(Tok); // eat ['bss'|'data'|'rodata'|'text'] in HandlePragma()
2320 PP.Diag(Tok.getLocation(), diag::err_pragma_clang_section_expected_equal) << SecKind; in HandlePragma()
2325 if (!PP.LexStringLiteral(Tok, SecName, "pragma clang section", false)) in HandlePragma()
2339 static void ParseAlignPragma(Preprocessor &PP, Token &FirstTok, in ParseAlignPragma() argument
2344 PP.Lex(Tok); in ParseAlignPragma()
2347 PP.Diag(Tok.getLocation(), diag::warn_pragma_options_expected_align); in ParseAlignPragma()
2352 PP.Lex(Tok); in ParseAlignPragma()
2353 if (PP.getLangOpts().XLPragmaPack) { in ParseAlignPragma()
2355 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_lparen) << "align"; in ParseAlignPragma()
2359 PP.Diag(Tok.getLocation(), diag::warn_pragma_align_expected_equal) in ParseAlignPragma()
2364 PP.Lex(Tok); in ParseAlignPragma()
2366 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_identifier) in ParseAlignPragma()
2386 PP.Diag(Tok.getLocation(), diag::warn_pragma_align_invalid_option) in ParseAlignPragma()
2391 if (PP.getLangOpts().XLPragmaPack) { in ParseAlignPragma()
2392 PP.Lex(Tok); in ParseAlignPragma()
2394 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_rparen) << "align"; in ParseAlignPragma()
2400 PP.Lex(Tok); in ParseAlignPragma()
2402 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) in ParseAlignPragma()
2407 MutableArrayRef<Token> Toks(PP.getPreprocessorAllocator().Allocate<Token>(1), in ParseAlignPragma()
2415 PP.EnterTokenStream(Toks, /*DisableMacroExpansion=*/true, in ParseAlignPragma()
2419 void PragmaAlignHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
2422 ParseAlignPragma(PP, AlignTok, /*IsOptions=*/false); in HandlePragma()
2425 void PragmaOptionsHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
2428 ParseAlignPragma(PP, OptionsTok, /*IsOptions=*/true); in HandlePragma()
2432 void PragmaUnusedHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
2440 PP.Lex(Tok); in HandlePragma()
2442 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_lparen) << "unused"; in HandlePragma()
2452 PP.Lex(Tok); in HandlePragma()
2462 PP.Diag(Tok.getLocation(), diag::warn_pragma_unused_expected_var); in HandlePragma()
2478 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_punc) << "unused"; in HandlePragma()
2482 PP.Lex(Tok); in HandlePragma()
2484 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) << in HandlePragma()
2499 PP.getPreprocessorAllocator().Allocate<Token>(2 * Identifiers.size()), in HandlePragma()
2508 PP.EnterTokenStream(Toks, /*DisableMacroExpansion=*/true, in HandlePragma()
2514 void PragmaWeakHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
2520 PP.Lex(Tok); in HandlePragma()
2522 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_identifier) << "weak"; in HandlePragma()
2530 PP.Lex(Tok); in HandlePragma()
2533 PP.Lex(Tok); in HandlePragma()
2535 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_identifier) in HandlePragma()
2540 PP.Lex(Tok); in HandlePragma()
2544 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) << "weak"; in HandlePragma()
2550 PP.getPreprocessorAllocator().Allocate<Token>(3), 3); in HandlePragma()
2558 PP.EnterTokenStream(Toks, /*DisableMacroExpansion=*/true, in HandlePragma()
2562 PP.getPreprocessorAllocator().Allocate<Token>(2), 2); in HandlePragma()
2569 PP.EnterTokenStream(Toks, /*DisableMacroExpansion=*/true, in HandlePragma()
2575 void PragmaRedefineExtnameHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
2581 PP.Lex(Tok); in HandlePragma()
2583 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_identifier) << in HandlePragma()
2589 PP.Lex(Tok); in HandlePragma()
2592 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_identifier) in HandlePragma()
2598 PP.Lex(Tok); in HandlePragma()
2601 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) << in HandlePragma()
2606 MutableArrayRef<Token> Toks(PP.getPreprocessorAllocator().Allocate<Token>(3), in HandlePragma()
2615 PP.EnterTokenStream(Toks, /*DisableMacroExpansion=*/true, in HandlePragma()
2619 void PragmaFPContractHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
2623 if (PP.LexOnOffSwitch(OOS)) in HandlePragma()
2626 MutableArrayRef<Token> Toks(PP.getPreprocessorAllocator().Allocate<Token>(1), in HandlePragma()
2634 PP.EnterTokenStream(Toks, /*DisableMacroExpansion=*/true, in HandlePragma()
2638 void PragmaOpenCLExtensionHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
2641 PP.LexUnexpandedToken(Tok); in HandlePragma()
2643 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_identifier) << in HandlePragma()
2650 PP.Lex(Tok); in HandlePragma()
2652 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_colon) << Ext; in HandlePragma()
2656 PP.Lex(Tok); in HandlePragma()
2658 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_predicate) << 0; in HandlePragma()
2673 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_predicate) in HandlePragma()
2679 PP.Lex(Tok); in HandlePragma()
2681 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) << in HandlePragma()
2686 auto Info = PP.getPreprocessorAllocator().Allocate<OpenCLExtData>(1); in HandlePragma()
2689 MutableArrayRef<Token> Toks(PP.getPreprocessorAllocator().Allocate<Token>(1), in HandlePragma()
2696 PP.EnterTokenStream(Toks, /*DisableMacroExpansion=*/true, in HandlePragma()
2699 if (PP.getPPCallbacks()) in HandlePragma()
2700 PP.getPPCallbacks()->PragmaOpenCLExtension(NameLoc, Ext, in HandlePragma()
2708 Preprocessor &PP, PragmaIntroducer Introducer, Token &FirstTok) { in HandlePragma() argument
2709 if (!PP.getDiagnostics().isIgnored(IgnoredDiag, FirstTok.getLocation())) { in HandlePragma()
2710 PP.Diag(FirstTok, IgnoredDiag); in HandlePragma()
2711 PP.getDiagnostics().setSeverity(IgnoredDiag, diag::Severity::Ignored, in HandlePragma()
2714 PP.DiscardUntilEndOfDirective(); in HandlePragma()
2722 Preprocessor &PP, PragmaIntroducer Introducer, Token &FirstTok) { in HandlePragma() argument
2731 PP.Lex(Tok); in HandlePragma()
2733 PP.Diag(Tok, UnexpectedDiag) << 0; in HandlePragma()
2736 PP.Lex(Tok); in HandlePragma()
2742 PP.Lex(Tok); in HandlePragma()
2753 PP.EnterTokenStream(std::move(Toks), Pragma.size(), in HandlePragma()
2765 void PragmaMSPointersToMembers::HandlePragma(Preprocessor &PP, in HandlePragma() argument
2769 PP.Lex(Tok); in HandlePragma()
2771 PP.Diag(PointersToMembersLoc, diag::warn_pragma_expected_lparen) in HandlePragma()
2775 PP.Lex(Tok); in HandlePragma()
2778 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_identifier) in HandlePragma()
2782 PP.Lex(Tok); in HandlePragma()
2790 PP.Lex(Tok); in HandlePragma()
2794 PP.Diag(Tok.getLocation(), in HandlePragma()
2799 PP.Lex(Tok); in HandlePragma()
2806 PP.Diag(Tok.getLocation(), diag::err_expected_punc) in HandlePragma()
2823 PP.Diag(Tok.getLocation(), in HandlePragma()
2832 PP.Diag(Tok.getLocation(), diag::err_expected_rparen_after) in HandlePragma()
2838 PP.Lex(Tok); in HandlePragma()
2840 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) in HandlePragma()
2852 PP.EnterToken(AnnotTok, /*IsReinject=*/true); in HandlePragma()
2863 void PragmaMSVtorDisp::HandlePragma(Preprocessor &PP, in HandlePragma() argument
2866 PP.Lex(Tok); in HandlePragma()
2868 PP.Diag(VtorDispLoc, diag::warn_pragma_expected_lparen) << "vtordisp"; in HandlePragma()
2871 PP.Lex(Tok); in HandlePragma()
2878 PP.Lex(Tok); in HandlePragma()
2880 PP.Diag(VtorDispLoc, diag::warn_pragma_expected_punc) << "vtordisp"; in HandlePragma()
2883 PP.Lex(Tok); in HandlePragma()
2888 PP.Lex(Tok); in HandlePragma()
2904 PP.Lex(Tok); in HandlePragma()
2907 PP.Lex(Tok); in HandlePragma()
2910 PP.parseSimpleIntegerLiteral(Tok, Value)) { in HandlePragma()
2912 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_integer) in HandlePragma()
2917 PP.Diag(Tok.getLocation(), diag::warn_pragma_invalid_action) in HandlePragma()
2925 PP.Diag(VtorDispLoc, diag::warn_pragma_expected_rparen) << "vtordisp"; in HandlePragma()
2929 PP.Lex(Tok); in HandlePragma()
2931 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) in HandlePragma()
2944 PP.EnterToken(AnnotTok, /*IsReinject=*/false); in HandlePragma()
2949 void PragmaMSPragma::HandlePragma(Preprocessor &PP, in HandlePragma() argument
2960 for (; Tok.isNot(tok::eod); PP.Lex(Tok)) { in HandlePragma()
2971 auto Value = new (PP.getPreprocessorAllocator()) in HandlePragma()
2975 PP.EnterToken(AnnotTok, /*IsReinject*/ false); in HandlePragma()
2989 void PragmaFloatControlHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
2995 if (!PP.getTargetInfo().hasStrictFP() && !PP.getLangOpts().ExpStrictFP) { in HandlePragma()
2996 PP.Diag(Tok.getLocation(), diag::warn_pragma_fp_ignored) in HandlePragma()
3000 PP.Lex(Tok); in HandlePragma()
3002 PP.Diag(FloatControlLoc, diag::err_expected) << tok::l_paren; in HandlePragma()
3007 PP.Lex(Tok); in HandlePragma()
3009 PP.Diag(Tok.getLocation(), diag::err_pragma_float_control_malformed); in HandlePragma()
3022 PP.Lex(Tok); // the identifier in HandlePragma()
3024 PP.Diag(Tok.getLocation(), diag::err_pragma_float_control_malformed); in HandlePragma()
3028 PP.Diag(Tok.getLocation(), diag::err_pragma_float_control_malformed); in HandlePragma()
3031 PP.Lex(Tok); // Eat the r_paren in HandlePragma()
3036 PP.Lex(Tok); // the r_paren in HandlePragma()
3038 PP.Diag(Tok.getLocation(), diag::err_pragma_float_control_malformed); in HandlePragma()
3041 PP.Lex(Tok); // , in HandlePragma()
3043 PP.Diag(Tok.getLocation(), diag::err_pragma_float_control_malformed); in HandlePragma()
3058 PP.Diag(Tok.getLocation(), diag::err_pragma_float_control_malformed); in HandlePragma()
3061 PP.Lex(Tok); // the identifier in HandlePragma()
3063 PP.Lex(Tok); // , in HandlePragma()
3065 PP.Diag(Tok.getLocation(), diag::err_pragma_float_control_malformed); in HandlePragma()
3072 PP.Diag(Tok.getLocation(), diag::err_pragma_float_control_malformed); in HandlePragma()
3075 PP.Lex(Tok); // the push identifier in HandlePragma()
3078 PP.Diag(Tok.getLocation(), diag::err_pragma_float_control_malformed); in HandlePragma()
3081 PP.Lex(Tok); // the r_paren in HandlePragma()
3086 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) in HandlePragma()
3091 // Note: there is no accomodation for PP callback for this pragma. in HandlePragma()
3103 PP.EnterTokenStream(std::move(TokenArray), 1, in HandlePragma()
3117 void PragmaDetectMismatchHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
3121 PP.Lex(Tok); in HandlePragma()
3123 PP.Diag(DetectMismatchLoc, diag::err_expected) << tok::l_paren; in HandlePragma()
3129 if (!PP.LexStringLiteral(Tok, NameString, in HandlePragma()
3137 PP.Diag(Tok.getLocation(), diag::err_pragma_detect_mismatch_malformed); in HandlePragma()
3141 if (!PP.LexStringLiteral(Tok, ValueString, "pragma detect_mismatch", in HandlePragma()
3146 PP.Diag(Tok.getLocation(), diag::err_expected) << tok::r_paren; in HandlePragma()
3149 PP.Lex(Tok); // Eat the r_paren. in HandlePragma()
3152 PP.Diag(Tok.getLocation(), diag::err_pragma_detect_mismatch_malformed); in HandlePragma()
3157 if (PP.getPPCallbacks()) in HandlePragma()
3158 PP.getPPCallbacks()->PragmaDetectMismatch(DetectMismatchLoc, NameString, in HandlePragma()
3173 void PragmaCommentHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
3177 PP.Lex(Tok); in HandlePragma()
3179 PP.Diag(CommentLoc, diag::err_pragma_comment_malformed); in HandlePragma()
3184 PP.Lex(Tok); in HandlePragma()
3186 PP.Diag(CommentLoc, diag::err_pragma_comment_malformed); in HandlePragma()
3201 PP.Diag(Tok.getLocation(), diag::err_pragma_comment_unknown_kind); in HandlePragma()
3205 if (PP.getTargetInfo().getTriple().isOSBinFormatELF() && Kind != PCK_Lib) { in HandlePragma()
3206 PP.Diag(Tok.getLocation(), diag::warn_pragma_comment_ignored) in HandlePragma()
3212 PP.Lex(Tok); in HandlePragma()
3214 if (Tok.is(tok::comma) && !PP.LexStringLiteral(Tok, ArgumentString, in HandlePragma()
3227 PP.Diag(Tok.getLocation(), diag::err_pragma_comment_malformed); in HandlePragma()
3230 PP.Lex(Tok); // eat the r_paren. in HandlePragma()
3233 PP.Diag(Tok.getLocation(), diag::err_pragma_comment_malformed); in HandlePragma()
3238 if (PP.getPPCallbacks()) in HandlePragma()
3239 PP.getPPCallbacks()->PragmaComment(CommentLoc, II, ArgumentString); in HandlePragma()
3246 void PragmaOptimizeHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
3250 PP.Lex(Tok); in HandlePragma()
3252 PP.Diag(Tok.getLocation(), diag::err_pragma_missing_argument) in HandlePragma()
3257 PP.Diag(Tok.getLocation(), diag::err_pragma_optimize_invalid_argument) in HandlePragma()
3258 << PP.getSpelling(Tok); in HandlePragma()
3267 PP.Diag(Tok.getLocation(), diag::err_pragma_optimize_invalid_argument) in HandlePragma()
3268 << PP.getSpelling(Tok); in HandlePragma()
3271 PP.Lex(Tok); in HandlePragma()
3274 PP.Diag(Tok.getLocation(), diag::err_pragma_optimize_extra_argument) in HandlePragma()
3275 << PP.getSpelling(Tok); in HandlePragma()
3295 void PragmaFPHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
3301 PP.Lex(Tok); in HandlePragma()
3303 PP.Diag(Tok.getLocation(), diag::err_pragma_fp_invalid_option) in HandlePragma()
3308 auto *AnnotValue = new (PP.getPreprocessorAllocator()) TokFPAnnotValue; in HandlePragma()
3321 PP.Diag(Tok.getLocation(), diag::err_pragma_fp_invalid_option) in HandlePragma()
3325 PP.Lex(Tok); in HandlePragma()
3329 PP.Diag(Tok.getLocation(), diag::err_expected) << tok::l_paren; in HandlePragma()
3332 PP.Lex(Tok); in HandlePragma()
3338 PP.Diag(Tok.getLocation(), diag::err_pragma_fp_invalid_argument) in HandlePragma()
3339 << PP.getSpelling(Tok) << OptionInfo->getName() in HandlePragma()
3354 PP.Diag(Tok.getLocation(), diag::err_pragma_fp_invalid_argument) in HandlePragma()
3355 << PP.getSpelling(Tok) << OptionInfo->getName() << *FlagKind; in HandlePragma()
3367 PP.Diag(Tok.getLocation(), diag::err_pragma_fp_invalid_argument) in HandlePragma()
3368 << PP.getSpelling(Tok) << OptionInfo->getName() << *FlagKind; in HandlePragma()
3380 PP.Diag(Tok.getLocation(), diag::err_pragma_fp_invalid_argument) in HandlePragma()
3381 << PP.getSpelling(Tok) << OptionInfo->getName() << *FlagKind; in HandlePragma()
3393 PP.Diag(Tok.getLocation(), diag::err_pragma_fp_invalid_argument) in HandlePragma()
3394 << PP.getSpelling(Tok) << OptionInfo->getName() << *FlagKind; in HandlePragma()
3398 PP.Lex(Tok); in HandlePragma()
3402 PP.Diag(Tok.getLocation(), diag::err_expected) << tok::r_paren; in HandlePragma()
3405 PP.Lex(Tok); in HandlePragma()
3409 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) in HandlePragma()
3425 PP.EnterTokenStream(std::move(TokenArray), TokenList.size(), in HandlePragma()
3429 void PragmaSTDC_FENV_ROUNDHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
3434 if (!PP.getTargetInfo().hasStrictFP() && !PP.getLangOpts().ExpStrictFP) { in HandlePragma()
3435 PP.Diag(Tok.getLocation(), diag::warn_pragma_fp_ignored) in HandlePragma()
3440 PP.Lex(Tok); in HandlePragma()
3442 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_identifier) in HandlePragma()
3458 PP.Diag(Tok.getLocation(), diag::warn_stdc_unknown_rounding_mode); in HandlePragma()
3461 PP.Lex(Tok); in HandlePragma()
3464 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) in HandlePragma()
3470 PP.Diag(Tok.getLocation(), diag::warn_stdc_fenv_round_not_supported); in HandlePragma()
3472 MutableArrayRef<Token> Toks(PP.getPreprocessorAllocator().Allocate<Token>(1), in HandlePragma()
3480 PP.EnterTokenStream(Toks, /*DisableMacroExpansion=*/true, in HandlePragma()
3512 static bool ParseLoopHintValue(Preprocessor &PP, Token &Tok, Token PragmaName, in ParseLoopHintValue() argument
3528 PP.Lex(Tok); in ParseLoopHintValue()
3534 PP.Diag(Tok.getLocation(), diag::err_expected) << tok::r_paren; in ParseLoopHintValue()
3537 PP.Lex(Tok); in ParseLoopHintValue()
3547 Info.Toks = llvm::ArrayRef(ValueList).copy(PP.getPreprocessorAllocator()); in ParseLoopHintValue()
3602 void PragmaLoopHintHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
3610 PP.Lex(Tok); in HandlePragma()
3612 PP.Diag(Tok.getLocation(), diag::err_pragma_loop_invalid_option) in HandlePragma()
3634 PP.Diag(Tok.getLocation(), diag::err_pragma_loop_invalid_option) in HandlePragma()
3638 PP.Lex(Tok); in HandlePragma()
3642 PP.Diag(Tok.getLocation(), diag::err_expected) << tok::l_paren; in HandlePragma()
3645 PP.Lex(Tok); in HandlePragma()
3647 auto *Info = new (PP.getPreprocessorAllocator()) PragmaLoopHintInfo; in HandlePragma()
3648 if (ParseLoopHintValue(PP, Tok, PragmaName, Option, /*ValueInParens=*/true, in HandlePragma()
3663 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) in HandlePragma()
3671 PP.EnterTokenStream(std::move(TokenArray), TokenList.size(), in HandlePragma()
3696 void PragmaUnrollHintHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
3702 PP.Lex(Tok); in HandlePragma()
3703 auto *Info = new (PP.getPreprocessorAllocator()) PragmaLoopHintInfo; in HandlePragma()
3710 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) in HandlePragma()
3719 PP.Lex(Tok); in HandlePragma()
3723 if (ParseLoopHintValue(PP, Tok, PragmaName, Option, ValueInParens, *Info)) in HandlePragma()
3728 if (PP.getLangOpts().CUDA && ValueInParens) in HandlePragma()
3729 PP.Diag(Info->Toks[0].getLocation(), in HandlePragma()
3733 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) in HandlePragma()
3746 PP.EnterTokenStream(std::move(TokenArray), 1, in HandlePragma()
3762 void PragmaMSIntrinsicHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
3765 PP.Lex(Tok); in HandlePragma()
3768 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_lparen) in HandlePragma()
3772 PP.Lex(Tok); in HandlePragma()
3774 bool SuggestIntrinH = !PP.isMacroDefined("__INTRIN_H"); in HandlePragma()
3779 PP.Diag(Tok.getLocation(), diag::warn_pragma_intrinsic_builtin) in HandlePragma()
3782 PP.Lex(Tok); in HandlePragma()
3785 PP.Lex(Tok); in HandlePragma()
3789 PP.Diag(Tok.getLocation(), diag::warn_pragma_expected_rparen) in HandlePragma()
3793 PP.Lex(Tok); in HandlePragma()
3796 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) in HandlePragma()
3808 bool SuggestIntrinH = !PP.isMacroDefined("__INTRIN_H"); in HandlePragmaMSFunction()
3814 PP.Diag(Tok.getLocation(), diag::warn_pragma_intrinsic_builtin) in HandlePragmaMSFunction()
3819 PP.Lex(Tok); in HandlePragmaMSFunction()
3822 PP.Lex(Tok); // , in HandlePragmaMSFunction()
3844 PP.Diag(PragmaLocation, diag::warn_pragma_expected_string) << PragmaName; in HandlePragmaMSOptimize()
3852 PP.Diag(PragmaLocation, diag::warn_pragma_expected_non_wide_string) in HandlePragmaMSOptimize()
3862 PP.Diag(PragmaLocation, diag::warn_pragma_missing_argument) in HandlePragmaMSOptimize()
3868 PP.Diag(PragmaLocation, diag::warn_pragma_invalid_argument) in HandlePragmaMSOptimize()
3869 << PP.getSpelling(Tok) << PragmaName << /*Expected=*/true in HandlePragmaMSOptimize()
3874 PP.Lex(Tok); in HandlePragmaMSOptimize()
3882 PP.Diag(PragmaLocation, diag::warn_pragma_invalid_argument) in HandlePragmaMSOptimize()
3897 Preprocessor &PP, PragmaIntroducer Introducer, Token &Tok) { in HandlePragma() argument
3900 PP.Lex(Tok); in HandlePragma()
3903 PP.Diag(FirstTok.getLocation(), in HandlePragma()
3911 PP.Diag(FirstTok.getLocation(), in HandlePragma()
3914 PP.Lex(Tok); in HandlePragma()
3916 PP.Diag(FirstTok.getLocation(), in HandlePragma()
3947 void PragmaAttributeHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
3951 PP.Lex(Tok); in HandlePragma()
3952 auto *Info = new (PP.getPreprocessorAllocator()) in HandlePragma()
3960 PP.Lex(Tok); in HandlePragma()
3963 PP.Diag(Tok.getLocation(), diag::err_pragma_attribute_expected_period) in HandlePragma()
3967 PP.Lex(Tok); in HandlePragma()
3972 PP.Diag(Tok.getLocation(), in HandlePragma()
3980 PP.Diag(Tok.getLocation(), in HandlePragma()
3982 PP.Diag(Tok.getLocation(), in HandlePragma()
3994 PP.Diag(Tok.getLocation(), diag::err_pragma_attribute_invalid_argument) in HandlePragma()
3995 << PP.getSpelling(Tok); in HandlePragma()
3999 PP.Lex(Tok); in HandlePragma()
4006 PP.Diag(Tok.getLocation(), diag::err_expected) << tok::l_paren; in HandlePragma()
4009 PP.Lex(Tok); in HandlePragma()
4024 PP.Lex(Tok); in HandlePragma()
4028 PP.Diag(Tok.getLocation(), diag::err_pragma_attribute_expected_attribute); in HandlePragma()
4032 PP.Diag(Tok.getLocation(), diag::err_expected) << tok::r_paren; in HandlePragma()
4036 PP.Lex(Tok); in HandlePragma()
4047 llvm::ArrayRef(AttributeTokens).copy(PP.getPreprocessorAllocator()); in HandlePragma()
4051 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) in HandlePragma()
4061 PP.EnterTokenStream(std::move(TokenArray), 1, in HandlePragma()
4066 void PragmaMaxTokensHereHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
4069 PP.Lex(Tok); in HandlePragma()
4071 PP.Diag(Tok.getLocation(), diag::err_pragma_missing_argument) in HandlePragma()
4079 !PP.parseSimpleIntegerLiteral(Tok, MaxTokens)) { in HandlePragma()
4080 PP.Diag(Tok.getLocation(), diag::err_pragma_expected_integer) in HandlePragma()
4086 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) in HandlePragma()
4091 if (PP.getTokenCount() > MaxTokens) { in HandlePragma()
4092 PP.Diag(Loc, diag::warn_max_tokens) in HandlePragma()
4093 << PP.getTokenCount() << (unsigned)MaxTokens; in HandlePragma()
4098 void PragmaMaxTokensTotalHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
4101 PP.Lex(Tok); in HandlePragma()
4103 PP.Diag(Tok.getLocation(), diag::err_pragma_missing_argument) in HandlePragma()
4111 !PP.parseSimpleIntegerLiteral(Tok, MaxTokens)) { in HandlePragma()
4112 PP.Diag(Tok.getLocation(), diag::err_pragma_expected_integer) in HandlePragma()
4118 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) in HandlePragma()
4123 PP.overrideMaxTokens(MaxTokens, Loc); in HandlePragma()
4128 void PragmaRISCVHandler::HandlePragma(Preprocessor &PP, in HandlePragma() argument
4132 PP.Lex(Tok); in HandlePragma()
4136 PP.Diag(Tok.getLocation(), diag::warn_pragma_invalid_argument) in HandlePragma()
4137 << PP.getSpelling(Tok) << "riscv" << /*Expected=*/true << "'intrinsic'"; in HandlePragma()
4141 PP.Lex(Tok); in HandlePragma()
4144 PP.Diag(Tok.getLocation(), diag::warn_pragma_invalid_argument) in HandlePragma()
4145 << PP.getSpelling(Tok) << "riscv" << /*Expected=*/true in HandlePragma()
4150 PP.Lex(Tok); in HandlePragma()
4152 PP.Diag(Tok.getLocation(), diag::warn_pragma_extra_tokens_at_eol) in HandlePragma()