Messages in this thread | | | Subject | Re: [PATCH] regmap: silence GCC warning | From | Paul Bolle <> | Date | Mon, 01 Oct 2012 12:16:46 +0200 |
| |
On Mon, 2012-10-01 at 11:03 +0100, Mark Brown wrote: > On Sun, Sep 30, 2012 at 12:15:55PM +0200, Paul Bolle wrote: > > Building regmap.o triggers this GCC warning: > > drivers/base/regmap/regmap.c: In function ‘regmap_raw_read’: > > drivers/base/regmap/regmap.c:1172:6: warning: ‘ret’ may be used uninitialized in this function [-Wmaybe-uninitialized] > > > > It seems 'ret' should always be set when this function returns. See, the > > else-branch can leave 'ret' uninitialized only if 'val_count' is zero. > > But if 'val_count' is zero regmap_volatile_range() will return true. > > That implies that 'ret' will be set in the if-branch. ('val_count' could > > be zero if 'val_len' is, for example, zero. That would be useless input, > > however.) > > > > Anyhow, initializing 'ret' to -EINVAL silences GCC and is harmless. > > Have you reported this bug in GCC?
No I haven't. Since you ask, I guess you too think 'ret' is always set when this function returns, don't you? Ie, my analysis isn't obviously wrong.
> Their flow analyis just seems to keep on getting worse and worse.
Paul Bolle
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |