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!