From: Mikhail Glushenkov Date: Tue, 2 Nov 2010 20:47:41 +0000 (+0000) Subject: llvmc: Fix tool finding logic. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=6674b77adab93f5c36517ffa4cbcf9b242eea1e9;p=oota-llvm.git llvmc: Fix tool finding logic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118056 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CompilerDriver/Action.cpp b/lib/CompilerDriver/Action.cpp index 3503bd39db2..54b55d0d42f 100644 --- a/lib/CompilerDriver/Action.cpp +++ b/lib/CompilerDriver/Action.cpp @@ -53,18 +53,18 @@ namespace { #endif } - int ExecuteProgram (const std::string& name, - const StrVector& args) { + int ExecuteProgram (const std::string& name, const StrVector& args) { sys::Path prog(name); - if (!prog.isAbsolute()) + if (!prog.isAbsolute()) { prog = FindExecutable(name, ProgramName, (void *)(intptr_t)&Main); - if (prog.isEmpty()) { - prog = sys::Program::FindProgramByName(name); - if (prog.isEmpty()) { - PrintError("Can't find program '" + name + "'"); - return -1; + if (!prog.canExecute()) { + prog = sys::Program::FindProgramByName(name); + if (prog.isEmpty()) { + PrintError("Can't find program '" + name + "'"); + return -1; + } } } if (!prog.canExecute()) {