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
25 lines
658 B
ArmAsm
25 lines
658 B
ArmAsm
# 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
|