Lines Matching refs:II
64 Preprocessor::getLocalMacroDirectiveHistory(const IdentifierInfo *II) const { in getLocalMacroDirectiveHistory()
65 if (!II->hadMacroDefinition()) in getLocalMacroDirectiveHistory()
67 auto Pos = CurSubmoduleState->Macros.find(II); in getLocalMacroDirectiveHistory()
72 void Preprocessor::appendMacroDirective(IdentifierInfo *II, MacroDirective *MD){ in appendMacroDirective() argument
76 MacroState &StoredMD = CurSubmoduleState->Macros[II]; in appendMacroDirective()
80 StoredMD.overrideActiveModuleMacros(*this, II); in appendMacroDirective()
86 PendingModuleMacroNames.push_back(II); in appendMacroDirective()
90 II->setHasMacroDefinition(true); in appendMacroDirective()
91 if (!MD->isDefined() && LeafModuleMacros.find(II) == LeafModuleMacros.end()) in appendMacroDirective()
92 II->setHasMacroDefinition(false); in appendMacroDirective()
93 if (II->isFromAST()) in appendMacroDirective()
94 II->setChangedSinceDeserialization(); in appendMacroDirective()
97 void Preprocessor::setLoadedMacroDirective(IdentifierInfo *II, in setLoadedMacroDirective() argument
109 assert(II && MD); in setLoadedMacroDirective()
110 MacroState &StoredMD = CurSubmoduleState->Macros[II]; in setLoadedMacroDirective()
128 II->setHasMacroDefinition(true); in setLoadedMacroDirective()
129 if (!MD->isDefined() && LeafModuleMacros.find(II) == LeafModuleMacros.end()) in setLoadedMacroDirective()
130 II->setHasMacroDefinition(false); in setLoadedMacroDirective()
133 ModuleMacro *Preprocessor::addModuleMacro(Module *Mod, IdentifierInfo *II, in addModuleMacro() argument
138 ModuleMacro::Profile(ID, Mod, II); in addModuleMacro()
146 auto *MM = ModuleMacro::create(*this, Mod, II, Macro, Overrides); in addModuleMacro()
157 auto &LeafMacros = LeafModuleMacros[II]; in addModuleMacro()
166 II->setHasMacroDefinition(true); in addModuleMacro()
173 const IdentifierInfo *II) { in getModuleMacro() argument
175 ModuleMacro::Profile(ID, Mod, II); in getModuleMacro()
181 void Preprocessor::updateModuleMacroInfo(const IdentifierInfo *II, in updateModuleMacroInfo() argument
189 auto Leaf = LeafModuleMacros.find(II); in updateModuleMacroInfo()
259 void Preprocessor::dumpMacroInfo(const IdentifierInfo *II) { in dumpMacroInfo() argument
261 auto LeafIt = LeafModuleMacros.find(II); in dumpMacroInfo()
265 auto Pos = CurSubmoduleState->Macros.find(II); in dumpMacroInfo()
269 llvm::errs() << "MacroState " << State << " " << II->getNameStart(); in dumpMacroInfo()
270 if (State && State->isAmbiguous(*this, II)) in dumpMacroInfo()
288 for (auto *MM : State ? State->getActiveModuleMacros(*this, II) : None) in dumpMacroInfo()
408 IdentifierInfo *II = MI->getReplacementToken(0).getIdentifierInfo(); in isTrivialSingleTokenExpansion() local
411 if (!II) return true; in isTrivialSingleTokenExpansion()
415 if (II->isOutOfDate()) in isTrivialSingleTokenExpansion()
416 PP.getExternalSource()->updateOutOfDateIdentifier(*II); in isTrivialSingleTokenExpansion()
420 if (auto *ExpansionMI = PP.getMacroInfo(II)) in isTrivialSingleTokenExpansion()
423 II != MacroIdent) in isTrivialSingleTokenExpansion()
432 return !llvm::is_contained(MI->params(), II); in isTrivialSingleTokenExpansion()
1166 static bool EvaluateHasIncludeCommon(Token &Tok, IdentifierInfo *II, in EvaluateHasIncludeCommon() argument
1176 PP.Diag(LParenLoc, diag::err_pp_directive_required) << II; in EvaluateHasIncludeCommon()
1179 Tok.setIdentifierInfo(II); in EvaluateHasIncludeCommon()
1193 PP.Diag(LParenLoc, diag::err_pp_expected_after) << II << tok::l_paren; in EvaluateHasIncludeCommon()
1225 << II << tok::r_paren; in EvaluateHasIncludeCommon()
1253 bool Preprocessor::EvaluateHasInclude(Token &Tok, IdentifierInfo *II) { in EvaluateHasInclude() argument
1254 return EvaluateHasIncludeCommon(Tok, II, *this, nullptr, nullptr); in EvaluateHasInclude()
1257 bool Preprocessor::EvaluateHasIncludeNext(Token &Tok, IdentifierInfo *II) { in EvaluateHasIncludeNext() argument
1262 return EvaluateHasIncludeCommon(Tok, II, *this, Lookup, LookupFromFile); in EvaluateHasIncludeNext()
1268 Token &Tok, IdentifierInfo *II, in EvaluateFeatureLikeBuiltinMacro() argument
1276 PP.Diag(Tok.getLocation(), diag::err_pp_expected_after) << II in EvaluateFeatureLikeBuiltinMacro()
1321 PP.Diag(Tok.getLocation(), diag::err_pp_nested_paren) << II; in EvaluateFeatureLikeBuiltinMacro()
1380 IdentifierInfo *II; in ExpectFeatureIdentifierInfo() local
1381 if (!Tok.isAnnotation() && (II = Tok.getIdentifierInfo())) in ExpectFeatureIdentifierInfo()
1382 return II; in ExpectFeatureIdentifierInfo()
1389 static bool isTargetArch(const TargetInfo &TI, const IdentifierInfo *II) { in isTargetArch() argument
1390 std::string ArchName = II->getName().lower() + "--"; in isTargetArch()
1411 static bool isTargetVendor(const TargetInfo &TI, const IdentifierInfo *II) { in isTargetVendor() argument
1415 return VendorName.equals_insensitive(II->getName()); in isTargetVendor()
1419 static bool isTargetOS(const TargetInfo &TI, const IdentifierInfo *II) { in isTargetOS() argument
1421 (llvm::Twine("unknown-unknown-") + II->getName().lower()).str(); in isTargetOS()
1432 const IdentifierInfo *II) { in isTargetEnvironment() argument
1433 std::string EnvName = (llvm::Twine("---") + II->getName().lower()).str(); in isTargetEnvironment()
1439 static bool isTargetVariantOS(const TargetInfo &TI, const IdentifierInfo *II) { in isTargetVariantOS() argument
1446 (llvm::Twine("unknown-unknown-") + II->getName().lower()).str(); in isTargetVariantOS()
1459 const IdentifierInfo *II) { in isTargetVariantEnvironment() argument
1464 std::string EnvName = (llvm::Twine("---") + II->getName().lower()).str(); in isTargetVariantEnvironment()
1475 IdentifierInfo *II = Tok.getIdentifierInfo(); in ExpandBuiltinMacro() local
1476 assert(II && "Can't be a macro without id info!"); in ExpandBuiltinMacro()
1480 if (II == Ident_Pragma) in ExpandBuiltinMacro()
1482 else if (II == Ident__pragma) // in non-MS mode this is null in ExpandBuiltinMacro()
1496 if (II == Ident__LINE__) { in ExpandBuiltinMacro()
1517 } else if (II == Ident__FILE__ || II == Ident__BASE_FILE__ || in ExpandBuiltinMacro()
1518 II == Ident__FILE_NAME__) { in ExpandBuiltinMacro()
1525 if (II == Ident__BASE_FILE__ && PLoc.isValid()) { in ExpandBuiltinMacro()
1541 if (II == Ident__FILE_NAME__) { in ExpandBuiltinMacro()
1557 } else if (II == Ident__DATE__) { in ExpandBuiltinMacro()
1567 } else if (II == Ident__TIME__) { in ExpandBuiltinMacro()
1577 } else if (II == Ident__INCLUDE_LEVEL__) { in ExpandBuiltinMacro()
1592 } else if (II == Ident__TIMESTAMP__) { in ExpandBuiltinMacro()
1616 } else if (II == Ident__FLT_EVAL_METHOD__) { in ExpandBuiltinMacro()
1648 } else if (II == Ident__COUNTER__) { in ExpandBuiltinMacro()
1652 } else if (II == Ident__has_feature) { in ExpandBuiltinMacro()
1653 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1655 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro() local
1657 return II && HasFeature(*this, II->getName()); in ExpandBuiltinMacro()
1659 } else if (II == Ident__has_extension) { in ExpandBuiltinMacro()
1660 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1662 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro() local
1664 return II && HasExtension(*this, II->getName()); in ExpandBuiltinMacro()
1666 } else if (II == Ident__has_builtin) { in ExpandBuiltinMacro()
1667 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1669 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro() local
1671 if (!II) in ExpandBuiltinMacro()
1673 else if (II->getBuiltinID() != 0) { in ExpandBuiltinMacro()
1674 switch (II->getBuiltinID()) { in ExpandBuiltinMacro()
1682 getBuiltinInfo().getRequiredFeatures(II->getBuiltinID()), in ExpandBuiltinMacro()
1686 } else if (II->getTokenID() != tok::identifier || in ExpandBuiltinMacro()
1687 II->hasRevertedTokenIDToIdentifier()) { in ExpandBuiltinMacro()
1695 if (II->getName().startswith("__builtin_") || in ExpandBuiltinMacro()
1696 II->getName().startswith("__is_") || in ExpandBuiltinMacro()
1697 II->getName().startswith("__has_")) in ExpandBuiltinMacro()
1699 return llvm::StringSwitch<bool>(II->getName()) in ExpandBuiltinMacro()
1706 return llvm::StringSwitch<bool>(II->getName()) in ExpandBuiltinMacro()
1722 } else if (II == Ident__is_identifier) { in ExpandBuiltinMacro()
1723 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1727 } else if (II == Ident__has_attribute) { in ExpandBuiltinMacro()
1728 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, true, in ExpandBuiltinMacro()
1730 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro() local
1732 return II ? hasAttribute(AttributeCommonInfo::Syntax::AS_GNU, nullptr, in ExpandBuiltinMacro()
1733 II, getTargetInfo(), getLangOpts()) in ExpandBuiltinMacro()
1736 } else if (II == Ident__has_declspec) { in ExpandBuiltinMacro()
1737 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, true, in ExpandBuiltinMacro()
1739 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro() local
1741 if (II) { in ExpandBuiltinMacro()
1745 II, getTargetInfo(), LangOpts); in ExpandBuiltinMacro()
1750 } else if (II == Ident__has_cpp_attribute || in ExpandBuiltinMacro()
1751 II == Ident__has_c_attribute) { in ExpandBuiltinMacro()
1752 bool IsCXX = II == Ident__has_cpp_attribute; in ExpandBuiltinMacro()
1753 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, true, in ExpandBuiltinMacro()
1756 IdentifierInfo *II = ExpectFeatureIdentifierInfo( in ExpandBuiltinMacro() local
1758 if (!II) in ExpandBuiltinMacro()
1767 ScopeII = II; in ExpandBuiltinMacro()
1770 II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro()
1777 return II ? hasAttribute(Syntax, ScopeII, II, getTargetInfo(), in ExpandBuiltinMacro()
1781 } else if (II == Ident__has_include || in ExpandBuiltinMacro()
1782 II == Ident__has_include_next) { in ExpandBuiltinMacro()
1787 if (II == Ident__has_include) in ExpandBuiltinMacro()
1788 Value = EvaluateHasInclude(Tok, II); in ExpandBuiltinMacro()
1790 Value = EvaluateHasIncludeNext(Tok, II); in ExpandBuiltinMacro()
1796 } else if (II == Ident__has_warning) { in ExpandBuiltinMacro()
1798 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1825 } else if (II == Ident__building_module) { in ExpandBuiltinMacro()
1829 EvaluateFeatureLikeBuiltinMacro(OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1831 IdentifierInfo *II = ExpectFeatureIdentifierInfo(Tok, *this, in ExpandBuiltinMacro() local
1833 return getLangOpts().isCompilingModule() && II && in ExpandBuiltinMacro()
1834 (II->getName() == getLangOpts().CurrentModule); in ExpandBuiltinMacro()
1836 } else if (II == Ident__MODULE__) { in ExpandBuiltinMacro()
1842 } else if (II == Ident__identifier) { in ExpandBuiltinMacro()
1851 << II << tok::l_paren; in ExpandBuiltinMacro()
1887 } else if (II == Ident__is_target_arch) { in ExpandBuiltinMacro()
1889 OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1891 IdentifierInfo *II = ExpectFeatureIdentifierInfo( in ExpandBuiltinMacro() local
1893 return II && isTargetArch(getTargetInfo(), II); in ExpandBuiltinMacro()
1895 } else if (II == Ident__is_target_vendor) { in ExpandBuiltinMacro()
1897 OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1899 IdentifierInfo *II = ExpectFeatureIdentifierInfo( in ExpandBuiltinMacro() local
1901 return II && isTargetVendor(getTargetInfo(), II); in ExpandBuiltinMacro()
1903 } else if (II == Ident__is_target_os) { in ExpandBuiltinMacro()
1905 OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1907 IdentifierInfo *II = ExpectFeatureIdentifierInfo( in ExpandBuiltinMacro() local
1909 return II && isTargetOS(getTargetInfo(), II); in ExpandBuiltinMacro()
1911 } else if (II == Ident__is_target_environment) { in ExpandBuiltinMacro()
1913 OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1915 IdentifierInfo *II = ExpectFeatureIdentifierInfo( in ExpandBuiltinMacro() local
1917 return II && isTargetEnvironment(getTargetInfo(), II); in ExpandBuiltinMacro()
1919 } else if (II == Ident__is_target_variant_os) { in ExpandBuiltinMacro()
1921 OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1923 IdentifierInfo *II = ExpectFeatureIdentifierInfo( in ExpandBuiltinMacro() local
1925 return II && isTargetVariantOS(getTargetInfo(), II); in ExpandBuiltinMacro()
1927 } else if (II == Ident__is_target_variant_environment) { in ExpandBuiltinMacro()
1929 OS, Tok, II, *this, false, in ExpandBuiltinMacro()
1931 IdentifierInfo *II = ExpectFeatureIdentifierInfo( in ExpandBuiltinMacro() local
1933 return II && isTargetVariantEnvironment(getTargetInfo(), II); in ExpandBuiltinMacro()