<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/59285>59285</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Crash in clang format when reformatting in-place
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          sturcotte06
      </td>
    </tr>
</table>

<pre>
    I get a crash once in a while on windows. I write to a file (single thread) using a `std::ofstream` with default settings and then I reformat it using `clang-format -i`. I'm using clang-format 13.0.0.

```txt
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0.      Program arguments: clang-format -i file.hpp
#0 0x00007ff756bbf41e clang::DiagnosticIDs::ProcessDiag(class clang::DiagnosticsEngine &) const C:\production\vcpkg\buildtrees\llvm\src\org-13.0.0-41c002f263.clean\clang\lib\Basic\DiagnosticIDs.cpp:778:0
#1 0x00007ff756bc0cd8 clang::DiagnosticsEngine::ProcessDiag C:\production\vcpkg\buildtrees\llvm\src\org-13.0.0-41c002f263.clean\clang\include\clang\Basic\Diagnostic.h:1032:0
#2 0x00007ff756bc0cd8 clang::DiagnosticsEngine::EmitCurrentDiagnostic(bool) C:\production\vcpkg\buildtrees\llvm\src\org-13.0.0-41c002f263.clean\clang\lib\Basic\Diagnostic.cpp:532:0
#3 0x00007ff756c2d59c clang::StreamingDiagnostic::{dtor} C:\production\vcpkg\buildtrees\llvm\src\org-13.0.0-41c002f263.clean\clang\include\clang\Basic\Diagnostic.h:1242:0
#4 0x00007ff756c2d59c clang::DiagnosticBuilder::{dtor} C:\production\vcpkg\buildtrees\llvm\src\org-13.0.0-41c002f263.clean\clang\include\clang\Basic\Diagnostic.h:1356:0
#5 0x00007ff756c2d59c `anonymous namespace'::AtomicallyMovedFile::~AtomicallyMovedFile C:\production\vcpkg\buildtrees\llvm\src\org-13.0.0-41c002f263.clean\clang\lib\Rewrite\Rewriter.cpp:444:0
#6 0x00007ff756c2dd53 std::_Tree_const_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<clang::FileID const ,clang::RewriteBuffer> > > >::operator++ C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include\xtree:202:0
#7 0x00007ff756c2dd53 std::_Tree_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<clang::FileID const ,clang::RewriteBuffer> > > >::operator++ C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include\xtree:287:0
#8 0x00007ff756c2dd53 clang::Rewriter::overwriteChangedFiles(void) C:\production\vcpkg\buildtrees\llvm\src\org-13.0.0-41c002f263.clean\clang\lib\Rewrite\Rewriter.cpp:467:0
#9 0x00007ff756b6abc5 clang::format::format C:\production\vcpkg\buildtrees\llvm\src\org-13.0.0-41c002f263.clean\clang\tools\clang-format\ClangFormat.cpp:455:0
#10 0x00007ff756b6cc89 main C:\production\vcpkg\buildtrees\llvm\src\org-13.0.0-41c002f263.clean\clang\tools\clang-format\ClangFormat.cpp:551:0
#11 0x00007ff756c8dee0 invoke_main d:\a01\_work\12\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78:0
#12 0x00007ff756c8dee0 __scrt_common_main_seh d:\a01\_work\12\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288:0
#13 0x00007ffb34db74b4 (C:\Windows\System32\KERNEL32.DLL+0x174b4)
#14 0x00007ffb36da26a1 (C:\Windows\SYSTEM32\ntdll.dll+0x526a1)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztV99vozgQ_mvIixUE5kfgIQ9tkkrVtafVZrWne4qMbYivgJFtkva_vzGQBNLc3eqk7vXhWgKMxx5_38wwtjPJ3paPqOAGEUQV0Xska8qRqEE-7kXJQUZHUTN51C56REclDEdGgjq3WgcnWtQFvJm94oQ5OEWtbYEOTuxpw5zgDi6ZawP6CtrAnNkjxnPSlgZpbgx014jUDGzwGiZRPJeqIgYJMxiDYbQkdTEfFHMBLYDHwYtq6DLR-4Hrwb_jrR3vbrjHXn-ZV9O3fHna3G03SLdZJSz_rC1g6kYqYwnujWm0BY8f4AKddsvyULlSFSB3cEVNy5ZZ6nxwXkboi1GE8mHqrYEGxNqqsZa6Josq_aJkoUiFiCraitfGToSuGHYOdvdNM-DHgYe8Vw_-Fnm-iOIsy0Of96N6J68FKWqpjaCPa903wUSUa201ECroq_XtEXpTF6K2AY1tDKmstUEr2ytaNUqylhohaxAOtHkp4Jm1omQQU65BsJ6Bh1YU7uCheR-AeehTz8M5jgOXlpzY8f3sMERkcL8nWtgxE-gubay_FosE7t6Zvj-lTz3Kkr8l884FH0poyIZRy3ty7h4A-F6AJ8TwvyO2gbRdtUpB_lx6QJQzKUsbw_8iekPooiuGwYQhxSxK6ZjhtisO8BmPiHQKZ3HPjFTOYv1JYofDKbPwH5hdxt9bjFx9Ul5BFE94Rbd4QfUktazfKtlqVJOK6wZqHRThntSdkZWgpCzfnuWBsweoXye2mxu6n5CgX3m3YF3e1JCgYRhO6MbXdFkUoPPqtfsGQHZdTdxZI8SGLlhd6Q-kfN-oRdWUfGfeGmAy0jZEWBOjTLEueVwPldfBY9UA_r7Nc5tAGzT6DetrM6DC93CdPHtaZqxpbdfq18RWd9A8C6qklrlB34VuSYm2pmVCggZ7ftoPzaFqQlCAVbT6voLbNygsNhzP2070QxenbuD5QTBJtVcbNgCAvemnsvgBH__v3R_2brKYeDe55d33LIf6A9-g6uTVHnr036MGCgcp2M9ZO_7604ynxNLp6hiTjEZjYv2Gafz-oejNEKbxbg3ElRUfOunEI4qm25er7VtMaZKiisBe-1PgjSJ_ine636IJ49yDPe9BvvBdB5v1sInnw313lOrF5i22AM8gD_QMQJlO1oYo0zbnHheZv9oiW1WydkVd2h3g1QYQ30K022kwPQzsgO003388OJxcoRttcrIgZNkizEJbFobo_tafouBt-6YNrwKL5ZfN1183TwF2109PUFq8V9-OslXkbDYcm40ZwTHxb5v9fftt89yZrQ0rSxd-nc3IDrnYPB2EZnzpx3GaekGYhjO2DFgapGRmhCn5ctWdZyDIXd6g4cM62gPa6Xhmz23QY96UsAmYtapcTs9MBZzz2swFp4HQZW7_mEOe_8GpAVFo3dq68xClOIlm-6UfsYQnBAecMQhvtshCHhIvJXGQ8zDzZyXJeKmXTgSVGNf8iDoT8O5E65lYwpqDfSiyfggvkUtYHtLIiykJSI5hzQ89DhlSno9yM7XsINnzHShLoc3lnDeD05Ioas676cA-ac1eqqU2raLSGO7Fs276ZQf_T-UzuCc">