diff --git a/src/main.rs b/src/main.rs index 7758096ca27a0d4f1920d61b36f97d909ed5dfb9..2eb47d8e85bad5970eca2e3304313946c6add051 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