summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorOliver Stannard <oliver.stannard@arm.com>2018-03-06 15:32:34 +0000
committerOliver Stannard <oliver.stannard@arm.com>2018-03-06 15:32:34 +0000
commitc3e7c6d2916e8fe7ca7b32a468e67e7a9498c6b4 (patch)
tree4b3d05b6a2bc177902c70de07c4c0a43cc17b9ac /llvm
parent75c6bfeac9480c6f2877522f064e71dd4c43a6e9 (diff)
downloadbcm5719-llvm-c3e7c6d2916e8fe7ca7b32a468e67e7a9498c6b4.tar.gz
bcm5719-llvm-c3e7c6d2916e8fe7ca7b32a468e67e7a9498c6b4.zip
[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. llvm-svn: 326804
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm/MC/MCContext.h9
-rw-r--r--llvm/lib/MC/MCParser/AsmParser.cpp7
2 files changed, 7 insertions, 9 deletions
diff --git a/llvm/include/llvm/MC/MCContext.h b/llvm/include/llvm/MC/MCContext.h
index 3f45301bf32..c4abef1a9b4 100644
--- a/llvm/include/llvm/MC/MCContext.h
+++ b/llvm/include/llvm/MC/MCContext.h
@@ -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
diff --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp
index 76eef5e3725..54a76732bbe 100644
--- a/llvm/lib/MC/MCParser/AsmParser.cpp
+++ b/llvm/lib/MC/MCParser/AsmParser.cpp
@@ -4257,7 +4257,10 @@ bool AsmParser::parseDirectiveMacro(SMLoc DirectiveLoc) {
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(SMLoc DirectiveLoc) {
return Error(DirectiveLoc, "macro '" + Name + "' is not defined");
getContext().undefineMacro(Name);
+ DEBUG_WITH_TYPE("asm-macros", dbgs()
+ << "Un-defining macro: " << Name << "\n");
return false;
}
OpenPOWER on IntegriCloud