summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorBryan Chan <bryan.chan@ca.ibm.com>2016-06-17 16:47:14 +0000
committerBryan Chan <bryan.chan@ca.ibm.com>2016-06-17 16:47:14 +0000
commitd346ae6ee6ae07a26d7a85ad2ddf2ef5ce719d56 (patch)
tree9a1d5ce7e1761d287870e035873d231b3b56b085 /clang/lib
parent216d8cf7201857ba08e50c3a9e8ac452c3f565b9 (diff)
downloadbcm5719-llvm-d346ae6ee6ae07a26d7a85ad2ddf2ef5ce719d56.tar.gz
bcm5719-llvm-d346ae6ee6ae07a26d7a85ad2ddf2ef5ce719d56.zip
[Driver] Adapt Linux::GCCVersion::Parse to match GCC 5 installations
Summary: Some GCC 5 installations store the libstdc++ includes and GCC-specific files in paths without the minor part of the version number, such as /usr/include/c++/5 /usr/lib64/gcc/x86_64-suse-linux/5 Reviewers: cfe-commits, thiagomacieira, jroelofs Subscribers: tinti, jroelofs Differential Revision: http://reviews.llvm.org/D14727 llvm-svn: 273012
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Driver/ToolChains.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp
index 936fd8fe89e..286b64d9df4 100644
--- a/clang/lib/Driver/ToolChains.cpp
+++ b/clang/lib/Driver/ToolChains.cpp
@@ -1298,6 +1298,8 @@ Generic_GCC::GCCVersion Linux::GCCVersion::Parse(StringRef VersionText) {
if (First.first.getAsInteger(10, GoodVersion.Major) || GoodVersion.Major < 0)
return BadVersion;
GoodVersion.MajorStr = First.first.str();
+ if (First.second.empty())
+ return GoodVersion;
if (Second.first.getAsInteger(10, GoodVersion.Minor) || GoodVersion.Minor < 0)
return BadVersion;
GoodVersion.MinorStr = Second.first.str();
@@ -1305,6 +1307,7 @@ Generic_GCC::GCCVersion Linux::GCCVersion::Parse(StringRef VersionText) {
// 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
// unspecified. This covers versions strings such as:
+ // 5 (handled above)
// 4.4
// 4.4.0
// 4.4.x
OpenPOWER on IntegriCloud