Lines Matching refs:Macro
32 /// \#include. This looks through macro expansions and active _Pragma lexers.
46 /// that this ignores any potentially active macro expansions and _Pragma
69 assert(!CurTokenLexer && "Cannot #include a file inside a macro!");
122 /// EnterMacro - Add a Macro to the top of the include stack and start lexing
125 MacroInfo *Macro, MacroArgs *Args) {
128 TokLexer = std::make_unique<TokenLexer>(Tok, ILEnd, Macro, Args, *this);
131 TokLexer->Init(Tok, ILEnd, Macro, Args);
141 /// EnterTokenStream - Add a "macro" context to the top of the include stack,
145 /// not be subject to further macro expansion. Otherwise, these tokens will
146 /// be re-macro-expanded when/if expansion is enabled.
177 // Create a macro expander to expand from the specified token stream.
307 "Ending a file when currently in a macro!");
328 // See if this file had a controlling macro.
329 if (CurPPLexer) { // Not ending a macro, ignore it.
332 // Okay, this has a controlling macro, remember in HeaderFileInfo.
376 // We don't want to complain about reaching the end of a macro
388 // We don't want to complain about reaching the end of a macro
524 // collected all macro locations that we need to warn because they are not
550 "Ending a macro when currently in a #include file!");
556 // Delete or cache the now-dead macro expander.
566 /// RemoveTopOfLexerStack - Pop the current lexer/macro exp off the top of the
573 // Delete or cache the now-dead macro expander.
583 /// HandleMicrosoftCommentPaste - When the macro expander pastes together a
588 "Pasted comment can only be formed from macro");
597 // Once we find a real lexer, mark it as raw mode (disabling macro
599 // was *not* in raw mode before, because the macro that the comment came
611 // lexer. In either case, finish off the macro the comment came from, getting
681 // FIXME: Do this lazily, when each macro name is first referenced.
682 for (auto &Macro : StartingMacros) {
684 if (!Macro.second.getLatest() &&
685 Macro.second.getOverriddenMacros().empty())
688 MacroState MS(Macro.second.getLatest());
689 MS.setOverriddenMacros(*this, Macro.second.getOverriddenMacros());
690 State.Macros.insert(std::make_pair(Macro.first, std::move(MS)));
714 // If we are tracking module macro visibility even for textually-included
739 // are tracking macro visibility, don't build any, and preserve the list
761 auto &Macro = MacroIt->second;
779 // This module may have exported a new macro. If so, create a ModuleMacro
782 for (auto *MD = Macro.getLatest(); MD != OldMD; MD = MD->getPrevious()) {
783 assert(MD && "broken macro directive chain");
799 // define a macro, rather than silently ignoring all but the first.
801 // Don't bother creating a module macro if it would represent a #undef
803 if (Def || !Macro.getOverriddenMacros().empty())
805 Macro.getOverriddenMacros(), IsNew);
808 // This macro is exposed to the rest of this compilation as a
810 Macro.setLatest(nullptr);
811 Macro.setOverriddenMacros(*this, {});