]> git.lizzy.rs Git - rust.git/commitdiff
Use absolute compile time paths for some log files
authorbjorn3 <bjorn3@users.noreply.github.com>
Sat, 6 Oct 2018 12:48:34 +0000 (14:48 +0200)
committerbjorn3 <bjorn3@users.noreply.github.com>
Sat, 6 Oct 2018 12:48:34 +0000 (14:48 +0200)
src/base.rs
src/lib.rs

index 7b81481fb46600c28d29917a50bf9765c9fd2bc6..22fa1593a1e5a74756467b1794b9cdfa85083c7e 100644 (file)
@@ -120,7 +120,7 @@ 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 = "target/out/clif/".to_string() + &tcx.symbol_name(instance).as_str();
+        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();
     }
 
index 82b3c3ebbdca23976f0bc7f1ef20fa19b73b4a6e..017a6bfc4cb1e772e36da7841e4b53f3549d1bf9 100644 (file)
@@ -331,7 +331,11 @@ fn codegen_mono_items<'a, 'tcx: 'a>(
     let mut caches = Caches::new();
     let mut ccx = ConstantCx::default();
 
-    let mut log = ::std::fs::File::create("target/out/log.txt").unwrap();
+    let mut log = if cfg!(debug_assertions) {
+        Some(::std::fs::File::create(concat!(env!("CARGO_MANIFEST_DIR"), "/target/out/log.txt")).unwrap())
+    } else {
+        None
+    };
 
     let before = ::std::time::Instant::now();
     println!("[codegen mono items] start");
@@ -344,7 +348,9 @@ fn codegen_mono_items<'a, 'tcx: 'a>(
         if let Err(err) = res {
             match err.downcast::<NonFatal>() {
                 Ok(non_fatal) => {
-                    writeln!(log, "{}", &non_fatal.0);
+                    if cfg!(debug_assertions) {
+                        writeln!(log.as_mut().unwrap(), "{}", &non_fatal.0);
+                    }
                     tcx.sess.err(&non_fatal.0)
                 }
                 Err(err) => ::std::panic::resume_unwind(err),