On 7/8/20 4:16 AM, Julia Lawall wrote:
On Tue, 7 Jul 2020, Joe Perches wrote:
On Tue, 2020-07-07 at 14:06 -0600, Shuah Khan wrote:
On 7/7/20 1:52 PM, Gustavo A. R. Silva wrote:
Replace the existing /* fall through */ comments and its variants with
the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
fall-through markings when it is the case.
[1] https://www.kernel.org/doc/html/latest/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through
Is fallthrough syntax supported on our min gcc version?
No. Introduced in gcc 7.
Does checkpatch or coccicheck catch these cases?
Kinda. checkpatch isn't very good at it.
I _believe_, though I'm not at all sure,
that coccinelle can find these.
I would not guarantee anything about the support of Coccinelle for switch.
Coccinelle does now have the ability to match on comments. So since there
is a distinct comment that it is to be removed, it might be possible to do
that part automatically.
Maybe it would have to look something like this:
@r1@
comments c : script:python() { code to recognize the comment };
statement S;
@@
S@c
+ fallthrough(); //or whatever is wanted
@@
statement r1.S;
@@
- S
- fallthrough();
+ S
+ fallthrough();
The second rule probably looks pretty strange, but the goal is to remove
the comments between S and fallthrough();
There is an example demos/comments.cocci that shows how to access the
comment information using both ocaml and python.
Thanks Julia. Maybe this is a way to address all of the cases. I am a
bit concerned about min gcc which is 4.8 and the fallthrough syntax
support is in gcc 7
-- Shuah