Change all previous weird logs to log:: logs
This commit is contained in:
		
							parent
							
								
									3a5766186a
								
							
						
					
					
						commit
						1d0fd9dd0a
					
				| @ -11,8 +11,6 @@ default = ["color", "cli"] | |||||||
| 
 | 
 | ||||||
| color = ["colored"] | color = ["colored"] | ||||||
| cli = ["argh", "stderrlog"] | cli = ["argh", "stderrlog"] | ||||||
| log_output = [] |  | ||||||
| context_debug = [] |  | ||||||
| 
 | 
 | ||||||
| [dependencies] | [dependencies] | ||||||
| ## Make it easier to generate errors | ## Make it easier to generate errors | ||||||
|  | |||||||
| @ -37,16 +37,13 @@ fn main() -> Result<(), std::io::Error> { | |||||||
|                 }, |                 }, | ||||||
|                 CustomIRs { llir, mir }, |                 CustomIRs { llir, mir }, | ||||||
|             )) => { |             )) => { | ||||||
|                 #[cfg(feature = "log_output")] |                 log::trace!("{}", _llvm_ir); | ||||||
|                 { |                 log::debug!("Compiled with triple: {}\n", &_triple); | ||||||
|                     println!("{}", _llvm_ir); |                 log::debug!("Output LLVM IR to {:?}", llvm_ir_path); | ||||||
|                     println!("Compiled with triple: {}\n", &_triple); |                 log::debug!("Output Assembly to {:?}", asm_path); | ||||||
|                     println!("Output LLVM IR to {:?}", llvm_ir_path); |                 log::debug!("Output Object-file to {:?}\n", object_path); | ||||||
|                     println!("Output Assembly to {:?}", asm_path); |                 log::debug!("Output LLIR-file to {:?}\n", llir_path); | ||||||
|                     println!("Output Object-file to {:?}\n", object_path); |                 log::debug!("Output MIR-file to {:?}\n", mir_path); | ||||||
|                     println!("Output LLIR-file to {:?}\n", llir_path); |  | ||||||
|                     println!("Output MIR-file to {:?}\n", mir_path); |  | ||||||
|                 } |  | ||||||
| 
 | 
 | ||||||
|                 fs::write(&llvm_ir_path, &_llvm_ir).expect("Could not write LLVM IR -file!"); |                 fs::write(&llvm_ir_path, &_llvm_ir).expect("Could not write LLVM IR -file!"); | ||||||
|                 fs::write(&asm_path, &assembly).expect("Could not write Assembly-file!"); |                 fs::write(&asm_path, &assembly).expect("Could not write Assembly-file!"); | ||||||
| @ -71,8 +68,7 @@ fn main() -> Result<(), std::io::Error> { | |||||||
|             Err(e) => panic!("{}", e), |             Err(e) => panic!("{}", e), | ||||||
|         }; |         }; | ||||||
|     } else { |     } else { | ||||||
|         #[cfg(feature = "log_output")] |         log::error!("Please input compiled file path!") | ||||||
|         println!("Please input compiled file path!") |  | ||||||
|     } |     } | ||||||
|     Ok(()) |     Ok(()) | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,9 +1,4 @@ | |||||||
| use std::{ | use std::{path::PathBuf, process::Command, thread, time::Duration}; | ||||||
|     path::PathBuf, |  | ||||||
|     process::{Command, Stdio}, |  | ||||||
|     thread, |  | ||||||
|     time::Duration, |  | ||||||
| }; |  | ||||||
| 
 | 
 | ||||||
