mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-17 15:38:40 +00:00
Insert composite type DIE into the map before processing type fields. This allows fields to find their context DIE from the map.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90498 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1971556cc2
commit
b3235d22e9
@ -758,6 +758,7 @@ void DwarfDebug::addType(CompileUnit *DW_Unit, DIE *Entity, DIType Ty) {
|
|||||||
|
|
||||||
// Construct type.
|
// Construct type.
|
||||||
DIE *Buffer = new DIE(dwarf::DW_TAG_base_type);
|
DIE *Buffer = new DIE(dwarf::DW_TAG_base_type);
|
||||||
|
ModuleCU->insertDIE(Ty.getNode(), Buffer);
|
||||||
if (Ty.isBasicType())
|
if (Ty.isBasicType())
|
||||||
constructTypeDIE(DW_Unit, *Buffer, DIBasicType(Ty.getNode()));
|
constructTypeDIE(DW_Unit, *Buffer, DIBasicType(Ty.getNode()));
|
||||||
else if (Ty.isCompositeType())
|
else if (Ty.isCompositeType())
|
||||||
@ -779,7 +780,6 @@ void DwarfDebug::addType(CompileUnit *DW_Unit, DIE *Entity, DIType Ty) {
|
|||||||
DW_Unit->addDie(Buffer);
|
DW_Unit->addDie(Buffer);
|
||||||
Entry->setEntry(Buffer);
|
Entry->setEntry(Buffer);
|
||||||
Entity->addValue(dwarf::DW_AT_type, dwarf::DW_FORM_ref4, Entry);
|
Entity->addValue(dwarf::DW_AT_type, dwarf::DW_FORM_ref4, Entry);
|
||||||
ModuleCU->insertDIE(Ty.getNode(), Buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// constructTypeDIE - Construct basic type die from DIBasicType.
|
/// constructTypeDIE - Construct basic type die from DIBasicType.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user