summaryrefslogtreecommitdiff
path: root/lib/Support/ToolRunner.cpp
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2004-12-15 01:51:56 +0000
committerReid Spencer <rspencer@reidspencer.com>2004-12-15 01:51:56 +0000
commitcda985e1912d6f09a21bc84660dca4c3efdcb939 (patch)
treea1c2f7a5386b16416faf98e3778fa5b4a1f98314 /lib/Support/ToolRunner.cpp
parentc29befb554c025da801737bc86a8215d1dc6038c (diff)
downloadllvm-cda985e1912d6f09a21bc84660dca4c3efdcb939.tar.gz
llvm-cda985e1912d6f09a21bc84660dca4c3efdcb939.tar.bz2
llvm-cda985e1912d6f09a21bc84660dca4c3efdcb939.tar.xz
For PR351:
* Remove #inclusion of FileUtilities.h, not needed any more. * Convert getUniqueFilename -> sys::Pat::makeUnique() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18948 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/ToolRunner.cpp')
-rw-r--r--lib/Support/ToolRunner.cpp25
1 files changed, 17 insertions, 8 deletions
diff --git a/lib/Support/ToolRunner.cpp b/lib/Support/ToolRunner.cpp
index fcf6608f2d..5f6336e672 100644
--- a/lib/Support/ToolRunner.cpp
+++ b/lib/Support/ToolRunner.cpp
@@ -30,7 +30,8 @@ static void ProcessFailure(std::string ProgPath, const char** Args) {
OS << "\n";
// Rerun the compiler, capturing any error messages to print them.
- std::string ErrorFilename = getUniqueFilename("error_messages");
+ sys::Path ErrorFilename("error_messages");
+ ErrorFilename.makeUnique();
RunProgramWithTimeout(ProgPath, Args, "/dev/null", ErrorFilename.c_str(),
ErrorFilename.c_str());
@@ -43,7 +44,7 @@ static void ProcessFailure(std::string ProgPath, const char** Args) {
ErrorFile.close();
}
- removeFile(ErrorFilename);
+ removeFile(ErrorFilename.toString());
throw ToolExecutionError(OS.str());
}
@@ -123,7 +124,9 @@ AbstractInterpreter *AbstractInterpreter::createLLI(const std::string &ProgPath,
// LLC Implementation of AbstractIntepreter interface
//
void LLC::OutputAsm(const std::string &Bytecode, std::string &OutputAsmFile) {
- OutputAsmFile = getUniqueFilename(Bytecode+".llc.s");
+ sys::Path uniqueFile(Bytecode+".llc.s");
+ uniqueFile.makeUnique();
+ OutputAsmFile = uniqueFile.toString();
std::vector<const char *> LLCArgs;
LLCArgs.push_back (LLCPath.c_str());
@@ -265,7 +268,9 @@ AbstractInterpreter *AbstractInterpreter::createJIT(const std::string &ProgPath,
void CBE::OutputC(const std::string &Bytecode,
std::string &OutputCFile) {
- OutputCFile = getUniqueFilename(Bytecode+".cbe.c");
+ sys::Path uniqueFile(Bytecode+".cbe.c");
+ uniqueFile.makeUnique();
+ OutputCFile = uniqueFile.toString();
std::vector<const char *> LLCArgs;
LLCArgs.push_back (LLCPath.c_str());
@@ -361,7 +366,8 @@ int GCC::ExecuteProgram(const std::string &ProgramFile,
}
GCCArgs.push_back(ProgramFile.c_str()); // Specify the input filename...
GCCArgs.push_back("-o");
- std::string OutputBinary = getUniqueFilename(ProgramFile+".gcc.exe");
+ sys::Path OutputBinary (ProgramFile+".gcc.exe");
+ OutputBinary.makeUnique();
GCCArgs.push_back(OutputBinary.c_str()); // Output to the right file...
GCCArgs.push_back("-lm"); // Hard-code the math library...
GCCArgs.push_back("-O2"); // Optimize the program a bit...
@@ -392,14 +398,17 @@ int GCC::ExecuteProgram(const std::string &ProgramFile,
std::cerr << "\n";
);
- FileRemover OutputBinaryRemover(OutputBinary);
- return RunProgramWithTimeout(OutputBinary, &ProgramArgs[0],
+ FileRemover OutputBinaryRemover(OutputBinary.toString());
+ return RunProgramWithTimeout(OutputBinary.toString(), &ProgramArgs[0],
InputFile, OutputFile, OutputFile, Timeout);
}
int GCC::MakeSharedObject(const std::string &InputFile, FileType fileType,
std::string &OutputFile) {
- OutputFile = getUniqueFilename(InputFile+LTDL_SHLIB_EXT);
+ sys::Path uniqueFilename(InputFile+LTDL_SHLIB_EXT);
+ uniqueFilename.makeUnique();
+ OutputFile = uniqueFilename.toString();
+
// Compile the C/asm file into a shared object
const char* GCCArgs[] = {
GCCPath.c_str(),