Re: [PATCH][next] ACPICA: Use fallthrough pseudo-keyword

From: Joe Perches
Date: Mon Jul 27 2020 - 22:22:23 EST


On Mon, 2020-07-27 at 17:23 -0500, Gustavo A. R. Silva wrote:
> Hi,
>
>
> This is a macro pseudo-keyword, which expands to /* fallthrough */
> for compilers that don't support the attribute __fallthrough__. See:

Not really.

It expands to
do {} while (0)
for compilers that do not support the __fallthrough__ attribute.

The /* fallthrough */ after that is for the human reader
and is stripped before compilation.

> include/linux/compiler_attributes.h:213:
> 213 #if __has_attribute(__fallthrough__)
> 214 # define fallthrough __attribute__((__fallthrough__))
> 215 #else
> 216 # define fallthrough do {} while (0) /* fallthrough */
> 217 #endif
>
> So, any compiler (older or new) will be fine with it.

But old compilers should not emit warnings for these uses.