Jonathan Wakely schrieb:
On 17 September 2011 21:42, Georg-Johann Lay wrote:
Jonathan Wakely schrieb:
On 17 September 2011 21:32, Georg-Johann Lay wrote:
Hi, compiled with -Wall -Wextra the wollowing lines don't complain about
a
being used uninitialized. Tried with 4.5 and 4.6. Am I missing
something?
int func (void)
{
int a = a;
return a;
}
Yes, you're missing -Winit-self
Thanks.
Confusing... extra option for that?
Maybe, but it's documented, so that makes it ok!
The message with -Wuninitialized -Winit-self is
warning: 'a' is used uninitialized in this function [-Wuninitialized]
Is there a special reason why this is not part of Wall or Wextra?
Initialising a variable with itself is a GNU extension, used to
suppress warnings about uninitialised variables when you *really*
don't want to initialise a variable and don't want a warning either.
Thanks for the explanation, now I understand it.
Personally I think it's an abomination :)