Missing "var is used uninitialized" warning?
Georg-Johann Lay
avr@gjlay.de
Sun Sep 18 14:38:00 GMT 2011
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 :)
More information about the Gcc-help
mailing list