@@ -24,11 +24,7 @@ struct RustArchiveMember {
2424
2525 RustArchiveMember ()
2626 : Filename(nullptr ), Name(nullptr ),
27- #if LLVM_VERSION_GE(3, 8)
2827 Child (nullptr , nullptr , nullptr )
29- #else
30- Child (nullptr , nullptr )
31- #endif
3228 {
3329 }
3430 ~RustArchiveMember () {}
@@ -38,13 +34,9 @@ struct RustArchiveIterator {
3834 bool First;
3935 Archive::child_iterator Cur;
4036 Archive::child_iterator End;
41- #if LLVM_VERSION_GE(3, 9)
4237 Error Err;
4338
4439 RustArchiveIterator () : First(true ), Err(Error::success()) {}
45- #else
46- RustArchiveIterator () : First(true ) {}
47- #endif
4840};
4941
5042enum class LLVMRustArchiveKind {
@@ -84,19 +76,11 @@ extern "C" LLVMRustArchiveRef LLVMRustOpenArchive(char *Path) {
8476 return nullptr ;
8577 }
8678
87- #if LLVM_VERSION_LE(3, 8)
88- ErrorOr<std::unique_ptr<Archive>> ArchiveOr =
89- #else
9079 Expected<std::unique_ptr<Archive>> ArchiveOr =
91- #endif
9280 Archive::create (BufOr.get ()->getMemBufferRef ());
9381
9482 if (!ArchiveOr) {
95- #if LLVM_VERSION_LE(3, 8)
96- LLVMRustSetLastError (ArchiveOr.getError ().message ().c_str ());
97- #else
9883 LLVMRustSetLastError (toString (ArchiveOr.takeError ()).c_str ());
99- #endif
10084 return nullptr ;
10185 }
10286
@@ -114,16 +98,12 @@ extern "C" LLVMRustArchiveIteratorRef
11498LLVMRustArchiveIteratorNew (LLVMRustArchiveRef RustArchive) {
11599 Archive *Archive = RustArchive->getBinary ();
116100 RustArchiveIterator *RAI = new RustArchiveIterator ();
117- #if LLVM_VERSION_LE(3, 8)
118- RAI->Cur = Archive->child_begin ();
119- #else
120101 RAI->Cur = Archive->child_begin (RAI->Err );
121102 if (RAI->Err ) {
122103 LLVMRustSetLastError (toString (std::move (RAI->Err )).c_str ());
123104 delete RAI;
124105 return nullptr ;
125106 }
126- #endif
127107 RAI->End = Archive->child_end ();
128108 return RAI;
129109}
@@ -141,29 +121,18 @@ LLVMRustArchiveIteratorNext(LLVMRustArchiveIteratorRef RAI) {
141121 // but instead advance it *before* fetching the child in all later calls.
142122 if (!RAI->First ) {
143123 ++RAI->Cur ;
144- #if LLVM_VERSION_GE(3, 9)
145124 if (RAI->Err ) {
146125 LLVMRustSetLastError (toString (std::move (RAI->Err )).c_str ());
147126 return nullptr ;
148127 }
149- #endif
150128 } else {
151129 RAI->First = false ;
152130 }
153131
154132 if (RAI->Cur == RAI->End )
155133 return nullptr ;
156134
157- #if LLVM_VERSION_EQ(3, 8)
158- const ErrorOr<Archive::Child> *Cur = RAI->Cur .operator ->();
159- if (!*Cur) {
160- LLVMRustSetLastError (Cur->getError ().message ().c_str ());
161- return nullptr ;
162- }
163- const Archive::Child &Child = Cur->get ();
164- #else
165135 const Archive::Child &Child = *RAI->Cur .operator ->();
166- #endif
167136 Archive::Child *Ret = new Archive::Child (Child);
168137
169138 return Ret;
@@ -239,18 +208,13 @@ LLVMRustWriteArchive(char *Dst, size_t NumMembers,
239208 const LLVMRustArchiveMemberRef *NewMembers,
240209 bool WriteSymbtab, LLVMRustArchiveKind RustKind) {
241210
242- #if LLVM_VERSION_LE(3, 8)
243- std::vector<NewArchiveIterator> Members;
244- #else
245211 std::vector<NewArchiveMember> Members;
246- #endif
247212 auto Kind = fromRust (RustKind);
248213
249214 for (size_t I = 0 ; I < NumMembers; I++) {
250215 auto Member = NewMembers[I];
251216 assert (Member->Name );
252217 if (Member->Filename ) {
253- #if LLVM_VERSION_GE(3, 9)
254218 Expected<NewArchiveMember> MOrErr =
255219 NewArchiveMember::getFile (Member->Filename , true );
256220 if (!MOrErr) {
@@ -261,30 +225,17 @@ LLVMRustWriteArchive(char *Dst, size_t NumMembers,
261225 MOrErr->MemberName = sys::path::filename (MOrErr->MemberName );
262226#endif
263227 Members.push_back (std::move (*MOrErr));
264- #elif LLVM_VERSION_EQ(3, 8)
265- Members.push_back (NewArchiveIterator (Member->Filename ));
266- #else
267- Members.push_back (NewArchiveIterator (Member->Filename , Member->Name ));
268- #endif
269228 } else {
270- #if LLVM_VERSION_LE(3, 8)
271- Members.push_back (NewArchiveIterator (Member->Child , Member->Name ));
272- #else
273229 Expected<NewArchiveMember> MOrErr =
274230 NewArchiveMember::getOldMember (Member->Child , true );
275231 if (!MOrErr) {
276232 LLVMRustSetLastError (toString (MOrErr.takeError ()).c_str ());
277233 return LLVMRustResult::Failure;
278234 }
279235 Members.push_back (std::move (*MOrErr));
280- #endif
281236 }
282237 }
283- #if LLVM_VERSION_GE(3, 8)
284238 auto Pair = writeArchive (Dst, Members, WriteSymbtab, Kind, true , false );
285- #else
286- auto Pair = writeArchive (Dst, Members, WriteSymbtab, Kind, true );
287- #endif
288239 if (!Pair.second )
289240 return LLVMRustResult::Success;
290241 LLVMRustSetLastError (Pair.second .message ().c_str ());
0 commit comments