From eb6354e55a6b48e1eb1d49f385ad87639b58d902 Mon Sep 17 00:00:00 2001 From: greg Date: Wed, 18 Jan 2017 03:21:09 -0800 Subject: [PATCH] Only print errors if the programs failed --- src/compilation.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/compilation.rs b/src/compilation.rs index bced0b7..1b66870 100644 --- a/src/compilation.rs +++ b/src/compilation.rs @@ -33,15 +33,20 @@ pub fn compilation_sequence(ast: AST, sourcefile: &str) { .output() .expect("Failed to run llc"); - println!("{}", String::from_utf8_lossy(&llc_output.stderr)); + + if !llc_output.status.success() { + println!("{}", String::from_utf8_lossy(&llc_output.stderr)); + } let gcc_output = Command::new("gcc") .args(&["-o", bin_filename, &obj_filename]) .output() .expect("failed to run gcc"); - println!("{}", String::from_utf8_lossy(&gcc_output.stdout)); - println!("{}", String::from_utf8_lossy(&gcc_output.stderr)); + if !gcc_output.status.success() { + println!("{}", String::from_utf8_lossy(&gcc_output.stdout)); + println!("{}", String::from_utf8_lossy(&gcc_output.stderr)); + } for filename in [obj_filename].iter() { Command::new("rm")