summaryrefslogtreecommitdiffstats
path: root/clang-3.5.1-cygwin-includes.patch
blob: f1e99e1288b1985ef6a1a5e218585a8bec3f8d54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
--- 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<StringRef>::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");