-write-graph now can be used with -o.

Makes it possible to set the output file name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67835 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Mikhail Glushenkov 2009-03-27 12:57:14 +00:00
parent 74a057b41f
commit d50d32b940
3 changed files with 15 additions and 12 deletions

View File

@ -157,8 +157,8 @@ namespace llvmc {
/// in your path. /// in your path.
void viewGraph(); void viewGraph();
/// writeGraph - Write a compilation-graph.dot file. /// writeGraph - Write Graphviz .dot source file to the current direcotry.
void writeGraph(); void writeGraph(const std::string& OutputFilename);
// GraphTraits support. // GraphTraits support.
friend NodesIterator GraphBegin(CompilationGraph*); friend NodesIterator GraphBegin(CompilationGraph*);

View File

@ -98,7 +98,11 @@ int main(int argc, char** argv) {
Plugins.PopulateCompilationGraph(graph); Plugins.PopulateCompilationGraph(graph);
if (CheckGraph) { if (CheckGraph) {
return graph.Check(); int ret = graph.Check();
if (!ret)
std::cerr << "check-graph: no errors found.\n";
return ret;
} }
if (ViewGraph) { if (ViewGraph) {
@ -108,7 +112,9 @@ int main(int argc, char** argv) {
} }
if (WriteGraph) { if (WriteGraph) {
graph.writeGraph(); graph.writeGraph(OutputFilename.empty()
? std::string("compilation-graph.dot")
: OutputFilename);
return 0; return 0;
} }

View File

@ -465,9 +465,6 @@ int CompilationGraph::Check () {
// Check for cycles. // Check for cycles.
ret += this->CheckCycles(); ret += this->CheckCycles();
if (!ret)
std::cerr << "check-graph: no errors found.\n";
return ret; return ret;
} }
@ -519,18 +516,18 @@ namespace llvm {
} }
void CompilationGraph::writeGraph() { void CompilationGraph::writeGraph(const std::string& OutputFilename) {
std::ofstream O("compilation-graph.dot"); std::ofstream O(OutputFilename.c_str());
if (O.good()) { if (O.good()) {
std::cerr << "Writing 'compilation-graph.dot' file..."; std::cerr << "Writing '"<< OutputFilename << "' file...";
llvm::WriteGraph(O, this); llvm::WriteGraph(O, this);
std::cerr << "done.\n"; std::cerr << "done.\n";
O.close(); O.close();
} }
else { else {
throw std::runtime_error("Error opening file 'compilation-graph.dot'" throw std::runtime_error("Error opening file '" + OutputFilename
" for writing!"); + "' for writing!");
} }
} }