diff options
author | Eric Christopher <echristo@apple.com> | 2011-06-03 13:06:30 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2011-06-03 13:06:30 +0000 |
commit | 43a517c7ac61890a5453ead3e4102caa7339e697 (patch) | |
tree | 44fcafc16198f1f62bec785feef720e4185d00f2 /clang/lib/Frontend/InitHeaderSearch.cpp | |
parent | 38bcb72ee0f9150d89e0fd96962e5cc5356fcf4e (diff) | |
download | bcm5719-llvm-43a517c7ac61890a5453ead3e4102caa7339e697.tar.gz bcm5719-llvm-43a517c7ac61890a5453ead3e4102caa7339e697.zip |
Add multi-arch include support for Ubuntu 11.11 with gcc 4.6.0.
Patch by Tobias Hunger!
Fixes PR10008
llvm-svn: 132541
Diffstat (limited to 'clang/lib/Frontend/InitHeaderSearch.cpp')
-rw-r--r-- | clang/lib/Frontend/InitHeaderSearch.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/clang/lib/Frontend/InitHeaderSearch.cpp b/clang/lib/Frontend/InitHeaderSearch.cpp index 9bdb13a944b..260d567af09 100644 --- a/clang/lib/Frontend/InitHeaderSearch.cpp +++ b/clang/lib/Frontend/InitHeaderSearch.cpp @@ -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); |