[U-Boot] [PATCH 1/2] Move uninitialized_var() macro from ubi_uboot.h to compiler.h
Anton Vorontsov
avorontsov at ru.mvista.com
Tue Sep 1 20:25:18 CEST 2009
On Tue, Sep 01, 2009 at 08:11:41PM +0200, Wolfgang Denk wrote:
> Dear Anton Vorontsov,
>
> In message <20090901165803.GA3668 at oksana.dev.rtsoft.ru> you wrote:
> > This is needed so that we could use this macro for non-UBI code.
> >
> > Signed-off-by: Anton Vorontsov <avorontsov at ru.mvista.com>
> > ---
> > include/compiler.h | 3 +++
> > include/ubi_uboot.h | 4 +---
> > 2 files changed, 4 insertions(+), 3 deletions(-)
> >
> > diff --git a/include/compiler.h b/include/compiler.h
> > index 272fd3c..e602cce 100644
> > --- a/include/compiler.h
> > +++ b/include/compiler.h
> > @@ -122,4 +122,7 @@ typedef unsigned int uintptr_t;
> >
> > #endif
> >
> > +/* compiler options */
> > +#define uninitialized_var(x) x = x
>
> Please excuse my ignorance, but where and what for is such a
> definition useful?
It's used to avoid GCC warnings, i.e. when GCC isn't smart enough
to see that some variable isn't actually used uninitialized.
~/linux-2.6$ git grep uninitialized_var drivers/ | wc -l
94
We can fix the warnings by assigning some value to a variable
at declaration, but the advantage of 'x = x' trick is that it
doesn't generate any code.
Thanks,
--
Anton Vorontsov
email: cbouatmailru at gmail.com
irc://irc.freenode.net/bd2
More information about the U-Boot
mailing list