Missing "var is used uninitialized" warning?
Jonathan Wakely
jwakely.gcc@gmail.com
Sat Sep 17 20:48:00 GMT 2011
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.
Personally I think it's an abomination :)
More information about the Gcc-help
mailing list