------- Comment #1 from pinskia at gcc dot gnu dot org 2008-08-10 07:39 ------- Nope, GCC's behavior is correct according to the C++ standard: 12.7/3: When a virtual function is called directly or indirectly from a constructor (including from the mem-initializer for a data member) or from a destructor, and the object to which the call applies is the object under construction or destruction, the function called is the one define in the constructor or destructor's own class or in one of its bases, but not a function overiding it in a class derived from the constructor or destructor's class or overriding it in one of the other base classes of the most derived object (1.8).
-- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37065