diff options
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
| -rw-r--r-- | src/rustllvm/RustWrapper.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp index 6861ad43a3c..163e95b890f 100644 --- a/src/rustllvm/RustWrapper.cpp +++ b/src/rustllvm/RustWrapper.cpp @@ -942,3 +942,18 @@ extern "C" void LLVMWriteSMDiagnosticToString(LLVMSMDiagnosticRef d, RustStringR raw_rust_string_ostream os(str); unwrap(d)->print("", os); } + +extern "C" LLVMValueRef +LLVMRustBuildLandingPad(LLVMBuilderRef Builder, + LLVMTypeRef Ty, + LLVMValueRef PersFn, + unsigned NumClauses, + const char* Name, + LLVMValueRef F) { +#if LLVM_VERSION_MINOR >= 7 + unwrap<Function>(F)->setPersonalityFn(unwrap<Constant>(PersFn)); + return LLVMBuildLandingPad(Builder, Ty, NumClauses, Name); +#else + return LLVMBuildLandingPad(Builder, Ty, PersFn, NumClauses, Name); +#endif +} |
