[PATCH] D65198: [LLD] Do not print additional newlines after reaching error limit

Alexander Richardson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 24 13:56:06 PDT 2019


This revision was automatically updated to reflect the committed changes.
Closed by commit rL366944: [LLD] Do not print additional newlines after reaching error limit (authored by arichardson, committed by ).

Changed prior to commit:
  https://reviews.llvm.org/D65198?vs=211550&id=211596#toc

Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65198/new/

https://reviews.llvm.org/D65198

Files:
  lld/trunk/Common/ErrorHandler.cpp
  lld/trunk/test/ELF/error-limit-no-newlines.s


Index: lld/trunk/Common/ErrorHandler.cpp
===================================================================
--- lld/trunk/Common/ErrorHandler.cpp
+++ lld/trunk/Common/ErrorHandler.cpp
@@ -157,12 +157,13 @@
 
 void ErrorHandler::error(const Twine &msg) {
   std::lock_guard<std::mutex> lock(mu);
-  newline(errorOS, msg);
 
   if (errorLimit == 0 || errorCount < errorLimit) {
+    newline(errorOS, msg);
     printHeader("error: ", raw_ostream::RED, msg);
     *errorOS << msg << "\n";
   } else if (errorCount == errorLimit) {
+    newline(errorOS, msg);
     printHeader("error: ", raw_ostream::RED, msg);
     *errorOS << errorLimitExceededMsg << "\n";
     if (exitEarly)
Index: lld/trunk/test/ELF/error-limit-no-newlines.s
===================================================================
--- lld/trunk/test/ELF/error-limit-no-newlines.s
+++ lld/trunk/test/ELF/error-limit-no-newlines.s
@@ -0,0 +1,24 @@
+# REQUIRES: x86
+# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t1.o
+# RUN: not ld.lld --error-limit=1 %t1.o %t1.o %t1.o -o /dev/null 2>%t.output
+# RUN: echo "END" >> %t.output
+# RUN: FileCheck %s -input-file=%t.output
+
+# CHECK:      error: duplicate symbol: _start
+# CHECK-NEXT: >>> defined at {{.*}}1.o:(.text+0x0)
+# CHECK-NEXT: >>> defined at {{.*}}1.o:(.text+0x0)
+# CHECK-EMPTY:
+# CHECK-NEXT: ld.lld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
+## Ensure that there isn't an additional newline before the next message:
+# CHECK-NEXT: END
+.globl _start
+_start:
+  nop
+
+.globl foo
+foo:
+  nop
+
+.globl bar
+bar:
+  nop


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65198.211596.patch
Type: text/x-patch
Size: 1594 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190724/f309722c/attachment.bin>


More information about the llvm-commits mailing list