schmidt%siam.ics.uci.edu@orion.cf.uci.edu ("Douglas C. Schmidt") (09/20/88)
Hi,
As I recall from Doug Lea's 1.27 announcement, multiple inheritance has
not yet be fully implemented in G++. Therefore, the following report may
be superfluous:
----------------------------------------
#include <stream.h>
class Foo {
int j;
public:
Foo(int i = 8) {
j = i;
}
int Return_J() {
return(j);
}
};
class Bar {
int k;
public:
Bar(int i = 9) {
k = i;
}
int Return_K() {
return(k);
}
};
class Foo_Bar : public Bar, public Foo {
public:
Foo_Bar(): Foo(), Bar() {
cout << "hello\n";
}
};
main() {
Foo_Bar Zippy;
cout << "Zippy.Return_K() = " << Zippy.Return_K() << "\n";
cout << "Zippy.Return_J() = " << Zippy.Return_J() << "\n";
}
----------------------------------------
Diagnostics:
----------------------------------------
g++ version 1.27.0
/usr/public/lib/g++/gcc-cpp+ -v -I/cl/ua/schmidt/include/ -undef -D__GNU__ -D__GNUG__ -Dsparc -Dsun -Dunix bug.cc /tmp/cca01029.cpp
GNU CPP version 1.27.0
/usr/public/lib/g++/gcc-c++ /tmp/cca01029.cpp -quiet -dumpbase bug.cc -fmemoize-lookups -fsave-memoized -fchar-charconst -noreg -version -o /tmp/cca01029.s
Failed assertion (((basetype)->classtype.n_parents)) at line 2508 of `class.c'.
GNU C++ version 1.27.0 (sparc) compiled by GNU C version 1.28.
/usr/public/g++: Program c++ got fatal signal 6.