<div dir="ltr">Test case(s) (for the other tool changes too)?</div><br><div class="gmail_quote"><div dir="ltr">On Sun, Nov 11, 2018 at 2:14 PM Jonas Devlieghere via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: jdevlieghere<br>
Date: Sun Nov 11 14:12:04 2018<br>
New Revision: 346623<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=346623&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=346623&view=rev</a><br>
Log:<br>
[llvm-objdump] Use WithColor for error reporting<br>
<br>
Use helpers from Support/WithError.h to print errors.<br>
<br>
Modified:<br>
    llvm/trunk/tools/llvm-objdump/COFFDump.cpp<br>
    llvm/trunk/tools/llvm-objdump/MachODump.cpp<br>
    llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp<br>
<br>
Modified: llvm/trunk/tools/llvm-objdump/COFFDump.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/COFFDump.cpp?rev=346623&r1=346622&r2=346623&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/COFFDump.cpp?rev=346623&r1=346622&r2=346623&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/tools/llvm-objdump/COFFDump.cpp (original)<br>
+++ llvm/trunk/tools/llvm-objdump/COFFDump.cpp Sun Nov 11 14:12:04 2018<br>
@@ -22,6 +22,7 @@<br>
 #include "llvm/Object/ObjectFile.h"<br>
 #include "llvm/Support/Format.h"<br>
 #include "llvm/Support/Win64EH.h"<br>
+#include "llvm/Support/WithColor.h"<br>
 #include "llvm/Support/raw_ostream.h"<br>
<br>
 using namespace llvm;<br>
