Use "foo-12345.o.tmp" instead of "foo.o-12345" as temporary file name.
authorNico Weber <nicolasweber@gmx.de>
Tue, 8 Aug 2017 16:21:23 +0000 (16:21 +0000)
committerNico Weber <nicolasweber@gmx.de>
Tue, 8 Aug 2017 16:21:23 +0000 (16:21 +0000)
commit2db47198dd44b702d15e427954a917f4140b941a
tree875339e7ad56c6a5db72528131fa599b5dcde198
parent6b34069ab702672c5317b2082fcdf67ed65871af
Use "foo-12345.o.tmp" instead of "foo.o-12345" as temporary file name.

This helps some tools that do things based on the output's extension.

For example, we got reports from users on Windows that have a tool that scan a
build output dir (but skip .obj files). The tool would keep the "foo.obj-12345"
file open, and then when clang tried to rename the temp file to the final
output filename, that would fail. By making the tempfile end in ".obj.tmp",
tools like this could now have a rule to ignore .tmp files.
This is a less ambitious reland of https://reviews.llvm.org/D36238

https://reviews.llvm.org/D36413

llvm-svn: 310376
clang/lib/Frontend/CompilerInstance.cpp