Fix incorrectly finding 'executable' directories instead of files.
authorManuel Klimek <klimek@google.com>
Mon, 17 Jun 2013 10:48:34 +0000 (10:48 +0000)
committerManuel Klimek <klimek@google.com>
Mon, 17 Jun 2013 10:48:34 +0000 (10:48 +0000)
commitb30614a1dea947246a06f74c8b56d7cda4885aec
treeb00b1c84b77537e4c8260735f1b193935051b4a8
parent7338de37a802970857079b5a532c5dd50d0a6d5d
Fix incorrectly finding 'executable' directories instead of files.

This broke for example the 'not' utility, if a directory called
'FileCheck' is executable and in the path before the actual 'FileCheck'.

This patch steals the implementation of the "old" PathV1 canExecute
implementation:
- checks for R_OK (file readable): this is necessary for executing
  scripts; we should not regress here unless we have good reasons
- checks for S_ISREG; if we want to get rid of this, we'd need to
  change all callers who already made the assumption when depending
  on Path V1.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184074 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Support/Unix/PathV2.inc