summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/include/llvm/Support/FileSystem.h1
-rw-r--r--llvm/lib/Support/Path.cpp4
2 files changed, 4 insertions, 1 deletions
diff --git a/llvm/include/llvm/Support/FileSystem.h b/llvm/include/llvm/Support/FileSystem.h
index a9b4c987e11..30664984efc 100644
--- a/llvm/include/llvm/Support/FileSystem.h
+++ b/llvm/include/llvm/Support/FileSystem.h
@@ -712,6 +712,7 @@ public:
static Expected<TempFile> create(const Twine &Model,
unsigned Mode = all_read | all_write);
TempFile(TempFile &&Other);
+ TempFile &operator=(TempFile &&Other);
// Name of the temporary file.
std::string TmpName;
diff --git a/llvm/lib/Support/Path.cpp b/llvm/lib/Support/Path.cpp
index 54ea76b0f92..63ea9119fab 100644
--- a/llvm/lib/Support/Path.cpp
+++ b/llvm/lib/Support/Path.cpp
@@ -761,10 +761,12 @@ std::error_code createUniqueFile(const Twine &Model,
}
TempFile::TempFile(StringRef Name, int FD) : TmpName(Name), FD(FD) {}
-TempFile::TempFile(TempFile &&Other) {
+TempFile::TempFile(TempFile &&Other) { *this = std::move(Other); }
+TempFile &TempFile::operator=(TempFile &&Other) {
TmpName = std::move(Other.TmpName);
FD = Other.FD;
Other.Done = true;
+ return *this;
}
TempFile::~TempFile() { assert(Done); }
OpenPOWER on IntegriCloud