clang-format: Don't leave behind temp files in -i mode on Windows, PR26125

Fix and analysis by Wei Mao <weimao1@gmail.com> (see bug), test by me.

llvm-svn: 296166
This commit is contained in:
Nico Weber 2017-02-24 20:49:00 +00:00
parent c3868c8f8d
commit cc0573b03f
2 changed files with 264 additions and 0 deletions

View File

@ -0,0 +1,263 @@
// Regression test to check that clang-format does not leave behind temporary
// files on Windows when doing in-place formatting.
// RUN: rm %T/*
// RUN: cp %s %T/inplace.cpp
// RUN: clang-format -style=LLVM -i %T/inplace.cpp
// RUN: ls %T > %T/files.txt
// RUN: FileCheck -strict-whitespace -input-file=%T/files.txt %s
// CHECK-NOT: RF{{.*}}.TMP
// The file needs to be larger than 16kiB so that Windows creates a real file
// mapping object for it.
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;
int this_is_my_int_there_are_many_like_it_but_this_one_is_mine;

View File

@ -296,6 +296,7 @@ static bool format(StringRef FileName) {
InMemoryFileSystem.get());
Rewriter Rewrite(Sources, LangOptions());
tooling::applyAllReplacements(Replaces, Rewrite);
Code.reset();
if (Inplace) {
if (FileName == "-")
errs() << "error: cannot use -i when reading from stdin.\n";