forked from OSchip/llvm-project
DebugInfo: Fix and test a regression caused by r207263 causing the DW_AT_object_pointer to go missing on blocks
Noticed by inspection. Test coverage added. llvm-svn: 207333
This commit is contained in:
parent
357b36a2c0
commit
2b4669de8a
|
@ -538,9 +538,9 @@ DIE *DwarfDebug::createScopeChildrenDIE(
|
|||
std::unique_ptr<DIE> Variable =
|
||||
TheCU.constructVariableDIE(*DV, Scope->isAbstractScope());
|
||||
assert(Variable);
|
||||
Children.push_back(std::move(Variable));
|
||||
if (DV->isObjectPointer())
|
||||
ObjectPointer = Variable.get();
|
||||
Children.push_back(std::move(Variable));
|
||||
}
|
||||
for (LexicalScope *LS : Scope->getChildren())
|
||||
if (DIE *Nested = constructScopeDIE(TheCU, LS))
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
; CHECK: DW_TAG_subprogram
|
||||
; CHECK: DW_AT_name{{.*}}_block_invoke
|
||||
; CHECK: DW_AT_object_pointer
|
||||
|
||||
; CHECK-NOT: DW_TAG_subprogram
|
||||
; CHECK: DW_TAG_formal_parameter
|
||||
|
|
Loading…
Reference in New Issue