|| ||Ingo Molnar <mingo-AT-kernel.org> |
|| ||David Rientjes <rientjes-AT-google.com> |
|| ||Re: [PATCH v2] Remove uninitialized_var() |
|| ||Tue, 30 Oct 2012 08:24:16 +0100|
|| ||Andrew Morton <akpm-AT-linux-foundation.org>,
Linus Torvalds <torvalds-AT-linux-foundation.org>,
Corey Minyard <cminyard-AT-mvista.com>, minyard-AT-acm.org,
Linux Kernel <linux-kernel-AT-vger.kernel.org>,
OpenIPMI Developers <openipmi-developer-AT-lists.sourceforge.net>|
|| ||Article, Thread
* David Rientjes <firstname.lastname@example.org> wrote:
> On Sun, 28 Oct 2012, Ingo Molnar wrote:
> > I left it a bit mystic because in some cases this macro was
> > mis-used not to suppress GCC being wrong, but to hide GCC being
> > *right*: for example unused variable warnings in cases like:
> > int uninitialized_var(var);
> > #ifdef XYZ
> > var = ...;
> > ...
> > #endif
> > which (ab-)use was no doubt actively dangerous beyond being
> > ugly. One such example is in arch/x86/mm/numa.c. (These cases
> > now turn into clear (and always harmless) compiler warnings, as
> > they should.)
> I like initializing them to 0 or NULL because it will still
> emit the "unused variable" warnings whereas using
> uninitialized_var() would not with -Wall. It's quite possible
> that uninitialized_var() is actually suppressing this warning
> for variables that aren't used.
> I fixed a bug that was attributed to uninitialized var for rc1
> in 43385846968b ("fs, xattr: fix bug when removing a name not
> in xattr list"), so thanks very much for removing it entirely.
Ok - looks like everyone is happy with this version - I'll send
a refreshed version of this patch to Linus near the end of the
v3.8 merge window.
Note, I won't push it out into linux-next for much of the
development window (or at all), as there's very little gain from
all the interaction and churn this would cause with various
trees, nor does it seem necessary to split it up into a hundred
small patches. We'll just pull the trigger before v3.8-rc1 with
one well-tested patch and that's it.
Unless Linus objects to this workflow.
to post comments)