diff options
| author | Ben Langmuir <blangmuir@apple.com> | 2014-02-27 02:09:10 +0000 |
|---|---|---|
| committer | Ben Langmuir <blangmuir@apple.com> | 2014-02-27 02:09:10 +0000 |
| commit | 27a58bf7705a8735415425bcf7476f223f210a09 (patch) | |
| tree | 639404da82f667e3ba686c434f879ab93e591b22 | |
| parent | 9e61c4b6cd947f87c2b9ceb86f7ef482eb04ccc7 (diff) | |
| download | bcm5719-llvm-27a58bf7705a8735415425bcf7476f223f210a09.tar.gz bcm5719-llvm-27a58bf7705a8735415425bcf7476f223f210a09.zip | |
Revert "Use StringRef in raw_fd_ostream constructor"
This reverts commit r202225, which may cause a performance regression.
llvm-svn: 202338
| -rw-r--r-- | llvm/include/llvm/Support/raw_ostream.h | 2 | ||||
| -rw-r--r-- | llvm/lib/Support/raw_ostream.cpp | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/llvm/include/llvm/Support/raw_ostream.h b/llvm/include/llvm/Support/raw_ostream.h index e942d0af916..e0048f51408 100644 --- a/llvm/include/llvm/Support/raw_ostream.h +++ b/llvm/include/llvm/Support/raw_ostream.h @@ -346,7 +346,7 @@ public: /// itself to own the file descriptor. In particular, it will close the /// file descriptor when it is done (this is necessary to detect /// output errors). - raw_fd_ostream(StringRef Filename, std::string &ErrorInfo, + raw_fd_ostream(const char *Filename, std::string &ErrorInfo, sys::fs::OpenFlags Flags); /// raw_fd_ostream ctor - FD is the file descriptor that this writes to. If diff --git a/llvm/lib/Support/raw_ostream.cpp b/llvm/lib/Support/raw_ostream.cpp index 154948301b6..3c45743666d 100644 --- a/llvm/lib/Support/raw_ostream.cpp +++ b/llvm/lib/Support/raw_ostream.cpp @@ -430,15 +430,16 @@ void format_object_base::home() { /// occurs, information about the error is put into ErrorInfo, and the /// stream should be immediately destroyed; the string will be empty /// if no error occurred. -raw_fd_ostream::raw_fd_ostream(StringRef Filename, std::string &ErrorInfo, +raw_fd_ostream::raw_fd_ostream(const char *Filename, std::string &ErrorInfo, sys::fs::OpenFlags Flags) : Error(false), UseAtomicWrites(false), pos(0) { + assert(Filename != 0 && "Filename is null"); ErrorInfo.clear(); // Handle "-" as stdout. Note that when we do this, we consider ourself // the owner of stdout. This means that we can do things like close the // file descriptor when we're done and set the "binary" flag globally. - if (Filename == "-") { + if (Filename[0] == '-' && Filename[1] == 0) { FD = STDOUT_FILENO; // If user requested binary then put stdout into binary mode if // possible. |

