[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