From: NAKAMURA Takumi Date: Sat, 25 Feb 2017 03:45:49 +0000 (+0000) Subject: Revert r296166, "clang-format: Don't leave behind temp files in -i mode on Windows... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f94f3debabb22f14da326f26d7307d592f6b3a47;p=clang Revert r296166, "clang-format: Don't leave behind temp files in -i mode on Windows, PR26125", and r296171. (MemoryBuffer)Code.reset() was too early. ==26912== Invalid read of size 1 ==26912== at 0x437E1D: llvm::MemoryBuffer::init(char const*, char const*, bool) (MemoryBuffer.cpp:47) ==26912== by 0x438013: (anonymous namespace)::MemoryBufferMem::MemoryBufferMem(llvm::StringRef, bool) (MemoryBuffer.cpp:86) ==26912== by 0x438128: llvm::MemoryBuffer::getMemBuffer(llvm::StringRef, llvm::StringRef, bool) (MemoryBuffer.cpp:112) ==26912== by 0x4E189D: clang::vfs::detail::(anonymous namespace)::InMemoryFileAdaptor::getBuffer(llvm::Twine const&, long, bool, bool) (VirtualFileSystem.cpp:443) ==26912== by 0x4DF5BA: clang::vfs::FileSystem::getBufferForFile(llvm::Twine const&, long, bool, bool) (VirtualFileSystem.cpp:94) ==26912== by 0x4B72EC: clang::FileManager::getBufferForFile(clang::FileEntry const*, bool, bool) (FileManager.cpp:443) ==26912== by 0x4C1F81: clang::SrcMgr::ContentCache::getBuffer(clang::DiagnosticsEngine&, clang::SourceManager const&, clang::SourceLocation, bool*) const (SourceManager.cpp:98) ==26912== by 0x4C50E5: clang::SourceManager::getBufferData(clang::FileID, bool*) const (SourceManager.cpp:689) ==26912== by 0x58E794: clang::Rewriter::getEditBuffer(clang::FileID) (Rewriter.cpp:230) ==26912== by 0x407297: clang::format::format(llvm::StringRef) (ClangFormat.cpp:311) ==26912== by 0x4078D7: main (ClangFormat.cpp:363) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@296237 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Format/inplace.cpp b/test/Format/inplace.cpp deleted file mode 100644 index cc218f3118..0000000000 --- a/test/Format/inplace.cpp +++ /dev/null @@ -1,263 +0,0 @@ -// Regression test to check that clang-format does not leave behind temporary -// files on Windows when doing in-place formatting. -// RUN: rm %T/inplace* -// 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; diff --git a/tools/clang-format/ClangFormat.cpp b/tools/clang-format/ClangFormat.cpp index 47946d8734..941f90396d 100644 --- a/tools/clang-format/ClangFormat.cpp +++ b/tools/clang-format/ClangFormat.cpp @@ -296,7 +296,6 @@ 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";