Re: ccache false cache hit when creating precompiled headers
"Mark Fieldhouse" <[email protected]> Tue, 19 Aug 2014 20:40:26 +0100
| Newsgroups | gmane.comp.compilers.ccache |
|---|---|
| Message-ID | <D27AB324B5654E08860EABC23E60814C@MGF5> |
Thanks Joel, I can confirm that your latest commit fixes the problem we had. Regards, Mark -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Joel Rosdahl Sent: 16 August 2014 12:50 To: Mark Fieldhouse Cc: ccache list Subject: Re: [ccache] ccache false cache hit when creating precompiled headers > This doesn't fix the original bug report. As far as I can see the fix is > in the area of USING precompiled headers not CREATING them. Ah, I see. > Can you re-open the original bug or should I create a new one? I'll reopen it and look into a better fix. Thanks! -- Joel On 12 August 2014 21:59, Mark Fieldhouse <[email protected]> wrote: Hi Joel, This doesn't fix the original bug report. As far as I can see the fix is in the area of USING precompiled headers not CREATING them. Can you re-open the original bug or should I create a new one? I have a brute force fix that stops ccache from caching precompiled headers all together. But you could probably come up with a better fix. I can show you simply how to reproduce the problem in a few lines. In testing I used the tip version of ccache on the master branch. Regards, Mark -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Joel Rosdahl Sent: 08 August 2014 09:37 To: Mark Fieldhouse Cc: ccache list Subject: Re: [ccache] ccache false cache hit when creating precompiled headers Hi Mark, See https://bugzilla.samba.org/show_bug.cgi?id=10212. -- Joel On 4 August 2014 22:09, Mark Fieldhouse <[email protected]> wrote: Hello, ccache appears to break our compilation by incorrectly retrieving cached precompiled headers. The problem is our build has a header file which has; #define NUM_COMPOSITE_OUTPUTS 0 void func(int x); This gets compiled and put in the cache by ccache. We then change the file to be; #define NUM_COMPOSITE_OUTPUTS 2 void func(int x); And ccache runs its own 'direct' hash function and correctly decides that the file is not in the cache. Then it runs the C pre-processor and hashes the output. The output of the C pre-processor hasn't changed so ccache incorrectly retrieves the cached version of the file Which has; #define NUM_COMPOSITE_OUTPUTS 0 Failed build. Let me know if this is a known issue or if you'd like me to raise a bug report? Cheers, Mark _______________________________________________ ccache mailing list [email protected] https://lists.samba.org/mailman/listinfo/ccache _______________________________________________ ccache mailing list [email protected] https://lists.samba.org/mailman/listinfo/ccache