diff options
| author | Devang Patel <dpatel@apple.com> | 2011-01-17 17:34:43 +0000 | 
|---|---|---|
| committer | Devang Patel <dpatel@apple.com> | 2011-01-17 17:34:43 +0000 | 
| commit | ea49cb04a53acdb11de8c3258c8a0011368c0ee9 (patch) | |
| tree | c6702c42f10244374054c4da9cf4f48277588cf2 | |
| parent | 992efd12a7eaf85d2373c8ac9dd52fe0ee3aae89 (diff) | |
| download | bcm5719-llvm-ea49cb04a53acdb11de8c3258c8a0011368c0ee9.tar.gz bcm5719-llvm-ea49cb04a53acdb11de8c3258c8a0011368c0ee9.zip  | |
Revert rr123550. It causes clang build failure on darwin9.
llvm-svn: 123661
| -rw-r--r-- | llvm/include/llvm/Support/GraphWriter.h | 34 | 
1 files changed, 22 insertions, 12 deletions
diff --git a/llvm/include/llvm/Support/GraphWriter.h b/llvm/include/llvm/Support/GraphWriter.h index 65572b1c82c..7573ef0dc9e 100644 --- a/llvm/include/llvm/Support/GraphWriter.h +++ b/llvm/include/llvm/Support/GraphWriter.h @@ -24,7 +24,6 @@  #define LLVM_SUPPORT_GRAPHWRITER_H  #include "llvm/Support/DOTGraphTraits.h" -#include "llvm/Support/FileSystem.h"  #include "llvm/Support/raw_ostream.h"  #include "llvm/ADT/GraphTraits.h"  #include "llvm/Support/Path.h" @@ -310,21 +309,32 @@ raw_ostream &WriteGraph(raw_ostream &O, const GraphType &G,  template<typename GraphType>  sys::Path WriteGraph(const GraphType &G, const std::string &Name,                       bool ShortNames = false, const std::string &Title = "") { -  SmallString<128> FilePath; - -  int FileFD; -  if (error_code ec = sys::fs::unique_file("graph-" + Name + "-%%-%%-%%-%%.dot", -                                           FileFD, FilePath)) { -    errs() << "Error creating output file: " << ec.message() << '\n'; +  std::string ErrMsg; +  sys::Path Filename = sys::Path::GetTemporaryDirectory(&ErrMsg); +  if (Filename.isEmpty()) { +    errs() << "Error: " << ErrMsg << "\n"; +    return Filename; +  } +  Filename.appendComponent(Name + ".dot"); +  if (Filename.makeUnique(true,&ErrMsg)) { +    errs() << "Error: " << ErrMsg << "\n";      return sys::Path();    } -  errs() << "Writing '" << FilePath << "'... "; -  raw_fd_ostream O(FileFD, true); -  llvm::WriteGraph(O, G, ShortNames, Title); -  errs() << " done. \n"; +  errs() << "Writing '" << Filename.str() << "'... "; + +  std::string ErrorInfo; +  raw_fd_ostream O(Filename.c_str(), ErrorInfo); + +  if (ErrorInfo.empty()) { +    llvm::WriteGraph(O, G, ShortNames, Title); +    errs() << " done. \n"; +  } else { +    errs() << "error opening file '" << Filename.str() << "' for writing!\n"; +    Filename.clear(); +  } -  return sys::Path(FilePath.str()); +  return Filename;  }  /// ViewGraph - Emit a dot graph, run 'dot', run gv on the postscript file,  | 

