[Bug c++/21837] C++/C99 standard violation in for loop

gdr at integrable-solutions dot net gcc-bugzilla@gcc.gnu.org
Tue May 31 11:48:00 GMT 2005


------- Additional Comments From gdr at integrable-solutions dot net  2005-05-31 11:16 -------
Subject: Re:  New: C++/C99 standard violation in for loop

"ahelm at gmx dot net" <gcc-bugzilla@gcc.gnu.org> writes:

| C++ standard quote:
| 
| 3.3.2, paragraph 4:
| Names declared in the for-init-statement, and in the condition of if, while,
| for, and switch statements are local to the if, while, for, or switch statement
| (including the controlled statement), and shall not be re-declared in a
| subsequent condition of that statement nor in the outermost block (or, for the
| if statement, any of the outermost blocks) of the controlled statement; see 6.4.
| 
| However g++/gcc happily compiles:
| 
| #include <stdio.h>
| 
| int main(void)
| {
|   for(int i=2;i<4;i++)
|   {
|     int j = i;
|     int i;

There is duplicate of this bug in the case of C++, see PR2288.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21837



More information about the Gcc-bugs mailing list