This requires rtti info because tblgen uses commandline,
[oota-llvm.git] / lib / Support / GraphWriter.cpp
index 501cc6d89d3c4c6da5b596c82e4366e71a297887..eab76dff5d586f16938935c93d90d407223e147b 100644 (file)
 //===----------------------------------------------------------------------===//
 
 #include "llvm/Support/GraphWriter.h"
+#include "llvm/Support/Streams.h"
 #include "llvm/System/Path.h"
 #include "llvm/System/Program.h"
 #include "llvm/Config/config.h"
-#include <iostream>
 using namespace llvm;
 
 void llvm::DisplayGraph(const sys::Path &Filename) {
@@ -28,9 +28,9 @@ void llvm::DisplayGraph(const sys::Path &Filename) {
   args.push_back(Filename.c_str());
   args.push_back(0);
   
-  std::cerr << "Running 'Graphviz' program... " << std::flush;
-  if (sys::Program::ExecuteAndWait(Graphviz, &args[0],0,0,0,&ErrMsg)) {
-    std::cerr << "Error viewing graph: " << ErrMsg << "\n";
+  cerr << "Running 'Graphviz' program... " << std::flush;
+  if (sys::Program::ExecuteAndWait(Graphviz, &args[0],0,0,0,0,&ErrMsg)) {
+    cerr << "Error viewing graph: " << ErrMsg << "\n";
   }
 #elif (HAVE_GV && HAVE_DOT)
   sys::Path PSFilename = Filename;
@@ -48,11 +48,11 @@ void llvm::DisplayGraph(const sys::Path &Filename) {
   args.push_back(PSFilename.c_str());
   args.push_back(0);
   
-  std::cerr << "Running 'dot' program... " << std::flush;
-  if (sys::Program::ExecuteAndWait(dot, &args[0],0,0,0,&ErrMsg)) {
-    std::cerr << "Error viewing graph: '" << ErrMsg << "\n";
+  cerr << "Running 'dot' program... " << std::flush;
+  if (sys::Program::ExecuteAndWait(dot, &args[0],0,0,0,0,&ErrMsg)) {
+    cerr << "Error viewing graph: '" << ErrMsg << "\n";
   } else {
-    std::cerr << " done. \n";
+    cerr << " done. \n";
 
     sys::Path gv(LLVM_PATH_GV);
     args.clear();
@@ -61,8 +61,8 @@ void llvm::DisplayGraph(const sys::Path &Filename) {
     args.push_back(0);
     
     ErrMsg.clear();
-    if (sys::Program::ExecuteAndWait(gv, &args[0],0,0,0,&ErrMsg)) {
-      std::cerr << "Error viewing graph: " << ErrMsg << "\n";
+    if (sys::Program::ExecuteAndWait(gv, &args[0],0,0,0,0,&ErrMsg)) {
+      cerr << "Error viewing graph: " << ErrMsg << "\n";
     }
   }
   PSFilename.eraseFromDisk();
@@ -70,14 +70,15 @@ void llvm::DisplayGraph(const sys::Path &Filename) {
   sys::Path dotty(LLVM_PATH_DOTTY);
 
   std::vector<const char*> args;
+  args.push_back(dotty.c_str());
   args.push_back(Filename.c_str());
   args.push_back(0);
   
-  std::cerr << "Running 'dotty' program... " << std::flush;
-  if (sys::Program::ExecuteAndWait(dotty, &args[0],0,0,0,&ErrMsg)) {
-    std::cerr << "Error viewing graph: " << ErrMsg << "\n";
+  cerr << "Running 'dotty' program... " << std::flush;
+  if (sys::Program::ExecuteAndWait(dotty, &args[0],0,0,0,0,&ErrMsg)) {
+    cerr << "Error viewing graph: " << ErrMsg << "\n";
   } else {
-#ifdef __MINGW32__ // Dotty spawns another app and doesn't wait until it returns.
+#ifdef __MINGW32__ // Dotty spawns another app and doesn't wait until it returns
     return;
 #endif
   }