mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-01 00:33:09 +00:00
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
This commit is contained in:
parent
6f327421c5
commit
79844fc3d2
@ -218,6 +218,9 @@ DwarfDebug::DwarfDebug(AsmPrinter *A, Module *M)
|
||||
}
|
||||
}
|
||||
|
||||
// Define out of line so we don't have to include DwarfUnit.h in DwarfDebug.h.
|
||||
DwarfDebug::~DwarfDebug() { }
|
||||
|
||||
// Switch to the specified MCSection and emit an assembler
|
||||
// temporary label to it if SymbolStem is specified.
|
||||
static MCSymbol *emitSectionSym(AsmPrinter *Asm, const MCSection *Section,
|
||||
|
@ -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));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user