lkml.org 
[lkml]   [2020]   [Jul]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] usbip: Use fallthrough pseudo-keyword
From
Date
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

\
 
 \ /
  Last update: 2020-07-08 16:42    [W:0.063 / U:0.320 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site