[cfe-commits] r113695 - in /cfe/trunk: lib/Frontend/ASTUnit.cpp test/SemaTemplate/default-expr-arguments-2.cpp

Douglas Gregor dgregor at apple.com
Sat Sep 11 10:51:16 PDT 2010


Author: dgregor
Date: Sat Sep 11 12:51:16 2010
New Revision: 113695

URL: http://llvm.org/viewvc/llvm-project?rev=113695&view=rev
Log:
Tweak GetPreamblePCHPath() to more closely match the behavior of the
Windows GetTempPath() function, and be sure to create the directory in
which the precompiled preamble will reside before creating the
temporary file itself.

Modified:
    cfe/trunk/lib/Frontend/ASTUnit.cpp
    cfe/trunk/test/SemaTemplate/default-expr-arguments-2.cpp

Modified: cfe/trunk/lib/Frontend/ASTUnit.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/ASTUnit.cpp?rev=113695&r1=113694&r2=113695&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/ASTUnit.cpp (original)
+++ cfe/trunk/lib/Frontend/ASTUnit.cpp Sat Sep 11 12:51:16 2010
@@ -809,9 +809,14 @@
     TmpDir = ::getenv("TEMP");
   if (!TmpDir)
     TmpDir = ::getenv("TMP");
+#ifdef LLVM_ON_WIN32
+  if (!TmpDir)
+    TmpDir = ::getenv("USERPROFILE");
+#endif
   if (!TmpDir)
     TmpDir = "/tmp";
   llvm::sys::Path P(TmpDir);
+  P.createDirectoryOnDisk(true);
   P.appendComponent("preamble");
   P.appendSuffix("pch");
   if (P.createTemporaryFileOnDisk())

Modified: cfe/trunk/test/SemaTemplate/default-expr-arguments-2.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaTemplate/default-expr-arguments-2.cpp?rev=113695&r1=113694&r2=113695&view=diff
==============================================================================
--- cfe/trunk/test/SemaTemplate/default-expr-arguments-2.cpp (original)
+++ cfe/trunk/test/SemaTemplate/default-expr-arguments-2.cpp Sat Sep 11 12:51:16 2010
@@ -1,7 +1,7 @@
 // RUN: %clang_cc1 -ast-dump %s 2>&1 | FileCheck %s
 
 // This is a wacky test to ensure that we're actually instantiating
-// the default rguments of the constructor when the function type is
+// the default arguments of the constructor when the function type is
 // otherwise non-dependent.
 namespace PR6733 {
   template <class T>





More information about the cfe-commits mailing list