diff options
-rw-r--r-- | lld/ELF/SymbolTable.cpp | 4 | ||||
-rw-r--r-- | lld/ELF/Symbols.cpp | 6 | ||||
-rw-r--r-- | lld/ELF/Symbols.h | 6 |
3 files changed, 8 insertions, 8 deletions
diff --git a/lld/ELF/SymbolTable.cpp b/lld/ELF/SymbolTable.cpp index 1c5d9ae42d1..c2cf3b3a4b7 100644 --- a/lld/ELF/SymbolTable.cpp +++ b/lld/ELF/SymbolTable.cpp @@ -538,7 +538,7 @@ Symbol *SymbolTable::addLazyArchive(StringRef Name, ArchiveFile &F, bool WasInserted; std::tie(S, WasInserted) = insert(Name); if (WasInserted) { - replaceSymbol<LazyArchive>(S, &F, Sym, Symbol::UnknownType); + replaceSymbol<LazyArchive>(S, F, Sym, Symbol::UnknownType); return S; } if (!S->isUndefined()) @@ -547,7 +547,7 @@ Symbol *SymbolTable::addLazyArchive(StringRef Name, ArchiveFile &F, // An undefined weak will not fetch archive members. See comment on Lazy in // Symbols.h for the details. if (S->isWeak()) { - replaceSymbol<LazyArchive>(S, &F, Sym, S->Type); + replaceSymbol<LazyArchive>(S, F, Sym, S->Type); S->Binding = STB_WEAK; return S; } diff --git a/lld/ELF/Symbols.cpp b/lld/ELF/Symbols.cpp index 7f1cccffac2..d80aba499ff 100644 --- a/lld/ELF/Symbols.cpp +++ b/lld/ELF/Symbols.cpp @@ -224,16 +224,16 @@ InputFile *Lazy::fetch() { return cast<LazyObject>(this)->fetch(); } -ArchiveFile *LazyArchive::getFile() { return cast<ArchiveFile>(File); } +ArchiveFile &LazyArchive::getFile() { return *cast<ArchiveFile>(File); } InputFile *LazyArchive::fetch() { - std::pair<MemoryBufferRef, uint64_t> MBInfo = getFile()->getMember(&Sym); + std::pair<MemoryBufferRef, uint64_t> MBInfo = getFile().getMember(&Sym); // getMember returns an empty buffer if the member was already // read from the library. if (MBInfo.first.getBuffer().empty()) return nullptr; - return createObjectFile(MBInfo.first, getFile()->getName(), MBInfo.second); + return createObjectFile(MBInfo.first, getFile().getName(), MBInfo.second); } LazyObjFile &LazyObject::getFile() { return *cast<LazyObjFile>(File); } diff --git a/lld/ELF/Symbols.h b/lld/ELF/Symbols.h index fca26ca99c1..dfab237b074 100644 --- a/lld/ELF/Symbols.h +++ b/lld/ELF/Symbols.h @@ -278,13 +278,13 @@ protected: // symbol. class LazyArchive : public Lazy { public: - LazyArchive(InputFile *File, const llvm::object::Archive::Symbol S, + LazyArchive(InputFile &File, const llvm::object::Archive::Symbol S, uint8_t Type) - : Lazy(LazyArchiveKind, File, S.getName(), Type), Sym(S) {} + : Lazy(LazyArchiveKind, &File, S.getName(), Type), Sym(S) {} static bool classof(const Symbol *S) { return S->kind() == LazyArchiveKind; } - ArchiveFile *getFile(); + ArchiveFile &getFile(); InputFile *fetch(); private: |