summaryrefslogtreecommitdiffstats
path: root/clang-3.4.2-cygwin-includes.patch
blob: f3f659ba870e86f33388651f3c8c899709bbe7c7 (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.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<StringRef>::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");