http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48483
--- Comment #11 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-04-07 13:26:16 UTC --- (In reply to comment #10) > The answer of question gives the C++ standard. Show me this document. 3.3.1 Point of declaration [basic.scope.decl] 1 The point of declaration for a name is immediately after its complete declarator (clause 8) and before its initializer (if any), except as noted below. [Example: int x = 12; { int x = x; } Here the second x is initialized with its own (indeterminate) value. ]