From f239cd6a35776cbc91400a9e498d8b7487fe4975 Mon Sep 17 00:00:00 2001 From: James Dietz Date: Thu, 4 May 2023 20:54:17 -0400 Subject: added SAFETY comment --- compiler/rustc_codegen_llvm/src/llvm_util.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'compiler/rustc_codegen_llvm') diff --git a/compiler/rustc_codegen_llvm/src/llvm_util.rs b/compiler/rustc_codegen_llvm/src/llvm_util.rs index a5d4ca30fab..2fbdab9f8ce 100644 --- a/compiler/rustc_codegen_llvm/src/llvm_util.rs +++ b/compiler/rustc_codegen_llvm/src/llvm_util.rs @@ -330,6 +330,9 @@ pub(crate) fn print(req: PrintRequest, sess: &Session) { let tm = create_informational_target_machine(sess); match req { PrintRequest::TargetCPUs => { + // SAFETY generate a C compatible string from a byte slice to pass + // the target CPU name into LLVM, the lifetime of the reference is + // at least as long as the C function let cpu_cstring = CString::new(handle_native(sess.target.cpu.as_ref())) .unwrap_or_else(|e| bug!("failed to convert to cstring: {}", e)); unsafe { llvm::LLVMRustPrintTargetCPUs(tm, cpu_cstring.as_ptr()) }; -- cgit 1.4.1-3-g733a5