Dear Joel, sorry for the late reply -- I simply overlooked that this thread was resumed :-(.
On 19.07.2012, at 23:34, Joel Rosdahl wrote: > On 11 July 2012 14:42, Max Horn <m...@quendi.de> wrote: >> On 11.07.2012, at 02:34, Martin Pool wrote: >>> If you are compiling from a .i or .ii file, the -D and -I options can't >>> have any effect. It's reasonable for clang to emit a warning about it, and >>> it would be reasonable for ccache to strip those options when compiling a >>> preprocessed file. >> >> Aye, if that would be acceptable for the ccache authors, that would be the >> best solution I think. It would certainly be much cleaner than trying to >> detect clang and passing options to it to disable that warning... > > I agree, as long as it doesn't introduce regression for other compilers. > > Max, do you have a suggestion on which options would make sense to not > pass to the preprocessor? Naively, any preprocessor option would be suspect, I guess. Based on the clang manpage, that would include at least these: -Dmacroname=value -Umacroname -include filename -Idirectory -Fdirectory -nostdinc -nostdlibinc -nobuiltininc I did some testing with the clang on my OS X 10.7.4 box, which is Apple clang version 4.0 (tags/Apple/clang-421.0.60) (based on LLVM 3.1svn) This tells me that the following options cause the warning to appear: -U, -I, -include Based on the (Apple) GCC man page, I tested various more options; I am not sure whether these are explicitly supported by Apple the following also all trigger the warning: imacros, idirafter, iprefix, iwithprefix, iwithprefixbefore, isystem, iquote (all takes a path as argument) -I-, -C, -CC, -remap, -fno-working-directory, -MG, -MP, -MD, -MMD, -MF foobar, -MQ foobar, -MT foobar -Xpreprocessor foobar, -Wp,foobar, Interestingly, -imultilib also triggered the warning, but given a bogus path, it also triggered a linker error. This looks like a bug to me, based on the documentation for this switch. These did not trigger the warning: -D (to my surprise), -F (also surprised med), -P, -nostdinc, -nostdlibinc, -nobuiltininc, -isysroot (agrees with documentation), Cheers, Max _______________________________________________ ccache mailing list email@example.com https://lists.samba.org/mailman/listinfo/ccache