[gnu.g++.bug] char * = void * not error?

riedl@cs.purdue.EDU (John T Riedl) (10/25/89)

My understanding from reading Stroustrup is that the assignment of a
void pointer to a typed pointer requires a cast.  However, under G++
the following program:

void * v;
char * sb;

main()
{
	sb = v;
	v = sb;
}

yields

[ medusa : riedl ] g++ -v -Wall -c void.cc
g++ version 1.35.1-
 /usr/local/gnu/lib/g++-1.35.1.lib/gcc-cpp -+ -v -undef -D__GNU__ -D__GNUG__ -D_
_cplusplus -Dunix -Di386 -Dsequent -D__unix__ -D__i386__ -D__sequent__ -Wall voi
d.cc /tmp/cc002632.cpp
GNU CPP version 1.34
 /usr/local/gnu/lib/g++-1.35.1.lib/gcc-cc1plus /tmp/cc002632.cpp -quiet -dumpbas
e void.cc -Wall -noreg -version -o /tmp/cc002632.s
GNU C++ version 1.35.1- (80386, BSD syntax) compiled by GNU C version 1.34.
 as /tmp/cc002632.s -o void.o
[ medusa : riedl ]

That is, there are no errors.  AT&T's C++ says 

[ raid2 : riedl ] /p1/CC/CC -v -c void.C
CC  void.C:
"void.C", line 6: error: bad assignment type: char * = void *
1 error
[ raid2 : riedl ]

John