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

Sachin Kamat
2014-06-17T03:35:22Z

On Tue, Jun 17, 2014 at 8:55 AM, Joe Perches <joe@perches.com> wrote:
> On Tue, 2014-06-17 at 08:46 +0530, Sachin Kamat wrote:
>> 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;'
>
> No. The compiler gets to warn on those.
> checkpatch isn't a compiler.

Right. I misunderstood the context of the discussion.
Sorry for the noise.

--
Regards,
Sachin.