On 2016.11.03 at 14:24 +0100, Jakub Jelinek wrote: > On Thu, Nov 03, 2016 at 01:55:33PM +0100, Markus Trippelsdorf wrote: > > On 2016.11.03 at 13:32 +0100, Jakub Jelinek wrote: > > > On Thu, Nov 03, 2016 at 01:22:11PM +0100, Bernd Schmidt wrote: > > > > On 11/03/2016 12:58 PM, Jakub Jelinek wrote: > > > > >On Thu, Nov 03, 2016 at 12:51:15PM +0100, Bernd Schmidt wrote: > > > > >>I'm concerned about the number of false positives for this warning, > > > > >>and > > > > >>judging by previous discussions, I'm not alone in this. This patch > > > > >>limits it > > > > >>to level 1 (any comment before the case label disables the warning) > > > > >>for > > > > >>cases where the user specified no explicit level. It'll still generate > > > > >>enough noise that people will be aware of it and can choose whether > > > > >>to use a > > > > >>higher level or not. > > > > >> > > > > >>Bootstrapped and tested on x86_64-linux. Ok? > > > > > > > > > >I disagree, I'm ok with changing it to 2, but 1 is too much. > > > > > > > > Well, we have data from our own sources where we had to "fix" lots of > > > > perfectly good code, and also from the Linux kernel. From an earlier > > > > discussion: > > > > > > That data wasn't really convincing on this. All it proved is that most of > > > the cases are (likely) deliberate fall-throughs without any comment > > > whatsoever, the rest is in the noise. As one needs to deal with those > > > where comments are missing altogether, dealing with the noise is > > > acceptable. > > > > Without Bernd's patch to set the default to 1 you will drown in false > > positives once you start using gcc-7 to build a whole distro. On my > > Gentoo test box anything but level 1 is simply unacceptable, because you > > will miss important other warnings in the -Wimplicit-fallthrough noise > > otherwise. > > That is really strange. First of all, most of packages aren't compiled with > -Wextra/-W. And in those that are, are you sure that that no comment at all > for the implicit fallthroughs isn't significantly more common than the > set of comments that are accepted by -Wimplicit-fallthrough=1 and not > accepted by -Wimplicit-fallthrough=2?
I don't have gathered detailed statistics. But for example a simple /* drop through */ in a package header file will of course cause many bogus warnings during the build on level 2. For the Linux kernel false positives decrease ~20% when switching from level 3 to 1. -- Markus