[lld] r246886 - [elf2] Add basic archive file support.
Rafael EspĂndola via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 8 06:50:47 PDT 2015
> +MemoryBufferRef ArchiveFile::getMember(const Archive::Symbol *Sym) {
> + ErrorOr<Archive::child_iterator> ItOrErr = Sym->getMember();
> + error(ItOrErr,
> + Twine("Could not get the member for symbol ") + Sym->getName());
> + Archive::child_iterator It = *ItOrErr;
> +
> + if (!Seen.insert(It->getChildOffset()).second) {
> + return MemoryBufferRef();
> + }
Drop the {}
> +template <template <class> class T>
> +std::unique_ptr<ELFFileBase> createELFFile(MemoryBufferRef MB) {
Interesting use of a template parameter :-)
> + const llvm::object::Archive::Symbol Sym;
Could this hold a "const llvm::object::Archive::Symbol &"?
Cheers,
Rafael
More information about the llvm-commits
mailing list