niklas@appli.se (Niklas Hallqvist) (10/22/90)
I have encountered a bug in G++ 1.37.1 (with some 1.37.2 additions)
using MI and virtual base classes. Compiling the following no-op file:
class a {};
class b { public: ~b() {} };
class c : virtual a, b { public: ~c() {} };
results in:
Failed assertion `DECL_OFFSET (TYPE_NAME (basetype))' at line 3331 of `cplus-init.c'.
g++: Program cc1plus got fatal signal 6.
Of course, these class definitions don't make sense as they are given,
but still, if I've done something illegal (which I fail to see) there
should be an error message, not a core dump. What I'm asking is:
1. Is the given example legal C++?
2. Which compilers out there fail to compile the code (product & vers.no)?
3. Is it OK in the real G++ 1.37.1 or 1.37.2 (as I said, I've got an
intermediate version)
Thanks!
Niklas
--
Niklas Hallqvist Phone: +46-(0)31-19 14 85
Applitron Datasystem Fax: +46-(0)31-19 80 89
N. Gubberogatan 30 Email: niklas@appli.se
S-416 63 GOTEBORG, Sweden sunic!chalmers!appli!niklas