Skip to content

Commit 7fd78df

Browse files
committed
Move dcx creation into WriteBackendMethods::codegen
1 parent 653bb64 commit 7fd78df

File tree

6 files changed

+10
-12
lines changed

6 files changed

+10
-12
lines changed

compiler/rustc_codegen_gcc/src/back/write.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,12 @@ use crate::{GccCodegenBackend, GccContext};
1616

1717
pub(crate) fn codegen(
1818
cgcx: &CodegenContext<GccCodegenBackend>,
19-
dcx: DiagCtxtHandle<'_>,
2019
module: ModuleCodegen<GccContext>,
2120
config: &ModuleConfig,
2221
) -> Result<CompiledModule, FatalError> {
22+
let dcx = cgcx.create_dcx();
23+
let dcx = dcx.handle();
24+
2325
let _timer = cgcx.prof.generic_activity_with_arg("GCC_module_codegen", &*module.name);
2426
{
2527
let context = &module.module_llvm.context;

compiler/rustc_codegen_gcc/src/lib.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -408,11 +408,10 @@ impl WriteBackendMethods for GccCodegenBackend {
408408

409409
fn codegen(
410410
cgcx: &CodegenContext<Self>,
411-
dcx: DiagCtxtHandle<'_>,
412411
module: ModuleCodegen<Self::Module>,
413412
config: &ModuleConfig,
414413
) -> Result<CompiledModule, FatalError> {
415-
back::write::codegen(cgcx, dcx, module, config)
414+
back::write::codegen(cgcx, module, config)
416415
}
417416

418417
fn prepare_thin(

compiler/rustc_codegen_llvm/src/back/write.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -817,10 +817,12 @@ pub(crate) fn link(
817817

818818
pub(crate) fn codegen(
819819
cgcx: &CodegenContext<LlvmCodegenBackend>,
820-
dcx: DiagCtxtHandle<'_>,
821820
module: ModuleCodegen<ModuleLlvm>,
822821
config: &ModuleConfig,
823822
) -> Result<CompiledModule, FatalError> {
823+
let dcx = cgcx.create_dcx();
824+
let dcx = dcx.handle();
825+
824826
let _timer = cgcx.prof.generic_activity_with_arg("LLVM_module_codegen", &*module.name);
825827
{
826828
let llmod = module.module_llvm.llmod();

compiler/rustc_codegen_llvm/src/lib.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,11 +212,10 @@ impl WriteBackendMethods for LlvmCodegenBackend {
212212
}
213213
fn codegen(
214214
cgcx: &CodegenContext<Self>,
215-
dcx: DiagCtxtHandle<'_>,
216215
module: ModuleCodegen<Self::Module>,
217216
config: &ModuleConfig,
218217
) -> Result<CompiledModule, FatalError> {
219-
back::write::codegen(cgcx, dcx, module, config)
218+
back::write::codegen(cgcx, module, config)
220219
}
221220
fn prepare_thin(
222221
module: ModuleCodegen<Self::Module>,

compiler/rustc_codegen_ssa/src/back/write.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1026,11 +1026,8 @@ fn finish_intra_module_work<B: ExtraBackendMethods>(
10261026
module: ModuleCodegen<B::Module>,
10271027
module_config: &ModuleConfig,
10281028
) -> Result<WorkItemResult<B>, FatalError> {
1029-
let dcx = cgcx.create_dcx();
1030-
let dcx = dcx.handle();
1031-
10321029
if !cgcx.opts.unstable_opts.combine_cgu || module.kind == ModuleKind::Allocator {
1033-
let module = B::codegen(cgcx, dcx, module, module_config)?;
1030+
let module = B::codegen(cgcx, module, module_config)?;
10341031
Ok(WorkItemResult::Finished(module))
10351032
} else {
10361033
Ok(WorkItemResult::NeedsLink(module))
@@ -1718,7 +1715,7 @@ fn start_executing_work<B: ExtraBackendMethods>(
17181715
let dcx = dcx.handle();
17191716
let module = B::run_link(&cgcx, dcx, needs_link).map_err(|_| ())?;
17201717
let module =
1721-
B::codegen(&cgcx, dcx, module, cgcx.config(ModuleKind::Regular)).map_err(|_| ())?;
1718+
B::codegen(&cgcx, module, cgcx.config(ModuleKind::Regular)).map_err(|_| ())?;
17221719
compiled_modules.push(module);
17231720
}
17241721

compiler/rustc_codegen_ssa/src/traits/write.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ pub trait WriteBackendMethods: Clone + 'static {
5353
) -> Result<ModuleCodegen<Self::Module>, FatalError>;
5454
fn codegen(
5555
cgcx: &CodegenContext<Self>,
56-
dcx: DiagCtxtHandle<'_>,
5756
module: ModuleCodegen<Self::Module>,
5857
config: &ModuleConfig,
5958
) -> Result<CompiledModule, FatalError>;

0 commit comments

Comments
 (0)