forked from OSchip/llvm-project
[LLD] Do not print additional newlines after reaching error limit
Summary: This could previously happen if errors that are emitted after reaching the error limit. In that case, the flag inside the newline() function will be set to true which causes the next call to print a newline even though the actual message will be discarded. Reviewers: ruiu, grimar, MaskRay, espindola Reviewed By: ruiu Subscribers: emaste, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65198 llvm-svn: 366944
This commit is contained in:
parent
a1997ce2e5
commit
a8104b4927
|
@ -157,12 +157,13 @@ void ErrorHandler::warn(const Twine &msg) {
|
|||
|
||||
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)
|
||||
|
|
|
@ -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
|
Loading…
Reference in New Issue