Re: [PATCH v3 01/11] checkpatch: check for nested (un)?likely() calls

From: Denis Efremov
Date: Sat Aug 31 2019 - 11:54:20 EST




On 31.08.2019 12:15, Markus Elfring wrote:
>> +# nested likely/unlikely calls
>> +ÂÂÂÂÂÂÂ if ($line =~ /\b(?:(?:un)?likely)\s*\(\s*!?\s*(IS_ERR(?:_OR_NULL|_VALUE)?|WARN)/) {
>> +ÂÂÂÂÂÂÂÂÂÂÂ WARN("LIKELY_MISUSE",
>
> How do you think about to use the specification â(?:IS_ERR(?:_(?:OR_NULL|VALUE))?|WARN)â
> in this regular expression?

Hmm,
(?: <- Catch group is required here, since it is used in diagnostic message,
see $1
IS_ERR
(?:_ <- Another atomic group just to show that '_' is a common prefix?
I'm not sure about this. Usually, Perl interpreter is very good at optimizing such things.
You could see this optimization if you run perl with -Mre=debug.
(?:OR_NULL|VALUE))?|WARN)

Regards,
Denis