]> granicus.if.org Git - clang/commitdiff
Also look at the TEMP environment variable as a place to put temporary
authorDaniel Dunbar <daniel@zuster.org>
Mon, 20 Apr 2009 20:28:21 +0000 (20:28 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Mon, 20 Apr 2009 20:28:21 +0000 (20:28 +0000)
files.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69622 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/Driver.cpp

index 5a2c8f6027b58e5f50cab9fc50ebc14e7e6a7736..f0eadf7962d41f1de0ad0470a1ba97b56683488e 100644 (file)
@@ -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;