diff options
author | Oliver Stannard <oliver.stannard@arm.com> | 2018-03-06 15:32:34 +0000 |
---|---|---|
committer | Oliver Stannard <oliver.stannard@arm.com> | 2018-03-06 15:32:34 +0000 |
commit | c3e7c6d2916e8fe7ca7b32a468e67e7a9498c6b4 (patch) | |
tree | 4b3d05b6a2bc177902c70de07c4c0a43cc17b9ac /llvm | |
parent | 75c6bfeac9480c6f2877522f064e71dd4c43a6e9 (diff) | |
download | bcm5719-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.h | 9 | ||||
-rw-r--r-- | llvm/lib/MC/MCParser/AsmParser.cpp | 7 |
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; } |