Add convenient helper to get suffix of the file

llvm-svn: 47397
diff --git a/llvm/include/llvm/System/Path.h b/llvm/include/llvm/System/Path.h
index 3ab9e08..db1de77 100644
--- a/llvm/include/llvm/System/Path.h
+++ b/llvm/include/llvm/System/Path.h
@@ -266,6 +266,14 @@
       /// @brief Get the base name of the path
       std::string getBasename() const;
 
+      /// This function strips off the path and basename(up to and
+      /// including the last dot) of the file or directory name and
+      /// returns just the suffix. For example /a/foo.bar would cause
+      /// this function to return "bar".
+      /// @returns std::string containing the suffix of the path
+      /// @brief Get the suffix of the path
+      std::string getSuffix() const;
+
       /// Obtain a 'C' string for the path name.
       /// @returns a 'C' string containing the path name.
       /// @brief Returns the path as a C string.
diff --git a/llvm/lib/System/Path.cpp b/llvm/lib/System/Path.cpp
index 6f0667f..11035cf 100644
--- a/llvm/lib/System/Path.cpp
+++ b/llvm/lib/System/Path.cpp
@@ -172,7 +172,10 @@
   return false;
 }
 
-
+std::string
+Path::getSuffix() const {
+  return path.substr(path.rfind('.') + 1);
+}
 
 // Include the truly platform-specific parts of this class.
 #if defined(LLVM_ON_UNIX)