summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel/clang/files/clang-3.0-fix_cxx_include_root.patch')
-rw-r--r--sys-devel/clang/files/clang-3.0-fix_cxx_include_root.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/sys-devel/clang/files/clang-3.0-fix_cxx_include_root.patch b/sys-devel/clang/files/clang-3.0-fix_cxx_include_root.patch
new file mode 100644
index 000000000000..e1beff3f1615
--- /dev/null
+++ b/sys-devel/clang/files/clang-3.0-fix_cxx_include_root.patch
@@ -0,0 +1,21 @@
+Bug #387309
+
+--- llvm/tools/clang/lib/Driver/ToolChains.cpp.orig 2011-11-09 23:10:04.000000000 +0100
++++ llvm/tools/clang/lib/Driver/ToolChains.cpp 2011-11-09 23:11:04.000000000 +0100
+@@ -1586,12 +1586,13 @@
+ // This is of the form /foo/bar/include/c++/4.5.2/
+ if (CxxIncludeRoot.back() == '/')
+ llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the /
++ llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the g++-v4
++ llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the include
+ StringRef Version = llvm::sys::path::filename(CxxIncludeRoot);
+ llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the version
+- llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the c++
+- llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the include
++ llvm::sys::path::remove_filename(CxxIncludeRoot); // remove the ARCH
+ GccInstallPath = CxxIncludeRoot.str();
+- GccInstallPath.append("/lib/gcc/");
++ GccInstallPath.append("/");
+ GccInstallPath.append(CXX_INCLUDE_ARCH);
+ GccInstallPath.append("/");
+ GccInstallPath.append(Version);