summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel/llvm/files/clang-3.3-gcc-header-path.patch')
-rw-r--r--sys-devel/llvm/files/clang-3.3-gcc-header-path.patch90
1 files changed, 0 insertions, 90 deletions
diff --git a/sys-devel/llvm/files/clang-3.3-gcc-header-path.patch b/sys-devel/llvm/files/clang-3.3-gcc-header-path.patch
deleted file mode 100644
index dc9a4f7bb79..00000000000
--- a/sys-devel/llvm/files/clang-3.3-gcc-header-path.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-Backport handling of 'g++-vX.Y' header location.
-
-Fixes: https://bugs.gentoo.org/show_bug.cgi?id=487584
----
- tools/clang/lib/Driver/ToolChains.cpp | 20 ++++++++++++--------
- tools/clang/lib/Driver/ToolChains.h | 3 +++
- 2 files changed, 15 insertions(+), 8 deletions(-)
-
-diff --git a/tools/clang/lib/Driver/ToolChains.cpp b/tools/clang/lib/Driver/ToolChains.cpp
-index 7c9e9c0..e38d42d 100644
---- a/tools/clang/lib/Driver/ToolChains.cpp
-+++ b/tools/clang/lib/Driver/ToolChains.cpp
-@@ -917,17 +917,19 @@ Darwin_Generic_GCC::ComputeEffectiveClangTriple(const ArgList &Args,
- /// This is the primary means of forming GCCVersion objects.
- /*static*/
- Generic_GCC::GCCVersion Linux::GCCVersion::Parse(StringRef VersionText) {
-- const GCCVersion BadVersion = { VersionText.str(), -1, -1, -1, "" };
-+ const GCCVersion BadVersion = { VersionText.str(), -1, -1, -1, "", "", "" };
- std::pair<StringRef, StringRef> First = VersionText.split('.');
- std::pair<StringRef, StringRef> Second = First.second.split('.');
-
-- GCCVersion GoodVersion = { VersionText.str(), -1, -1, -1, "" };
-+ GCCVersion GoodVersion = { VersionText.str(), -1, -1, -1, "", "", "" };
- if (First.first.getAsInteger(10, GoodVersion.Major) ||
- GoodVersion.Major < 0)
- return BadVersion;
-+ GoodVersion.MajorStr = First.first.str();
- if (Second.first.getAsInteger(10, GoodVersion.Minor) ||
- GoodVersion.Minor < 0)
- return BadVersion;
-+ GoodVersion.MinorStr = Second.first.str();
-
- // First look for a number prefix and parse that if present. Otherwise just
- // stash the entire patch string in the suffix, and leave the number
-@@ -945,7 +947,7 @@ Generic_GCC::GCCVersion Linux::GCCVersion::Parse(StringRef VersionText) {
- if (PatchText.slice(0, EndNumber).getAsInteger(10, GoodVersion.Patch) ||
- GoodVersion.Patch < 0)
- return BadVersion;
-- GoodVersion.PatchSuffix = PatchText.substr(EndNumber).str();
-+ GoodVersion.PatchSuffix = PatchText.substr(EndNumber);
- }
- }
-
-@@ -2590,11 +2592,11 @@ void Linux::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
- // equivalent to '/usr/include/c++/X.Y' in almost all cases.
- StringRef LibDir = GCCInstallation.getParentLibPath();
- StringRef InstallDir = GCCInstallation.getInstallPath();
-- StringRef Version = GCCInstallation.getVersion().Text;
- StringRef TripleStr = GCCInstallation.getTriple().str();
-+ const GCCVersion &Version = GCCInstallation.getVersion();
-
- if (addLibStdCXXIncludePaths(LibDir.str() + "/../include",
-- "/c++/" + Version.str(),
-+ "/c++/" + Version.Text,
- TripleStr,
- GCCInstallation.getMultiarchSuffix(),
- DriverArgs, CC1Args))
-@@ -2602,10 +2604,12 @@ void Linux::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
-
- const std::string IncludePathCandidates[] = {
- // Gentoo is weird and places its headers inside the GCC install, so if the
-- // first attempt to find the headers fails, try this pattern.
-- InstallDir.str() + "/include/g++-v4",
-+ // first attempt to find the headers fails, try these patterns.
-+ InstallDir.str() + "/include/g++-v" + Version.MajorStr + "." +
-+ Version.MinorStr,
-+ InstallDir.str() + "/include/g++-v" + Version.MajorStr,
- // Android standalone toolchain has C++ headers in yet another place.
-- LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" + Version.str(),
-+ LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" + Version.Text,
- // Freescale SDK C++ headers are directly in <sysroot>/usr/include/c++,
- // without a subdirectory corresponding to the gcc version.
- LibDir.str() + "/../include/c++",
-diff --git a/tools/clang/lib/Driver/ToolChains.h b/tools/clang/lib/Driver/ToolChains.h
-index 3afd8dd..04cf467 100644
---- a/tools/clang/lib/Driver/ToolChains.h
-+++ b/tools/clang/lib/Driver/ToolChains.h
-@@ -48,6 +48,9 @@ protected:
- /// \brief The parsed major, minor, and patch numbers.
- int Major, Minor, Patch;
-
-+ /// \brief The text of the parsed major, and major+minor versions.
-+ std::string MajorStr, MinorStr;
-+
- /// \brief Any textual suffix on the patch number.
- std::string PatchSuffix;
-
---
-1.8.3.2
-