> 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 :-( John Maddock http://ourworld.compuserve.com/homepages/john_maddock/index.htm _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost