diff options
author | Mike Stump <mrs@apple.com> | 2009-03-27 00:40:20 +0000 |
---|---|---|
committer | Mike Stump <mrs@apple.com> | 2009-03-27 00:40:20 +0000 |
commit | db65737b1c6f7a78560347967e7aa9faecff6092 (patch) | |
tree | 922c0ce6965779057aa92e8101fb1063d03ae7c6 /clang/lib/Driver/Driver.cpp | |
parent | f53c47ecc26cb88c16678e84f2cf764f1d82e9dc (diff) | |
download | bcm5719-llvm-db65737b1c6f7a78560347967e7aa9faecff6092.tar.gz bcm5719-llvm-db65737b1c6f7a78560347967e7aa9faecff6092.zip |
Fix searching for gcc, we only want executable files.
llvm-svn: 67806
Diffstat (limited to 'clang/lib/Driver/Driver.cpp')
-rw-r--r-- | clang/lib/Driver/Driver.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 6202702f097..16e7e85ea8b 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -294,7 +294,7 @@ bool Driver::HandleImmediateArgs(const Compilation &C) { } if (C.getArgs().hasArg(options::OPT_print_libgcc_file_name)) { - llvm::outs() << GetProgramPath("libgcc.a", TC).toString() << "\n"; + llvm::outs() << GetProgramPath("libgcc.a", TC, true).toString() << "\n"; return false; } @@ -925,13 +925,14 @@ llvm::sys::Path Driver::GetFilePath(const char *Name, } llvm::sys::Path Driver::GetProgramPath(const char *Name, - const ToolChain &TC) const { + const ToolChain &TC, + bool WantFile) const { const ToolChain::path_list &List = TC.getProgramPaths(); for (ToolChain::path_list::const_iterator it = List.begin(), ie = List.end(); it != ie; ++it) { llvm::sys::Path P(*it); P.appendComponent(Name); - if (P.exists()) + if (WantFile ? P.exists() : P.canExecute()) return P; } |