From f9c62bc80cc38e33855e3ef42921da399aafa1fe Mon Sep 17 00:00:00 2001 From: Per Lindgren <per.lindgren@ltu.se> Date: Fri, 16 Nov 2018 16:58:57 +0100 Subject: [PATCH] run opt works --- src/main.rs | 45 ++++++++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/src/main.rs b/src/main.rs index 7758096..2eb47d8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -117,26 +117,37 @@ fn main() { println!("s: {}", s); let mut c = Command::new("opt"); - c.arg("-analyze").arg("-print-callgraph").arg(s); + c.arg("-analyze") + .arg("-print-callgraph") + .arg(s) + .output() + .expect("failed to execute process"); + let dump = c.output().expect("failed to execute process"); + println!("{:?}", dump); + println!("{:?}", dump.status); + println!("{:?}", str::from_utf8(&dump.stdout).unwrap()); + println!("{:?}", str::from_utf8(&dump.stderr).unwrap()); - let mut p = c.spawn().unwrap(); - let mut pstderr = p.stderr.take().unwrap(); - let mut buf = [0; 1024]; - let mut output = vec![]; + // let hello = c.stdout(); - let stderr = io::stderr(); - let mut stderr = stderr.lock(); - loop { - if let Ok(n) = pstderr.read(&mut buf) { - stderr.write(&buf[..n]).unwrap(); - output.extend_from_slice(&buf[..n]); - } + // let mut p = c.spawn().unwrap(); + // let mut pstderr = p.stderr.take().unwrap(); + // let mut buf = [0; 1024]; + // let mut output = vec![]; - if let Some(status) = p.try_wait().unwrap() { - assert!(status.success()); - break; - } - } + // let stderr = io::stderr(); + // let mut stderr = stderr.lock(); + // loop { + // if let Ok(n) = pstderr.read(&mut buf) { + // stderr.write(&buf[..n]).unwrap(); + // output.extend_from_slice(&buf[..n]// + // } + + // if let Some(status) = p.try_wait().unwrap() { + // assert!(status.success()); + // break; + // } + // } // -analyze -print-callgraph /home/pln/rust/stack-test/target/thumbv7m-none-eabi/release/deps/stack_test-87f399c0e9e1fb93.ll -- GitLab