diff options
| author | Yuki Okushi <huyuumi.dev@gmail.com> | 2019-12-07 00:10:02 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-12-07 00:10:02 +0900 |
| commit | 0b471bffc3a81a2b9f1c29debb53d2b3b6fbe117 (patch) | |
| tree | 4af89cdedd758b2f68bd4e9f45ef0b3938bb6363 /src/rustllvm/RustWrapper.cpp | |
| parent | fd4cec0303d2256e37f3e926e112aaa2d8b38a8b (diff) | |
| parent | 16d21783d63c9ff89742ab83c2d02d25307c262c (diff) | |
| download | rust-0b471bffc3a81a2b9f1c29debb53d2b3b6fbe117.tar.gz rust-0b471bffc3a81a2b9f1c29debb53d2b3b6fbe117.zip | |
Rollup merge of #67033 - cuviper:ValueName2, r=rkruppe
Migrate to LLVM{Get,Set}ValueName2
The deprecated `LLVM{Get,Set}ValueName` only work with NUL-terminated
strings, but the `2` variants use explicit lengths, which fits better
with Rust strings and slices. We now use these in new helper functions
`llvm::{get,set}_value_name` that convert to/from `&[u8]`.
Closes #64223.
r? @rkruppe
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
| -rw-r--r-- | src/rustllvm/RustWrapper.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp index a83ba9a8f13..720928e48e3 100644 --- a/src/rustllvm/RustWrapper.cpp +++ b/src/rustllvm/RustWrapper.cpp @@ -129,8 +129,9 @@ extern "C" LLVMValueRef LLVMRustGetOrInsertFunction(LLVMModuleRef M, } extern "C" LLVMValueRef -LLVMRustGetOrInsertGlobal(LLVMModuleRef M, const char *Name, LLVMTypeRef Ty) { - return wrap(unwrap(M)->getOrInsertGlobal(Name, unwrap(Ty))); +LLVMRustGetOrInsertGlobal(LLVMModuleRef M, const char *Name, size_t NameLen, LLVMTypeRef Ty) { + StringRef NameRef(Name, NameLen); + return wrap(unwrap(M)->getOrInsertGlobal(NameRef, unwrap(Ty))); } extern "C" LLVMValueRef @@ -1287,11 +1288,12 @@ extern "C" void LLVMRustPositionBuilderAtStart(LLVMBuilderRef B, } extern "C" void LLVMRustSetComdat(LLVMModuleRef M, LLVMValueRef V, - const char *Name) { + const char *Name, size_t NameLen) { Triple TargetTriple(unwrap(M)->getTargetTriple()); GlobalObject *GV = unwrap<GlobalObject>(V); if (!TargetTriple.isOSBinFormatMachO()) { - GV->setComdat(unwrap(M)->getOrInsertComdat(Name)); + StringRef NameRef(Name, NameLen); + GV->setComdat(unwrap(M)->getOrInsertComdat(NameRef)); } } |
