From 2e35bec78a3279ceb330bec3d401ba6e8da8480c Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 23 Aug 2009 07:31:22 +0000 Subject: use raw_fd_ostream instead of fstream with graphwriter, flush the right stream in opt.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79837 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/opt/GraphPrinters.cpp | 5 +++-- tools/opt/opt.cpp | 10 +++++----- 2 files changed, 8 insertions(+), 7 deletions(-) (limited to 'tools') diff --git a/tools/opt/GraphPrinters.cpp b/tools/opt/GraphPrinters.cpp index 6bd0a6e9f7..c38469cc12 100644 --- a/tools/opt/GraphPrinters.cpp +++ b/tools/opt/GraphPrinters.cpp @@ -28,9 +28,10 @@ static void WriteGraphToFile(std::ostream &O, const std::string &GraphName, const GraphType >) { std::string Filename = GraphName + ".dot"; O << "Writing '" << Filename << "'..."; - std::ofstream F(Filename.c_str()); + std::string ErrInfo; + raw_fd_ostream F(Filename.c_str(), ErrInfo, raw_fd_ostream::F_Force); - if (F.good()) + if (ErrInfo.empty()) WriteGraph(F, GT); else O << " error opening file for writing!"; diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index f41b202349..ffe53d5dd1 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -141,7 +141,7 @@ struct CallGraphSCCPassPrinter : public CallGraphSCCPass { if (F) { outs().flush(); getAnalysisID(PassToPrint).print(outs(), F->getParent()); - cout << std::flush; + outs().flush(); } } } @@ -170,7 +170,7 @@ struct ModulePassPrinter : public ModulePass { outs() << "Printing analysis '" << PassToPrint->getPassName() << "':\n"; outs().flush(); getAnalysisID(PassToPrint).print(outs(), &M); - cout << std::flush; + outs().flush(); } // Get and print pass... @@ -200,7 +200,7 @@ struct FunctionPassPrinter : public FunctionPass { // Get and print pass... outs().flush(); getAnalysisID(PassToPrint).print(outs(), F.getParent()); - cout << std::flush; + outs().flush(); return false; } @@ -226,7 +226,7 @@ struct LoopPassPrinter : public LoopPass { outs().flush(); getAnalysisID(PassToPrint).print(outs(), L->getHeader()->getParent()->getParent()); - cout << std::flush; + outs().flush(); } // Get and print pass... return false; @@ -257,7 +257,7 @@ struct BasicBlockPassPrinter : public BasicBlockPass { // Get and print pass... outs().flush(); getAnalysisID(PassToPrint).print(outs(), BB.getParent()->getParent()); - cout << std::flush; + outs().flush(); return false; } -- cgit v1.2.3