API change Path::isSpecialFile to Path::isRegularFile, improve semantics in regards to comments from 89765 post review.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89848 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/System/Path.h b/include/llvm/System/Path.h
index 04dba1d..7edd5c0 100644
--- a/include/llvm/System/Path.h
+++ b/include/llvm/System/Path.h
@@ -380,10 +380,12 @@
       /// in the file system.
       bool canWrite() const;
 
-      /// This function checks that what we're trying to work only on a regular file or directory.
-      /// Check for things like /dev/null, any block special file,
+      /// This function checks that what we're trying to work only on a regular file
+      /// or directory. Check for things like /dev/null, any block special file,
       /// or other things that aren't "regular" regular files or directories.
-      bool isSpecialFile() const;
+      /// @returns true if the file is S_ISREG.
+      /// @brief Determines if the file is a regular file
+      bool isRegularFile() const;
 
       /// This function determines if the path name references an executable
       /// file in the file system. This function checks for the existence and
diff --git a/lib/System/Unix/Path.inc b/lib/System/Unix/Path.inc
index 8dd76a7..4300d67 100644
--- a/lib/System/Unix/Path.inc
+++ b/lib/System/Unix/Path.inc
@@ -454,17 +454,17 @@
 }
 
 bool
-Path::isSpecialFile() const {
+Path::isRegularFile() const {
   // Get the status so we can determine if its a file or directory
   struct stat buf;
 
   if (0 != stat(path.c_str(), &buf))
-    return true;
-
-  if (S_ISDIR(buf.st_mode) || S_ISREG(buf.st_mode))
     return false;
 
-  return true;
+  if (S_ISREG(buf.st_mode))
+    return true;
+
+  return false;
 }
 
 bool
diff --git a/lib/System/Win32/Path.inc b/lib/System/Win32/Path.inc
index 9adeca2..634fbc7 100644
--- a/lib/System/Win32/Path.inc
+++ b/lib/System/Win32/Path.inc
@@ -358,8 +358,10 @@
 }
 
 bool
-Path::isSpecialFile() const {
-  return false;
+Path::isRegularFile() const {
+  if (isDirectory())
+    return false;
+  return true;
 }
 
 std::string