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
This commit is contained in:
Dan Gohman 2008-08-21 15:33:45 +00:00
parent 3b32a23a90
commit ed3e8b4ed2
2 changed files with 12 additions and 4 deletions

View File

@ -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;
}

View File

@ -163,10 +163,11 @@ const void* LTOCodeGenerator::compile(size_t* length, std::string& errMsg)
sys::RemoveFileOnSignal(uniqueAsmPath);
// generate assembly code
std::string error;
bool genResult = false;
{
raw_fd_ostream asmFile(uniqueAsmPath.c_str(), error);
raw_fd_ostream asmFile(uniqueAsmPath.c_str(), errMsg);
if (!errMsg.empty())
return NULL;
genResult = this->generateAssemblyCode(asmFile, errMsg);
}
if ( genResult ) {