diff options
author | Nico Weber <nicolasweber@gmx.de> | 2018-08-22 23:45:05 +0000 |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2018-08-22 23:45:05 +0000 |
commit | 7830c6f66f6688d1ae786e1d2c8e33f613eb4006 (patch) | |
tree | a05032d7fff68c4c6a4fbc7f18baeec101e7525b | |
parent | 613edd15823974061a12eaaab1e022ef0abcca1d (diff) | |
download | bcm5719-llvm-7830c6f66f6688d1ae786e1d2c8e33f613eb4006.tar.gz bcm5719-llvm-7830c6f66f6688d1ae786e1d2c8e33f613eb4006.zip |
lld-link: Separate 'undefined symbol' errors with just one newline, not two.
newline() in ErrorHandler.cpp already tries to insert newlines between messages
that contain embedded newlines, so getSymbolLocations() shouldn't return a
string that ends in a newline -- else we end up with two newlines between error
messages.
Makes lld-link's output look more like ld.lld output.
https://reviews.llvm.org/D51117
llvm-svn: 340482
-rw-r--r-- | lld/COFF/SymbolTable.cpp | 3 | ||||
-rw-r--r-- | lld/test/COFF/undefined-symbol-cv.s | 8 | ||||
-rw-r--r-- | lld/test/COFF/undefined-symbol.s | 8 |
3 files changed, 9 insertions, 10 deletions
diff --git a/lld/COFF/SymbolTable.cpp b/lld/COFF/SymbolTable.cpp index 62188b5f7e9..7946a71f1ad 100644 --- a/lld/COFF/SymbolTable.cpp +++ b/lld/COFF/SymbolTable.cpp @@ -109,7 +109,7 @@ static std::string getSymbolLocations(ObjFile *File, uint32_t SymIndex) { } if (Locations.empty()) - return "\n>>> referenced by " + toString(File) + "\n"; + return "\n>>> referenced by " + toString(File); std::string Out; llvm::raw_string_ostream OS(Out); @@ -122,7 +122,6 @@ static std::string getSymbolLocations(ObjFile *File, uint32_t SymIndex) { if (!Loc.SymName.empty()) OS << ":(" << Loc.SymName << ')'; } - OS << '\n'; return OS.str(); } diff --git a/lld/test/COFF/undefined-symbol-cv.s b/lld/test/COFF/undefined-symbol-cv.s index 31a44c384c7..e729d5fa96c 100644 --- a/lld/test/COFF/undefined-symbol-cv.s +++ b/lld/test/COFF/undefined-symbol-cv.s @@ -7,14 +7,14 @@ # CHECK-NEXT: >>> {{.*}}.obj:(main) # CHECK-NEXT: >>> referenced by file1.cpp:2 # CHECK-NEXT: >>> {{.*}}.obj:(main) - -# CHECK: error: undefined symbol: ?bar@@YAHXZ +# CHECK-EMPTY: +# CHECK-NEXT: error: undefined symbol: ?bar@@YAHXZ # CHECK-NEXT: >>> referenced by file2.cpp:3 # CHECK-NEXT: >>> {{.*}}.obj:(main) # CHECK-NEXT: >>> referenced by file1.cpp:4 # CHECK-NEXT: >>> {{.*}}.obj:(f1) - -# CHECK: error: undefined symbol: ?baz@@YAHXZ +# CHECK-EMPTY: +# CHECK-NEXT: error: undefined symbol: ?baz@@YAHXZ # CHECK-NEXT: >>> referenced by file1.cpp:5 # CHECK-NEXT: >>> {{.*}}.obj:(f2) diff --git a/lld/test/COFF/undefined-symbol.s b/lld/test/COFF/undefined-symbol.s index 5d002d82d23..6b64a8e1d3e 100644 --- a/lld/test/COFF/undefined-symbol.s +++ b/lld/test/COFF/undefined-symbol.s @@ -5,12 +5,12 @@ # CHECK: error: undefined symbol: ?foo@@YAHXZ # CHECK-NEXT: >>> referenced by {{.*}}.obj:(main) # CHECK-NEXT: >>> referenced by {{.*}}.obj:(main) - -# CHECK: error: undefined symbol: ?bar@@YAHXZ +# CHECK-EMPTY: +# CHECK-NEXT: error: undefined symbol: ?bar@@YAHXZ # CHECK-NEXT: >>> referenced by {{.*}}.obj:(main) # CHECK-NEXT: >>> referenced by {{.*}}.obj:(f1) - -# CHECK: error: undefined symbol: ?baz@@YAHXZ +# CHECK-EMPTY: +# CHECK-NEXT: error: undefined symbol: ?baz@@YAHXZ # CHECK-NEXT: >>> referenced by {{.*}}.obj:(f2) .section .text,"xr",one_only,main |