aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2011-10-04 21:22:33 +0000
committerChandler Carruth <chandlerc@gmail.com>2011-10-04 21:22:33 +0000
commit6d9694cf46af57a28b371bd964b7f6bcafd7d961 (patch)
tree8b1f5de72b5f4bdc71862d567a3d8ea49377a817 /lib/Driver/Tools.cpp
parent53201a86f775c064b62ec25742106c7b43ba8749 (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