Re: [PATCH 1/2] Compiler Attributes: add support for __fallthrough (gcc >= 7.1)

From: Theodore Y. Ts'o
Date: Sun Oct 21 2018 - 18:28:09 EST


On Sun, Oct 21, 2018 at 07:14:13PM +0200, Miguel Ojeda wrote:
> From the GCC manual:
>
> fallthrough
>
> The fallthrough attribute with a null statement serves as a
> fallthrough statement. It hints to the compiler that a statement
> that falls through to another case label, or user-defined label
> in a switch statement is intentional and thus the -Wimplicit-fallthrough
> warning must not trigger. The fallthrough attribute may appear
> at most once in each attribute list, and may not be mixed with
> other attributes. It can only be used in a switch statement
> (the compiler will issue an error otherwise), after a preceding
> statement and before a logically succeeding case label,
> or user-defined label.
>
> https://gcc.gnu.org/onlinedocs/gcc/Statement-Attributes.html

Do we know if coverity understands the fallthrough attribute? One of
the reasons why I started using /* fallthrough */ is because it kept
Coverity happy.

If the conversion from /* fallthrough */ to the __fallthrough__
attribute means that we start gethting a lot of Coverity warnings,
that would be unfortunate. OTOH, if this is getting standardized,
maybe we can get Coverity to understand this attribute?

- Ted