Home | History | Annotate | Download | only in Lex

Lines Matching refs:MD

50   MacroDirective *MD = AllocateMacroDirective(MI, Loc, isImported);
52 MD->setPrevious(StoredMD);
53 StoredMD = MD;
58 return MD;
61 void Preprocessor::addLoadedMacroInfo(IdentifierInfo *II, MacroDirective *MD,
63 assert(MD && "Missing macro?");
64 assert(MD->isImported() && "Macro is not from an AST?");
65 assert(!MD->getPrevious() && "Macro already in chain?");
71 StoredMD = MD;
73 if (MD->isDefined())
81 if (MD->isDefined() && StoredMD->isImported()) {
85 MD->setPrevious(StoredMD);
86 StoredMD = MD;
101 if (!Prev->getInfo()->isIdenticalTo(*MD->getInfo(), *this)) {
115 MD->setAmbiguous(true);
118 MD->setPrevious(Prev->getPrevious());
119 Prev->setPrevious(MD);
127 Prev->setPrevious(MD);
131 MacroDirective *MD) {
132 assert(MD->isImported() && "Macro must be from the AST");
135 if (StoredMD == MD) {
137 II->setHasMacroDefinition(MD->isDefined());
145 while (Prev->getPrevious() != MD)
147 Prev->setPrevious(MD->getPrevious());
148 MD->setPrevious(0);
151 addLoadedMacroInfo(II, MD);
309 MacroDirective *MD) {
310 MacroInfo *MI = MD->getInfo();
319 if (Callbacks) Callbacks->MacroExpands(Identifier, MD,
372 MacroExpandsInfo(Identifier, MD, ExpansionRange));
374 Callbacks->MacroExpands(Identifier, MD, ExpansionRange);
378 Callbacks->MacroExpands(Info.Tok, Info.MD, Info.Range);