[llvm] r326804 - [ARM][Asm] Fix layering violation introduced by r326795
Oliver Stannard via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 6 07:32:34 PST 2018
Author: olista01
Date: Tue Mar 6 07:32:34 2018
New Revision: 326804
URL: http://llvm.org/viewvc/llvm-project?rev=326804&view=rev
Log:
[ARM][Asm] Fix layering violation introduced by r326795
The MCAsmMacro::dump function is in the MCParser library, so can't be called
from the MC library.
Modified:
llvm/trunk/include/llvm/MC/MCContext.h
llvm/trunk/lib/MC/MCParser/AsmParser.cpp
Modified: llvm/trunk/include/llvm/MC/MCContext.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCContext.h?rev=326804&r1=326803&r2=326804&view=diff
==============================================================================
--- llvm/trunk/include/llvm/MC/MCContext.h (original)
+++ llvm/trunk/include/llvm/MC/MCContext.h Tue Mar 6 07:32:34 2018
@@ -634,17 +634,10 @@ namespace llvm {
}
void defineMacro(StringRef Name, MCAsmMacro Macro) {
- DEBUG_WITH_TYPE("asm-macros", dbgs() << "Defining new macro:\n";
- Macro.dump());
MacroMap.insert(std::make_pair(Name, std::move(Macro)));
}
- void undefineMacro(StringRef Name) {
- if (MacroMap.erase(Name)) {
- DEBUG_WITH_TYPE("asm-macros",
- dbgs() << "Un-defining macro: " << Name << "\n");
- }
- }
+ void undefineMacro(StringRef Name) { MacroMap.erase(Name); }
};
} // end namespace llvm
Modified: llvm/trunk/lib/MC/MCParser/AsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCParser/AsmParser.cpp?rev=326804&r1=326803&r2=326804&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCParser/AsmParser.cpp (original)
+++ llvm/trunk/lib/MC/MCParser/AsmParser.cpp Tue Mar 6 07:32:34 2018
@@ -4257,7 +4257,10 @@ bool AsmParser::parseDirectiveMacro(SMLo
const char *BodyEnd = EndToken.getLoc().getPointer();
StringRef Body = StringRef(BodyStart, BodyEnd - BodyStart);
checkForBadMacro(DirectiveLoc, Name, Body, Parameters);
- getContext().defineMacro(Name, MCAsmMacro(Name, Body, std::move(Parameters)));
+ MCAsmMacro Macro(Name, Body, std::move(Parameters));
+ DEBUG_WITH_TYPE("asm-macros", dbgs() << "Defining new macro:\n";
+ Macro.dump());
+ getContext().defineMacro(Name, std::move(Macro));
return false;
}
@@ -4420,6 +4423,8 @@ bool AsmParser::parseDirectivePurgeMacro
return Error(DirectiveLoc, "macro '" + Name + "' is not defined");
getContext().undefineMacro(Name);
+ DEBUG_WITH_TYPE("asm-macros", dbgs()
+ << "Un-defining macro: " << Name << "\n");
return false;
}
More information about the llvm-commits
mailing list