[PATCH] D38395: [dwarfdump][NFC] Consistent printing of address ranges

Jonas Devlieghere via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 29 08:43:06 PDT 2017


This revision was automatically updated to reflect the committed changes.
Closed by commit rL314523: [dwarfdump][NFC] Consistent printing of address ranges (authored by JDevlieghere).

Changed prior to commit:
  https://reviews.llvm.org/D38395?vs=117116&id=117153#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D38395

Files:
  llvm/trunk/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h
  llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp
  llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp
  llvm/trunk/test/tools/llvm-dwarfdump/X86/verify_die_ranges.s


Index: llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp
===================================================================
--- llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp
+++ llvm/trunk/lib/DebugInfo/DWARF/DWARFVerifier.cpp
@@ -315,21 +315,16 @@
   for (auto Range : Ranges) {
     if (!Range.valid()) {
       ++NumErrors;
-      error() << format("Invalid address range [0x%08" PRIx64 " - 0x%08" PRIx64
-                        "].\n",
-                        Range.LowPC, Range.HighPC);
+      error() << "Invalid address range " << Range << "\n";
       continue;
     }
 
     // Verify that ranges don't intersect.
     const auto IntersectingRange = RI.insert(Range);
     if (IntersectingRange != RI.Ranges.end()) {
       ++NumErrors;
-      error() << format("DIE has overlapping address ranges: [0x%08" PRIx64
-                        " - 0x%08" PRIx64 "] and [0x%08" PRIx64
-                        " - 0x%08" PRIx64 "].\n",
-                        Range.LowPC, Range.HighPC, IntersectingRange->LowPC,
-                        IntersectingRange->HighPC);
+      error() << "DIE has overlapping address ranges: " << Range << " and "
+              << *IntersectingRange << "\n";
       break;
     }
   }
Index: llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp
===================================================================
--- llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp
+++ llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp
@@ -17,6 +17,11 @@
 
 using namespace llvm;
 
+raw_ostream &llvm::operator<<(raw_ostream &OS, const DWARFAddressRange &R) {
+  return OS << format("[0x%16.16" PRIx64 ", 0x%16.16" PRIx64 ")", R.LowPC,
+                      R.HighPC);
+}
+
 void DWARFDebugRangeList::clear() {
   Offset = -1U;
   AddressSize = 0;
Index: llvm/trunk/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h
===================================================================
--- llvm/trunk/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h
+++ llvm/trunk/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h
@@ -57,6 +57,8 @@
   return std::tie(LHS.LowPC, LHS.HighPC) < std::tie(RHS.LowPC, RHS.HighPC);
 }
 
+raw_ostream &operator<<(raw_ostream &OS, const DWARFAddressRange &R);
+
 /// DWARFAddressRangesVector - represents a set of absolute address ranges.
 using DWARFAddressRangesVector = std::vector<DWARFAddressRange>;
 
Index: llvm/trunk/test/tools/llvm-dwarfdump/X86/verify_die_ranges.s
===================================================================
--- llvm/trunk/test/tools/llvm-dwarfdump/X86/verify_die_ranges.s
+++ llvm/trunk/test/tools/llvm-dwarfdump/X86/verify_die_ranges.s
@@ -3,7 +3,7 @@
 # RUN: | FileCheck %s
 
 # CHECK: Verifying .debug_info Unit Header Chain...
-# CHECK-NEXT: error: Invalid address range [0x00000007 - 0x00000006].
+# CHECK-NEXT: error: Invalid address range [0x0000000000000007, 0x0000000000000006)
 
 	.section	__TEXT,__text,regular,pure_instructions
 	.macosx_version_min 10, 12


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D38395.117153.patch
Type: text/x-patch
Size: 2970 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170929/b9b31473/attachment.bin>


More information about the llvm-commits mailing list