[LLVM-3.9] Replace NewArchiveIterator with NewArchiveMember
The new NewArchiveMember is simpler and requires less context, according to upstream. This was changed in http://reviews.llvm.org/D21721
This commit is contained in:
parent
5b44e10fb7
commit
8433f9bb33
1 changed files with 17 additions and 3 deletions
|
@ -150,19 +150,33 @@ LLVMRustWriteArchive(char *Dst,
|
|||
const LLVMRustArchiveMember **NewMembers,
|
||||
bool WriteSymbtab,
|
||||
Archive::Kind Kind) {
|
||||
std::vector<NewArchiveIterator> Members;
|
||||
std::vector<NewArchiveMember> Members;
|
||||
|
||||
for (size_t i = 0; i < NumMembers; i++) {
|
||||
auto Member = NewMembers[i];
|
||||
assert(Member->name);
|
||||
if (Member->filename) {
|
||||
#if LLVM_VERSION_MINOR >= 8
|
||||
Members.push_back(NewArchiveIterator(Member->filename));
|
||||
#if LLVM_VERSION_MINOR >= 9
|
||||
Expected<NewArchiveMember> MOrErr = NewArchiveMember::getFile(Member->filename, true);
|
||||
if (!MOrErr) {
|
||||
LLVMRustSetLastError(toString(MOrErr.takeError()).c_str());
|
||||
return -1;
|
||||
}
|
||||
Members.push_back(std::move(*MOrErr));
|
||||
#else
|
||||
Members.push_back(NewArchiveIterator(Member->filename, Member->name));
|
||||
#endif
|
||||
} else {
|
||||
#if LLVM_VERSION_MINOR >= 9
|
||||
Expected<NewArchiveMember> MOrErr = NewArchiveMember::getOldMember(Member->child, true);
|
||||
if (!MOrErr) {
|
||||
LLVMRustSetLastError(toString(MOrErr.takeError()).c_str());
|
||||
return -1;
|
||||
}
|
||||
Members.push_back(std::move(*MOrErr));
|
||||
#else
|
||||
Members.push_back(NewArchiveIterator(Member->child, Member->name));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#if LLVM_VERSION_MINOR >= 8
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue