From 4eebfb8b399b1e0a209c971690e108c18c0e1f10 Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Thu, 9 Feb 2012 00:29:19 +0000 Subject: [PATCH] Remove static initializer from DataStream.cpp If someone would prefer a clear name for the 'success' error_value we could come up with one - potentially just a 'named constructor' style 'error_value::success()' to make this expression more self-documenting. If I see this come up in other cases I'll certainly consider it. One step along the way to resolving PR11944. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150120 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Support/DataStream.cpp | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/lib/Support/DataStream.cpp b/lib/Support/DataStream.cpp index b2dd979e7f1..0e8a717b515 100644 --- a/lib/Support/DataStream.cpp +++ b/lib/Support/DataStream.cpp @@ -49,8 +49,6 @@ DataStreamer::~DataStreamer() {} namespace { -const static error_code success; - // Very simple stream backed by a file. Mostly useful for stdin and debugging; // actual file access is probably still best done with mmap. class DataFileStreamer : public DataStreamer { @@ -66,18 +64,20 @@ public: } error_code OpenFile(const std::string &Filename) { + if (Filename == "-") { + Fd = 0; + sys::Program::ChangeStdinToBinary(); + return error_code(); + } + int OpenFlags = O_RDONLY; #ifdef O_BINARY OpenFlags |= O_BINARY; // Open input file in binary mode on win32. #endif - if (Filename == "-") { - Fd = 0; - sys::Program::ChangeStdinToBinary(); - } - else - Fd = ::open(Filename.c_str(), OpenFlags); - if (Fd == -1) return error_code(errno, posix_category()); - return success; + Fd = ::open(Filename.c_str(), OpenFlags); + if (Fd == -1) + return error_code(errno, posix_category()); + return error_code(); } }; @@ -87,8 +87,7 @@ namespace llvm { DataStreamer *getDataFileStreamer(const std::string &Filename, std::string *StrError) { DataFileStreamer *s = new DataFileStreamer(); - error_code e = s->OpenFile(Filename); - if (e != success) { + if (error_code e = s->OpenFile(Filename)) { *StrError = std::string("Could not open ") + Filename + ": " + e.message() + "\n"; return NULL;