Lines Matching defs:II

61 Preprocessor::getLocalMacroDirectiveHistory(const IdentifierInfo *II) const {
62 if (!II->hadMacroDefinition())
64 auto Pos = CurSubmoduleState->Macros.find(II);
69 void Preprocessor::appendMacroDirective(IdentifierInfo *II, MacroDirective *MD){
73 MacroState &StoredMD = CurSubmoduleState->Macros[II];
77 StoredMD.overrideActiveModuleMacros(*this, II);
83 PendingModuleMacroNames.push_back(II);
87 II->setHasMacroDefinition(true);
88 if (!MD->isDefined() && !LeafModuleMacros.contains(II))
89 II->setHasMacroDefinition(false);
90 if (II->isFromAST())
91 II->setChangedSinceDeserialization();
94 void Preprocessor::setLoadedMacroDirective(IdentifierInfo *II,
106 assert(II && MD);
107 MacroState &StoredMD = CurSubmoduleState->Macros[II];
125 II->setHasMacroDefinition(true);
126 if (!MD->isDefined() && !LeafModuleMacros.contains(II))
127 II->setHasMacroDefinition(false);
130 ModuleMacro *Preprocessor::addModuleMacro(Module *Mod, IdentifierInfo *II,
135 ModuleMacro::Profile(ID, Mod, II);
143 auto *MM = ModuleMacro::create(*this, Mod, II, Macro, Overrides);
154 auto &LeafMacros = LeafModuleMacros[II];
163 II->setHasMacroDefinition(true);
170 const IdentifierInfo *II) {
172 ModuleMacro::Profile(ID, Mod, II);
178 void Preprocessor::updateModuleMacroInfo(const IdentifierInfo *II,
186 auto Leaf = LeafModuleMacros.find(II);
256 void Preprocessor::dumpMacroInfo(const IdentifierInfo *II) {
258 auto LeafIt = LeafModuleMacros.find(II);
262 auto Pos = CurSubmoduleState->Macros.find(II);
266 llvm::errs() << "MacroState " << State << " " << II->getNameStart();
267 if (State && State->isAmbiguous(*this, II))
285 for (auto *MM : State ? State->getActiveModuleMacros(*this, II)
394 IdentifierInfo *II = MI->getReplacementToken(0).getIdentifierInfo();
397 if (!II) return true;
401 if (II->isOutOfDate())
402 PP.getExternalSource()->updateOutOfDateIdentifier(*II);
406 if (auto *ExpansionMI = PP.getMacroInfo(II))
409 II != MacroIdent)
418 return !llvm::is_contained(MI->params(), II);
1175 static bool EvaluateHasIncludeCommon(Token &Tok, IdentifierInfo *II,
1185 PP.Diag(LParenLoc, diag::err_pp_directive_required) << II;
1188 Tok.setIdentifierInfo(II);
1202 PP.Diag(LParenLoc, diag::err_pp_expected_after) << II << tok::l_paren;
1234 << II << tok::r_paren;
1268 EmbedResult Preprocessor::EvaluateHasEmbed(Token &Tok, IdentifierInfo *II) {
1271 Diag(Tok, diag::err_pp_directive_required) << II;
1274 Tok.setIdentifierInfo(II);
1281 Diag(Tok, diag::err_pp_expected_after) << II << tok::l_paren;
1314 << II << tok::r_paren;
1365 bool Preprocessor::EvaluateHasInclude(Token &Tok, IdentifierInfo *II) {
1366 return EvaluateHasIncludeCommon(Tok, II, *this, nullptr, nullptr);
1369 bool Preprocessor::EvaluateHasIncludeNext(Token &Tok, IdentifierInfo *II) {
1374 return EvaluateHasIncludeCommon(Tok, II, *this, Lookup, LookupFromFile);
1380 Token &Tok, IdentifierInfo *II,
1388 PP.Diag(Tok.getLocation(), diag::err_pp_expected_after) << II
1433 PP.Diag(Tok.getLocation(), diag::err_pp_nested_paren) << II;
1492 IdentifierInfo *II;
1493 if (!Tok.isAnnotation() && (II = Tok.getIdentifierInfo()))
1494 return II;
1501 static bool isTargetArch(const TargetInfo &TI, const IdentifierInfo *II) {
1502 std::string ArchName = II->getName().lower() + "--";
1523 static bool isTargetVendor(const TargetInfo &TI, const IdentifierInfo *II) {
1527 return VendorName.equals_insensitive(II->getName());
1531 static bool isTargetOS(const TargetInfo &TI, const IdentifierInfo *II) {
1533 (llvm::Twine("unknown-unknown-") + II->getName().lower()).str();
1544 const IdentifierInfo *II) {
1545 std::string EnvName = (llvm::Twine("---") + II->getName().lower()).str();
1556 static bool isTargetVariantOS(const TargetInfo &TI, const IdentifierInfo *II) {
1563 (llvm::Twine("unknown-unknown-") + II->getName().lower()).str();
1576 const IdentifierInfo *II) {
1581 std::string EnvName = (llvm::Twine("---") + II->getName().lower()).str();
1632 IdentifierInfo *II = Tok.getIdentifierInfo();
1633 assert(II && "Can't be a macro without id info!");
1637 if (II == Ident_Pragma)
1639 else if (II == Ident__pragma) // in non-MS mode this is null
1653 if (II == Ident__LINE__) {
1674 } else if (II == Ident__FILE__ || II == Ident__BASE_FILE__ ||
1675 II == Ident__FILE_NAME__) {
1682 if (II == Ident__BASE_FILE__ && PLoc.isValid()) {
1698 if (II == Ident__FILE_NAME__) {
1708 } else if (II == Ident__DATE__) {
1718 } else if (II == Ident__TIME__) {
1728 } else if (II == Ident__INCLUDE_LEVEL__) {
1743 } else if (II == Ident__TIMESTAMP__) {
1771 } else if (II == Ident__FLT_EVAL_METHOD__) {
1782 } else if (II == Ident__COUNTER__) {
1786 } else if (II == Ident__has_feature) {
1787 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, false,
1789 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this,
1791 return II && HasFeature(*this, II->getName());
1793 } else if (II == Ident__has_extension) {
1794 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, false,
1796 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this,
1798 return II && HasExtension(*this, II->getName());
1800 } else if (II == Ident__has_builtin) {
1801 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, false,
1803 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this,
1805 if (!II)
1807 else if (II->getBuiltinID() != 0) {
1808 switch (II->getBuiltinID()) {
1822 getBuiltinInfo().getRequiredFeatures(II->getBuiltinID()),
1828 } else if (II->getTokenID() != tok::identifier &&
1829 II->getName().starts_with("__builtin_")) {
1832 return llvm::StringSwitch<bool>(II->getName())
1849 } else if (II == Ident__has_constexpr_builtin) {
1851 OS, Tok, II, *this, false,
1853 IdentifierInfo *II = ExpectFeatureIdentifierInfo(
1855 if (!II)
1857 unsigned BuiltinOp = II->getBuiltinID();
1861 } else if (II == Ident__is_identifier) {
1862 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, false,
1866 } else if (II == Ident__has_attribute) {
1867 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, true,
1869 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this,
1871 return II ? hasAttribute(AttributeCommonInfo::Syntax::AS_GNU, nullptr,
1872 II, getTargetInfo(), getLangOpts())
1875 } else if (II == Ident__has_declspec) {
1876 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, true,
1878 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this,
1880 if (II) {
1884 II, getTargetInfo(), LangOpts);
1889 } else if (II == Ident__has_cpp_attribute ||
1890 II == Ident__has_c_attribute) {
1891 bool IsCXX = II == Ident__has_cpp_attribute;
1892 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, true,
1895 IdentifierInfo *II = ExpectFeatureIdentifierInfo(
1897 if (!II)
1906 ScopeII = II;
1909 II = ExpectFeatureIdentifierInfo(Tok, *this,
1916 return II ? hasAttribute(Syntax, ScopeII, II, getTargetInfo(),
1920 } else if (II == Ident__has_include ||
1921 II == Ident__has_include_next) {
1926 if (II == Ident__has_include)
1927 Value = EvaluateHasInclude(Tok, II);
1929 Value = EvaluateHasIncludeNext(Tok, II);
1935 } else if (II == Ident__has_embed) {
1940 EmbedResult Value = EvaluateHasEmbed(Tok, II);
1946 } else if (II == Ident__has_warning) {
1948 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, false,
1975 } else if (II == Ident__building_module) {
1979 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, false,
1981 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this,
1983 return getLangOpts().isCompilingModule() && II &&
1984 (II->getName() == getLangOpts().CurrentModule);
1986 } else if (II == Ident__MODULE__) {
1992 } else if (II == Ident__identifier) {
2001 << II << tok::l_paren;
2038 } else if (II == Ident__is_target_arch) {
2040 OS, Tok, II, *this, false,
2042 IdentifierInfo *II = ExpectFeatureIdentifierInfo(
2044 return II && isTargetArch(getTargetInfo(), II);
2046 } else if (II == Ident__is_target_vendor) {
2048 OS, Tok, II, *this, false,
2050 IdentifierInfo *II = ExpectFeatureIdentifierInfo(
2052 return II && isTargetVendor(getTargetInfo(), II);
2054 } else if (II == Ident__is_target_os) {
2056 OS, Tok, II, *this, false,
2058 IdentifierInfo *II = ExpectFeatureIdentifierInfo(
2060 return II && isTargetOS(getTargetInfo(), II);
2062 } else if (II == Ident__is_target_environment) {
2064 OS, Tok, II, *this, false,
2066 IdentifierInfo *II = ExpectFeatureIdentifierInfo(
2068 return II && isTargetEnvironment(getTargetInfo(), II);
2070 } else if (II == Ident__is_target_variant_os) {
2072 OS, Tok, II, *this, false,
2074 IdentifierInfo *II = ExpectFeatureIdentifierInfo(
2076 return II && isTargetVariantOS(getTargetInfo(), II);
2078 } else if (II == Ident__is_target_variant_environment) {
2080 OS, Tok, II, *this, false,
2082 IdentifierInfo *II = ExpectFeatureIdentifierInfo(
2084 return II && isTargetVariantEnvironment(getTargetInfo(), II);