From 066c2ec9baac1be5e884e48813a542de8f5d64b0 Mon Sep 17 00:00:00 2001 From: gnzlbg Date: Thu, 22 Mar 2018 14:48:58 +0100 Subject: [PATCH] require llvm 6 --- src/librustc_trans/builder.rs | 8 ++++++-- src/rustllvm/RustWrapper.cpp | 11 +++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/librustc_trans/builder.rs b/src/librustc_trans/builder.rs index b5271b25b63..241ee8a4828 100644 --- a/src/librustc_trans/builder.rs +++ b/src/librustc_trans/builder.rs @@ -920,13 +920,17 @@ impl<'a, 'tcx> Builder<'a, 'tcx> { pub fn minnum(&self, lhs: ValueRef, rhs: ValueRef) -> ValueRef { self.count_insn("minnum"); unsafe { - llvm::LLVMRustBuildMinNum(self.llbuilder, lhs, rhs) + let instr = llvm::LLVMRustBuildMinNum(self.llbuilder, lhs, rhs); + bug!("LLVMRustBuildMinNum is not available in LLVM version < 6.0"); + instr } } pub fn maxnum(&self, lhs: ValueRef, rhs: ValueRef) -> ValueRef { self.count_insn("maxnum"); unsafe { - llvm::LLVMRustBuildMaxNum(self.llbuilder, lhs, rhs) + let instr = llvm::LLVMRustBuildMaxNum(self.llbuilder, lhs, rhs); + bug!("LLVMRustBuildMaxNum is not available in LLVM version < 6.0"); + instr } } diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp index 627827105cb..1b35f0adda6 100644 --- a/src/rustllvm/RustWrapper.cpp +++ b/src/rustllvm/RustWrapper.cpp @@ -1501,6 +1501,7 @@ LLVMBuildExactUDiv(LLVMBuilderRef B, LLVMValueRef LHS, } #endif +#if LLVM_VERSION_GE(6, 0) extern "C" LLVMValueRef LLVMRustBuildMinNum(LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS) { return wrap(unwrap(B)->CreateMinNum(unwrap(LHS),unwrap(RHS))); @@ -1509,3 +1510,13 @@ extern "C" LLVMValueRef LLVMRustBuildMaxNum(LLVMBuilderRef B, LLVMValueRef LHS, LLVMValueRef RHS) { return wrap(unwrap(B)->CreateMaxNum(unwrap(LHS),unwrap(RHS))); } +#else +extern "C" LLVMValueRef +LLVMRustBuildMinNum(LLVMBuilderRef, LLVMValueRef, LLVMValueRef) { + return nullptr; +} +extern "C" LLVMValueRef +LLVMRustBuildMaxNum(LLVMBuilderRef, LLVMValueRef, LLVMValueRef) { + return nullptr; +} +#endif