about summary refs log tree commit diff
path: root/src/rustllvm/ArchiveWrapper.cpp
diff options
context:
space:
mode:
authorJan-Erik Rediger <janerik@fnordig.de>2016-07-16 19:36:51 +0200
committerJan-Erik Rediger <janerik@fnordig.de>2016-07-29 10:29:44 +0200
commitf439aeef070da498f5a75b7cf17080bde0e72738 (patch)
tree59bd8f15da8256201c4b3320813a55f78dac93fe /src/rustllvm/ArchiveWrapper.cpp
parentd0e5aa48201ec100cbd8c519f0a8de0554a84ac7 (diff)
downloadrust-f439aeef070da498f5a75b7cf17080bde0e72738.tar.gz
rust-f439aeef070da498f5a75b7cf17080bde0e72738.zip
[LLVM-3.9] Use old way of getting next child
This was changed back in
https://github.com/rust-lang/llvm/commit/aacf2fbf
Diffstat (limited to 'src/rustllvm/ArchiveWrapper.cpp')
-rw-r--r--src/rustllvm/ArchiveWrapper.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/rustllvm/ArchiveWrapper.cpp b/src/rustllvm/ArchiveWrapper.cpp
index 03b0aaf45b8..b6d352e4516 100644
--- a/src/rustllvm/ArchiveWrapper.cpp
+++ b/src/rustllvm/ArchiveWrapper.cpp
@@ -79,7 +79,12 @@ extern "C" RustArchiveIterator*
 LLVMRustArchiveIteratorNew(RustArchive *ra) {
     Archive *ar = ra->getBinary();
     RustArchiveIterator *rai = new RustArchiveIterator();
+#if LLVM_VERSION_MINOR >= 9
+    Error err;
+    rai->cur = ar->child_begin(err);
+#else
     rai->cur = ar->child_begin();
+#endif
     rai->end = ar->child_end();
     return rai;
 }
@@ -88,8 +93,8 @@ extern "C" const Archive::Child*
 LLVMRustArchiveIteratorNext(RustArchiveIterator *rai) {
     if (rai->cur == rai->end)
         return NULL;
-#if LLVM_VERSION_MINOR >= 8
-    const ErrorOr<Archive::Child>* cur = rai->cur.operator->();
+#if LLVM_VERSION_MINOR == 8
+    Archive::Child* cur = rai->cur.operator->();
     if (!*cur) {
         LLVMRustSetLastError(cur->getError().message().c_str());
         return NULL;