Created attachment 11533 [details]
source file to reproduce the bug
Prior to version 3.2 changes in commented out code were not considered at all and did not result in preprocess step. With version 3.2 and onwards, a single change in commented out code ends up in invoking preprocessor.
This is especially noticeable with __DATE__ / __TIME__ macros. In case of __TIME__ macro the end result is that the source file gets preprocessed on every run.
Most likely the regression is due to the following change in 3.2 release:
"Improved efficiency of the algorithm that scans for __DATE_ and __TIME__ tokens in the hashed source code."
Thanks for the bug report!
The changed behavior was a conscious choice, not a regression. See the discussion in these two threads for some background:
On a side note: ccache 3.1.11 no longer ignores comments because of this bug fix: https://git.samba.org/?p=ccache.git;a=commit;h=2f8422af65c44526e3d54d961be1134a5c225aac
Closing as wontfix, sorry.
Then perhaps it would be nice if you update the man page, because it still (v. 3.2.4) states the old behaviour:
If "__TIME__" is present int the source code outside comments...
If "__DATE__" is present in the source code outside comments...
Corrected in https://git.samba.org/?p=ccache.git;a=commit;h=5d8ba5552951dc0d889f7bbf068b54cb797bb2fc.