In: http://lists.cs.uiuc.edu/pipermail/llvmdev/2008-October/017449.html we were discussing possible bugs in g++ scoping for if statements. $ cat t.cc void foo() { if (int x = 0) { int x; } } $ ./xgcc -B./ -c t.cc $ they expected this to produce a redeclaration error on the inner declaration for X. Tested on gcc version 4.4.0 20081003 (experimental) [trunk revision 140855] (GCC) There were other concerns about for, but, others seem to think gcc does the right thing with them.
Subject: Re: New: if scoping for declarations Sent from my iPhone On Oct 3, 2008, at 11:10 AM, "mrs at apple dot com" <gcc-bugzilla@gcc.gnu.org > wrote: > In: > > http://lists.cs.uiuc.edu/pipermail/llvmdev/2008-October/017449.html > > we were discussing possible bugs in g++ scoping for if statements. > > $ cat t.cc > void foo() { > if (int x = 0) { > int x; > } > } This is invalid C++ but it is valid C99. There is already a duplicated bug filed for this too but I am too lazy right now to find it. > > $ ./xgcc -B./ -c t.cc > $ > > they expected this to produce a redeclaration error on the inner > declaration > for X. > > Tested on gcc version 4.4.0 20081003 (experimental) [trunk revision > 140855] > (GCC) > > There were other concerns about for, but, others seem to think gcc > does the > right thing with them. > > > -- > Summary: if scoping for declarations > Product: gcc > Version: 4.4.0 > Status: UNCONFIRMED > Severity: normal > Priority: P3 > Component: c++ > AssignedTo: unassigned at gcc dot gnu dot org > ReportedBy: mrs at apple dot com > > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37728 >
*** This bug has been marked as a duplicate of 18770 ***