From 607c21be93ef467d9f88a831a84b829c99e6ee1a Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Fri, 22 May 2015 13:34:27 +0300 Subject: clang from gentoo repo --- .../clang-3.0-linux-runtime-gcc-detection.patch | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 sys-devel/clang/files/clang-3.0-linux-runtime-gcc-detection.patch (limited to 'sys-devel/clang/files/clang-3.0-linux-runtime-gcc-detection.patch') diff --git a/sys-devel/clang/files/clang-3.0-linux-runtime-gcc-detection.patch b/sys-devel/clang/files/clang-3.0-linux-runtime-gcc-detection.patch new file mode 100644 index 0000000..a1f7ce2 --- /dev/null +++ b/sys-devel/clang/files/clang-3.0-linux-runtime-gcc-detection.patch @@ -0,0 +1,43 @@ +diff -upNr a/llvm-3.0.src/tools/clang/lib/Driver/ToolChains.cpp b/llvm-3.0.src/tools/clang/lib/Driver/ToolChains.cpp +--- a/llvm-3.0.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-23 15:39:01.070411000 -0400 ++++ b/llvm-3.0.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-23 15:39:22.371785000 -0400 +@@ -1382,6 +1382,7 @@ enum LinuxDistro { + DebianSqueeze, + DebianWheezy, + Exherbo, ++ Gentoo, + RHEL4, + RHEL5, + RHEL6, +@@ -1403,6 +1404,10 @@ enum LinuxDistro { + UnknownDistro + }; + ++static bool IsGentoo(enum LinuxDistro Distro) { ++ return Distro == Gentoo; ++} ++ + static bool IsRedhat(enum LinuxDistro Distro) { + return Distro == Fedora13 || Distro == Fedora14 || + Distro == Fedora15 || Distro == FedoraRawhide || +@@ -1433,7 +1438,9 @@ static LinuxDistro DetectLinuxDistro(llv + SmallVector Lines; + Data.split(Lines, "\n"); + for (unsigned int i = 0, s = Lines.size(); i < s; ++ i) { +- if (Lines[i] == "DISTRIB_CODENAME=hardy") ++ if (Lines[i] == "DISTRIB_ID=\"Gentoo\"") ++ return Gentoo; ++ else if (Lines[i] == "DISTRIB_CODENAME=hardy") + return UbuntuHardy; + else if (Lines[i] == "DISTRIB_CODENAME=intrepid") + return UbuntuIntrepid; +@@ -1597,6 +1604,9 @@ Linux::GCCInstallationDetector::GCCInsta + GccInstallPath.append("/"); + GccInstallPath.append(CXX_INCLUDE_ARCH); + GccInstallPath.append("/"); ++ llvm::OwningPtr File; ++ if (!llvm::MemoryBuffer::getFile("/etc/env.d/gcc/config-" + D.DefaultHostTriple, File)) ++ Version = File.get()->getBuffer().rsplit('-').second.substr(0,5); + GccInstallPath.append(Version); + GccParentLibPath = GccInstallPath + "/../../.."; + IsValid = true; -- cgit v1.2.3