[PATCH] Verify source files for a module only once during the build
Argyrios Kyrtzidis
kyrtzidis at apple.com
Fri Feb 7 09:26:59 PST 2014
On Feb 7, 2014, at 9:21 AM, Jordan Rose <jordan_rose at apple.com> wrote:
>
> On Feb 7, 2014, at 6:07 , Dmitri Gribenko <gribozavr at gmail.com> wrote:
>
>> The attached patch allows the build system to optimize source file
>> verification. The idea is based on the fact that while the project is
>> being built, the source files don't change. This allows us to verify
>> the module only once during a single build session. The build system
>> passes a flag, fmodules-skip-verify-if-validated-after=, to inform
>> Clang of the time when the build started (if this flag is not passed,
>> the behavior is not changed). When Clang verifies the module the
>> first time, it writes out a timestamp file. Then, when Clang loads
>> the module the second time, it finds a timestamp file, so it can
>> compare the verification timestamp of the module with the time when
>> the build started. If the verification timestamp is too old, the
>> module is verified again, and the timestamp file is updated.
>
> The source files usually don't change, but I've certainly edited some during the build once I "know" they don't affect any of the downstream targets. I'm fine with this being unspecified behavior, but will we end up with a crash if things are inconsistent, or just a compiler or linker error?
Most likely a build error about “file was modified since the precompiled header..."
>
> Jordan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140207/a1c3b387/attachment.html>
More information about the cfe-commits
mailing list