diff --git a/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp b/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp index 35567d0f67a0..cf10c1134a7a 100644 --- a/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp +++ b/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp @@ -59,12 +59,14 @@ static void dumpRanges(const DWARFObject &Obj, raw_ostream &OS, const DWARFAddressRangesVector &Ranges, unsigned AddressSize, unsigned Indent, const DIDumpOptions &DumpOpts) { + if (!DumpOpts.ShowAddresses) + return; + ArrayRef SectionNames; if (DumpOpts.Verbose) SectionNames = Obj.getSectionNames(); for (const DWARFAddressRange &R : Ranges) { - OS << '\n'; OS.indent(Indent); R.dump(OS, AddressSize); diff --git a/llvm/test/DebugInfo/X86/dwarfdump-ranges-unrelocated.s b/llvm/test/DebugInfo/X86/dwarfdump-ranges-unrelocated.s index 2bb46707cc85..d779dac1a41f 100644 --- a/llvm/test/DebugInfo/X86/dwarfdump-ranges-unrelocated.s +++ b/llvm/test/DebugInfo/X86/dwarfdump-ranges-unrelocated.s @@ -21,6 +21,16 @@ # BRIEF-NEXT: [0x0000000000000000, 0x0000000000000002) # BRIEF-NEXT: [0x0000000000000000, 0x0000000000000003)) +# RUN: llvm-dwarfdump -diff %t | FileCheck %s --check-prefix=DIFF +# DIFF: DW_TAG_compile_unit +# DIFF-NEXT: DW_AT_producer () +# DIFF-NEXT: DW_AT_language (DW_LANG_C_plus_plus) +# DIFF-NEXT: DW_AT_name () +# DIFF-NEXT: DW_AT_stmt_list () +# DIFF-NEXT: DW_AT_comp_dir () +# DIFF-NEXT: DW_AT_low_pc () +# DIFF-NEXT: DW_AT_ranges () + ## Asm code for testcase is a reduced and modified output from next ## invocation and source: # clang test.cpp -S -o test.s -gmlt -ffunction-sections