mirror of
https://github.com/RPCS3/llvm.git
synced 2024-11-29 14:40:39 +00:00
d02add1701
On Windows, fs::rename() could fail is another process was reading the file at the same time using fs::openFileForRead(). In most cases the user wouldn't notice as fs::rename() will continue to retry for 2000ms. Typically this is enough for the read to complete and a retry to succeed, but if the disk is being it too hard then the response time might be longer than the retry time and the rename would fail with a permission error. Add FILE_SHARE_DELETE to the sharing flags for CreateFileW() in fs::openFileForRead() and try ReplaceFileW() prior to MoveFileExW() in fs::rename(). Based on an initial patch by Edd Dawson! Differential Revision: http://reviews.llvm.org/D13647 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250046 91177308-0d34-0410-b5e6-96231b3b80d8
58 lines
1.2 KiB
CMake
58 lines
1.2 KiB
CMake
set(LLVM_LINK_COMPONENTS
|
|
${LLVM_TARGETS_TO_BUILD}
|
|
Support
|
|
)
|
|
|
|
add_llvm_unittest(SupportTests
|
|
AlignOfTest.cpp
|
|
AllocatorTest.cpp
|
|
ArrayRecyclerTest.cpp
|
|
BlockFrequencyTest.cpp
|
|
BranchProbabilityTest.cpp
|
|
Casting.cpp
|
|
CommandLineTest.cpp
|
|
CompressionTest.cpp
|
|
ConvertUTFTest.cpp
|
|
DataExtractorTest.cpp
|
|
DwarfTest.cpp
|
|
EndianStreamTest.cpp
|
|
EndianTest.cpp
|
|
ErrorOrTest.cpp
|
|
FileOutputBufferTest.cpp
|
|
IteratorTest.cpp
|
|
LEB128Test.cpp
|
|
LineIteratorTest.cpp
|
|
LockFileManagerTest.cpp
|
|
MD5Test.cpp
|
|
ManagedStatic.cpp
|
|
MathExtrasTest.cpp
|
|
MemoryBufferTest.cpp
|
|
MemoryTest.cpp
|
|
Path.cpp
|
|
ProcessTest.cpp
|
|
ProgramTest.cpp
|
|
RegexTest.cpp
|
|
ReplaceFileTest.cpp
|
|
ScaledNumberTest.cpp
|
|
SourceMgrTest.cpp
|
|
SpecialCaseListTest.cpp
|
|
StreamingMemoryObject.cpp
|
|
StringPool.cpp
|
|
SwapByteOrderTest.cpp
|
|
TargetRegistry.cpp
|
|
ThreadLocalTest.cpp
|
|
TimeValueTest.cpp
|
|
TrailingObjectsTest.cpp
|
|
UnicodeTest.cpp
|
|
YAMLIOTest.cpp
|
|
YAMLParserTest.cpp
|
|
formatted_raw_ostream_test.cpp
|
|
raw_ostream_test.cpp
|
|
raw_pwrite_stream_test.cpp
|
|
)
|
|
|
|
# ManagedStatic.cpp uses <pthread>.
|
|
if(LLVM_ENABLE_THREADS AND HAVE_LIBPTHREAD)
|
|
target_link_libraries(SupportTests pthread)
|
|
endif()
|