<div dir="ltr"><div><a href="https://llvm.org/bugs/show_bug.cgi?id=26125">https://llvm.org/bugs/show_bug.cgi?id=26125</a>. The proposed patch is in the bug attachment<br></div><div><br>Bug 26125 - Clang format creates unwanted temporary files when batching processing on windows<br><br># Summary<br>A file mapping object prevents the temp file from being deleted. This is a 100% repro on Windows.<br><br># Details<br>When formatting a file in place, the original file is mapped into memory for reading.<br><br>Later when trying to overwrite the changed file, kernel!ReplaceFile() renames the original file to <filename>~RFxxxx.TMP, creates a new file with <filename>, copies formatted content to it, and finally deletes <filename>~RFxxxx.TMP. Because there is still a open file mapping section to the original file (now with new file name <filename>~RFxxxx.TMP), delete fails with 0xc0000121 - STATUS_CANNOT_DELETE, leaving the temp file untouched after the clang-format operation.<br><br># Fix<br>Releasing the file mapping object early allows deletefile to proceed</div></div>