lkml.org 
[lkml]   [2020]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v3] coccinelle: semantic patch to check for inappropriate do_div() calls
From
Date


On 2020/1/11 12:35 上午, Markus Elfring wrote:
>> +@initialize:python@
> …
>> +def filter_out_safe_constants(str):
> …
>> +def construct_warnings(str, suggested_fun):
>
> * I suggest once more to adjust the dependency specifications for the usage
> of these functions by SmPL rules.
>

Most of the functions here are for all operation modes.


> * Can the local variable “msg” be omitted?
>
>
>> +coccilib.org.print_todo(p[0], construct_warnings("div64_ul"))
>
> I suggest again to move the prefix “div64_” into the string literal
> of the function implementation.
>

“div64_ul” indicates the function name we recommend.
As shown in the patch:

+def construct_warnings(suggested_fun):
+ msg="WARNING: do_div() does a 64-by-32 division, please consider
using %s instead."
+ return msg % suggested_fun
...
+coccilib.org.print_todo(p[0], construct_warnings("div64_ul"))

If we delete the prefix "div64_", it may reduce readability.

>
> The SmPL code for two disjunctions could become shorter.
>

You may suggest to modify it as follows:
+@@
+*do_div(f, \( l \| ul \| ul64 \| sl64 \) );

We agree with Julia:
I don't se any point to this. The code matched will be the same in both
cases. The original code is quite readable, without the ugly \( etc.

--
Regards,
Wen

> Regards,
> Markus
>

\
 
 \ /
  Last update: 2020-01-11 06:08    [W:0.108 / U:0.304 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site