--- origsrc/llvm-3.5.1.src/tools/clang/lib/Frontend/InitHeaderSearch.cpp 2014-06-10 16:07:12.000000000 -0500 +++ src/llvm-3.5.1.src/tools/clang/lib/Frontend/InitHeaderSearch.cpp 2015-05-01 00:05:18.171792100 -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; } @@ -395,14 +395,13 @@ AddDefaultCPlusPlusIncludePaths(const ll case llvm::Triple::Win32: switch (triple.getEnvironment()) { default: llvm_unreachable("Include management is handled in the driver."); - case llvm::Triple::Cygnus: - // 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"); + case llvm::Triple::Cygnus: { + std::string arch = triple.getArch() == llvm::Triple::x86_64 ? "x86_64" : "i686"; + 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::GNU: // mingw-w64 C++ include paths (i686-w64-mingw32 and x86_64-w64-mingw32) AddMinGW64CXXPaths(HSOpts.ResourceDir, "4.7.0");