Insert composite type DIE into the map before processing type fields. This allows...
authorDevang Patel <dpatel@apple.com>
Thu, 3 Dec 2009 23:46:57 +0000 (23:46 +0000)
committerDevang Patel <dpatel@apple.com>
Thu, 3 Dec 2009 23:46:57 +0000 (23:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90498 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/AsmPrinter/DwarfDebug.cpp

index e16bc2adf2ca4df703eb24f5d07dc3cf50abbb99..bf54efc9df208589724a08db7b15ef94f033eac8 100644 (file)
@@ -758,6 +758,7 @@ void DwarfDebug::addType(CompileUnit *DW_Unit, DIE *Entity, DIType Ty) {
 
   // Construct type.
   DIE *Buffer = new DIE(dwarf::DW_TAG_base_type);
+  ModuleCU->insertDIE(Ty.getNode(), Buffer);
   if (Ty.isBasicType())
     constructTypeDIE(DW_Unit, *Buffer, DIBasicType(Ty.getNode()));
   else if (Ty.isCompositeType())
@@ -779,7 +780,6 @@ void DwarfDebug::addType(CompileUnit *DW_Unit, DIE *Entity, DIType Ty) {
     DW_Unit->addDie(Buffer);
   Entry->setEntry(Buffer);
   Entity->addValue(dwarf::DW_AT_type, dwarf::DW_FORM_ref4, Entry);
-  ModuleCU->insertDIE(Ty.getNode(), Buffer);
 }
 
 /// constructTypeDIE - Construct basic type die from DIBasicType.