
I am in the process of cleaning up the boost tree such that we can compile all our code with g++ -Wall -W warnings. The required changes are mostly trivial, but here is one I am not sure about:
.../boost/boost/type_traits/is_polymorphic.hpp:28: warning: `struct boost::detail::is_polymorphic_imp1<cctbx::maptbx::mapper_factory<cctbx::maptbx::asu, double, long int> >::d1' has virtual functions but non-virtual destructor
.../boost/boost/type_traits/is_polymorphic.hpp:28: warning: `struct boost::detail::is_polymorphic_imp1<iotbx::detectors::Mar345Adaptor>::d1' has virtual functions but non-virtual destructor
Could or should a virtual destructor be added here?
No, class d1 *must not have any virtual functions* other than those in it's base class (the type you are testing). I believe that you will only get the warning you're seeing if the type you're testing does have virtual functions but no virtual destructor. John.