summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC
diff options
context:
space:
mode:
authorYaron Keren <yaron.keren@gmail.com>2014-09-16 21:31:04 +0000
committerYaron Keren <yaron.keren@gmail.com>2014-09-16 21:31:04 +0000
commitcca43c15b532f3f0da8d021c7137a090a3d7066c (patch)
tree01a59e32ab348e3c963c5481f5b0cf0c2b9922ea /llvm/lib/MC
parent53a80d3a4681da3deae0c06c1e481ad64ee25f28 (diff)
downloadbcm5719-llvm-cca43c15b532f3f0da8d021c7137a090a3d7066c.tar.gz
bcm5719-llvm-cca43c15b532f3f0da8d021c7137a090a3d7066c.zip
This add a reset method for WinCOFFObjectWriter, like other MC* classes.
llvm-svn: 217907
Diffstat (limited to 'llvm/lib/MC')
-rw-r--r--llvm/lib/MC/WinCOFFObjectWriter.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/lib/MC/WinCOFFObjectWriter.cpp b/llvm/lib/MC/WinCOFFObjectWriter.cpp
index a6b7a081bdb..f40e1abb048 100644
--- a/llvm/lib/MC/WinCOFFObjectWriter.cpp
+++ b/llvm/lib/MC/WinCOFFObjectWriter.cpp
@@ -113,6 +113,11 @@ public:
StringTable();
size_t size() const;
size_t insert(StringRef String);
+ void clear() {
+ Map.clear();
+ Data.resize(4);
+ update_length();
+ }
};
class WinCOFFObjectWriter : public MCObjectWriter {
@@ -139,6 +144,17 @@ public:
bool UseBigObj;
WinCOFFObjectWriter(MCWinCOFFObjectTargetWriter *MOTW, raw_ostream &OS);
+
+ void reset() override {
+ memset(&Header, 0, sizeof(Header));
+ Header.Machine = TargetObjectWriter->getMachine();
+ Sections.clear();
+ Symbols.clear();
+ Strings.clear();
+ SectionMap.clear();
+ SymbolMap.clear();
+ MCObjectWriter::reset();
+ }
COFFSymbol *createSymbol(StringRef Name);
COFFSymbol *GetOrCreateCOFFSymbol(const MCSymbol * Symbol);
OpenPOWER on IntegriCloud