summaryrefslogtreecommitdiff
path: root/lib/CodeGen/AsmPrinter/DwarfDebug.h
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2014-04-30 20:34:31 +0000
committerReid Kleckner <reid@kleckner.net>2014-04-30 20:34:31 +0000
commit79844fc3d269d2fccee1de3e0b8b6c374ce63ff2 (patch)
tree223b8683b08ebb65e11e6278c2e27eef32dbd8bf /lib/CodeGen/AsmPrinter/DwarfDebug.h
parent6f327421c541abbfcc3f35afddaae0bc3a0317b8 (diff)
downloadllvm-79844fc3d269d2fccee1de3e0b8b6c374ce63ff2.tar.gz
llvm-79844fc3d269d2fccee1de3e0b8b6c374ce63ff2.tar.bz2
llvm-79844fc3d269d2fccee1de3e0b8b6c374ce63ff2.tar.xz
Fix the clang-cl self-host build by defining ~DwarfDebug out of line
DwarfDebug.h has a SmallVector member containing a unique_ptr of an incomplete type. MSVC doesn't have key functions, so the vtable and dtor are emitted in AsmPrinter.cpp, where DwarfDebug's ctor is called. AsmPrinter.cpp include DwarfUnit.h and doesn't get a complete definition of DwarfTypeUnit. We could fix the problem by including DwarfUnit.h in DwarfDebug.h, but that would increase header bloat. Instead, define ~DwarfDebug out of line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207701 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter/DwarfDebug.h')
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfDebug.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.h b/lib/CodeGen/AsmPrinter/DwarfDebug.h
index b5b07aee11..d7359a3105 100644
--- a/lib/CodeGen/AsmPrinter/DwarfDebug.h
+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.h
@@ -557,6 +557,8 @@ public:
//
DwarfDebug(AsmPrinter *A, Module *M);
+ ~DwarfDebug() override;
+
void insertDIE(const MDNode *TypeMD, DIE *Die) {
MDTypeNodeToDieMap.insert(std::make_pair(TypeMD, Die));
}