[gnu.g++] assertion failure on nonmember vars

becher@armada.UUCP (Jonathan D. Becher) (12/23/88)

PROGRAM:

class foo {}
main()
{
  int foo::i;
  printf("%d",i);
}


SYMPTOM:

g++ version 1.25.0
 /usr/local/lib/gcc-cpp+ -v -undef -D__GNU__ -D__GNUG__ -Dvax -Dunix
f1.cc /tmp/
cc012477.cpp
GNU CPP version 1.25.0
 /usr/local/lib/gcc-c++ /tmp/cc012477.cpp -quiet -dumpbase f1.cc -noreg -version -o /tmp/cc012477.s
GNU C++ version 1.25.0 (vax) compiled by GNU C version 1.25.
In function main ():
f1.cc:6: warning: implicit declaration of function `printf'
Failed assertion (form != MEMBER_TYPE) at line 626 of `convert.c'.
g++: Program c++ got fatal signal 4.


SYNOPSIS:

The declaration of `i' should have been caught as an error (right?).
Since it wasn't, the assertion fails because convert thinks that `i' is
 a member of an aggregate type.


Jon Becher
"Don't blame me. I don't code like this ...."

becher@armada.UUCP (Jonathan D. Becher) (12/24/88)

Whoops! Sorry about that gang.  That last article shoud have been in
 gnu.g++.bug.  I should know better.

Jon Becher
"Don't blame me.  I was out to lunch when it happened ...."