summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCParser/AsmParser.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-07-29 01:51:55 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-07-29 01:51:55 +0000
commitb759a13da86d2c66e5135fd2b5ac9017b37621f3 (patch)
tree6e9a226fd08acfe516104f26b32c02c8d200ea31 /llvm/lib/MC/MCParser/AsmParser.cpp
parent8bedb7dd3fcb868ad80c54e94e6fe6e2b04604ae (diff)
downloadbcm5719-llvm-b759a13da86d2c66e5135fd2b5ac9017b37621f3.tar.gz
bcm5719-llvm-b759a13da86d2c66e5135fd2b5ac9017b37621f3.zip
MC: Destroy Macro instances.
llvm-svn: 109720
Diffstat (limited to 'llvm/lib/MC/MCParser/AsmParser.cpp')
-rw-r--r--llvm/lib/MC/MCParser/AsmParser.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp
index e74952a4cab..f4de09a1c0a 100644
--- a/llvm/lib/MC/MCParser/AsmParser.cpp
+++ b/llvm/lib/MC/MCParser/AsmParser.cpp
@@ -279,6 +279,13 @@ AsmParser::AsmParser(const Target &T, SourceMgr &_SM, MCContext &_Ctx,
}
AsmParser::~AsmParser() {
+ assert(ActiveMacros.empty() && "Unexpected active macro instantiation!");
+
+ // Destroy any macros.
+ for (StringMap<Macro*>::iterator it = MacroMap.begin(),
+ ie = MacroMap.end(); it != ie; ++it)
+ delete it->getValue();
+
delete PlatformParser;
delete GenericParser;
}
OpenPOWER on IntegriCloud