From fc8182ae95af0f46fc8f71ab29e91534636325b7 Mon Sep 17 00:00:00 2001 From: Joel Rosdahl Date: Sat, 14 Mar 2020 10:18:53 +0100 Subject: [PATCH] doc: Clarify include_file_ctime sloppiness in the Performance section --- doc/MANUAL.adoc | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/MANUAL.adoc b/doc/MANUAL.adoc index 409d56084..19fc85702 100644 --- a/doc/MANUAL.adoc +++ b/doc/MANUAL.adoc @@ -570,7 +570,7 @@ still has to do _some_ preprocessing (like macros). Ignore ctimes when *file_stat_matches* is enabled. This can be useful when backdating files' mtimes in a controlled way. *include_file_ctime*:: - By default, ccache also will not cache a file if it includes a header whose + By default, ccache will not cache a file if it includes a header whose ctime is too new. This option disables that check. *include_file_mtime*:: By default, ccache will not cache a file if it includes a header whose @@ -1189,13 +1189,13 @@ problems and what may be done to increase the hit rate: setting. ** A modification time of one of the include files is too new (created the same second as the compilation is being done). This check is made to avoid a race - condition. To fix this, create the include file earlier in the build - process, if possible, or set *sloppiness* to *include_file_mtime* if you are - willing to take the risk. (The race condition consists of these events: the - preprocessor is run; an include file is modified by someone; the new include - file is hashed by ccache; the real compiler is run on the preprocessor's - output, which contains data from the old header file; the wrong object file - is stored in the cache.) + condition. To fix this, create the include file earlier in the build process, + if possible, or set *sloppiness* to *include_file_ctime, include_file_mtime* + if you are willing to take the risk. (The race condition consists of these + events: the preprocessor is run; an include file is modified by someone; the + new include file is hashed by ccache; the real compiler is run on the + preprocessor's output, which contains data from the old header file; the + wrong object file is stored in the cache.) ** The `__TIME__` preprocessor macro is (potentially) being used. ccache turns off direct mode if `__TIME__` is present in the source code. This is done as a safety measure since the string indicates that a `__TIME__` macro _may_ -- 2.47.2