OSDN Git Service

[DebugInfo] Use WithColor for more debug line warnings
authorAndrew Ng <anng.sw@gmail.com>
Fri, 20 Apr 2018 15:29:47 +0000 (15:29 +0000)
committerAndrew Ng <anng.sw@gmail.com>
Fri, 20 Apr 2018 15:29:47 +0000 (15:29 +0000)
Updated two more debug line related warnings to use WithColor. This was
necessary to ensure consistent output order of the warnings on Windows
for debug line tests.

Differential Revision: https://reviews.llvm.org/D45871

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@330440 91177308-0d34-0410-b5e6-96231b3b80d8

lib/DebugInfo/DWARF/DWARFDebugLine.cpp
test/DebugInfo/X86/dwarfdump-bogus-LNE.s
test/DebugInfo/X86/dwarfdump-line-mismatch.s

index dd74ea3..257d309 100644 (file)
@@ -554,9 +554,10 @@ bool DWARFDebugLine::LineTable::parse(DWARFDataExtractor &DebugLineData,
         if (DebugLineData.getAddressSize() == 0)
           DebugLineData.setAddressSize(Len - 1);
         else if (DebugLineData.getAddressSize() != Len - 1) {
-          fprintf(stderr, "Mismatching address size at offset 0x%8.8" PRIx32
-                  " expected 0x%2.2" PRIx8 " found 0x%2.2" PRIx64 "\n",
-                  ExtOffset, DebugLineData.getAddressSize(), Len - 1);
+          WithColor::warning()
+              << format("mismatching address size at offset 0x%8.8" PRIx32
+                        " expected 0x%2.2" PRIx8 " found 0x%2.2" PRIx64 "\n",
+                        ExtOffset, DebugLineData.getAddressSize(), Len - 1);
           // Skip the rest of the line-number program.
           *OffsetPtr = EndOffset;
           return false;
@@ -621,9 +622,10 @@ bool DWARFDebugLine::LineTable::parse(DWARFDataExtractor &DebugLineData,
       // Make sure the stated and parsed lengths are the same.
       // Otherwise we have an unparseable line-number program.
       if (*OffsetPtr - ExtOffset != Len) {
-        fprintf(stderr, "Unexpected line op length at offset 0x%8.8" PRIx32
-                " expected 0x%2.2" PRIx64 " found 0x%2.2" PRIx32 "\n",
-                ExtOffset, Len, *OffsetPtr - ExtOffset);
+        WithColor::warning()
+            << format("unexpected line op length at offset 0x%8.8" PRIx32
+                      " expected 0x%2.2" PRIx64 " found 0x%2.2" PRIx32 "\n",
+                      ExtOffset, Len, *OffsetPtr - ExtOffset);
         // Skip the rest of the line-number program.
         *OffsetPtr = EndOffset;
         return false;
index d094672..aa2a416 100644 (file)
@@ -148,7 +148,7 @@ LT2_header_end:
         .byte   1               # DW_LNE_end_sequence
 LT2_end:
 
-# ERR:      Unexpected line op length at offset 0x0000005e
+# ERR:      warning: unexpected line op length at offset 0x0000005e
 # ERR-SAME: expected 0x02 found 0x01
 
 # The above parsing errors still let us move to the next unit.
index a34ec6e..663b833 100644 (file)
@@ -4,7 +4,7 @@
 # RUN: llvm-mc -filetype=obj -triple i686-linux-gnu %s -o - | \
 # RUN: llvm-dwarfdump -debug-line - 2>&1 | FileCheck %s
 
-# CHECK: Mismatching address size at offset 0x{{[0-9a-f]+}}
+# CHECK:      warning: mismatching address size at offset 0x{{[0-9a-f]+}}
 # CHECK-SAME: expected 0x08 found 0x04
        .text
        .file   "reduced.c"