summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/DebugInfo/DWARF/DWARFDie.cpp4
-rw-r--r--llvm/test/DebugInfo/X86/dwarfdump-ranges-unrelocated.s10
2 files changed, 13 insertions, 1 deletions
diff --git a/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp b/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
index 35567d0f67a..cf10c1134a7 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<SectionName> 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 2bb46707cc8..d779dac1a41 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
OpenPOWER on IntegriCloud