--- origsrc/llvm-3.4.2.src/tools/clang/lib/Frontend/InitHeaderSearch.cpp 2013-11-15 12:07:59.000000000 -0600 +++ src/llvm-3.4.2.src/tools/clang/lib/Frontend/InitHeaderSearch.cpp 2014-07-21 20:42:37.374887800 -0500 @@ -200,11 +200,11 @@ void InitHeaderSearch::AddGnuCPlusPlusIn void InitHeaderSearch::AddMinGWCPlusPlusIncludePaths(StringRef Base, StringRef Arch, StringRef Version) { - AddPath(Base + "/" + Arch + "/" + Version + "/include/c++", + AddUnmappedPath(Base + "/" + Arch + "/" + Version + "/include/c++", CXXSystem, false); - AddPath(Base + "/" + Arch + "/" + Version + "/include/c++/" + Arch, + AddUnmappedPath(Base + "/" + Arch + "/" + Version + "/include/c++/" + Arch, CXXSystem, false); - AddPath(Base + "/" + Arch + "/" + Version + "/include/c++/backward", + AddUnmappedPath(Base + "/" + Arch + "/" + Version + "/include/c++/backward", CXXSystem, false); } @@ -262,7 +262,7 @@ void InitHeaderSearch::AddDefaultCInclud for (SmallVectorImpl::iterator i = dirs.begin(); i != dirs.end(); ++i) - AddPath(*i, ExternCSystem, false); + AddUnmappedPath(*i, ExternCSystem, false); return; } @@ -385,14 +385,14 @@ AddDefaultCPlusPlusIncludePaths(const ll case llvm::Triple::Win32: llvm_unreachable("Include management is handled in the driver."); - case llvm::Triple::Cygwin: + case llvm::Triple::Cygwin: { + std::string arch = triple.getArch() == llvm::Triple::x86_64 ? "x86_64" : "i686"; // Cygwin-1.7 - AddMinGWCPlusPlusIncludePaths("/usr/lib/gcc", "i686-pc-cygwin", "4.7.3"); - 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"); + AddMinGWCPlusPlusIncludePaths("/usr/lib/gcc", arch + "-pc-cygwin", "4.9.3"); + AddMinGWCPlusPlusIncludePaths("/usr/lib/gcc", arch + "-pc-cygwin", "4.9.2"); + AddMinGWCPlusPlusIncludePaths("/usr/lib/gcc", arch + "-pc-cygwin", "4.8.3"); break; + } case llvm::Triple::MinGW32: // mingw-w64 C++ include paths (i686-w64-mingw32 and x86_64-w64-mingw32) AddMinGW64CXXPaths(HSOpts.ResourceDir, "4.5.0");