[PATCH] D111889: [AIX] Support of Big archive (read)
James Henderson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 13 00:15:50 PST 2022
jhenderson added a comment.
Apologies, missed one signficant thing in my previous review: change `createArchiveMemberHeader` to make and return a `unique_ptr`
================
Comment at: llvm/include/llvm/Object/Archive.h:374
+ AbstractArchiveMemberHeader *
+ createArchiveMemberHeader(const char *RawHeaderPtr, uint64_t Size,
----------------
================
Comment at: llvm/lib/Object/Archive.cpp:442-443
+ : Parent(Parent), Data(Data), StartOfFile(StartOfFile) {
+ Header = std::unique_ptr<AbstractArchiveMemberHeader>(
+ Parent->createArchiveMemberHeader(Data.data(), Data.size(), nullptr));
+}
----------------
Related to other comment.
================
Comment at: llvm/lib/Object/Archive.cpp:453-458
+ Header = std::unique_ptr<AbstractArchiveMemberHeader>(
+ Parent->createArchiveMemberHeader(
+ Start,
+ Parent ? Parent->getData().size() - (Start - Parent->getData().data())
+ : 0,
+ Err));
----------------
Related to other comment.
================
Comment at: llvm/lib/Object/Archive.cpp:660-667
+AbstractArchiveMemberHeader *
+Archive::createArchiveMemberHeader(const char *RawHeaderPtr, uint64_t Size,
+ Error *Err) const {
+ ErrorAsOutParameter ErrAsOutParam(Err);
+ if (kind() != K_AIXBIG)
+ return new ArchiveMemberHeader(this, RawHeaderPtr, Size, Err);
+ else
----------------
Use `std::unique_ptr/std::make_unique` rather than `new` and raw pointers here.
Also, no need for `else` after `return`.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D111889/new/
https://reviews.llvm.org/D111889
More information about the llvm-commits
mailing list