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

Anish Bhatt
2014-06-17T19:37:30Z

On 06/16/2014 07:00 PM, Joe Perches 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?
>
I think simply

return;
}

should trigger the warning. If you are using a label just to exit, you could just do it in-place (though possibly someone might want to a goto instead of multiple returns)

-Anish