rjc@maui.cs.ucla.edu (03/17/89)
G++ 1.34.1 GCC 1.34 Vax 8350, Ultrix 2.2-1 System #4 config.g++ vax I am told that "Each undeclared identifier is reported only once for each function it appears in." This clearly is not the case. bug.cc ----------------------------------------------------------------------- /* test undeclared identifier warnings * Rob Collins (rjc@cs.ucla.edu) */ struct A { int i; A(int x) { printf("A(%d)\n", x); i = x; }; A(A& x) { printf("A(A& x), x.i == %d\n", x.i); i = x.i; }; ~A(void) { printf("~A(%d)\n", i); }; void operator += (A& x) { printf("+=(%d, %d)\n", i, x.i); i += x.i; }; }; A foo (void) { tmp = 1; tmp = 1; tmp = 1; tmp = 1; tmp = 1; printf("foo(void), tmp.i == %d\n", tmp.i); return tmp; } main() { A bar = 5; bar += foo(); printf("main(), bar.i == %d\n", bar.i); } ----------------------------------------------------------------------- Script started on Thu Mar 16 10:39:20 1989 % g++ -v bug.cc g++ version 1.34.1 /usr/local/lib/gcc-cpp -+ -v -undef -D__GNU__ -D__GNUG__ -Dvax -Dunix -D__vax__ -D__unix__ bug.cc /tmp/cc007973.cpp GNU CPP version 1.34 /usr/local/lib/gcc-c++ /tmp/cc007973.cpp -quiet -dumpbase bug.cc -noreg -version -o /tmp/cc007973.s GNU C++ version 1.34.1 (vax) compiled by GNU C version 1.34. In function foo (): bug.cc:15: `tmp' was not declared (first use this function) bug.cc:15: (Each undeclared identifier is reported only once bug.cc:15: for each function it appears in.) bug.cc:16: `tmp' was not declared (first use this function) bug.cc:17: `tmp' was not declared (first use this function) bug.cc:18: `tmp' was not declared (first use this function) bug.cc:19: `tmp' was not declared (first use this function) bug.cc:20: `tmp' was not declared (first use this function) bug.cc:21: `tmp' was not declared (first use this function) % ^D script done on Thu Mar 16 10:39:34 1989 ------------------------------------------------------------------------------- rjc@cs.ucla.edu This is what happens when I sit on my keyboard: AISBDFAORI:KHGEDSYTFBFISKVDJ MN Next week: what happens when I throw my keyboard out the window!