diff options
Diffstat (limited to 'lib/Driver/Driver.cpp')
-rw-r--r-- | lib/Driver/Driver.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp index 5a2c8f6027..f0eadf7962 100644 --- a/lib/Driver/Driver.cpp +++ b/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; |