llvm-project/llvm/tools/llvm-ar
Rafael Espindola 484983f453 Fix bug where temporary file would be left behind every time an archive was updated.
When updating an existing archive, llvm-ar opens the old archive into a
`MemoryBuffer`, does its thing, and writes the results to a temporary
file. That file is then renamed to the original archive filename, thus
replacing it with the updated contents. However, on Windows at least,
what would happen is that the `MemoryBuffer` for the old archive would
actually be an mmap'ed view of the file, so when it came time to do the
rename via Win32's `ReplaceFile`, it would succeed but would be unable
to fully replace the file since there would still be a handle open on
it; instead, the old version got renamed to a random temporary name and
left behind.

Patch by Cameron!

llvm-svn: 268916
2016-05-09 13:31:11 +00:00
..
CMakeLists.txt [CMake] Refactor and cleanup generating and installing symlinks to tools. 2015-09-14 23:09:06 +00:00
LLVMBuild.txt
llvm-ar.cpp Fix bug where temporary file would be left behind every time an archive was updated. 2016-05-09 13:31:11 +00:00