Lines Matching defs:MI

52   return &(MIChain->MI);
56 MacroInfo *MI = AllocateMacroInfo();
57 new (MI) MacroInfo(L);
58 return MI;
70 MacroInfo *MI = &MIChain->MI;
71 new (MI) MacroInfo(L);
72 MI->FromASTFile = true;
73 MI->setOwningModuleID(SubModuleID);
74 return MI;
78 Preprocessor::AllocateDefMacroDirective(MacroInfo *MI, SourceLocation Loc,
81 new (MD) DefMacroDirective(MI, Loc, isImported);
102 void Preprocessor::ReleaseMacroInfo(MacroInfo *MI) {
103 MacroInfoChain *MIChain = (MacroInfoChain*) MI;
118 MI->Destroy();
1781 /// closing ), updating MI with what we learn. Return true if an error occurs
1783 bool Preprocessor::ReadMacroDefinitionArgList(MacroInfo *MI, Token &Tok) {
1816 MI->setIsC99Varargs();
1817 MI->setArgumentList(&Arguments[0], Arguments.size(), BP);
1851 MI->setArgumentList(&Arguments[0], Arguments.size(), BP);
1866 MI->setIsGNUVarargs();
1867 MI->setArgumentList(&Arguments[0], Arguments.size(), BP);
1894 MacroInfo *MI = AllocateMacroInfo(MacroNameTok.getLocation());
1915 MI->setIsFunctionLike();
1916 if (ReadMacroDefinitionArgList(MI, LastTok)) {
1917 // Forget about MI.
1918 ReleaseMacroInfo(MI);
1931 if (MI->isC99Varargs())
1966 if (MI->isObjectLike()) {
1970 MI->AddTokenToBody(Tok);
1983 MI->AddTokenToBody(Tok);
1995 MI->AddTokenToBody(Tok);
2012 MI->AddTokenToBody(LastTok);
2016 unsigned NumTokens = MI->getNumTokens();
2018 MI->getReplacementToken(NumTokens-1).is(tok::comma))
2019 MI->setHasCommaPasting();
2022 MI->AddTokenToBody(LastTok);
2031 MI->getArgumentNum(Tok.getIdentifierInfo()) == -1) {
2039 MI->AddTokenToBody(LastTok);
2043 ReleaseMacroInfo(MI);
2052 MI->AddTokenToBody(LastTok);
2053 MI->AddTokenToBody(Tok);
2067 unsigned NumTokens = MI->getNumTokens();
2069 if (MI->getReplacementToken(0).is(tok::hashhash)) {
2070 Diag(MI->getReplacementToken(0), diag::err_paste_at_start);
2071 ReleaseMacroInfo(MI);
2074 if (MI->getReplacementToken(NumTokens-1).is(tok::hashhash)) {
2075 Diag(MI->getReplacementToken(NumTokens-1), diag::err_paste_at_end);
2076 ReleaseMacroInfo(MI);
2081 MI->setDefinitionEndLoc(LastTok.getLocation());
2101 !MI->isIdenticalTo(*OtherMI, *this, /*Syntactic=*/LangOpts.MicrosoftExt)) {
2102 Diag(MI->getDefinitionLoc(), diag::ext_pp_macro_redef)
2112 appendDefMacroDirective(MacroNameTok.getIdentifierInfo(), MI);
2114 assert(!MI->isUsed());
2117 if (getSourceManager().isInMainFile(MI->getDefinitionLoc()) &&
2119 MI->getDefinitionLoc()) != DiagnosticsEngine::Ignored) {
2120 MI->setIsWarnIfUnused(true);
2121 WarnUnusedMacroLocs.insert(MI->getDefinitionLoc());
2146 const MacroInfo *MI = MD ? MD->getMacroInfo() : 0;
2154 if (MI == 0) return;
2156 if (!MI->isUsed() && MI->isWarnIfUnused())
2157 Diag(MI->getDefinitionLoc(), diag::pp_macro_not_used);
2159 if (MI->isWarnIfUnused())
2160 WarnUnusedMacroLocs.erase(MI->getDefinitionLoc());
2198 MacroInfo *MI = MD ? MD->getMacroInfo() : 0;
2205 if (!ReadAnyTokensBeforeDirective && MI == 0) {
2213 if (MI) // Mark it used.
2214 markMacroAsUsed(MI);
2224 if (!MI == isIfndef) {