forked from OSchip/llvm-project
DW_FORM_data1 may not provide sufficient room for vtable index, use _udata instead.
This fixes radar 8730409. llvm-svn: 121323
This commit is contained in:
parent
aed2efbbb5
commit
c26da9005b
|
@ -1330,7 +1330,7 @@ DIE *DwarfDebug::createSubprogramDIE(DISubprogram SP) {
|
|||
addUInt(SPDie, dwarf::DW_AT_virtuality, dwarf::DW_FORM_flag, VK);
|
||||
DIEBlock *Block = new (DIEValueAllocator) DIEBlock();
|
||||
addUInt(Block, 0, dwarf::DW_FORM_data1, dwarf::DW_OP_constu);
|
||||
addUInt(Block, 0, dwarf::DW_FORM_data1, SP.getVirtualIndex());
|
||||
addUInt(Block, 0, dwarf::DW_FORM_udata, SP.getVirtualIndex());
|
||||
addBlock(SPDie, dwarf::DW_AT_vtable_elem_location, 0, Block);
|
||||
ContainingTypeMap.insert(std::make_pair(SPDie,
|
||||
SP.getContainingType()));
|
||||
|
|
Loading…
Reference in New Issue