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.