Give structs with virtual methods a virtual destructor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139776 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/DebugInfo/DWARFDebugLine.cpp b/lib/DebugInfo/DWARFDebugLine.cpp
index d2ebc38..c2fb111 100644
--- a/lib/DebugInfo/DWARFDebugLine.cpp
+++ b/lib/DebugInfo/DWARFDebugLine.cpp
@@ -91,6 +91,8 @@
   }
 }
 
+DWARFDebugLine::State::~State() {}
+
 void DWARFDebugLine::State::appendRowToMatrix(uint32_t offset) {
   ++row;  // Increase the row number.
   LineTable::appendRow(*this);
@@ -117,6 +119,8 @@
   }
 }
 
+DWARFDebugLine::DumpingState::~DumpingState() {}
+
 void DWARFDebugLine::DumpingState::finalize(uint32_t offset) {
   LineTable::dump(OS);
 }
diff --git a/lib/DebugInfo/DWARFDebugLine.h b/lib/DebugInfo/DWARFDebugLine.h
index 459bb5f..e50c4a9 100644
--- a/lib/DebugInfo/DWARFDebugLine.h
+++ b/lib/DebugInfo/DWARFDebugLine.h
@@ -148,6 +148,7 @@
     };
 
     State() : row(0) {}
+    virtual ~State();
 
     virtual void appendRowToMatrix(uint32_t offset);
     virtual void finalize(uint32_t offset) { row = DoneParsingLineTable; }
@@ -160,6 +161,7 @@
 
   struct DumpingState : public State {
     DumpingState(raw_ostream &OS) : OS(OS) {}
+    virtual ~DumpingState();
     virtual void finalize(uint32_t offset);
   private:
     raw_ostream &OS;