]> git.lizzy.rs Git - rust.git/commitdiff
llvm6: Different return value for writeArchive
authorAlex Crichton <alex@alexcrichton.com>
Tue, 23 Jan 2018 01:59:27 +0000 (17:59 -0800)
committerAlex Crichton <alex@alexcrichton.com>
Wed, 24 Jan 2018 15:18:02 +0000 (07:18 -0800)
Updated in llvm-mirror/llvm@203c90ba this function now just returns an `Error`,
so this updates the C++ bindings accordingly

src/rustllvm/ArchiveWrapper.cpp

index d185da9c2f83e54e5897f324b5962ea68d9c2cea..93157cd681942c5e51c0c44286f1b8d5764eec03 100644 (file)
@@ -232,9 +232,16 @@ LLVMRustWriteArchive(char *Dst, size_t NumMembers,
       Members.push_back(std::move(*MOrErr));
     }
   }
-  auto Pair = writeArchive(Dst, Members, WriteSymbtab, Kind, true, false);
-  if (!Pair.second)
+  auto Result = writeArchive(Dst, Members, WriteSymbtab, Kind, true, false);
+#if LLVM_VERSION_GE(6, 0)
+  if (!Result)
     return LLVMRustResult::Success;
-  LLVMRustSetLastError(Pair.second.message().c_str());
+  LLVMRustSetLastError(toString(std::move(Result)).c_str());
+#else
+  if (!Result.second)
+    return LLVMRustResult::Success;
+  LLVMRustSetLastError(Result.second.message().c_str());
+#endif
+
   return LLVMRustResult::Failure;
 }