Lines Matching refs:II

63 Preprocessor::getLocalMacroDirectiveHistory(const IdentifierInfo *II) const {  in getLocalMacroDirectiveHistory()
64 if (!II->hadMacroDefinition()) in getLocalMacroDirectiveHistory()
66 auto Pos = CurSubmoduleState->Macros.find(II); in getLocalMacroDirectiveHistory()
71 void Preprocessor::appendMacroDirective(IdentifierInfo *II, MacroDirective *MD){ in appendMacroDirective() argument
75 MacroState &StoredMD = CurSubmoduleState->Macros[II]; in appendMacroDirective()
79 StoredMD.overrideActiveModuleMacros(*this, II); in appendMacroDirective()
85 PendingModuleMacroNames.push_back(II); in appendMacroDirective()
89 II->setHasMacroDefinition(true); in appendMacroDirective()
90 if (!MD->isDefined() && LeafModuleMacros.find(II) == LeafModuleMacros.end()) in appendMacroDirective()
91 II->setHasMacroDefinition(false); in appendMacroDirective()
92 if (II->isFromAST()) in appendMacroDirective()
93 II->setChangedSinceDeserialization(); in appendMacroDirective()
96 void Preprocessor::setLoadedMacroDirective(IdentifierInfo *II, in setLoadedMacroDirective() argument
108 assert(II && MD); in setLoadedMacroDirective()
109 MacroState &StoredMD = CurSubmoduleState->Macros[II]; in setLoadedMacroDirective()
127 II->setHasMacroDefinition(true); in setLoadedMacroDirective()
128 if (!MD->isDefined() && LeafModuleMacros.find(II) == LeafModuleMacros.end()) in setLoadedMacroDirective()
129 II->setHasMacroDefinition(false); in setLoadedMacroDirective()
132 ModuleMacro *Preprocessor::addModuleMacro(Module *Mod, IdentifierInfo *II, in addModuleMacro() argument
137 ModuleMacro::Profile(ID, Mod, II); in addModuleMacro()
145 auto *MM = ModuleMacro::create(*this, Mod, II, Macro, Overrides); in addModuleMacro()
156 auto &LeafMacros = LeafModuleMacros[II]; in addModuleMacro()
168 II->setHasMacroDefinition(true); in addModuleMacro()
175 const IdentifierInfo *II) { in getModuleMacro() argument
177 ModuleMacro::Profile(ID, Mod, II); in getModuleMacro()
183 void Preprocessor::updateModuleMacroInfo(const IdentifierInfo *II, in updateModuleMacroInfo() argument
191 auto Leaf = LeafModuleMacros.find(II); in updateModuleMacroInfo()
261 void Preprocessor::dumpMacroInfo(const IdentifierInfo *II) { in dumpMacroInfo() argument
263 auto LeafIt = LeafModuleMacros.find(II); in dumpMacroInfo()
267 auto Pos = CurSubmoduleState->Macros.find(II); in dumpMacroInfo()
271 llvm::errs() << "MacroState " << State << " " << II->getNameStart(); in dumpMacroInfo()
272 if (State && State->isAmbiguous(*this, II)) in dumpMacroInfo()
290 for (auto *MM : State ? State->getActiveModuleMacros(*this, II) : None) in dumpMacroInfo()
405 IdentifierInfo *II = MI->getReplacementToken(0).getIdentifierInfo(); in isTrivialSingleTokenExpansion() local
408 if (!II) return true; in isTrivialSingleTokenExpansion()
412 if (II->isOutOfDate()) in isTrivialSingleTokenExpansion()
413 PP.getExternalSource()->updateOutOfDateIdentifier(*II); in isTrivialSingleTokenExpansion()
417 if (auto *ExpansionMI = PP.getMacroInfo(II)) in isTrivialSingleTokenExpansion()
420 II != MacroIdent) in isTrivialSingleTokenExpansion()
429 return std::find(MI->param_begin(), MI->param_end(), II) == MI->param_end(); in isTrivialSingleTokenExpansion()
1158 IdentifierInfo *II, Preprocessor &PP, in EvaluateHasIncludeCommon() argument
1167 PP.Diag(LParenLoc, diag::err_pp_directive_required) << II; in EvaluateHasIncludeCommon()
1170 Tok.setIdentifierInfo(II); in EvaluateHasIncludeCommon()
1184 PP.Diag(LParenLoc, diag::err_pp_expected_after) << II << tok::l_paren; in EvaluateHasIncludeCommon()
1216 << II << tok::r_paren; in EvaluateHasIncludeCommon()
1247 static bool EvaluateHasInclude(Token &Tok, IdentifierInfo *II, in EvaluateHasInclude() argument
1249 return EvaluateHasIncludeCommon(Tok, II, PP, nullptr, nullptr); in EvaluateHasInclude()
1255 IdentifierInfo *II, Preprocessor &PP) { in EvaluateHasIncludeNext() argument
1283 return EvaluateHasIncludeCommon(Tok, II, PP, Lookup, LookupFromFile); in EvaluateHasIncludeNext()
1289 Token &Tok, IdentifierInfo *II, in EvaluateFeatureLikeBuiltinMacro() argument
1297 PP.Diag(Tok.getLocation(), diag::err_pp_expected_after) << II in EvaluateFeatureLikeBuiltinMacro()
1339 PP.Diag(Tok.getLocation(), diag::err_pp_nested_paren) << II; in EvaluateFeatureLikeBuiltinMacro()
1398 IdentifierInfo *II; in ExpectFeatureIdentifierInfo() local
1399 if (!Tok.isAnnotation() && (II = Tok.getIdentifierInfo())) in ExpectFeatureIdentifierInfo()
1400 return II; in ExpectFeatureIdentifierInfo()
1407 static bool isTargetArch(const TargetInfo &TI, const IdentifierInfo *II) { in isTargetArch() argument
1408 std::string ArchName = II->getName().lower() + "--"; in isTargetArch()
1429 static bool isTargetVendor(const TargetInfo &TI, const IdentifierInfo *II) { in isTargetVendor() argument
1433 return VendorName.equals_insensitive(II->getName()); in isTargetVendor()
1437 static bool isTargetOS(const TargetInfo &TI, const IdentifierInfo *II) { in isTargetOS() argument
1439 (llvm::Twine("unknown-unknown-") + II->getName().lower()).str(); in isTargetOS()
1450 const IdentifierInfo *II) { in isTargetEnvironment() argument
1451 std::string EnvName = (llvm::Twine("---") + II->getName().lower()).str(); in isTargetEnvironment()
1460 IdentifierInfo *II = Tok.getIdentifierInfo(); in ExpandBuiltinMacro() local
1461 assert(II && "Can't be a macro without id info!"); in ExpandBuiltinMacro()
1465 if (II == Ident_Pragma) in ExpandBuiltinMacro()
1467 else if (II == Ident__pragma) // in non-MS mode this is null in ExpandBuiltinMacro()
1481 if (II == Ident__LINE__) { in ExpandBuiltinMacro()
1502 } else if (II == Ident__FILE__ || II == Ident__BASE_FILE__ || in ExpandBuiltinMacro()
1503 II == Ident__FILE_NAME__) { in ExpandBuiltinMacro()
1510 if (II == Ident__BASE_FILE__ && PLoc.isValid()) { in ExpandBuiltinMacro()
1526 if (II == Ident__FILE_NAME__) { in ExpandBuiltinMacro()
1542 } else if (II == Ident__DATE__) { in ExpandBuiltinMacro()
1552 } else if (II == Ident__TIME__) { in ExpandBuiltinMacro()
1562 } else if (II == Ident__INCLUDE_LEVEL__) { in ExpandBuiltinMacro()
1577 } else if (II == Ident__TIMESTAMP__) { in ExpandBuiltinMacro()
1601 } else if (II == Ident__COUNTER__) { in ExpandBuiltinMacro()
1605 } else if (II == Ident__has_feature) { in ExpandBuiltinMacro()
1606 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, in ExpandBuiltinMacro()
1608 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro() local
1610 return II && HasFeature(*this, II->getName()); in ExpandBuiltinMacro()
1612 } else if (II == Ident__has_extension) { in ExpandBuiltinMacro()
1613 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, in ExpandBuiltinMacro()
1615 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro() local
1617 return II && HasExtension(*this, II->getName()); in ExpandBuiltinMacro()
1619 } else if (II == Ident__has_builtin) { in ExpandBuiltinMacro()
1620 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, in ExpandBuiltinMacro()
1622 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro() local
1624 if (!II) in ExpandBuiltinMacro()
1626 else if (II->getBuiltinID() != 0) { in ExpandBuiltinMacro()
1627 switch (II->getBuiltinID()) { in ExpandBuiltinMacro()
1637 } else if (II->getTokenID() != tok::identifier || in ExpandBuiltinMacro()
1638 II->hasRevertedTokenIDToIdentifier()) { in ExpandBuiltinMacro()
1646 if (II->getName().startswith("__builtin_") || in ExpandBuiltinMacro()
1647 II->getName().startswith("__is_") || in ExpandBuiltinMacro()
1648 II->getName().startswith("__has_")) in ExpandBuiltinMacro()
1650 return llvm::StringSwitch<bool>(II->getName()) in ExpandBuiltinMacro()
1657 return llvm::StringSwitch<bool>(II->getName()) in ExpandBuiltinMacro()
1671 } else if (II == Ident__is_identifier) { in ExpandBuiltinMacro()
1672 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, in ExpandBuiltinMacro()
1676 } else if (II == Ident__has_attribute) { in ExpandBuiltinMacro()
1677 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, in ExpandBuiltinMacro()
1679 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro() local
1681 return II ? hasAttribute(AttrSyntax::GNU, nullptr, II, in ExpandBuiltinMacro()
1684 } else if (II == Ident__has_declspec) { in ExpandBuiltinMacro()
1685 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, in ExpandBuiltinMacro()
1687 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro() local
1689 if (II) { in ExpandBuiltinMacro()
1692 hasAttribute(AttrSyntax::Declspec, nullptr, II, in ExpandBuiltinMacro()
1698 } else if (II == Ident__has_cpp_attribute || in ExpandBuiltinMacro()
1699 II == Ident__has_c_attribute) { in ExpandBuiltinMacro()
1700 bool IsCXX = II == Ident__has_cpp_attribute; in ExpandBuiltinMacro()
1702 OS, Tok, II, *this, [&](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro()
1704 IdentifierInfo *II = ExpectFeatureIdentifierInfo( in ExpandBuiltinMacro() local
1706 if (!II) in ExpandBuiltinMacro()
1715 ScopeII = II; in ExpandBuiltinMacro()
1717 II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro()
1722 return II ? hasAttribute(Syntax, ScopeII, II, getTargetInfo(), in ExpandBuiltinMacro()
1726 } else if (II == Ident__has_include || in ExpandBuiltinMacro()
1727 II == Ident__has_include_next) { in ExpandBuiltinMacro()
1732 if (II == Ident__has_include) in ExpandBuiltinMacro()
1733 Value = EvaluateHasInclude(Tok, II, *this); in ExpandBuiltinMacro()
1735 Value = EvaluateHasIncludeNext(Tok, II, *this); in ExpandBuiltinMacro()
1741 } else if (II == Ident__has_warning) { in ExpandBuiltinMacro()
1743 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, in ExpandBuiltinMacro()
1770 } else if (II == Ident__building_module) { in ExpandBuiltinMacro()
1774 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, in ExpandBuiltinMacro()
1776 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro() local
1778 return getLangOpts().isCompilingModule() && II && in ExpandBuiltinMacro()
1779 (II->getName() == getLangOpts().CurrentModule); in ExpandBuiltinMacro()
1781 } else if (II == Ident__MODULE__) { in ExpandBuiltinMacro()
1787 } else if (II == Ident__identifier) { in ExpandBuiltinMacro()
1796 << II << tok::l_paren; in ExpandBuiltinMacro()
1832 } else if (II == Ident__is_target_arch) { in ExpandBuiltinMacro()
1834 OS, Tok, II, *this, [this](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro()
1835 IdentifierInfo *II = ExpectFeatureIdentifierInfo( in ExpandBuiltinMacro() local
1837 return II && isTargetArch(getTargetInfo(), II); in ExpandBuiltinMacro()
1839 } else if (II == Ident__is_target_vendor) { in ExpandBuiltinMacro()
1841 OS, Tok, II, *this, [this](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro()
1842 IdentifierInfo *II = ExpectFeatureIdentifierInfo( in ExpandBuiltinMacro() local
1844 return II && isTargetVendor(getTargetInfo(), II); in ExpandBuiltinMacro()
1846 } else if (II == Ident__is_target_os) { in ExpandBuiltinMacro()
1848 OS, Tok, II, *this, [this](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro()
1849 IdentifierInfo *II = ExpectFeatureIdentifierInfo( in ExpandBuiltinMacro() local
1851 return II && isTargetOS(getTargetInfo(), II); in ExpandBuiltinMacro()
1853 } else if (II == Ident__is_target_environment) { in ExpandBuiltinMacro()
1855 OS, Tok, II, *this, [this](Token &Tok, bool &HasLexedNextToken) -> int { in ExpandBuiltinMacro()
1856 IdentifierInfo *II = ExpectFeatureIdentifierInfo( in ExpandBuiltinMacro() local
1858 return II && isTargetEnvironment(getTargetInfo(), II); in ExpandBuiltinMacro()