jjc@UUNET.UU.NET (James Clark) (06/08/89)
I think the following program should be rejected, because it's ambiguous which foo() D should inherit. g++ 1.35.1- accepts it. Script started on Thu Jun 8 14:02:55 1989 jclark% cat mi.c struct A { virtual void foo(); }; struct B : virtual A { void foo(); }; struct C : virtual A { void foo(); }; struct D : B, C { }; jclark% g++ -g -v -c mi.c g++ version 1.35.1- /usr/local/lib/gcc-cpp -+ -v -undef -D__GNU__ -D__GNUG__ -D__cplusplus -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ mi.c /tmp/cca13090.cpp GNU CPP version 1.35 /usr/local/lib/gcc-cc1plus /tmp/cca13090.cpp -quiet -dumpbase mi.c -noreg -version -G -o /tmp/cca13090.s GNU C++ version 1.35.1- (sparc) compiled by GNU C version 1.35. as /tmp/cca13090.s -o mi.o jclark% exit jclark% script done on Thu Jun 8 14:03:17 1989 James Clark jjc@jclark.uucp