diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2011-10-04 21:22:33 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2011-10-04 21:22:33 +0000 |
commit | 6d9694cf46af57a28b371bd964b7f6bcafd7d961 (patch) | |
tree | 8b1f5de72b5f4bdc71862d567a3d8ea49377a817 /lib/Driver/Tools.cpp | |
parent | 53201a86f775c064b62ec25742106c7b43ba8749 (diff) |
Rework the search for a GCC installation still further. This combines
two fundamental changes, as they ended up being interrelated.
The first is to walk from the root down through the filesystem so that
we prune subtrees which do not exist early. This greatly reduces the
filesystem traffic of this routine. We store the "best" GCC version we
encounter, and look at all of the GCC installations available.
Also, we look through GCC versions by scanning the directory rather than
using a hard-coded list of versions. This has several benefits. It makes
it much more efficient to locate a GCC installation even in the presence
of a large number of different options by simply reading the directory
once. It also future-proofs us as new GCC versions are released and
installed. We no longer have a hard coded list of version numbers, and
won't need to manually updated it. We can still filter out known-bad
versions as needed. Currently I've left in filtering for all GCC
installations prior to 4.1.1, as that was the first one supported
previously.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141120 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/Tools.cpp')
0 files changed, 0 insertions, 0 deletions