Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> Fixed one straggler in contrib, and while testing it I realized why
> ccache doesn't pay attention to the changes I was doing in the file:
> ccache compares the *preprocessed* version of the file and only if that
> differs from the version that was cached last, ccache sends the new one
> to the compiler; and of course these comments are not present in the
> preprocessed version, so changing only the comment accomplishes nothing.
> You have to touch one byte outside of any comments.
Ugh. So the only way ccache could avoid this is to drop the
preprocessed-file comparison check if -Wimplicit-fallthrough is on.
Doesn't really sound like something we'd want to ask them to do.
> I bet this is going to bite someone ... maybe we'd be better off going
> all the way to -Wimplicit-fallthrough=5 and use the
> __attribute__((fallthrough)) stuff instead.
I'm not really in favor of the __attribute__ solution --- seems too
gcc-specific. FALLTHROUGH-type comments are understood by other
sorts of tools besides gcc.
In practice, it doesn't seem like this'll be a huge problem once
we're past the initial fixup stage. We can revisit it later if
that prediction proves wrong, of course.
regards, tom lane