| pub struct LDRunner { | pub struct LDRunner { | ||||||
|     command: String, |     command: String, | ||||||
| @ -49,8 +44,6 @@ impl LDRunner { | |||||||
|             input_path, |             input_path, | ||||||
|             out_path |             out_path | ||||||
|         ); |         ); | ||||||
|         #[cfg(feature = "log_output")] |  | ||||||
|         dbg!(&ld); |  | ||||||
| 
 | 
 | ||||||
|         let ld_output = ld.output().expect("Unable to execute ld!"); |         let ld_output = ld.output().expect("Unable to execute ld!"); | ||||||
|         if !ld_output.status.success() { |         if !ld_output.status.success() { | ||||||
|  | |||||||
| @ -98,8 +98,7 @@ pub fn parse_module<'map, T: Into<String>>( | |||||||
|     map.set_tokens(id, tokens.clone()); |     map.set_tokens(id, tokens.clone()); | ||||||
| 
 | 
 | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{:#?}", &tokens); | ||||||
|     println!("{:#?}", &tokens); |  | ||||||
| 
 | 
 | ||||||
|     Ok((id, tokens)) |     Ok((id, tokens)) | ||||||
| } | } | ||||||
| @ -158,8 +157,7 @@ pub fn compile_module<'map>( | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{:#?}", &ast_module); | ||||||
|     dbg!(&ast_module); |  | ||||||
| 
 | 
 | ||||||
|     Ok(Ok(ast_module.process(module_id))) |     Ok(Ok(ast_module.process(module_id))) | ||||||
| } | } | ||||||
| @ -169,12 +167,10 @@ pub fn perform_all_passes<'map>( | |||||||
|     module_map: &'map mut ErrorModules, |     module_map: &'map mut ErrorModules, | ||||||
| ) -> Result<(), ReidError> { | ) -> Result<(), ReidError> { | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{:#?}", &context); | ||||||
|     dbg!(&context); |  | ||||||
| 
 | 
 | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{:#}", &context); | ||||||
|     println!("{:#}", &context); |  | ||||||
| 
 | 
 | ||||||
|     let state = context.pass(&mut LinkerPass { |     let state = context.pass(&mut LinkerPass { | ||||||
|         module_map, |         module_map, | ||||||
| @ -188,14 +184,11 @@ pub fn perform_all_passes<'map>( | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{:-^100}", "LINKER OUTPUT"); | ||||||
|     println!("{:-^100}", "LINKER OUTPUT"); |  | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{:#}", &context); | ||||||
|     println!("{:#}", &context); |  | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{:#?}", &state); | ||||||
|     dbg!(&state); |  | ||||||
| 
 | 
 | ||||||
|     if !state.errors.is_empty() { |     if !state.errors.is_empty() { | ||||||
|         return Err(ReidError::from_kind( |         return Err(ReidError::from_kind( | ||||||
| @ -216,14 +209,11 @@ pub fn perform_all_passes<'map>( | |||||||
|     let state = context.pass(&mut macro_pass)?; |     let state = context.pass(&mut macro_pass)?; | ||||||
| 
 | 
 | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{:-^100}", "MACRO OUTPUT"); | ||||||
|     println!("{:-^100}", "MACRO OUTPUT"); |  | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{:#}", &context); | ||||||
|     println!("{:#}", &context); |  | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{:#?}", &state); | ||||||
|     dbg!(&state); |  | ||||||
| 
 | 
 | ||||||
|     if !state.errors.is_empty() { |     if !state.errors.is_empty() { | ||||||
|         return Err(ReidError::from_kind( |         return Err(ReidError::from_kind( | ||||||
| @ -257,17 +247,13 @@ pub fn perform_all_passes<'map>( | |||||||
|     let state = context.pass(&mut TypeInference { refs: &mut refs })?; |     let state = context.pass(&mut TypeInference { refs: &mut refs })?; | ||||||
| 
 | 
 | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{:-^70}", "TYPE INFERRER OUTPUT"); | ||||||
|     println!("{:-^100}", "TYPE INFERRER OUTPUT"); |  | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{}", &refs); | ||||||
|     println!("{}", &refs); |  | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{:#}", &context); | ||||||
|     println!("{:#}", &context); |  | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{:#?}", &state); | ||||||
|     dbg!(&state); |  | ||||||
| 
 | 
 | ||||||
|     if !state.errors.is_empty() { |     if !state.errors.is_empty() { | ||||||
|         return Err(ReidError::from_kind( |         return Err(ReidError::from_kind( | ||||||
| @ -283,14 +269,11 @@ pub fn perform_all_passes<'map>( | |||||||
|     let state = context.pass(&mut TypeCheck { refs: &refs })?; |     let state = context.pass(&mut TypeCheck { refs: &refs })?; | ||||||
| 
 | 
 | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{:-^100}", "TYPECHECKER OUTPUT"); | ||||||
|     println!("{:-^100}", "TYPECHECKER OUTPUT"); |  | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{:#}", &context); | ||||||
|     println!("{:#}", &context); |  | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{:#?}", &state); | ||||||
|     dbg!(&state); |  | ||||||
| 
 | 
 | ||||||
|     if !state.errors.is_empty() { |     if !state.errors.is_empty() { | ||||||
|         return Err(ReidError::from_kind( |         return Err(ReidError::from_kind( | ||||||
| @ -303,9 +286,6 @@ pub fn perform_all_passes<'map>( | |||||||
|         )); |         )); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     #[cfg(feature = "context_debug")] |  | ||||||
|     dbg!(&context); |  | ||||||
| 
 |  | ||||||
|     Ok(()) |     Ok(()) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -330,11 +310,9 @@ pub fn compile_and_pass<'map>( | |||||||
|     perform_all_passes(&mut mir_context, module_map)?; |     perform_all_passes(&mut mir_context, module_map)?; | ||||||
| 
 | 
 | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{:-^100}", "FINAL OUTPUT"); | ||||||
|     println!("{:-^100}", "FINAL OUTPUT"); |  | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{:#}", &mir_context); | ||||||
|     println!("{:#}", &mir_context); |  | ||||||
| 
 | 
 | ||||||
|     let mut context = Context::new(format!("Reid ({})", env!("CARGO_PKG_VERSION"))); |     let mut context = Context::new(format!("Reid ({})", env!("CARGO_PKG_VERSION"))); | ||||||
|     let codegen_modules = match mir_context.codegen(&mut context) { |     let codegen_modules = match mir_context.codegen(&mut context) { | ||||||
| @ -343,8 +321,7 @@ pub fn compile_and_pass<'map>( | |||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     #[cfg(debug_assertions)] |     #[cfg(debug_assertions)] | ||||||
|     #[cfg(feature = "log_output")] |     log::trace!("{}", &codegen_modules.context); | ||||||
|     println!("{}", &codegen_modules.context); |  | ||||||
| 
 | 
 | ||||||
|     let compiled = codegen_modules.compile(cpu, features); |     let compiled = codegen_modules.compile(cpu, features); | ||||||
|     Ok(( |     Ok(( | ||||||
|  | |||||||
							
								
								
									
										103
									
								
								reid/src/main.rs
									
									
									
									
									
								
							
							
						
						
									
										103
									
								
								reid/src/main.rs
									
									
									
									
									
								
							| @ -1,4 +1,4 @@ | |||||||
| use std::{env, fs, path::PathBuf}; | use std::{fs, path::PathBuf}; | ||||||
| 
 | 
 | ||||||
| use argh::FromArgs; | use argh::FromArgs; | ||||||
| use log::*; | use log::*; | ||||||
| @ -12,6 +12,9 @@ struct Options { | |||||||
|     #[argh(option, short = 'l', default = "log::Level::Info")] |     #[argh(option, short = 'l', default = "log::Level::Info")] | ||||||
|     /// log level
 |     /// log level
 | ||||||
|     log_level: log::Level, |     log_level: log::Level, | ||||||
|  |     #[argh(switch, short = 't')] | ||||||
|  |     /// should logs be timestamped
 | ||||||
|  |     timestamps: bool, | ||||||
|     #[argh(subcommand)] |     #[argh(subcommand)] | ||||||
|     command: Command, |     command: Command, | ||||||
| } | } | ||||||
| @ -27,7 +30,7 @@ enum Command { | |||||||
| #[argh(subcommand, name = "build")] | #[argh(subcommand, name = "build")] | ||||||
| struct BuildOpts { | struct BuildOpts { | ||||||
|     #[argh(option, long = "lib", short = 'l')] |     #[argh(option, long = "lib", short = 'l')] | ||||||
|     /// asd
 |     /// additional libraries to link against (with ld)
 | ||||||
|     libraries: Vec<String>, |     libraries: Vec<String>, | ||||||
|     #[argh(positional)] |     #[argh(positional)] | ||||||
|     path: PathBuf, |     path: PathBuf, | ||||||
| @ -37,7 +40,7 @@ fn main() { | |||||||
|     let options: Options = argh::from_env(); |     let options: Options = argh::from_env(); | ||||||
|     let mut errlog = stderrlog::new(); |     let mut errlog = stderrlog::new(); | ||||||
|     errlog.module(module_path!()).verbosity(options.log_level); |     errlog.module(module_path!()).verbosity(options.log_level); | ||||||
|     if options.log_level as u8 > 3 { |     if options.timestamps { | ||||||
|         errlog.timestamp(stderrlog::Timestamp::Second); |         errlog.timestamp(stderrlog::Timestamp::Second); | ||||||
|     } |     } | ||||||
|     errlog.init().unwrap(); |     errlog.init().unwrap(); | ||||||
| @ -82,16 +85,13 @@ fn main() { | |||||||
|                     }, |                     }, | ||||||
|                     CustomIRs { llir, mir }, |                     CustomIRs { llir, mir }, | ||||||
|                 )) => { |                 )) => { | ||||||
|                     #[cfg(feature = "log_output")] |                     log::trace!("{}", _llvm_ir); | ||||||
|                     { |                     log::debug!("Compiled with triple: {}\n", &_triple); | ||||||
|                         println!("{}", _llvm_ir); |                     log::debug!("Output LLVM IR to {:?}", llvm_ir_path); | ||||||
|                         println!("Compiled with triple: {}\n", &_triple); |                     log::debug!("Output Assembly to {:?}", asm_path); | ||||||
|                         println!("Output LLVM IR to {:?}", llvm_ir_path); |                     log::debug!("Output Object-file to {:?}\n", object_path); | ||||||
|                         println!("Output Assembly to {:?}", asm_path); |                     log::debug!("Output LLIR-file to {:?}\n", llir_path); | ||||||
|                         println!("Output Object-file to {:?}\n", object_path); |                     log::debug!("Output MIR-file to {:?}\n", mir_path); | ||||||
|                         println!("Output LLIR-file to {:?}\n", llir_path); |  | ||||||
|                         println!("Output MIR-file to {:?}\n", mir_path); |  | ||||||
|                     } |  | ||||||
| 
 | 
 | ||||||
|                     fs::write(&llvm_ir_path, &_llvm_ir).expect("Could not write LLVM IR -file!"); |                     fs::write(&llvm_ir_path, &_llvm_ir).expect("Could not write LLVM IR -file!"); | ||||||
|                     fs::write(&asm_path, &assembly).expect("Could not write Assembly-file!"); |                     fs::write(&asm_path, &assembly).expect("Could not write Assembly-file!"); | ||||||
| @ -99,12 +99,12 @@ fn main() { | |||||||
|                     fs::write(&llir_path, &llir).expect("Could not write LLIR-file!"); |                     fs::write(&llir_path, &llir).expect("Could not write LLIR-file!"); | ||||||
|                     fs::write(&mir_path, &mir).expect("Could not write MIR-file!"); |                     fs::write(&mir_path, &mir).expect("Could not write MIR-file!"); | ||||||
|                     let after = std::time::SystemTime::now(); |                     let after = std::time::SystemTime::now(); | ||||||
|                     println!( |                     log::info!( | ||||||
|                         "Compilation took: {:.2}ms\n", |                         "Compilation took: {:.2}ms\n", | ||||||
|                         (after.duration_since(before).unwrap().as_micros() as f32) / 1000. |                         (after.duration_since(before).unwrap().as_micros() as f32) / 1000. | ||||||
|                     ); |                     ); | ||||||
| 
 | 
 | ||||||
|                     println!("Linking {:?}", &object_path); |                     log::info!("Linking {:?}", &object_path); | ||||||
| 
 | 
 | ||||||
|                     let linker = std::env::var("LD").unwrap_or("ld".to_owned()); |                     let linker = std::env::var("LD").unwrap_or("ld".to_owned()); | ||||||
|                     let mut linker = LDRunner::from_command(&linker).with_library("c").with_library("m"); |                     let mut linker = LDRunner::from_command(&linker).with_library("c").with_library("m"); | ||||||
| @ -118,76 +118,3 @@ fn main() { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 |  | ||||||
| // fn main() -> Result<(), std::io::Error> {
 |  | ||||||
| //     let args: Vec<String> = env::args().collect();
 |  | ||||||
| //     let mut iter = args.into_iter().skip(1);
 |  | ||||||
| //     if let Some(filename) = iter.next() {
 |  | ||||||
| //         let mut libraries = Vec::new();
 |  | ||||||
| //         while let Some(libname) = iter.next() {
 |  | ||||||
| //             libraries.push(libname);
 |  | ||||||
| //         }
 |  | ||||||
| 
 |  | ||||||
| //         let path = PathBuf::from(filename).canonicalize().unwrap();
 |  | ||||||
| //         let parent = path.with_extension("");
 |  | ||||||
| //         let llvm_ir_path = parent.with_extension("ll");
 |  | ||||||
| //         let object_path = parent.with_extension("o");
 |  | ||||||
| //         let llir_path = parent.with_extension("llir");
 |  | ||||||
| //         let mir_path = parent.with_extension("mir");
 |  | ||||||
| //         let asm_path = parent.with_extension("asm");
 |  | ||||||
| 
 |  | ||||||
| //         let before = std::time::SystemTime::now();
 |  | ||||||
| 
 |  | ||||||
| //         let text = fs::read_to_string(&path)?;
 |  | ||||||
| 
 |  | ||||||
| //         let cpu = std::env::var("CPU").unwrap_or("generic".to_owned());
 |  | ||||||
| //         let features = std::env::var("REIDFLAGS").unwrap_or("".to_owned());
 |  | ||||||
| 
 |  | ||||||
| //         match compile_simple(&text, PathBuf::from(&path), Some(cpu), vec![features]) {
 |  | ||||||
| //             Ok((
 |  | ||||||
| //                 CompileOutput {
 |  | ||||||
| //                     triple: _triple,
 |  | ||||||
| //                     assembly,
 |  | ||||||
| //                     obj_buffer,
 |  | ||||||
| //                     llvm_ir: _llvm_ir,
 |  | ||||||
| //                 },
 |  | ||||||
| //                 CustomIRs { llir, mir },
 |  | ||||||
| //             )) => {
 |  | ||||||
| //                 #[cfg(feature = "log_output")]
 |  | ||||||
| //                 {
 |  | ||||||
| //                     println!("{}", _llvm_ir);
 |  | ||||||
| //                     println!("Compiled with triple: {}\n", &_triple);
 |  | ||||||
| //                     println!("Output LLVM IR to {:?}", llvm_ir_path);
 |  | ||||||
| //                     println!("Output Assembly to {:?}", asm_path);
 |  | ||||||
| //                     println!("Output Object-file to {:?}\n", object_path);
 |  | ||||||
| //                     println!("Output LLIR-file to {:?}\n", llir_path);
 |  | ||||||
| //                     println!("Output MIR-file to {:?}\n", mir_path);
 |  | ||||||
| //                 }
 |  | ||||||
| 
 |  | ||||||
| //                 fs::write(&llvm_ir_path, &_llvm_ir).expect("Could not write LLVM IR -file!");
 |  | ||||||
| //                 fs::write(&asm_path, &assembly).expect("Could not write Assembly-file!");
 |  | ||||||
| //                 fs::write(&object_path, &obj_buffer).expect("Could not write Object-file!");
 |  | ||||||
| //                 fs::write(&llir_path, &llir).expect("Could not write LLIR-file!");
 |  | ||||||
| //                 fs::write(&mir_path, &mir).expect("Could not write MIR-file!");
 |  | ||||||
| //                 let after = std::time::SystemTime::now();
 |  | ||||||
| //                 println!(
 |  | ||||||
| //                     "Compilation took: {:.2}ms\n",
 |  | ||||||
| //                     (after.duration_since(before).unwrap().as_micros() as f32) / 1000.
 |  | ||||||
| //                 );
 |  | ||||||
| 
 |  | ||||||
| //                 println!("Linking {:?}", &object_path);
 |  | ||||||
| 
 |  | ||||||
| //                 let linker = std::env::var("LD").unwrap_or("ld".to_owned());
 |  | ||||||
| //                 let mut linker = LDRunner::from_command(&linker).with_library("c").with_library("m");
 |  | ||||||
| //                 for library in libraries {
 |  | ||||||
| //                     linker = linker.with_library(&library);
 |  | ||||||
| //                 }
 |  | ||||||
| //                 linker.invoke(&object_path, &object_path.with_extension("out"));
 |  | ||||||
| //             }
 |  | ||||||
| //             Err(e) => panic!("{}", e),
 |  | ||||||
| //         };
 |  | ||||||
| //     } else {
 |  | ||||||
| //         println!("Please input compiled file path!")
 |  | ||||||
| //     }
 |  | ||||||
| //     Ok(())
 |  | ||||||
| // }
 |  | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user