diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 8dfd1c33912..4745974a3d2 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -526,7 +526,8 @@ void DwarfDebug::constructAbstractSubprogramScopeDIE(DwarfCompileUnit &TheCU, DIDescriptor()); SPCU.applySubprogramAttributesToDefinition(SP, *AbsDef); - SPCU.addUInt(*AbsDef, dwarf::DW_AT_inline, None, dwarf::DW_INL_inlined); + if (TheCU.getCUNode().getEmissionKind() != DIBuilder::LineTablesOnly) + SPCU.addUInt(*AbsDef, dwarf::DW_AT_inline, None, dwarf::DW_INL_inlined); if (DIE *ObjectPointer = createAndAddScopeChildren(SPCU, Scope, *AbsDef)) SPCU.addDIEEntry(*AbsDef, dwarf::DW_AT_object_pointer, *ObjectPointer); } diff --git a/test/DebugInfo/Inputs/gmlt.ll b/test/DebugInfo/Inputs/gmlt.ll index cfb01da7df1..d7fa7fd60e5 100644 --- a/test/DebugInfo/Inputs/gmlt.ll +++ b/test/DebugInfo/Inputs/gmlt.ll @@ -50,7 +50,6 @@ ; 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-NEXT: DW_AT_inline ; CHECK-NOT: {{DW_TAG|DW_AT|NULL}} ; Check that we only provide the minimal attributes on a subprogram to save space.