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