]> granicus.if.org Git - clang/commitdiff
Add the Solaris support directory to the header search when using libc++.
authorDavid Chisnall <csdavec@swan.ac.uk>
Fri, 2 Mar 2012 10:49:52 +0000 (10:49 +0000)
committerDavid Chisnall <csdavec@swan.ac.uk>
Fri, 2 Mar 2012 10:49:52 +0000 (10:49 +0000)
Unconditionally define __C99FEATURES__ when using C++ on Solaris.  This is a
(hopefully temporary) work around for libc++ exposing C99-but-not-C++98
features in C++98 mode.

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

lib/Basic/Targets.cpp
lib/Frontend/InitHeaderSearch.cpp

index b6ccce310efaad86cab1157dc7c48ceb50928644..ac8c355707e5d2f80e08c38d8e537fced8903435 100644 (file)
@@ -498,7 +498,7 @@ protected:
       Builder.defineMacro("_XOPEN_SOURCE", "600");
     else
       Builder.defineMacro("_XOPEN_SOURCE", "500");
-    if (Opts.CPlusPlus0x)
+    if (Opts.CPlusPlus)
       Builder.defineMacro("__C99FEATURES__");
     Builder.defineMacro("_LARGEFILE_SOURCE");
     Builder.defineMacro("_LARGEFILE64_SOURCE");
index 4b734c97d93bfd199b980876eec5360ec7575f80..ca9a2ce889955b588f83eccb232bbfd3e4751a7e 100644 (file)
@@ -461,6 +461,11 @@ void InitHeaderSearch::AddDefaultIncludePaths(const LangOptions &Lang,
           AddPath(P.str(), CXXSystem, true, false, false, true);
         }
       }
+      // On Solaris, include the support directory for things like xlocale and
+      // fudged system headers.
+      if (triple.getOS() == llvm::Triple::Solaris) 
+        AddPath("/usr/include/c++/v1/support/solaris", CXXSystem, true, false,
+            false);
       
       AddPath("/usr/include/c++/v1", CXXSystem, true, false, false);
     } else {