summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Driver.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-04-20 20:28:21 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-04-20 20:28:21 +0000
commitc35694da210325d3f5902dbedfdc2599dbf13077 (patch)
treeab480392f3e8fbec9c2cf1999416e9b7e2067c55 /clang/lib/Driver/Driver.cpp
parente3f5cfc0b8d47bce57084d3061a09a6228d624ab (diff)
downloadbcm5719-llvm-c35694da210325d3f5902dbedfdc2599dbf13077.tar.gz
bcm5719-llvm-c35694da210325d3f5902dbedfdc2599dbf13077.zip
Also look at the TEMP environment variable as a place to put temporary
files. llvm-svn: 69622
Diffstat (limited to 'clang/lib/Driver/Driver.cpp')
-rw-r--r--clang/lib/Driver/Driver.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index 5a2c8f6027b..f0eadf7962d 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -1110,11 +1110,12 @@ std::string Driver::GetTemporaryPath(const char *Suffix) const {
// FIXME: This is lame; sys::Path should provide this function (in
// particular, it should know how to find the temporary files dir).
std::string Error;
- llvm::sys::Path P;
- if (const char *TmpDir = ::getenv("TMPDIR"))
- P = TmpDir;
- else
- P = "/tmp";
+ const char *TmpDir = ::getenv("TMPDIR");
+ if (!TmpDir)
+ TmpDir = ::getenv("TEMP");
+ if (!TmpDir)
+ TmpDir = "/tmp";
+ llvm::sys::Path P(TmpDir);
P.appendComponent("cc");
if (P.makeUnique(false, &Error)) {
Diag(clang::diag::err_drv_unable_to_make_temp) << Error;
OpenPOWER on IntegriCloud