Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2002-11-29 09:01:54


"John Maddock" <jm_at_[hidden]> writes:

>> I assume the current definition of ~d1() is because some compilers
>> generate an implicit destructor with a non-empty
>> exception-specification, which then causes an error? I'm wondering if
>> we wouldn't be better off just defining ~d1 for those compilers, since
>> many other compilers are likely to raise the same warning as above.
>
> Yep, it's a bit of a mess, but if I remember correctly the explicit
> destructor was required VC6/7 and those other compilers that use the same
> ABI, in order to ensure that they did the right thing with classes with
> virtual bases, but otherwise no virtual functions themselves (the iostream
> classes for example). I guess all we can really do is patch this on a case
> by case basis depending upon the compilers ABI :-(

Sure. But the question is: which should the default be?

-- 
                       David Abrahams
   dave_at_[hidden] * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk