On July 31, 2019 10:51:37 AM PDT, Joe Perches <j...@perches.com> wrote: >On Wed, 2019-07-31 at 19:14 +0200, Pavel Machek wrote: >> On Tue 2019-07-30 22:35:18, Joe Perches wrote: >> > Reserve the pseudo keyword 'fallthrough' for the ability to convert >the >> > various case block /* fallthrough */ style comments to appear to be >an >> > actual reserved word with the same gcc case block missing >fallthrough >> > warning capability. >> >> Acked-by: Pavel Machek <pa...@ucw.cz> >> >> > +/* >> > + * 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 >> > + >> >> Will various checkers (and gcc) recognize, that comment in a macro, >> and disable the warning accordingly? > >Current non-gcc tools: I doubt it. > >And that's unlikely as the comments are supposed to be stripped >before the macro expansion phase. > >gcc 7+, which by now probably most developers actually use, will >though >and likely that's sufficient. > >> Explanation that the comment is "magic" might not be a bad idea. > >The comment was more for the reader. > >cheers, Joe
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. -- Sent from my Android device with K-9 Mail. Please excuse my brevity.