Skip to content

Commit a50cca9

Browse files
committed
Convert a chained if-else to a match.
It makes things a little clearer.
1 parent 87ef16c commit a50cca9

File tree

1 file changed

+42
-33
lines changed

1 file changed

+42
-33
lines changed

Diff for: src/librustc_codegen_llvm/back/write.rs

+42-33
Original file line numberDiff line numberDiff line change
@@ -751,44 +751,53 @@ pub(crate) unsafe fn codegen(
751751
})?;
752752
}
753753

754-
if config_emit_object_code {
755-
if !config.no_integrated_as {
756-
let _timer = cgcx
757-
.prof
758-
.generic_activity_with_arg("LLVM_module_codegen_emit_obj", &module.name[..]);
759-
with_codegen(tm, llmod, config.no_builtins, |cpm| {
760-
write_output_file(
761-
diag_handler,
762-
tm,
763-
cpm,
764-
llmod,
765-
&obj_out,
766-
llvm::FileType::ObjectFile,
767-
)
768-
})?;
769-
} else {
770-
let _timer = cgcx
771-
.prof
772-
.generic_activity_with_arg("LLVM_module_codegen_asm_to_obj", &module.name[..]);
773-
let assembly = cgcx.output_filenames.temp_path(OutputType::Assembly, module_name);
774-
run_assembler(cgcx, diag_handler, &assembly, &obj_out);
775-
776-
if !config.emit_asm && !cgcx.save_temps {
777-
drop(fs::remove_file(&assembly));
754+
match config.emit_obj {
755+
EmitObj::ObjectCode(_) => {
756+
if !config.no_integrated_as {
757+
let _timer = cgcx.prof.generic_activity_with_arg(
758+
"LLVM_module_codegen_emit_obj",
759+
&module.name[..],
760+
);
761+
with_codegen(tm, llmod, config.no_builtins, |cpm| {
762+
write_output_file(
763+
diag_handler,
764+
tm,
765+
cpm,
766+
llmod,
767+
&obj_out,
768+
llvm::FileType::ObjectFile,
769+
)
770+
})?;
771+
} else {
772+
let _timer = cgcx.prof.generic_activity_with_arg(
773+
"LLVM_module_codegen_asm_to_obj",
774+
&module.name[..],
775+
);
776+
let assembly =
777+
cgcx.output_filenames.temp_path(OutputType::Assembly, module_name);
778+
run_assembler(cgcx, diag_handler, &assembly, &obj_out);
779+
780+
if !config.emit_asm && !cgcx.save_temps {
781+
drop(fs::remove_file(&assembly));
782+
}
778783
}
779784
}
780-
} else if config.emit_obj == EmitObj::Bitcode {
781-
debug!("copying bitcode {:?} to obj {:?}", bc_out, obj_out);
782-
if let Err(e) = link_or_copy(&bc_out, &obj_out) {
783-
diag_handler.err(&format!("failed to copy bitcode to object file: {}", e));
784-
}
785785

786-
if !config.emit_bc {
787-
debug!("removing_bitcode {:?}", bc_out);
788-
if let Err(e) = fs::remove_file(&bc_out) {
789-
diag_handler.err(&format!("failed to remove bitcode: {}", e));
786+
EmitObj::Bitcode => {
787+
debug!("copying bitcode {:?} to obj {:?}", bc_out, obj_out);
788+
if let Err(e) = link_or_copy(&bc_out, &obj_out) {
789+
diag_handler.err(&format!("failed to copy bitcode to object file: {}", e));
790+
}
791+
792+
if !config.emit_bc {
793+
debug!("removing_bitcode {:?}", bc_out);
794+
if let Err(e) = fs::remove_file(&bc_out) {
795+
diag_handler.err(&format!("failed to remove bitcode: {}", e));
796+
}
790797
}
791798
}
799+
800+
EmitObj::None => {}
792801
}
793802

794803
drop(handlers);

0 commit comments

Comments
 (0)