mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-07 01:38:26 +00:00
Fix the "unable to rename temporary" lit test failing on Windows. rename is now copy + delete on Windows. Problem to be revisited for a permanent and clean solution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114320 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
209b257c68
commit
345adbe572
@ -745,12 +745,19 @@ bool Path::getMagicNumber(std::string& Magic, unsigned len) const {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Implements renamePathOnDisk as a CopyFile + eraseFromDisk on Windows.
|
||||
// Using MoveFileEx was causing mysterious ACCESS_DENIED error when used
|
||||
// within a multithreaded lit/python context.
|
||||
// FIXME: put back MoveFileEx when the source of the problem is resolved.
|
||||
bool
|
||||
Path::renamePathOnDisk(const Path& newName, std::string* ErrMsg) {
|
||||
if (!MoveFileEx(path.c_str(), newName.c_str(), MOVEFILE_REPLACE_EXISTING))
|
||||
return MakeErrMsg(ErrMsg, "Can't move '" + path + "' to '" + newName.path
|
||||
+ "': ");
|
||||
return false;
|
||||
if (*this == newName)
|
||||
return false;
|
||||
|
||||
if (CopyFile(newName, *this, ErrMsg))
|
||||
return true;
|
||||
|
||||
return eraseFromDisk(true, ErrMsg);
|
||||
}
|
||||
|
||||
bool
|
||||
|
Loading…
x
Reference in New Issue
Block a user