diff options
author | Dan Gohman <gohman@apple.com> | 2008-08-21 15:33:45 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2008-08-21 15:33:45 +0000 |
commit | ed3e8b4ed2a3ab44d316e16a54d963f8927c6783 (patch) | |
tree | 5a18e8ff35d13a6594fd42c8ca179d4029859ff1 /tools/llc | |
parent | 3b32a23a905c06318ce549c326d1a1b301bd01ee (diff) | |
download | llvm-ed3e8b4ed2a3ab44d316e16a54d963f8927c6783.tar.gz llvm-ed3e8b4ed2a3ab44d316e16a54d963f8927c6783.tar.bz2 llvm-ed3e8b4ed2a3ab44d316e16a54d963f8927c6783.tar.xz |
Don't silently ignore errors when opening output streams.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55120 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llc')
-rw-r--r-- | tools/llc/llc.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp index 2c725e8a2f..03972b10ca 100644 --- a/tools/llc/llc.cpp +++ b/tools/llc/llc.cpp @@ -125,7 +125,14 @@ static raw_ostream *GetOutputStream(const char *ProgName) { sys::RemoveFileOnSignal(sys::Path(OutputFilename)); std::string error; - return new raw_fd_ostream(OutputFilename.c_str(), error); + raw_ostream *Out = new raw_fd_ostream(OutputFilename.c_str(), error); + if (!error.empty()) { + std::cerr << error << '\n'; + delete Out; + return 0; + } + + return Out; } if (InputFilename == "-") { @@ -170,7 +177,7 @@ static raw_ostream *GetOutputStream(const char *ProgName) { std::string error; raw_ostream *Out = new raw_fd_ostream(OutputFilename.c_str(), error); if (!error.empty()) { - std::cerr << error; + std::cerr << error << '\n'; delete Out; return 0; } |