-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.
void viewGraph();
/// writeGraph - Write a compilation-graph.dot file.
void writeGraph();
/// writeGraph - Write Graphviz .dot source file to the current direcotry.
void writeGraph(const std::string& OutputFilename);
// GraphTraits support.
friend NodesIterator GraphBegin(CompilationGraph*);

View File

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

View File

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