> Perhaps a rename is needed as the title implies it is ubuntu specific and intermittant?
Yes, done. -- Joel On 18 October 2013 12:22, Ian Norton <inor...@gmail.com> wrote: > I've updated https://bugzilla.samba.org/show_bug.cgi?id=8424. > > Perhaps a rename is needed as the title implies it is ubuntu specific > and intermittant? > > On 18 October 2013 11:05, Ian Norton <inor...@gmail.com> wrote: > > Ok. I should have tried it before hand. ccache *doesnt't* notice the > > addition of the new header and still gives me a .o file from the first > > invocation. > > > > bug? > > > > On 18 October 2013 10:54, Ian Norton <inor...@gmail.com> wrote: > >> Hello All, > >> > >> I have a question about direct mode, it follows on from an old thread > >> I've seen in the archives: > >> > >> http://www.mail-archive.com/ccache@lists.samba.org/msg00150.html > >> > >> I'll quote inline and follow on. > >> > >> Joel Rosdahl wrote: > >>> tridge wrote: > >>> > Also, does the hashtable used for included_files preserve the > >>> > ordering? (the order of includes is also vital). Or do you rely on > the > >>> > hash of the file that does the #include changing for that? > >> > >>> The hashtable is unordered, and yes, I rely on the hash of the input > >>> file to keep track of the ordering, and also of course on the include > >>> file hashes. For a given manifest, the source file (and therefore the > >>> order of the first level of include files) is known since the manifest > >>> is looked up given the hash of the input file (and some more > >>> information), and all other levels of include files are taken > >>> care of using the same kind of reasoning. In other words, if the > >>> include file order changes in some file, then the hash of that file > >>> changes too, which leads to a cache miss. Which include files the > >>> preprocessor reads is of course also a function of compiler options > >>> like -I, but that is handled by also hashing those options when > >>> computing the hash in direct mode. Do you see any potential problem > >>> here? > >> > >> I realise I'm probably missing something, but how does direct mode > >> handle the case where > >> the command line args have not changed, and nor have the source file > >> or previously used headers *but* a header file has been added to a > >> folder on one of the -I paths? eg: > >> > >> hello.c: > >> #include "test.h" > >> > >> inc1/test.h: > >> void hello(void); > >> > >> gcc -I inc2 -I inc1 -c hello.c > >> > >> later, someone makes a new file: > >> > >> inc2/test.h: > >> int hello(void); > >> > >> The same command line and original inputs would result in a different > file. > >> > >> How does direct mode cover this case ( all our common input data has > >> not changed ) > >> > >> Many Thanks, ccache is fantastic btw! > >> > >> Ian > _______________________________________________ > ccache mailing list > ccache@lists.samba.org > https://lists.samba.org/mailman/listinfo/ccache > _______________________________________________ ccache mailing list ccache@lists.samba.org https://lists.samba.org/mailman/listinfo/ccache