diff options
-rw-r--r-- | llvm/include/llvm/Support/FileSystem.h | 1 | ||||
-rw-r--r-- | llvm/lib/Support/Path.cpp | 4 |
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); } |