[Bug other/81582] -Wimplicit-fallthrough= wrong warning with -save-temps
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jul 27 14:23:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81582
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
The reason it is shown in the diagnostics is that the diagnostic code opens the
original, non-preprocessed source (if available) and prints the line from
there.
If you don't have the source around, say compile with -xc - and pipe the source
on stdin, or move the preprocessed source somewhere else and compile there,
such as with distcc, then you obviously don't get that comment printed.
That doesn't mean the comments aren't irrecovably lost. There are many other
things used by warnings lost during preprocessing, macro contexts, formatting
for -Wmisleading-indentation and many others.
We just need to teach users that preprocessing is a destructive thing.
I've been trying to convince e.g. the ccache people to use -fdirectives-only
preprocessing, but they aren't listening.
More information about the Gcc-bugs
mailing list