Re: [PATCH] pwm: fix used-uninitialized warning in pwm_get()

From: Thierry Reding
Date: Wed Jul 11 2012 - 02:39:10 EST


On Thu, Jul 05, 2012 at 09:56:50AM -0600, Stephen Warren wrote:
> On 07/03/2012 11:58 PM, Thierry Reding wrote:
> > On Tue, Jul 03, 2012 at 02:34:21PM -0600, Stephen Warren wrote:
> >> From: Stephen Warren <swarren@xxxxxxxxxx>
> >>
> >> This fixes: drivers/pwm/core.c: In function 'pwm_get':
> >> drivers/pwm/core.c:534:15: warning: 'index' may be used
> >> uninitialized in this function
> >>
> >> The addition to the if condition at end of the function isn't
> >> strictly necessary to solve the warning, but does make it more
> >> obvious that the initialization of "index" to a dummy value isn't
> >> just hiding the problem.
> >
> > Actually this seems to be a false positive, and one that I don't
> > see (I use GCC 4.6.3). index will be initialized when chip is set
> > in the loop. My guess is that GCC 4.6.3 actually notices while your
> > version doesn't.
>
> Yes, it is a false-positive, which is why I was fine with just
> initializing the variable to hide the warning rather than making some
> other code change. I think there's still value in hiding the warning
> though, so that:
>
> a) Nobody else has to look at the warning and decide it's a false
> positive and remember to ignore it.
>
> b) The fewer warnings there are, the more likely new warnings will be
> noticed and analyzed.
>
> So I'd still argue for this change, or some other fix for the warning,
> be merged.

Okay, I've applied a patch based on what you did, with a more explicit
description of what's going on. Since I didn't see the warning with my
toolchain before it would be good if you could retest and verify that it
indeed fixes the problem for you.

Thierry

Attachment: pgp00000.pgp
Description: PGP signature