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.