diff options
Diffstat (limited to 'clang-3.1-cygwin-includes.patch')
-rw-r--r-- | clang-3.1-cygwin-includes.patch | 56 |
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) |