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

From: Dan Carpenter
Date: Mon Oct 22 2018 - 06:30:04 EST


On Mon, Oct 22, 2018 at 11:41:56AM +0200, Bernd Petrovitsch wrote:
> On 22/10/2018 00:27, Theodore Y. Ts'o wrote:
> > 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.
>
> FWIW, current "eclipse" has the same "problem".
>
> > If the conversion from /* fallthrough */ to the __fallthrough__
> > attribute means that we start gethting a lot of Coverity warnings,
>
> We could keep both.

What does that even mean? Use both the attribute and the comment until
Eclipse is updated?

case 3:
frob();
__fall_through; /* fall through */
case 4:

That seems like a wrong idea...

regards,
dan carpenter