diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-07-05 21:01:08 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-07-05 21:01:08 +0000 |
commit | 200c748a8643cd127271f4d6849da1e147d4442f (patch) | |
tree | 0eacbac147a7d5d59d0e41281c4b11f4784b0c50 /tools/bugpoint | |
parent | cd56727b555fd009c691d1c4ae308fbaf50e0c4f (diff) | |
download | llvm-200c748a8643cd127271f4d6849da1e147d4442f.tar.gz llvm-200c748a8643cd127271f4d6849da1e147d4442f.tar.bz2 llvm-200c748a8643cd127271f4d6849da1e147d4442f.tar.xz |
Add a createUniqueFile function and switch llvm's users of unique_file.
This function is complementary to createTemporaryFile. It handles the case were
the unique file is *not* temporary: we will rename it in the end. Since we
will rename it, the file has to be in the same filesystem as the final
destination and we don't prepend the system temporary directory.
This has a small semantic difference from unique_file: the default mode is 0666.
This matches the behavior of most unix tools. For example, with this change
lld now produces files with the same permissions as ld. I will add a test
of this change when I port clang over to createUniqueFile (next commit).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185726 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/bugpoint')
-rw-r--r-- | tools/bugpoint/ExecutionDriver.cpp | 6 | ||||
-rw-r--r-- | tools/bugpoint/ExtractFunction.cpp | 4 | ||||
-rw-r--r-- | tools/bugpoint/OptimizerDriver.cpp | 8 | ||||
-rw-r--r-- | tools/bugpoint/ToolRunner.cpp | 8 |
4 files changed, 13 insertions, 13 deletions
diff --git a/tools/bugpoint/ExecutionDriver.cpp b/tools/bugpoint/ExecutionDriver.cpp index 270dab2317..3d3dac3274 100644 --- a/tools/bugpoint/ExecutionDriver.cpp +++ b/tools/bugpoint/ExecutionDriver.cpp @@ -267,7 +267,7 @@ void BugDriver::compileProgram(Module *M, std::string *Error) const { // Emit the program to a bitcode file... SmallString<128> BitcodeFile; int BitcodeFD; - error_code EC = sys::fs::unique_file( + error_code EC = sys::fs::createUniqueFile( OutputPrefix + "-test-program-%%%%%%%.bc", BitcodeFD, BitcodeFile); if (EC) { errs() << ToolName << ": Error making unique filename: " << EC.message() @@ -306,7 +306,7 @@ std::string BugDriver::executeProgram(const Module *Program, // Emit the program to a bitcode file... SmallString<128> UniqueFilename; int UniqueFD; - error_code EC = sys::fs::unique_file( + error_code EC = sys::fs::createUniqueFile( OutputPrefix + "-test-program-%%%%%%%.bc", UniqueFD, UniqueFilename); if (EC) { errs() << ToolName << ": Error making unique filename: " @@ -332,7 +332,7 @@ std::string BugDriver::executeProgram(const Module *Program, // Check to see if this is a valid output filename... SmallString<128> UniqueFile; - error_code EC = sys::fs::unique_file(OutputFile, UniqueFile); + error_code EC = sys::fs::createUniqueFile(OutputFile, UniqueFile); if (EC) { errs() << ToolName << ": Error making unique filename: " << EC.message() << "\n"; diff --git a/tools/bugpoint/ExtractFunction.cpp b/tools/bugpoint/ExtractFunction.cpp index d50f49b2db..2098928b5c 100644 --- a/tools/bugpoint/ExtractFunction.cpp +++ b/tools/bugpoint/ExtractFunction.cpp @@ -365,8 +365,8 @@ Module *BugDriver::ExtractMappedBlocksFromModule(const Module *M) { SmallString<128> Filename; int FD; - error_code EC = sys::fs::unique_file(OutputPrefix + "-extractblocks%%%%%%%", - FD, Filename); + error_code EC = sys::fs::createUniqueFile( + OutputPrefix + "-extractblocks%%%%%%%", FD, Filename); if (EC) { outs() << "*** Basic Block extraction failed!\n"; errs() << "Error creating temporary file: " << EC.message() << "\n"; diff --git a/tools/bugpoint/OptimizerDriver.cpp b/tools/bugpoint/OptimizerDriver.cpp index 43f2d3318a..36d536ab89 100644 --- a/tools/bugpoint/OptimizerDriver.cpp +++ b/tools/bugpoint/OptimizerDriver.cpp @@ -124,8 +124,8 @@ bool BugDriver::runPasses(Module *Program, // setup the output file name outs().flush(); SmallString<128> UniqueFilename; - error_code EC = - sys::fs::unique_file(OutputPrefix + "-output-%%%%%%%.bc", UniqueFilename); + error_code EC = sys::fs::createUniqueFile( + OutputPrefix + "-output-%%%%%%%.bc", UniqueFilename); if (EC) { errs() << getToolName() << ": Error making unique filename: " << EC.message() << "\n"; @@ -136,8 +136,8 @@ bool BugDriver::runPasses(Module *Program, // set up the input file name SmallString<128> InputFilename; int InputFD; - EC = sys::fs::unique_file(OutputPrefix + "-input-%%%%%%%.bc", InputFD, - InputFilename); + EC = sys::fs::createUniqueFile(OutputPrefix + "-input-%%%%%%%.bc", InputFD, + InputFilename); if (EC) { errs() << getToolName() << ": Error making unique filename: " << EC.message() << "\n"; diff --git a/tools/bugpoint/ToolRunner.cpp b/tools/bugpoint/ToolRunner.cpp index bec00364d7..107d0dbaeb 100644 --- a/tools/bugpoint/ToolRunner.cpp +++ b/tools/bugpoint/ToolRunner.cpp @@ -478,7 +478,7 @@ GCC::FileType LLC::OutputCode(const std::string &Bitcode, SmallString<128> UniqueFile; error_code EC = - sys::fs::unique_file(Bitcode + "-%%%%%%%" + Suffix, UniqueFile); + sys::fs::createUniqueFile(Bitcode + "-%%%%%%%" + Suffix, UniqueFile); if (EC) { errs() << "Error making unique filename: " << EC.message() << "\n"; exit(1); @@ -715,7 +715,7 @@ int GCC::ExecuteProgram(const std::string &ProgramFile, SmallString<128> OutputBinary; error_code EC = - sys::fs::unique_file(ProgramFile+ "-%%%%%%%.gcc.exe", OutputBinary); + sys::fs::createUniqueFile(ProgramFile + "-%%%%%%%.gcc.exe", OutputBinary); if (EC) { errs() << "Error making unique filename: " << EC.message() << "\n"; exit(1); @@ -824,8 +824,8 @@ int GCC::MakeSharedObject(const std::string &InputFile, FileType fileType, const std::vector<std::string> &ArgsForGCC, std::string &Error) { SmallString<128> UniqueFilename; - error_code EC = sys::fs::unique_file(InputFile + "-%%%%%%%" + LTDL_SHLIB_EXT, - UniqueFilename); + error_code EC = sys::fs::createUniqueFile( + InputFile + "-%%%%%%%" + LTDL_SHLIB_EXT, UniqueFilename); if (EC) { errs() << "Error making unique filename: " << EC.message() << "\n"; exit(1); |