diff options
author | Yi Kong <yikong@google.com> | 2022-09-10 03:42:15 +0800 |
---|---|---|
committer | Yi Kong <yikong@google.com> | 2022-09-10 21:06:52 +0800 |
commit | bc0725a43763ff241f807e1de45d1a548aec89b8 (patch) | |
tree | ee8c73714b47a0020d074265fe87066bbc597bf5 /llvm/lib/Object/ArchiveWriter.cpp | |
parent | 860753934ca3865a1f680531924c43bafbf1917a (diff) | |
download | llvm-bc0725a43763ff241f807e1de45d1a548aec89b8.zip llvm-bc0725a43763ff241f807e1de45d1a548aec89b8.tar.gz llvm-bc0725a43763ff241f807e1de45d1a548aec89b8.tar.bz2 |
[Object] Improve ArchiveWriter diagnostics
Print out the archive member that failed, to make debugging easier.
Before:
error: failed to build archive: Not an int attribute (Producer: 'LLVM15.0.1git' Reader: 'LLVM 14.0.5-rust-dev')
After:
error: failed to build archive: 'fake_bt_keystore.o': Not an int attribute (Producer: 'LLVM15.0.1git' Reader: 'LLVM 14.0.5-rust-dev')
Differential Revision: https://reviews.llvm.org/D133607
Diffstat (limited to 'llvm/lib/Object/ArchiveWriter.cpp')
-rw-r--r-- | llvm/lib/Object/ArchiveWriter.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Object/ArchiveWriter.cpp b/llvm/lib/Object/ArchiveWriter.cpp index dbf5052..0d3aad6 100644 --- a/llvm/lib/Object/ArchiveWriter.cpp +++ b/llvm/lib/Object/ArchiveWriter.cpp @@ -598,8 +598,8 @@ computeMemberData(raw_ostream &StringTable, raw_ostream &SymNames, if (NeedSymbols) { Expected<std::vector<unsigned>> SymbolsOrErr = getSymbols(Buf, SymNames, HasObject); - if (auto E = SymbolsOrErr.takeError()) - return std::move(E); + if (!SymbolsOrErr) + return createFileError(M.MemberName, SymbolsOrErr.takeError()); Symbols = std::move(*SymbolsOrErr); } |