diff options
author | Reid Kleckner <reid@kleckner.net> | 2014-04-30 20:34:31 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2014-04-30 20:34:31 +0000 |
commit | 79844fc3d269d2fccee1de3e0b8b6c374ce63ff2 (patch) | |
tree | 223b8683b08ebb65e11e6278c2e27eef32dbd8bf /lib/CodeGen/AsmPrinter/DwarfDebug.h | |
parent | 6f327421c541abbfcc3f35afddaae0bc3a0317b8 (diff) | |
download | llvm-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.h | 2 |
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)); } |