@@ -579,8 +580,9 @@ static void printRuntimeFunctionRels(con<br>
<br>
 void llvm::printCOFFUnwindInfo(const COFFObjectFile *Obj) {<br>
   if (Obj->getMachine() != COFF::IMAGE_FILE_MACHINE_AMD64) {<br>
-    errs() << "Unsupported image machine type "<br>
-              "(currently only AMD64 is supported).\n";<br>
+    WithColor::error(errs(), "llvm-objdump")<br>
+        << "unsupported image machine type "<br>
+           "(currently only AMD64 is supported).\n";<br>
     return;<br>
   }<br>
<br>
<br>
Modified: llvm/trunk/tools/llvm-objdump/MachODump.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/MachODump.cpp?rev=346623&r1=346622&r2=346623&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/MachODump.cpp?rev=346623&r1=346622&r2=346623&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/tools/llvm-objdump/MachODump.cpp (original)<br>
+++ llvm/trunk/tools/llvm-objdump/MachODump.cpp Sun Nov 11 14:12:04 2018<br>
@@ -44,6 +44,7 @@<br>
 #include "llvm/Support/TargetRegistry.h"<br>
 #include "llvm/Support/TargetSelect.h"<br>
 #include "llvm/Support/ToolOutputFile.h"<br>
+#include "llvm/Support/WithColor.h"<br>
 #include "llvm/Support/raw_ostream.h"<br>
 #include <algorithm><br>
 #include <cstring><br>
@@ -166,7 +167,7 @@ static const Target *GetTarget(const Mac<br>
   if (*ThumbTarget)<br>
     return TheTarget;<br>
<br>
-  errs() << "llvm-objdump: error: unable to get target for '";<br>
+  WithColor::error(errs(), "llvm-objdump") << "unable to get target for '";<br>
   if (!TheTarget)<br>
     errs() << TripleName;<br>
   else<br>
@@ -483,7 +484,7 @@ static void PrintRType(const uint64_t cp<br>
     "GOTLDP  ", "GOTLDPOF", "PTRTGOT ", "TLVLDP  ", "TLVLDPOF",<br>
     "ADDEND  ", " 11 (?) ", " 12 (?) ", " 13 (?) ", " 14 (?) ", " 15 (?) "<br>
   };<br>
-  <br>
+<br>
   if (r_type > 0xf){<br>
     outs() << format("%-7u", r_type) << " ";<br>
     return;<br>
@@ -552,7 +553,7 @@ static void PrintRelocationEntries(const<br>
   bool previous_arm_half = false;<br>
   bool previous_sectdiff = false;<br>
   uint32_t sectdiff_r_type = 0;<br>
-  <br>
+<br>
   for (relocation_iterator Reloc = Begin; Reloc != End; ++Reloc) {<br>
     const DataRefImpl Rel = Reloc->getRawDataRefImpl();<br>
     const MachO::any_relocation_info RE = O->getRelocation(Rel);<br>
@@ -567,7 +568,7 @@ static void PrintRelocationEntries(const<br>
                               O->getScatteredRelocationValue(RE) : 0);<br>
     const unsigned r_symbolnum = (r_scattered ? 0 :<br>
                                   O->getPlainRelocationSymbolNum(RE));<br>
-    <br>
+<br>
     if (r_scattered && cputype != MachO::CPU_TYPE_X86_64) {<br>
       if (verbose) {<br>
         // scattered: address<br>
@@ -578,20 +579,20 @@ static void PrintRelocationEntries(const<br>
           outs() << "         ";<br>
         else<br>
           outs() << format("%08x ", (unsigned int)r_address);<br>
-        <br>
+<br>
         // scattered: pcrel<br>
         if (r_pcrel)<br>
           outs() << "True  ";<br>
         else<br>
           outs() << "False ";<br>
-        <br>
+<br>
         // scattered: length<br>
         PrintRLength(cputype, r_type, r_length, previous_arm_half);<br>
-        <br>
+<br>
         // scattered: extern & type<br>
         outs() << "n/a    ";<br>
         PrintRType(cputype, r_type);<br>
-        <br>
+<br>
         // scattered: scattered & value<br>
         outs() << format("True      0x%08x", (unsigned int)r_value);<br>
         if (previous_sectdiff == false) {<br>
@@ -639,22 +640,22 @@ static void PrintRelocationEntries(const<br>
           outs() << "         ";<br>
         else<br>
           outs() << format("%08x ", (unsigned int)r_address);<br>
-        <br>
+<br>
         // plain: pcrel<br>
         if (r_pcrel)<br>
           outs() << "True  ";<br>
         else<br>
           outs() << "False ";<br>
-        <br>
+<br>
         // plain: length<br>
         PrintRLength(cputype, r_type, r_length, previous_arm_half);<br>
-        <br>
+<br>
         if (r_extern) {<br>
           // plain: extern & type & scattered<br>
           outs() << "True   ";<br>
           PrintRType(cputype, r_type);<br>
           outs() << "False     ";<br>
-          <br>
+<br>
           // plain: symbolnum/value<br>
           if (r_symbolnum > Symtab.nsyms)<br>
             outs() << format("?(%d)\n", r_symbolnum);<br>
@@ -675,7 +676,7 @@ static void PrintRelocationEntries(const<br>
           outs() << "False  ";<br>
           PrintRType(cputype, r_type);<br>
           outs() << "False     ";<br>
-          <br>
+<br>
           // plain: symbolnum/value<br>
           if (cputype == MachO::CPU_TYPE_ARM &&<br>
                    r_type == llvm::MachO::ARM_RELOC_PAIR)<br>
@@ -1559,7 +1560,8 @@ static bool checkMachOAndArchFlags(Objec<br>
   if (none_of(ArchFlags, [&](const std::string &Name) {<br>
         return Name == ArchFlagName;<br>
       })) {<br>
-    errs() << "llvm-objdump: " + Filename + ": No architecture specified.\n";<br>
+    WithColor::error(errs(), "llvm-objdump")<br>
+        << Filename << ": no architecture specified.\n";<br>
     return false;<br>
   }<br>
   return true;<br>
@@ -1944,8 +1946,9 @@ static bool ValidateArchFlags() {<br>
       ArchAll = true;<br>
     } else {<br>
       if (!MachOObjectFile::isValidArch(ArchFlags[i])) {<br>
-        errs() << "llvm-objdump: Unknown architecture named '" + ArchFlags[i] +<br>
-                      "'for the -arch option\n";<br>
+        WithColor::error(errs(), "llvm-objdump")<br>
+            << "unknown architecture named '" + ArchFlags[i] +<br>
+                   "'for the -arch option\n";<br>
         return false;<br>
       }<br>
     }<br>
@@ -2005,8 +2008,9 @@ void llvm::ParseInputMachO(StringRef Fil<br>
     if (MachOObjectFile *MachOOF = dyn_cast<MachOObjectFile>(&*O))<br>
       ProcessMachO(Filename, MachOOF);<br>
     else<br>
-      errs() << "llvm-objdump: '" << Filename << "': "<br>
-             << "Object is not a Mach-O file type.\n";<br>
+      WithColor::error(errs(), "llvm-objdump")<br>
+          << Filename << "': "<br>
+          << "object is not a Mach-O file type.\n";<br>
     return;<br>
   }<br>
   llvm_unreachable("Input object can't be invalid at this point");<br>
@@ -2079,8 +2083,9 @@ void llvm::ParseInputMachO(MachOUniversa<br>
         }<br>
       }<br>
       if (!ArchFound) {<br>
-        errs() << "llvm-objdump: file: " + Filename + " does not contain "<br>
-                << "architecture: " + ArchFlags[i] + "\n";<br>
+        WithColor::error(errs(), "llvm-objdump")<br>
+            << "file: " + Filename + " does not contain "<br>
+            << "architecture: " + ArchFlags[i] + "\n";<br>
         return;<br>
       }<br>
     }<br>
@@ -6184,8 +6189,9 @@ static void PrintXarFilesSummary(const c<br>
<br>
   ScopedXarIter xi;<br>
   if (!xi) {<br>
-    errs() << "Can't obtain an xar iterator for xar archive "<br>
-           << XarFilename << "\n";<br>
+    WithColor::error(errs(), "llvm-objdump")<br>
+        << "can't obtain an xar iterator for xar archive " << XarFilename<br>
+        << "\n";<br>
     return;<br>
   }<br>
<br>
@@ -6193,8 +6199,9 @@ static void PrintXarFilesSummary(const c<br>
   for (xf = xar_file_first(xar, xi); xf; xf = xar_file_next(xi)) {<br>
     ScopedXarIter xp;<br>
     if(!xp){<br>
-      errs() << "Can't obtain an xar iterator for xar archive "<br>
-             << XarFilename << "\n";<br>
+      WithColor::error(errs(), "llvm-objdump")<br>
+          << "can't obtain an xar iterator for xar archive " << XarFilename<br>
+          << "\n";<br>
       return;<br>
     }<br>
     type = nullptr;<br>
@@ -6318,7 +6325,7 @@ static void DumpBitcodeSection(MachOObje<br>
   std::error_code XarEC =<br>
       sys::fs::createTemporaryFile("llvm-objdump", "xar", FD, XarFilename);<br>
   if (XarEC) {<br>
-    errs() << XarEC.message() << "\n";<br>
+    WithColor::error(errs(), "llvm-objdump") << XarEC.message() << "\n";<br>
     return;<br>
   }<br>
   ToolOutputFile XarFile(XarFilename, FD);<br>
@@ -6331,7 +6338,8 @@ static void DumpBitcodeSection(MachOObje<br>
<br>
   ScopedXarFile xar(XarFilename.c_str(), READ);<br>
   if (!xar) {<br>
-    errs() << "Can't create temporary xar archive " << XarFilename << "\n";<br>
+    WithColor::error(errs(), "llvm-objdump")<br>
+        << "can't create temporary xar archive " << XarFilename << "\n";<br>
     return;<br>
   }<br>
<br>
@@ -6339,7 +6347,7 @@ static void DumpBitcodeSection(MachOObje<br>
   std::error_code TocEC =<br>
       sys::fs::createTemporaryFile("llvm-objdump", "toc", TocFilename);<br>
   if (TocEC) {<br>
-    errs() << TocEC.message() << "\n";<br>
+    WithColor::error(errs(), "llvm-objdump") << TocEC.message() << "\n";<br>
     return;<br>
   }<br>
   xar_serialize(xar, TocFilename.c_str());<br>
@@ -6356,7 +6364,7 @@ static void DumpBitcodeSection(MachOObje<br>
   ErrorOr<std::unique_ptr<MemoryBuffer>> FileOrErr =<br>
     MemoryBuffer::getFileOrSTDIN(TocFilename.c_str());<br>
   if (std::error_code EC = FileOrErr.getError()) {<br>
-    errs() << EC.message() << "\n";<br>
+    WithColor::error(errs(), "llvm-objdump") << EC.message() << "\n";<br>
     return;<br>
   }<br>
   std::unique_ptr<MemoryBuffer> &Buffer = FileOrErr.get();<br>
@@ -6371,8 +6379,9 @@ static void DumpBitcodeSection(MachOObje<br>
   // TODO: Go through the xar's files.<br>
   ScopedXarIter xi;<br>
   if(!xi){<br>
-    errs() << "Can't obtain an xar iterator for xar archive "<br>
-           << XarFilename.c_str() << "\n";<br>
+    WithColor::error(errs(), "llvm-objdump")<br>
+        << "can't obtain an xar iterator for xar archive "<br>
+        << XarFilename.c_str() << "\n";<br>
     return;<br>
   }<br>
   for(xar_file_t xf = xar_file_first(xar, xi); xf; xf = xar_file_next(xi)){<br>
@@ -6382,8 +6391,9 @@ static void DumpBitcodeSection(MachOObje<br>
<br>
     ScopedXarIter xp;<br>
     if(!xp){<br>
-      errs() << "Can't obtain an xar iterator for xar archive "<br>
-             << XarFilename.c_str() << "\n";<br>
+      WithColor::error(errs(), "llvm-objdump")<br>
+          << "can't obtain an xar iterator for xar archive "<br>
+          << XarFilename.c_str() << "\n";<br>
       return;<br>
     }<br>
     member_name = NULL;<br>
@@ -6860,8 +6870,8 @@ static void DisassembleMachO(StringRef F<br>
   // IP->setCommentStream(CommentStream);<br>
<br>
   if (!AsmInfo || !STI || !DisAsm || !IP) {<br>
-    errs() << "error: couldn't initialize disassembler for target "<br>
-           << TripleName << '\n';<br>
+    WithColor::error(errs(), "llvm-objdump")<br>
+        << "couldn't initialize disassembler for target " << TripleName << '\n';<br>
     return;<br>
   }<br>
<br>
@@ -6902,8 +6912,9 @@ static void DisassembleMachO(StringRef F<br>
   }<br>
<br>
   if (ThumbTarget && (!ThumbAsmInfo || !ThumbSTI || !ThumbDisAsm || !ThumbIP)) {<br>
-    errs() << "error: couldn't initialize disassembler for target "<br>
-           << ThumbTripleName << '\n';<br>
+    WithColor::error(errs(), "llvm-objdump")<br>
+        << "couldn't initialize disassembler for target " << ThumbTripleName<br>
+        << '\n';<br>
     return;<br>
   }<br>
<br>
@@ -6956,7 +6967,8 @@ static void DisassembleMachO(StringRef F<br>
       ErrorOr<std::unique_ptr<MemoryBuffer>> BufOrErr =<br>
           MemoryBuffer::getFileOrSTDIN(DSYMFile);<br>
       if (std::error_code EC = BufOrErr.getError()) {<br>
-        errs() << "llvm-objdump: " << Filename << ": " << EC.message() << '\n';<br>
+        WithColor::error(errs(), "llvm-objdump")<br>
+            << Filename << ": " << EC.message() << '\n';<br>
         return;<br>
       }<br>
       Expected<std::unique_ptr<MachOObjectFile>> DbgObjCheck =<br>
@@ -7243,7 +7255,8 @@ static void DisassembleMachO(StringRef F<br>
             outs() << format("\t.short\t0x%04x\n", opcode);<br>
             Size = 2;<br>
           } else{<br>
-            errs() << "llvm-objdump: warning: invalid instruction encoding\n";<br>
+            WithColor::warning(errs(), "llvm-objdump")<br>
+                << "invalid instruction encoding\n";<br>
             if (Size == 0)<br>
               Size = 1; // skip illegible bytes<br>
           }<br>
@@ -7290,7 +7303,8 @@ static void DisassembleMachO(StringRef F<br>
                              *(Bytes.data() + Index) & 0xff);<br>
             InstSize = 1; // skip exactly one illegible byte and move on.<br>
           } else {<br>
-            errs() << "llvm-objdump: warning: invalid instruction encoding\n";<br>
+            WithColor::warning(errs(), "llvm-objdump")<br>
+                << "invalid instruction encoding\n";<br>
             if (InstSize == 0)<br>
               InstSize = 1; // skip illegible bytes<br>
           }<br>
<br>
Modified: llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp?rev=346623&r1=346622&r2=346623&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp?rev=346623&r1=346622&r2=346623&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp (original)<br>
+++ llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp Sun Nov 11 14:12:04 2018<br>
@@ -59,6 +59,7 @@<br>
 #include "llvm/Support/StringSaver.h"<br>
 #include "llvm/Support/TargetRegistry.h"<br>
 #include "llvm/Support/TargetSelect.h"<br>
+#include "llvm/Support/WithColor.h"<br>
 #include "llvm/Support/raw_ostream.h"<br>
 #include <algorithm><br>
 #include <cctype><br>
@@ -337,33 +338,35 @@ SectionFilter ToolSectionFilter(llvm::ob<br>
 void llvm::error(std::error_code EC) {<br>
   if (!EC)<br>
     return;<br>
-<br>
-  errs() << ToolName << ": error reading file: " << EC.message() << ".\n";<br>
+  WithColor::error(errs(), ToolName)<br>
+      << "reading file: " << EC.message() << ".\n";<br>
   errs().flush();<br>
   exit(1);<br>
 }<br>
<br>
 LLVM_ATTRIBUTE_NORETURN void llvm::error(Twine Message) {<br>
-  errs() << ToolName << ": " << Message << ".\n";<br>
+  WithColor::error(errs(), ToolName) << Message << ".\n";<br>
   errs().flush();<br>
   exit(1);<br>
 }<br>
<br>
 void llvm::warn(StringRef Message) {<br>
-  errs() << ToolName << ": warning: " << Message << ".\n";<br>
+  WithColor::warning(errs(), ToolName) << Message << ".\n";<br>
   errs().flush();<br>
 }<br>
<br>
 LLVM_ATTRIBUTE_NORETURN void llvm::report_error(StringRef File,<br>
                                                 Twine Message) {<br>
-  errs() << ToolName << ": '" << File << "': " << Message << ".\n";<br>
+  WithColor::error(errs(), ToolName)<br>
+      << "'" << File << "': " << Message << ".\n";<br>
   exit(1);<br>
 }<br>
<br>
 LLVM_ATTRIBUTE_NORETURN void llvm::report_error(StringRef File,<br>
                                                 std::error_code EC) {<br>
   assert(EC);<br>
-  errs() << ToolName << ": '" << File << "': " << EC.message() << ".\n";<br>
+  WithColor::error(errs(), ToolName)<br>
+      << "'" << File << "': " << EC.message() << ".\n";<br>
   exit(1);<br>
 }<br>
<br>
@@ -374,7 +377,7 @@ LLVM_ATTRIBUTE_NORETURN void llvm::repor<br>
   raw_string_ostream OS(Buf);<br>
   logAllUnhandledErrors(std::move(E), OS);<br>
   OS.flush();<br>
-  errs() << ToolName << ": '" << File << "': " << Buf;<br>
+  WithColor::error(errs(), ToolName) << "'" << File << "': " << Buf;<br>
   exit(1);<br>
 }<br>
<br>
@@ -383,7 +386,7 @@ LLVM_ATTRIBUTE_NORETURN void llvm::repor<br>
                                                 llvm::Error E,<br>
                                                 StringRef ArchitectureName) {<br>
   assert(E);<br>
-  errs() << ToolName << ": ";<br>
+  WithColor::error(errs(), ToolName);<br>
   if (ArchiveName != "")<br>
     errs() << ArchiveName << "(" << FileName << ")";<br>
   else<br>
@@ -2071,8 +2074,9 @@ static void PrintUnwindInfo(const Object<br>
     printMachOUnwindInfo(MachO);<br>
   else {<br>
     // TODO: Extract DWARF dump tool to objdump.<br>
-    errs() << "This operation is only currently supported "<br>
-              "for COFF and MachO object files.\n";<br>
+    WithColor::error(errs(), ToolName)<br>
+        << "This operation is only currently supported "<br>
+           "for COFF and MachO object files.\n";<br>
     return;<br>
   }<br>
 }<br>
@@ -2082,8 +2086,9 @@ void llvm::printExportsTrie(const Object<br>
   if (const MachOObjectFile *MachO = dyn_cast<MachOObjectFile>(o))<br>
     printMachOExportsTrie(MachO);<br>
   else {<br>
-    errs() << "This operation is only currently supported "<br>
-              "for Mach-O executable files.\n";<br>
+    WithColor::error(errs(), ToolName)<br>
+        << "This operation is only currently supported "<br>
+           "for Mach-O executable files.\n";<br>
     return;<br>
   }<br>
 }<br>
@@ -2093,8 +2098,9 @@ void llvm::printRebaseTable(ObjectFile *<br>
   if (MachOObjectFile *MachO = dyn_cast<MachOObjectFile>(o))<br>
     printMachORebaseTable(MachO);<br>
   else {<br>
-    errs() << "This operation is only currently supported "<br>
-              "for Mach-O executable files.\n";<br>
+    WithColor::error(errs(), ToolName)<br>
+        << "This operation is only currently supported "<br>
+           "for Mach-O executable files.\n";<br>
     return;<br>
   }<br>
 }<br>
@@ -2104,8 +2110,9 @@ void llvm::printBindTable(ObjectFile *o)<br>
   if (MachOObjectFile *MachO = dyn_cast<MachOObjectFile>(o))<br>
     printMachOBindTable(MachO);<br>
   else {<br>
-    errs() << "This operation is only currently supported "<br>
-              "for Mach-O executable files.\n";<br>
+    WithColor::error(errs(), ToolName)<br>
+        << "This operation is only currently supported "<br>
+           "for Mach-O executable files.\n";<br>
     return;<br>
   }<br>
 }<br>
@@ -2115,8 +2122,9 @@ void llvm::printLazyBindTable(ObjectFile<br>
   if (MachOObjectFile *MachO = dyn_cast<MachOObjectFile>(o))<br>
     printMachOLazyBindTable(MachO);<br>
   else {<br>
-    errs() << "This operation is only currently supported "<br>
-              "for Mach-O executable files.\n";<br>
+    WithColor::error(errs(), ToolName)<br>
+        << "This operation is only currently supported "<br>
+           "for Mach-O executable files.\n";<br>
     return;<br>
   }<br>
 }<br>
@@ -2126,8 +2134,9 @@ void llvm::printWeakBindTable(ObjectFile<br>
   if (MachOObjectFile *MachO = dyn_cast<MachOObjectFile>(o))<br>
     printMachOWeakBindTable(MachO);<br>
   else {<br>
-    errs() << "This operation is only currently supported "<br>
-              "for Mach-O executable files.\n";<br>
+    WithColor::error(errs(), ToolName)<br>
+        << "This operation is only currently supported "<br>
+           "for Mach-O executable files.\n";<br>
     return;<br>
   }<br>
 }<br>
@@ -2136,10 +2145,11 @@ void llvm::printWeakBindTable(ObjectFile<br>
 /// into llvm-bcanalyzer.<br>
 void llvm::printRawClangAST(const ObjectFile *Obj) {<br>
   if (outs().is_displayed()) {<br>
-    errs() << "The -raw-clang-ast option will dump the raw binary contents of "<br>
-              "the clang ast section.\n"<br>
-              "Please redirect the output to a file or another program such as "<br>
-              "llvm-bcanalyzer.\n";<br>
+    WithColor::error(errs(), ToolName)<br>
+        << "The -raw-clang-ast option will dump the raw binary contents of "<br>
+           "the clang ast section.\n"<br>
+           "Please redirect the output to a file or another program such as "<br>
+           "llvm-bcanalyzer.\n";<br>
     return;<br>
   }<br>
<br>
@@ -2173,8 +2183,9 @@ static void printFaultMaps(const ObjectF<br>
   } else if (isa<MachOObjectFile>(Obj)) {<br>
     FaultMapSectionName = "__llvm_faultmaps";<br>
   } else {<br>
-    errs() << "This operation is only currently supported "<br>
-              "for ELF and Mach-O executable files.\n";<br>
+    WithColor::error(errs(), ToolName)<br>
+        << "This operation is only currently supported "<br>
+           "for ELF and Mach-O executable files.\n";<br>
     return;<br>
   }<br>
<br>
@@ -2243,7 +2254,7 @@ static void printFileHeaders(const Objec<br>
 static void printArchiveChild(StringRef Filename, const Archive::Child &C) {<br>
   Expected<sys::fs::perms> ModeOrErr = C.getAccessMode();<br>
   if (!ModeOrErr) {<br>
-    errs() << "ill-formed archive entry.\n";<br>
+    WithColor::error(errs(), ToolName) << "ill-formed archive entry.\n";<br>
     consumeError(ModeOrErr.takeError());<br>
     return;<br>
   }<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div>