Re: ccache false cache hit when creating precompiled headers

"Mark Fieldhouse" <[email protected]> Tue, 12 Aug 2014 20:59:54 +0100
Newsgroups gmane.comp.compilers.ccache
Message-ID <2676C28CCFF6480CB288E87B92C611B2@MGF5>
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