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 :)