diff options
| author | Yaron Keren <yaron.keren@gmail.com> | 2014-09-16 21:31:04 +0000 |
|---|---|---|
| committer | Yaron Keren <yaron.keren@gmail.com> | 2014-09-16 21:31:04 +0000 |
| commit | cca43c15b532f3f0da8d021c7137a090a3d7066c (patch) | |
| tree | 01a59e32ab348e3c963c5481f5b0cf0c2b9922ea /llvm/lib/MC | |
| parent | 53a80d3a4681da3deae0c06c1e481ad64ee25f28 (diff) | |
| download | bcm5719-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.cpp | 16 |
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); |

