Lines Matching defs:Identifier
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
696 IdentifierInfo *Preprocessor::LookUpIdentifierInfo(Token &Identifier) const {
697 assert(!Identifier.getRawIdentifier().empty() && "No raw identifier data!");
701 if (!Identifier.needsCleaning() && !Identifier.hasUCN()) {
703 II = getIdentifierInfo(Identifier.getRawIdentifier());
707 StringRef CleanedStr = getSpelling(Identifier, IdentifierBuffer);
709 if (Identifier.hasUCN()) {
725 Identifier.setIdentifierInfo(II);
726 Identifier.setKind(II->getTokenID());
749 void Preprocessor::HandlePoisonedIdentifier(Token & Identifier) {
750 assert(Identifier.getIdentifierInfo() &&
753 PoisonReasons.find(Identifier.getIdentifierInfo());
755 Diag(Identifier, diag::err_pp_used_poisoned_id);
757 Diag(Identifier,it->second) << Identifier.getIdentifierInfo();
773 bool Preprocessor::HandleIdentifier(Token &Identifier) {
774 assert(Identifier.getIdentifierInfo() &&
777 IdentifierInfo &II = *Identifier.getIdentifierInfo();
792 Identifier.setKind(II.getTokenID());
801 HandlePoisonedIdentifier(Identifier);
809 if (!Identifier.isExpandDisabled() && MI->isEnabled()) {
813 return HandleMacroExpandedIdentifier(Identifier, MD);
818 Identifier.setFlag(Token::DisableExpand);
820 Diag(Identifier, diag::pp_disabled_macro_expansion);
831 Diag(Identifier, getIdentifierTable().getFutureCompatDiagKind(II, getLangOpts()))
842 Diag(Identifier, diag::ext_token_used);
853 Identifier.is(tok::kw_import)) &&
857 ModuleImportLoc = Identifier.getLocation();
1440 void Preprocessor::emitMacroDeprecationWarning(const Token &Identifier) const {
1442 getMacroAnnotations(Identifier.getIdentifierInfo());
1447 Diag(Identifier, diag::warn_pragma_deprecated_macro_use)
1448 << Identifier.getIdentifierInfo() << 0;
1450 Diag(Identifier, diag::warn_pragma_deprecated_macro_use)
1451 << Identifier.getIdentifierInfo() << 1 << Info.Message;
1455 void Preprocessor::emitRestrictExpansionWarning(const Token &Identifier) const {
1457 getMacroAnnotations(Identifier.getIdentifierInfo());
1462 Diag(Identifier, diag::warn_pragma_restrict_expansion_macro_use)
1463 << Identifier.getIdentifierInfo() << 0;
1465 Diag(Identifier, diag::warn_pragma_restrict_expansion_macro_use)
1466 << Identifier.getIdentifierInfo() << 1 << Info.Message;
1470 void Preprocessor::emitRestrictInfNaNWarning(const Token &Identifier,
1472 Diag(Identifier, diag::warn_fp_nan_inf_when_disabled) << DiagSelection << 1;
1475 void Preprocessor::emitFinalMacroWarning(const Token &Identifier,
1478 getMacroAnnotations(Identifier.getIdentifierInfo());
1482 Diag(Identifier, diag::warn_pragma_final_macro)
1483 << Identifier.getIdentifierInfo() << (IsUndef ? 0 : 1);