Re: [PATCH] checkpatch: Warn on unnecessary void function return statements

Sachin Kamat
2014-06-17T03:16:41Z

On Tue, Jun 17, 2014 at 7:30 AM, Joe Perches <joe@perches.com> wrote:
> On Mon, 2014-06-16 at 17:44 -0700, Anish Bhatt wrote:
>> My code has multiple exit lables:
>> void function(void)
>> {
>> ...
>>
>> if (err1)
>> goto exit1;
>> ...
>> if (err2)
>> goto exit2;
>>
>> ...
>> return; /* Good return, no errors */
>> exit1:
>> printk(err1);
>> return;
>> exit2:
>> printk(err2);
>> }
>>
>> The single tabbed return was required to prevent the good return & err1
>> messages cascading down. The extra exit label with a noop looks weird,
>> but is passing checkpatch.pl --strict, so I will go with that, thanks.
>> -Anish
>>
>
> Hmm, those return uses seem reasonable
> to me.
>
> Perhaps the test should warn only on
> this specific 3 line sequence:
>
> [any line but a label]
> return;
> }
>
> Andrew? Anyone else? Opinions?

It should warn only if the return is followed by a value like
return 0; or return -EERROR_CODE; etc. and not just 'return;'

--
Regards,
Sachin.