forked from OSchip/llvm-project
Modify DwarfDebug::constructImportedEntityDIE to return rather than insert into the scope
Another step towards improving lexical_scope handling llvm-svn: 216839
This commit is contained in:
parent
e0e8a3baa0
commit
8912df12ff
|
@ -603,7 +603,8 @@ std::unique_ptr<DIE> DwarfDebug::constructScopeDIE(DwarfCompileUnit &TheCU,
|
|||
assert(ScopeDIE && "Scope DIE should not be null.");
|
||||
for (ImportedEntityMap::const_iterator i = Range.first; i != Range.second;
|
||||
++i)
|
||||
constructImportedEntityDIE(TheCU, i->second, *ScopeDIE);
|
||||
ScopeDIE->addChild(
|
||||
constructImportedEntityDIE(TheCU, DIImportedEntity(i->second)));
|
||||
}
|
||||
|
||||
// Add children
|
||||
|
@ -683,21 +684,14 @@ DwarfCompileUnit &DwarfDebug::constructDwarfCompileUnit(DICompileUnit DIUnit) {
|
|||
return NewCU;
|
||||
}
|
||||
|
||||
void DwarfDebug::constructImportedEntityDIE(DwarfCompileUnit &TheCU,
|
||||
const MDNode *N) {
|
||||
void DwarfDebug::constructAndAddImportedEntityDIE(DwarfCompileUnit &TheCU,
|
||||
const MDNode *N) {
|
||||
DIImportedEntity Module(N);
|
||||
assert(Module.Verify());
|
||||
if (DIE *D = TheCU.getOrCreateContextDIE(Module.getContext()))
|
||||
D->addChild(constructImportedEntityDIE(TheCU, Module));
|
||||
}
|
||||
|
||||
void DwarfDebug::constructImportedEntityDIE(DwarfCompileUnit &TheCU,
|
||||
const MDNode *N, DIE &Context) {
|
||||
DIImportedEntity Module(N);
|
||||
assert(Module.Verify());
|
||||
Context.addChild(constructImportedEntityDIE(TheCU, Module));
|
||||
}
|
||||
|
||||
std::unique_ptr<DIE>
|
||||
DwarfDebug::constructImportedEntityDIE(DwarfCompileUnit &TheCU,
|
||||
const DIImportedEntity &Module) {
|
||||
|
@ -785,7 +779,7 @@ void DwarfDebug::beginModule() {
|
|||
// Emit imported_modules last so that the relevant context is already
|
||||
// available.
|
||||
for (unsigned i = 0, e = ImportedEntities.getNumElements(); i != e; ++i)
|
||||
constructImportedEntityDIE(CU, ImportedEntities.getElement(i));
|
||||
constructAndAddImportedEntityDIE(CU, ImportedEntities.getElement(i));
|
||||
}
|
||||
|
||||
// Tell MMI that we have debug info.
|
||||
|
|
|
@ -508,11 +508,8 @@ class DwarfDebug : public AsmPrinterHandler {
|
|||
DwarfCompileUnit &constructDwarfCompileUnit(DICompileUnit DIUnit);
|
||||
|
||||
/// \brief Construct imported_module or imported_declaration DIE.
|
||||
void constructImportedEntityDIE(DwarfCompileUnit &TheCU, const MDNode *N);
|
||||
|
||||
/// \brief Construct import_module DIE.
|
||||
void constructImportedEntityDIE(DwarfCompileUnit &TheCU, const MDNode *N,
|
||||
DIE &Context);
|
||||
void constructAndAddImportedEntityDIE(DwarfCompileUnit &TheCU,
|
||||
const MDNode *N);
|
||||
|
||||
/// \brief Construct import_module DIE.
|
||||
std::unique_ptr<DIE>
|
||||
|
|
Loading…
Reference in New Issue