summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/ELF/SymbolTable.cpp4
-rw-r--r--lld/ELF/Symbols.cpp6
-rw-r--r--lld/ELF/Symbols.h6
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:
OpenPOWER on IntegriCloud