On Wed, 2019-07-31 at 22:59 +0200, Miguel Ojeda wrote:
> On Wed, Jul 31, 2019 at 10:02 PM Kees Cook <keesc...@chromium.org> wrote:
> > On Wed, Jul 31, 2019 at 08:48:32PM +0200, Peter Zijlstra wrote:
> > > On Wed, Jul 31, 2019 at 11:24:36AM -0700, h...@zytor.com wrote:
> > > > > > > +/*
> > > > > > > + * Add the pseudo keyword 'fallthrough' so case statement blocks
> > > > > > > + * must end with any of these keywords:
> > > > > > > + *   break;
> > > > > > > + *   fallthrough;
> > > > > > > + *   goto <label>;
> > > > > > > + *   return [expression];
> > > > > > > + *
> > > > > > > + *  gcc: 
> > > > > > > >https://gcc.gnu.org/onlinedocs/gcc/Statement-Attributes.html#Statement-Attributes
> > > > > > > + */
> > > > > > > +#if __has_attribute(__fallthrough__)
> > > > > > > +# define fallthrough                   
> > > > > > > __attribute__((__fallthrough__))
> > > > > > > +#else
> > > > > > > +# define fallthrough                    do {} while (0)  /* 
> > > > > > > fallthrough */
> > > > > > > +#endif
> > > > > > > +
> > > > If the comments are stripped, how would the compiler see them to be
> > > > able to issue a warning? I would guess that it is retained or replaced
> > > > with some other magic token.
> > > 
> > > Everything that has the warning (GCC-7+/CLANG-9) has that attribute.
> > 
> > I'd like to make sure we don't regress Coverity most of all. If the
> > recent updates to the Coverity scanner include support for the attribute
> > now, then I'm all for it. :)
> 
> We had this discussion a while ago (October) and the consensus was
> that we would like to wait for a while until all tools were ready to
> use the attribute and everyone's would be happy:
> 
>   
> https://lore.kernel.org/lkml/20181021171414.22674-1-miguel.ojeda.sando...@gmail.com/
> 
> Is everyone happy this time around? :-)

Note also that this doesn't actually _use_ fallthrough
it just reserves it.

Patches that convert /* fallthrough */ et al, to fallthrough
would only be published when everyone's happy enough.


Reply via email to