From: Daniel Dunbar Date: Mon, 20 Apr 2009 20:28:21 +0000 (+0000) Subject: Also look at the TEMP environment variable as a place to put temporary X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b03417fdc42ae19d2deb2ee1e5d2c3e9896a2a04;p=clang Also look at the TEMP environment variable as a place to put temporary files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69622 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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;