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