summaryrefslogtreecommitdiffstats
path: root/llvm/lib/System/Win32/Program.inc
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/System/Win32/Program.inc')
-rw-r--r--llvm/lib/System/Win32/Program.inc6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/System/Win32/Program.inc b/llvm/lib/System/Win32/Program.inc
index b55aa2fa80f..2d6e665377e 100644
--- a/llvm/lib/System/Win32/Program.inc
+++ b/llvm/lib/System/Win32/Program.inc
@@ -67,10 +67,12 @@ Program::FindProgramByName(const std::string& progName) {
Path temp;
if (!temp.set(progName)) // invalid name
return Path();
- if (temp.canExecute()) // already executable as is
+ // Return paths with slashes verbatim.
+ if (progName.find('\\') != std::string::npos ||
+ progName.find('/') != std::string::npos)
return temp;
- // At this point, the file name is valid and its not executable.
+ // At this point, the file name is valid and does not contain slashes.
// Let Windows search for it.
char buffer[MAX_PATH];
char *dummy = NULL;
OpenPOWER on IntegriCloud