aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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())