[PATCH] D70615: Add an -fno-temp-file flag for compilation

Nico Weber via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Dec 5 06:12:08 PST 2019


thakis added a comment.

In D70615#1769751 <https://reviews.llvm.org/D70615#1769751>, @rnk wrote:

> +more reviewers
>
> This doesn't add any code complexity, we already have the boolean UseTempFile flag, so I think we should do this. I would also point out that right now, in my LLVM build directory on Windows, I have 895 *.obj.tmp files:
>
>   $ find . -iname '*.obj.tmp' | wc -l
>   895
>
>
> This is, to say the least, annoying.
>
> We've tried in the past to do better at cleaning these up, but I think we might want to give up and just open the object for writing, at least on Windows, where it usually locks the file.


The reason the temp file is used (I'm guessing) is that if the compiler crashes while writing output, it'll now write a partial file. This will confuse build systems (both mtime and hash-based ones). If we add this, it should have a "this will lead to incorrect incremental builds" disclaimer in a prominent place (e.g. the help text).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70615/new/

https://reviews.llvm.org/D70615





More information about the cfe-commits mailing list