tiemann@LURCH.STANFORD.EDU (Michael Tiemann) (10/14/89)
Date: Sat, 14 Oct 89 06:43:15 PDT
From: eklee@mint.berkeley.edu (Edward K. Lee)
I am running the unofficial release of g++ 1.36 on a sun3 running Sprite.
(This also happens with g++ 1.35 on a sun3 running Sun UNIX 4.2 Release 3.5)
When compiling:
main()
{
for(int i = 0; i < 6; i++) {
}
for(int i = 0; i < 6; i++) {
}
}
The compiler complains:
g++ -v t.cc
gcc version 1.36.0- (based on GCC 1.35.99)
cpp -+ -v -I/user1/eklee/install.g++/lib/g++-include -undef -D__GNUC__ -D__GNUG__ -D__cplusplus -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__HAVE_68881__ -Dmc68020 t.cc /usr/tmp/cc530991.cpp
GNU CPP version 1.36
cc1plus /usr/tmp/cc530991.cpp -quiet -dumpbase t.cc -version -o /usr/tmp/cc530991.s
GNU C++ version 1.36.0- (based on GCC 1.35.99) (68k, MIT syntax) compiled by GNU C version 1.36.
default target switches: -m68020 -mc68020 -m68881 -mbitfield
t.cc: In function int main ():
t.cc:5: redeclaration of `i'
t.cc:3: here is the previous declaration of `i'
Ed
This is a bug in the language. I have asked several times that the
semantics of `for' be fixed, but to no avail. The reason given is
that it would ``break too much code''. As I am writing this letter, I
am figuring out how to modify yet another piece of C++ code to deal
with the change in semantics of `protected'.
Michael