summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/opt/GraphPrinters.cpp5
-rw-r--r--tools/opt/opt.cpp10
2 files changed, 8 insertions, 7 deletions
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 &GT) {
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<Pass>(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<Pass>(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<Pass>(PassToPrint).print(outs(), F.getParent());
- cout << std::flush;
+ outs().flush();
return false;
}
@@ -226,7 +226,7 @@ struct LoopPassPrinter : public LoopPass {
outs().flush();
getAnalysisID<Pass>(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<Pass>(PassToPrint).print(outs(), BB.getParent()->getParent());
- cout << std::flush;
+ outs().flush();
return false;
}