forked from OSchip/llvm-project
[DebugInfo] Emit DW_AT_inline under -g1/-gmlt
Differential Revision: https://reviews.llvm.org/D109554
This commit is contained in:
parent
7ba3627b54
commit
12f80c0bbd
|
@ -1105,9 +1105,10 @@ void DwarfCompileUnit::constructAbstractSubprogramScopeDIE(
|
|||
// shouldn't be found by lookup.
|
||||
AbsDef = &ContextCU->createAndAddDIE(dwarf::DW_TAG_subprogram, *ContextDIE, nullptr);
|
||||
ContextCU->applySubprogramAttributesToDefinition(SP, *AbsDef);
|
||||
|
||||
if (!ContextCU->includeMinimalInlineScopes())
|
||||
ContextCU->addUInt(*AbsDef, dwarf::DW_AT_inline, None, dwarf::DW_INL_inlined);
|
||||
ContextCU->addSInt(*AbsDef, dwarf::DW_AT_inline,
|
||||
DD->getDwarfVersion() <= 4 ? Optional<dwarf::Form>()
|
||||
: dwarf::DW_FORM_implicit_const,
|
||||
dwarf::DW_INL_inlined);
|
||||
if (DIE *ObjectPointer = ContextCU->createAndAddScopeChildren(Scope, *AbsDef))
|
||||
ContextCU->addDIEEntry(*AbsDef, dwarf::DW_AT_object_pointer, *ObjectPointer);
|
||||
}
|
||||
|
|
|
@ -42,12 +42,7 @@
|
|||
|
||||
; CHECK: DW_TAG_subprogram
|
||||
; CHECK-NEXT: DW_AT_name {{.*}} "f3"
|
||||
|
||||
; FIXME: We don't really need DW_AT_inline, consumers can ignore this due to
|
||||
; the absence of high_pc/low_pc/ranges and know that they just need it for
|
||||
; retrieving the name of a concrete inlined instance
|
||||
|
||||
; CHECK-NOT: {{DW_TAG|DW_AT|NULL}}
|
||||
; CHECK-NEXT: DW_AT_inline
|
||||
|
||||
; Check that we only provide the minimal attributes on a subprogram to save space.
|
||||
; CHECK: DW_TAG_subprogram
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
|
||||
; CHECK: DW_TAG_subprogram
|
||||
; CHECK-NEXT: DW_AT_name {{.*}} "f2<int>"
|
||||
; CHECK-NOT: DW_
|
||||
; CHECK-NEXT: DW_AT_inline
|
||||
; CHECK: DW_TAG_subprogram
|
||||
; CHECK-NEXT: DW_AT_low_pc [DW_FORM_addr]
|
||||
; CHECK-NEXT: DW_AT_high_pc
|
||||
|
|
Loading…
Reference in New Issue