summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
diff options
context:
space:
mode:
authorLevi Zim <rsworktech@outlook.com>2024-04-09 14:47:06 +0800
committerkxxt <rsworktech@outlook.com>2024-04-09 08:53:11 +0200
commit33db20978e8157f53ca24fce1c54a7b5e07159cf (patch)
treeb6b95f1a3a4692b55f5c3b985664c9007dda2772 /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
parentadec1a2e84ba61356e6651f277e72452254699a4 (diff)
downloadrust-33db20978e8157f53ca24fce1c54a7b5e07159cf.tar.gz
rust-33db20978e8157f53ca24fce1c54a7b5e07159cf.zip
Pass value and valueLen to create a StringRef
Instead of creating a cstring.

Co-authored-by: LoveSy <shana@zju.edu.cn>
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
-rw-r--r--compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
index 8d43fe6052a..db3c0386b94 100644
--- a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
+++ b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
@@ -829,9 +829,10 @@ extern "C" void LLVMRustAddModuleFlagString(
     LLVMModuleRef M,
     Module::ModFlagBehavior MergeBehavior,
     const char *Name,
-    const char *Value) {
-  llvm::LLVMContext &Ctx = unwrap(M)->getContext();
-  unwrap(M)->addModuleFlag(MergeBehavior, Name, llvm::MDString::get(Ctx, Value));
+    const char *Value,
+    size_t ValueLen) {
+  unwrap(M)->addModuleFlag(MergeBehavior, Name,
+    MDString::get(unwrap(M)->getContext(), StringRef(Value, ValueLen)));
 }
 
 extern "C" bool LLVMRustHasModuleFlag(LLVMModuleRef M, const char *Name,