summaryrefslogtreecommitdiffstats
path: root/clang-3.1-cygwin-includes.patch
diff options
context:
space:
mode:
Diffstat (limited to 'clang-3.1-cygwin-includes.patch')
-rw-r--r--clang-3.1-cygwin-includes.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/clang-3.1-cygwin-includes.patch b/clang-3.1-cygwin-includes.patch
new file mode 100644
index 0000000..a24ae1e
--- /dev/null
+++ b/clang-3.1-cygwin-includes.patch
@@ -0,0 +1,56 @@
+--- origsrc/llvm-3.1.src/tools/clang/lib/Frontend/InitHeaderSearch.cpp 2012-03-25 17:46:17.000000000 -0500
++++ src/llvm-3.1.src/tools/clang/lib/Frontend/InitHeaderSearch.cpp 2012-07-05 22:02:30.907716300 -0500
+@@ -182,11 +182,11 @@
+ StringRef Arch,
+ StringRef Version) {
+ AddPath(Base + "/" + Arch + "/" + Version + "/include/c++",
+- CXXSystem, true, false, false);
++ CXXSystem, true, false, false, true);
+ AddPath(Base + "/" + Arch + "/" + Version + "/include/c++/" + Arch,
+- CXXSystem, true, false, false);
++ CXXSystem, true, false, false, true);
+ AddPath(Base + "/" + Arch + "/" + Version + "/include/c++/backward",
+- CXXSystem, true, false, false);
++ CXXSystem, true, false, false, true);
+ }
+
+ void InitHeaderSearch::AddMinGW64CXXPaths(StringRef Base,
+@@ -296,7 +296,11 @@ void InitHeaderSearch::AddDefaultCInclud
+ case llvm::Triple::RTEMS:
+ break;
+ case llvm::Triple::Cygwin:
+- AddPath("/usr/include/w32api", System, true, false, false);
++#ifdef __x86_64__
++ AddPath("/usr/lib64/gcc/i686-pc-cygwin/4.5.3/include", System, true, false, false, true);
++#else
++ AddPath("/usr/lib/gcc/i686-pc-cygwin/4.5.3/include", System, true, false, false, true);
++#endif
+ break;
+ case llvm::Triple::MinGW32: {
+ // mingw-w64 crt include paths
+@@ -321,6 +325,10 @@ void InitHeaderSearch::AddDefaultCInclud
+
+ if ( os != llvm::Triple::RTEMS )
+ AddPath("/usr/include", System, false, false, false);
++
++ /* some w32api headers collide (e.g. iODBC/ODBC32, Mesa/OpenGL) */
++ if ( os == llvm::Triple::Cygwin )
++ AddPath("/usr/include/w32api", System, true, false, false);
+ }
+
+ void InitHeaderSearch::
+@@ -368,10 +376,11 @@ AddDefaultCPlusPlusIncludePaths(const ll
+
+ case llvm::Triple::Cygwin:
+ // Cygwin-1.7
++#ifdef __x86_64__
++ AddMinGWCPlusPlusIncludePaths("/usr/lib64/gcc", "i686-pc-cygwin", "4.5.3");
++#else
+ AddMinGWCPlusPlusIncludePaths("/usr/lib/gcc", "i686-pc-cygwin", "4.5.3");
+- AddMinGWCPlusPlusIncludePaths("/usr/lib/gcc", "i686-pc-cygwin", "4.3.4");
+- // g++-4 / Cygwin-1.5
+- AddMinGWCPlusPlusIncludePaths("/usr/lib/gcc", "i686-pc-cygwin", "4.3.2");
++#endif
+ break;
+ case llvm::Triple::MinGW32:
+ // mingw-w64 C++ include paths (i686-w64-mingw32 and x86_64-w64-mingw32)