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
Differential D14727
[Driver] Adapt Linux::GCCVersion::Parse to match GCC 5 installations bryanpkc on Nov 16 2015, 1:31 PM. Authored by
Details Some GCC 5 installations store the libstdc++ includes and GCC-specific files in paths without /usr/include/c++/5 /usr/lib64/gcc/x86_64-suse-linux/5
Diff Detail Event TimelineComment Actions hHave a look at the svn-blame for this file, then find other commits which changed this part of the file, and see where those commits added tests. Comment Actions I'm getting a couple of test failures from this patch: Clang :: Driver/linux-header-search.cpp Clang :: Driver/solaris-header-search.cpp For the latter of the two, the driver picks: test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/.8/include/c++/4.8.2/sparc-sun-solaris2.11 as the -internal-isystem directory, which doesn't exist. It should be finding: test/Driver/Inputs/sparc-sun-solaris2.11/usr/gcc/4.8.2/include/c++/4.8.2/sparc-sun-solaris2.11 I think it might be because GoodVersion.MajorStr is no longer set. Comment Actions Ah, I see a comment. Sorry about that. I'll see if I can fix it, but I had no failures when I tried... Comment Actions Fixed the code to set GoodVersion.MajorStr before returning, and removed an unnecessary file (test/Driver/Inputs/gcc_version_parsing5/lib/gcc/i386-unknown-linux/4.9.2/crtbegin.o). Comment Actions That file is not unnecessary... The test is to make sure that if there are multiple versions installed in the same spot, that the latest one is picked up. Comment Actions Re-added test/Driver/Inputs/gcc_version_parsing5/lib/gcc/i386-unknown-linux/4.9.2/crtbegin.o. |