Index: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp =================================================================== --- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp +++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp @@ -543,7 +543,8 @@ addUInt(*ScopeDIE, dwarf::DW_AT_call_file, None, getOrCreateSourceID(IA->getFile())); addUInt(*ScopeDIE, dwarf::DW_AT_call_line, None, IA->getLine()); - addUInt(*ScopeDIE, dwarf::DW_AT_call_column, None, IA->getColumn()); + if (IA->getColumn()) + addUInt(*ScopeDIE, dwarf::DW_AT_call_column, None, IA->getColumn()); if (IA->getDiscriminator() && DD->getDwarfVersion() >= 4) addUInt(*ScopeDIE, dwarf::DW_AT_GNU_discriminator, None, IA->getDiscriminator()); Index: llvm/trunk/test/DebugInfo/X86/fission-inline.ll =================================================================== --- llvm/trunk/test/DebugInfo/X86/fission-inline.ll +++ llvm/trunk/test/DebugInfo/X86/fission-inline.ll @@ -71,6 +71,8 @@ ; CHECK: DW_AT_call_file ; CHECK-NEXT: DW_AT_call_line {{.*}} (18) ; CHECK-NEXT: DW_AT_call_column {{.*}} (0x05) +; CHECK: DW_AT_call_file +; CHECK-NEXT: DW_AT_call_line {{.*}} (21) ; CHECK-NOT: DW_ ; CHECK: .debug_info.dwo contents: @@ -82,6 +84,7 @@ call void @_Z2f1v(), !dbg !26 call void @_Z2f1v(), !dbg !25 call void @_Z2f1v(), !dbg !28 + call void @_Z2f1v(), !dbg !29 ret void, !dbg !29 } @@ -122,4 +125,5 @@ !26 = !DILocation(line: 11, column: 3, scope: !11, inlinedAt: !27) !27 = !DILocation(line: 18, column: 5, scope: !20) !28 = !DILocation(line: 12, column: 3, scope: !11, inlinedAt: !27) -!29 = !DILocation(line: 21, column: 1, scope: !10) +!29 = !DILocation(line: 12, column: 3, scope: !11, inlinedAt: !30) +!30 = !DILocation(line: 21, column: 0, scope: !10)