diff options
| author | Mikhail Glushenkov <foldr@codedgers.com> | 2009-06-25 18:20:10 +0000 |
|---|---|---|
| committer | Mikhail Glushenkov <foldr@codedgers.com> | 2009-06-25 18:20:10 +0000 |
| commit | 674207eed20d00e8666c85555981e7abff8d1c49 (patch) | |
| tree | 402dcc009a5ef2cdadaf0a9bcd3d72e9754f2969 /llvm/lib/CompilerDriver/Tool.cpp | |
| parent | 3f76e6f83501963eec7491d4cb08c076e16c941c (diff) | |
| download | bcm5719-llvm-674207eed20d00e8666c85555981e7abff8d1c49.tar.gz bcm5719-llvm-674207eed20d00e8666c85555981e7abff8d1c49.zip | |
Make -save-temps behave like in GCC 4.5.
The -save-temps option now behaves like described in GCC 4.5 release notes
(you can specify output directory for temporary files with -save-temps=obj
-o $DIRNAME). I do not have GCC 4.5 installed, so if there are any
inconsistencies between llvmc and GCC in the implementation of this
feature, please let me know.
llvm-svn: 74190
Diffstat (limited to 'llvm/lib/CompilerDriver/Tool.cpp')
| -rw-r--r-- | llvm/lib/CompilerDriver/Tool.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/llvm/lib/CompilerDriver/Tool.cpp b/llvm/lib/CompilerDriver/Tool.cpp index 886b26b5d71..e704dd9544f 100644 --- a/llvm/lib/CompilerDriver/Tool.cpp +++ b/llvm/lib/CompilerDriver/Tool.cpp @@ -11,16 +11,14 @@ // //===----------------------------------------------------------------------===// +#include "llvm/CompilerDriver/BuiltinOptions.h" #include "llvm/CompilerDriver/Tool.h" #include "llvm/System/Path.h" -#include "llvm/Support/CommandLine.h" using namespace llvm; using namespace llvmc; -extern cl::opt<std::string> OutputFilename; - namespace { sys::Path MakeTempFile(const sys::Path& TempDir, const std::string& BaseName, const std::string& Suffix) { @@ -39,7 +37,7 @@ namespace { // NOTE: makeUnique always *creates* a unique temporary file, // which is good, since there will be no races. However, some // tools do not like it when the output file already exists, so - // they have to be placated with -f or something like that. + // they need to be placated with -f or something like that. Out.makeUnique(true, NULL); return Out; } @@ -52,7 +50,7 @@ sys::Path Tool::OutFilename(const sys::Path& In, sys::Path Out; if (StopCompilation) { - if (!OutputFilename.empty()) { + if (!OutputFilename.empty() && SaveTemps != SaveTempsEnum::Obj ) { Out.set(OutputFilename); } else if (IsJoin()) { |

