Skip to content

Commit 481f39b

Browse files
authored
Rollup merge of rust-lang#65124 - memoryruins:castaway, r=petrochenkov
Replace some instances of `as *[const | mut] _` with `.cast()` While in `codegen_llvm`, noticed some places for the recent `pointer::cast` method.
2 parents 86bf700 + 173958a commit 481f39b

File tree

8 files changed

+24
-24
lines changed

8 files changed

+24
-24
lines changed

src/librustc_codegen_llvm/allocator.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ pub(crate) unsafe fn codegen(tcx: TyCtxt<'_>, mods: &mut ModuleLlvm, kind: Alloc
6868

6969
let llbb = llvm::LLVMAppendBasicBlockInContext(llcx,
7070
llfn,
71-
"entry\0".as_ptr() as *const _);
71+
"entry\0".as_ptr().cast());
7272

7373
let llbuilder = llvm::LLVMCreateBuilderInContext(llcx);
7474
llvm::LLVMPositionBuilderAtEnd(llbuilder, llbb);
@@ -80,7 +80,7 @@ pub(crate) unsafe fn codegen(tcx: TyCtxt<'_>, mods: &mut ModuleLlvm, kind: Alloc
8080
args.as_ptr(),
8181
args.len() as c_uint,
8282
None,
83-
"\0".as_ptr() as *const _);
83+
"\0".as_ptr().cast());
8484
llvm::LLVMSetTailCall(ret, True);
8585
if output.is_some() {
8686
llvm::LLVMBuildRet(llbuilder, ret);

src/librustc_codegen_llvm/back/lto.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,7 @@ pub(crate) fn run_pass_manager(cgcx: &CodegenContext<LlvmCodegenBackend>,
546546
llvm::LLVMRustAddAnalysisPasses(module.module_llvm.tm, pm, module.module_llvm.llmod());
547547

548548
if config.verify_llvm_ir {
549-
let pass = llvm::LLVMRustFindAndCreatePass("verify\0".as_ptr() as *const _);
549+
let pass = llvm::LLVMRustFindAndCreatePass("verify\0".as_ptr().cast());
550550
llvm::LLVMRustAddPass(pm, pass.unwrap());
551551
}
552552

@@ -581,12 +581,12 @@ pub(crate) fn run_pass_manager(cgcx: &CodegenContext<LlvmCodegenBackend>,
581581
// We always generate bitcode through ThinLTOBuffers,
582582
// which do not support anonymous globals
583583
if config.bitcode_needed() {
584-
let pass = llvm::LLVMRustFindAndCreatePass("name-anon-globals\0".as_ptr() as *const _);
584+
let pass = llvm::LLVMRustFindAndCreatePass("name-anon-globals\0".as_ptr().cast());
585585
llvm::LLVMRustAddPass(pm, pass.unwrap());
586586
}
587587

588588
if config.verify_llvm_ir {
589-
let pass = llvm::LLVMRustFindAndCreatePass("verify\0".as_ptr() as *const _);
589+
let pass = llvm::LLVMRustFindAndCreatePass("verify\0".as_ptr().cast());
590590
llvm::LLVMRustAddPass(pm, pass.unwrap());
591591
}
592592

src/librustc_codegen_llvm/back/write.rs

+7-7
Original file line numberDiff line numberDiff line change
@@ -221,8 +221,8 @@ impl<'a> DiagnosticHandlers<'a> {
221221
llcx: &'a llvm::Context) -> Self {
222222
let data = Box::into_raw(Box::new((cgcx, handler)));
223223
unsafe {
224-
llvm::LLVMRustSetInlineAsmDiagnosticHandler(llcx, inline_asm_handler, data as *mut _);
225-
llvm::LLVMContextSetDiagnosticHandler(llcx, diagnostic_handler, data as *mut _);
224+
llvm::LLVMRustSetInlineAsmDiagnosticHandler(llcx, inline_asm_handler, data.cast());
225+
llvm::LLVMContextSetDiagnosticHandler(llcx, diagnostic_handler, data.cast());
226226
}
227227
DiagnosticHandlers { data, llcx }
228228
}
@@ -672,7 +672,7 @@ unsafe fn embed_bitcode(cgcx: &CodegenContext<LlvmCodegenBackend>,
672672
let llglobal = llvm::LLVMAddGlobal(
673673
llmod,
674674
common::val_ty(llconst),
675-
"rustc.embedded.module\0".as_ptr() as *const _,
675+
"rustc.embedded.module\0".as_ptr().cast(),
676676
);
677677
llvm::LLVMSetInitializer(llglobal, llconst);
678678

@@ -684,23 +684,23 @@ unsafe fn embed_bitcode(cgcx: &CodegenContext<LlvmCodegenBackend>,
684684
} else {
685685
".llvmbc\0"
686686
};
687-
llvm::LLVMSetSection(llglobal, section.as_ptr() as *const _);
687+
llvm::LLVMSetSection(llglobal, section.as_ptr().cast());
688688
llvm::LLVMRustSetLinkage(llglobal, llvm::Linkage::PrivateLinkage);
689689
llvm::LLVMSetGlobalConstant(llglobal, llvm::True);
690690

691691
let llconst = common::bytes_in_context(llcx, &[]);
692692
let llglobal = llvm::LLVMAddGlobal(
693693
llmod,
694694
common::val_ty(llconst),
695-
"rustc.embedded.cmdline\0".as_ptr() as *const _,
695+
"rustc.embedded.cmdline\0".as_ptr().cast(),
696696
);
697697
llvm::LLVMSetInitializer(llglobal, llconst);
698698
let section = if is_apple {
699699
"__LLVM,__cmdline\0"
700700
} else {
701701
".llvmcmd\0"
702702
};
703-
llvm::LLVMSetSection(llglobal, section.as_ptr() as *const _);
703+
llvm::LLVMSetSection(llglobal, section.as_ptr().cast());
704704
llvm::LLVMRustSetLinkage(llglobal, llvm::Linkage::PrivateLinkage);
705705
}
706706

@@ -842,7 +842,7 @@ fn create_msvc_imps(
842842
for (imp_name, val) in globals {
843843
let imp = llvm::LLVMAddGlobal(llmod,
844844
i8p_ty,
845-
imp_name.as_ptr() as *const _);
845+
imp_name.as_ptr().cast());
846846
llvm::LLVMSetInitializer(imp, consts::ptrcast(val, i8p_ty));
847847
llvm::LLVMRustSetLinkage(imp, llvm::Linkage::ExternalLinkage);
848848
}

src/librustc_codegen_llvm/consts.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -488,7 +488,7 @@ impl StaticMethods for CodegenCx<'ll, 'tcx> {
488488
if let Some(section) = attrs.link_section {
489489
let section = llvm::LLVMMDStringInContext(
490490
self.llcx,
491-
section.as_str().as_ptr() as *const _,
491+
section.as_str().as_ptr().cast(),
492492
section.as_str().len() as c_uint,
493493
);
494494
assert!(alloc.relocations().is_empty());
@@ -500,14 +500,14 @@ impl StaticMethods for CodegenCx<'ll, 'tcx> {
500500
0..alloc.len());
501501
let alloc = llvm::LLVMMDStringInContext(
502502
self.llcx,
503-
bytes.as_ptr() as *const _,
503+
bytes.as_ptr().cast(),
504504
bytes.len() as c_uint,
505505
);
506506
let data = [section, alloc];
507507
let meta = llvm::LLVMMDNodeInContext(self.llcx, data.as_ptr(), 2);
508508
llvm::LLVMAddNamedMetadataOperand(
509509
self.llmod,
510-
"wasm.custom_sections\0".as_ptr() as *const _,
510+
"wasm.custom_sections\0".as_ptr().cast(),
511511
meta,
512512
);
513513
}

src/librustc_codegen_llvm/context.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ pub unsafe fn create_module(
211211
// If skipping the PLT is enabled, we need to add some module metadata
212212
// to ensure intrinsic calls don't use it.
213213
if !sess.needs_plt() {
214-
let avoid_plt = "RtLibUseGOT\0".as_ptr() as *const _;
214+
let avoid_plt = "RtLibUseGOT\0".as_ptr().cast();
215215
llvm::LLVMRustAddModuleFlag(llmod, avoid_plt, 1);
216216
}
217217

src/librustc_codegen_llvm/debuginfo/gdb.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ pub fn get_or_insert_gdb_debug_scripts_section_global(cx: &CodegenCx<'ll, '_>)
3737

3838
let section_var = unsafe {
3939
llvm::LLVMGetNamedGlobal(cx.llmod,
40-
c_section_var_name.as_ptr() as *const _)
40+
c_section_var_name.as_ptr().cast())
4141
};
4242

4343
section_var.unwrap_or_else(|| {
@@ -52,7 +52,7 @@ pub fn get_or_insert_gdb_debug_scripts_section_global(cx: &CodegenCx<'ll, '_>)
5252
llvm_type).unwrap_or_else(||{
5353
bug!("symbol `{}` is already defined", section_var_name)
5454
});
55-
llvm::LLVMSetSection(section_var, section_name.as_ptr() as *const _);
55+
llvm::LLVMSetSection(section_var, section_name.as_ptr().cast());
5656
llvm::LLVMSetInitializer(section_var, cx.const_bytes(section_contents));
5757
llvm::LLVMSetGlobalConstant(section_var, llvm::True);
5858
llvm::LLVMSetUnnamedAddr(section_var, llvm::True);

src/librustc_codegen_llvm/debuginfo/metadata.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -961,9 +961,9 @@ pub fn compile_unit_metadata(
961961
file_metadata,
962962
producer.as_ptr(),
963963
tcx.sess.opts.optimize != config::OptLevel::No,
964-
flags.as_ptr() as *const _,
964+
flags.as_ptr().cast(),
965965
0,
966-
split_name.as_ptr() as *const _,
966+
split_name.as_ptr().cast(),
967967
kind);
968968

969969
if tcx.sess.opts.debugging_opts.profile {
@@ -992,7 +992,7 @@ pub fn compile_unit_metadata(
992992
if tcx.sess.opts.target_triple.triple().starts_with("wasm32") {
993993
let name_metadata = llvm::LLVMMDStringInContext(
994994
debug_context.llcontext,
995-
rustc_producer.as_ptr() as *const _,
995+
rustc_producer.as_ptr().cast(),
996996
rustc_producer.as_bytes().len() as c_uint,
997997
);
998998
llvm::LLVMAddNamedMetadataOperand(

src/librustc_codegen_llvm/debuginfo/mod.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -127,20 +127,20 @@ pub fn finalize(cx: &CodegenCx<'_, '_>) {
127127
if cx.sess().target.target.options.is_like_osx ||
128128
cx.sess().target.target.options.is_like_android {
129129
llvm::LLVMRustAddModuleFlag(cx.llmod,
130-
"Dwarf Version\0".as_ptr() as *const _,
130+
"Dwarf Version\0".as_ptr().cast(),
131131
2)
132132
}
133133

134134
// Indicate that we want CodeView debug information on MSVC
135135
if cx.sess().target.target.options.is_like_msvc {
136136
llvm::LLVMRustAddModuleFlag(cx.llmod,
137-
"CodeView\0".as_ptr() as *const _,
137+
"CodeView\0".as_ptr().cast(),
138138
1)
139139
}
140140

141141
// Prevent bitcode readers from deleting the debug info.
142142
let ptr = "Debug Info Version\0".as_ptr();
143-
llvm::LLVMRustAddModuleFlag(cx.llmod, ptr as *const _,
143+
llvm::LLVMRustAddModuleFlag(cx.llmod, ptr.cast(),
144144
llvm::LLVMRustDebugMetadataVersion());
145145
};
146146
}

0 commit comments

Comments
 (0)