diff options
| author | Nikita Popov <nikita.ppv@gmail.com> | 2019-12-31 14:28:56 +0100 |
|---|---|---|
| committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-01-07 21:28:22 +0100 |
| commit | 6d59017132d32c000b707d5ba51f785a78d49b02 (patch) | |
| tree | 5686f70a486573e7a0d99d23cefd5c4b77a1faf9 /src/rustllvm/RustWrapper.cpp | |
| parent | aa9d02ea539ceb0bcb225d8462316bf22b6bffd8 (diff) | |
| download | rust-6d59017132d32c000b707d5ba51f785a78d49b02.tar.gz rust-6d59017132d32c000b707d5ba51f785a78d49b02.zip | |
Handle switch to Expected<StringRef> for section name
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
| -rw-r--r-- | src/rustllvm/RustWrapper.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp index 78feb9194d7..5daca9729bf 100644 --- a/src/rustllvm/RustWrapper.cpp +++ b/src/rustllvm/RustWrapper.cpp @@ -1003,11 +1003,19 @@ inline section_iterator *unwrap(LLVMSectionIteratorRef SI) { extern "C" size_t LLVMRustGetSectionName(LLVMSectionIteratorRef SI, const char **Ptr) { +#if LLVM_VERSION_GE(10, 0) + auto NameOrErr = (*unwrap(SI))->getName(); + if (!NameOrErr) + report_fatal_error(NameOrErr.takeError()); + *Ptr = NameOrErr->data(); + return NameOrErr->size(); +#else StringRef Ret; if (std::error_code EC = (*unwrap(SI))->getName(Ret)) report_fatal_error(EC.message()); *Ptr = Ret.data(); return Ret.size(); +#endif } // LLVMArrayType function does not support 64-bit ElementCount |
