aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-08-11 23:39:47 +0000
committerChris Lattner <sabre@nondot.org>2008-08-11 23:39:47 +0000
commit0eab5e2efa0741b766f71a75626f7598990d5c3d (patch)
treec0cb35ae4326e9944d4f694189c09d7b02214f97
parentb8cd4d3d4902234f98760fec61f5947a8b7055a4 (diff)
downloadexternal_llvm-0eab5e2efa0741b766f71a75626f7598990d5c3d.zip
external_llvm-0eab5e2efa0741b766f71a75626f7598990d5c3d.tar.gz
external_llvm-0eab5e2efa0741b766f71a75626f7598990d5c3d.tar.bz2
add a helper method to sys::Path for clang, patch by
Kovarththanan Rajaratnam! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54655 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/System/Path.h6
-rw-r--r--lib/System/Unix/Path.inc6
-rw-r--r--lib/System/Win32/Path.inc7
3 files changed, 19 insertions, 0 deletions
diff --git a/include/llvm/System/Path.h b/include/llvm/System/Path.h
index ac0c6cb..d28e11e 100644
--- a/include/llvm/System/Path.h
+++ b/include/llvm/System/Path.h
@@ -202,6 +202,12 @@ namespace sys {
return *this;
}
+ /// Makes a copy of \p that to \p this.
+ /// @param \p that A std::string denoting the path
+ /// @returns \p this
+ /// @brief Assignment Operator
+ Path &operator=(const std::string &that);
+
/// Compares \p this Path with \p that Path for equality.
/// @returns true if \p this and \p that refer to the same thing.
/// @brief Equality Operator
diff --git a/lib/System/Unix/Path.inc b/lib/System/Unix/Path.inc
index 73ccbfb..cdb574f 100644
--- a/lib/System/Unix/Path.inc
+++ b/lib/System/Unix/Path.inc
@@ -81,6 +81,12 @@ Path::Path(const std::string& p)
Path::Path(const char *StrStart, unsigned StrLen)
: path(StrStart, StrLen) {}
+Path&
+Path::operator=(const std::string &that) {
+ path = that;
+ return *this;
+}
+
bool
Path::isValid() const {
// Check some obvious things
diff --git a/lib/System/Win32/Path.inc b/lib/System/Win32/Path.inc
index bb1252c..ff96e33 100644
--- a/lib/System/Win32/Path.inc
+++ b/lib/System/Win32/Path.inc
@@ -56,6 +56,13 @@ Path::Path(const char *StrStart, unsigned StrLen)
FlipBackSlashes(path);
}
+Path&
+Path::operator=(const std::string &that) {
+ path = that;
+ FlipBackSlashes(path);
+ return *this;
+}
+
bool
Path::isValid() const {
if (path.empty())