]> granicus.if.org Git - clang/commitdiff
Add multi-arch include support for Ubuntu 11.11 with gcc 4.6.0.
authorEric Christopher <echristo@apple.com>
Fri, 3 Jun 2011 13:06:30 +0000 (13:06 +0000)
committerEric Christopher <echristo@apple.com>
Fri, 3 Jun 2011 13:06:30 +0000 (13:06 +0000)
Patch by Tobias Hunger!

Fixes PR10008

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132541 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Frontend/InitHeaderSearch.cpp

index 9bdb13a944b5904abae25a79d11077dd73584ffc..260d567af090f6492827c381c280de3a2aa6b0d6 100644 (file)
@@ -559,6 +559,18 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple,
     AddPath("/mingw/include", System, true, false, false);
     AddPath("c:/mingw/include", System, true, false, false);
     break;
+  case llvm::Triple::Linux:
+    // Generic Debian multiarch support:
+    if (triple.getArch() == llvm::Triple::x86_64) {
+      AddPath("/usr/include/x86_64-linux-gnu", System, false, false, false);
+      AddPath("/usr/include/i686-linux-gnu/64", System, false, false, false);
+      AddPath("/usr/include/i486-linux-gnu/64", System, false, false, false);
+    } else {
+      AddPath("/usr/include/x86_64-linux-gnu/32", System, false, false, false);
+      AddPath("/usr/include/i686-linux-gnu", System, false, false, false);
+      AddPath("/usr/include/i486-linux-gnu", System, false, false, false);
+    }
+    AddPath("/usr/include/arm-linux-gnueabi", System, false, false, false);
   default:
     break;
   }
@@ -651,6 +663,17 @@ AddDefaultCPlusPlusIncludePaths(const llvm::Triple &triple) {
     // Debian based distros.
     // Note: these distros symlink /usr/include/c++/X.Y.Z -> X.Y
     //===------------------------------------------------------------------===//
+
+    // Ubuntu 11.11 "Oneiric Ocelot" -- gcc-4.6.0
+    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.6",
+                                "x86_64-linux-gnu", "32", "", triple);
+    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.6",
+                                "i686-linux-gnu", "", "64", triple);
+    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.6",
+                                "i486-linux-gnu", "", "64", triple);
+    AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.6",
+                                "arm-linux-gnueabi", "", "", triple);
+
     // Ubuntu 11.04 "Natty Narwhal" -- gcc-4.5.2
     AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.5",
                                 "x86_64-linux-gnu", "32", "", triple);