diff --git a/src/base.rs b/src/base.rs index 5d6052ea99e9..3ae1acbee303 100644 --- a/src/base.rs +++ b/src/base.rs @@ -121,9 +121,15 @@ fn trans_fn<'a, 'tcx: 'a>( if cfg!(debug_assertions) { ::cranelift::codegen::write::decorate_function(&mut writer, &mut cton, &func, None) .unwrap(); - let clif_file_name = concat!(env!("CARGO_MANIFEST_DIR"), "/target/out/clif/").to_string() - + &tcx.symbol_name(instance).as_str(); - ::std::fs::write(clif_file_name, cton.as_bytes()).unwrap(); + let clif_file_name = format!( + "{}/{}__{}.clif", + concat!(env!("CARGO_MANIFEST_DIR"), "/target/out/clif"), + tcx.crate_name(LOCAL_CRATE), + tcx.symbol_name(instance).as_str(), + ); + if let Err(e) = ::std::fs::write(clif_file_name, cton.as_bytes()) { + tcx.sess.warn(&format!("err writing clif file: {:?}", e)); + } } // Step 8. Verify function