DwarfDebug: Roll argument into call.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207334 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Blaikie
2014-04-26 22:37:45 +00:00
parent 5fc870ddf5
commit c37bb3a98f

View File

@@ -515,12 +515,10 @@ DIE *DwarfDebug::createScopeChildrenDIE(
if (LScopes.isCurrentFunctionScope(Scope)) { if (LScopes.isCurrentFunctionScope(Scope)) {
for (DbgVariable *ArgDV : CurrentFnArguments) for (DbgVariable *ArgDV : CurrentFnArguments)
if (ArgDV) { if (ArgDV) {
std::unique_ptr<DIE> Arg = Children.push_back(
TheCU.constructVariableDIE(*ArgDV, Scope->isAbstractScope()); TheCU.constructVariableDIE(*ArgDV, Scope->isAbstractScope()));
assert(Arg);
if (ArgDV->isObjectPointer()) if (ArgDV->isObjectPointer())
ObjectPointer = Arg.get(); ObjectPointer = Children.back().get();
Children.push_back(std::move(Arg));
} }
// If this is a variadic function, add an unspecified parameter. // If this is a variadic function, add an unspecified parameter.
@@ -535,12 +533,10 @@ DIE *DwarfDebug::createScopeChildrenDIE(
// Collect lexical scope children first. // Collect lexical scope children first.
for (DbgVariable *DV : ScopeVariables.lookup(Scope)) { for (DbgVariable *DV : ScopeVariables.lookup(Scope)) {
std::unique_ptr<DIE> Variable = Children.push_back(
TheCU.constructVariableDIE(*DV, Scope->isAbstractScope()); TheCU.constructVariableDIE(*DV, Scope->isAbstractScope()));
assert(Variable);
if (DV->isObjectPointer()) if (DV->isObjectPointer())
ObjectPointer = Variable.get(); ObjectPointer = Children.back().get();
Children.push_back(std::move(Variable));
} }
for (LexicalScope *LS : Scope->getChildren()) for (LexicalScope *LS : Scope->getChildren())
if (DIE *Nested = constructScopeDIE(TheCU, LS)) if (DIE *Nested = constructScopeDIE(TheCU, LS))