diff options
author | Sam Clegg <sbc@chromium.org> | 2018-07-18 21:46:09 +0000 |
---|---|---|
committer | Sam Clegg <sbc@chromium.org> | 2018-07-18 21:46:09 +0000 |
commit | 2df314d17f83c6b7d47c8933d2954afc9e19439d (patch) | |
tree | bd58f602a619170d5f4ce38fb5142609735712e2 /lld/wasm/InputFiles.cpp | |
parent | 47068a42d24db55632bc72dadba0732b24a6ac50 (diff) | |
download | bcm5719-llvm-2df314d17f83c6b7d47c8933d2954afc9e19439d.tar.gz bcm5719-llvm-2df314d17f83c6b7d47c8933d2954afc9e19439d.zip |
[WebAssembly] Fix archive member display in error messages
Add a test for this by causing a symbol collision
between archive members.
Differential Revision: https://reviews.llvm.org/D49343
llvm-svn: 337426
Diffstat (limited to 'lld/wasm/InputFiles.cpp')
-rw-r--r-- | lld/wasm/InputFiles.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lld/wasm/InputFiles.cpp b/lld/wasm/InputFiles.cpp index 55392ccd34f..0396f299749 100644 --- a/lld/wasm/InputFiles.cpp +++ b/lld/wasm/InputFiles.cpp @@ -372,7 +372,7 @@ void ArchiveFile::addMember(const Archive::Symbol *Sym) { return; } - Obj->ParentName = ParentName; + Obj->ArchiveName = getName(); Symtab->addFile(Obj); } @@ -407,7 +407,7 @@ static Symbol *createBitcodeSymbol(const lto::InputFile::Symbol &ObjSym, void BitcodeFile::parse() { Obj = check(lto::InputFile::create(MemoryBufferRef( - MB.getBuffer(), Saver.save(ParentName + MB.getBufferIdentifier())))); + MB.getBuffer(), Saver.save(ArchiveName + MB.getBufferIdentifier())))); Triple T(Obj->getTargetTriple()); if (T.getArch() != Triple::wasm32) { error(toString(MB.getBufferIdentifier()) + ": machine type must be wasm32"); @@ -423,8 +423,8 @@ std::string lld::toString(const wasm::InputFile *File) { if (!File) return "<internal>"; - if (File->ParentName.empty()) + if (File->ArchiveName.empty()) return File->getName(); - return (File->ParentName + "(" + File->getName() + ")").str(); + return (File->ArchiveName + "(" + File->getName() + ")").str(); } |