Convert tools to use tool_output_file, and introduce error

checking to places which previously lacked it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111651 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman
2010-08-20 16:59:15 +00:00
parent e7b67d0e94
commit f29140106f
6 changed files with 68 additions and 24 deletions

View File

@ -236,13 +236,16 @@ void GenerateBitcode(Module* M, const std::string& FileName) {
// Create the output file.
std::string ErrorInfo;
raw_fd_ostream Out(FileName.c_str(), ErrorInfo,
raw_fd_ostream::F_Binary);
if (!ErrorInfo.empty())
tool_output_file Out(FileName.c_str(), ErrorInfo,
raw_fd_ostream::F_Binary);
if (!ErrorInfo.empty()) {
PrintAndExit(ErrorInfo, M);
return;
}
// Write it out
WriteBitcodeToFile(M, Out);
Out.keep();
}
/// GenerateAssembly - generates a native assembly language source file from the
@ -425,7 +428,7 @@ static void EmitShellScript(char **argv, Module *M) {
// Output the script to start the program...
std::string ErrorInfo;
raw_fd_ostream Out2(OutputFilename.c_str(), ErrorInfo);
tool_output_file Out2(OutputFilename.c_str(), ErrorInfo);
if (!ErrorInfo.empty())
PrintAndExit(ErrorInfo, M);
@ -466,6 +469,7 @@ static void EmitShellScript(char **argv, Module *M) {
Out2 << " -load=" << FullLibraryPath.str() << " \\\n";
}
Out2 << " " << BitcodeOutputFilename << " ${1+\"$@\"}\n";
Out2.keep();
}
// BuildLinkItems -- This function generates a LinkItemList for the LinkItems