Boost logo

Boost :

From: Ralf W. Grosse-Kunstleve (rwgk_at_[hidden])
Date: 2006-01-20 17:41:05


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?

Thank you in advance!

Cheers,
        Ralf

P.S.: Here is the complete warning #1:

.../boost/boost/type_traits/is_polymorphic.hpp: At global scope:
.../boost/boost/type_traits/is_polymorphic.hpp: In instantiation of
`boost::detail::is_polymorphic_imp1<cctbx::maptbx::mapper_factory<cctbx::maptbx::asu,
double, long int> >::d1':
.../boost/boost/type_traits/is_polymorphic.hpp:56: instantiated from
`boost::detail::is_polymorphic_imp1<cctbx::maptbx::mapper_factory<cctbx::maptbx::asu,
double, long int> >'
.../boost/boost/type_traits/is_polymorphic.hpp:91: instantiated from
`boost::detail::is_polymorphic_imp<cctbx::maptbx::mapper_factory<cctbx::maptbx::asu,
double, long int> >'
.../boost/boost/type_traits/is_polymorphic.hpp:96: instantiated from
`boost::is_polymorphic<cctbx::maptbx::mapper_factory<cctbx::maptbx::asu,
double, long int> >'
.../boost/boost/mpl/if.hpp:67: instantiated from
`boost::mpl::if_<boost::is_polymorphic<cctbx::maptbx::mapper_factory<cctbx::maptbx::asu,
double, long int> >,
boost::python::objects::polymorphic_id_generator<cctbx::maptbx::mapper_factory<cctbx::maptbx::asu,
double, long int> >,
boost::python::objects::non_polymorphic_id_generator<cctbx::maptbx::mapper_factory<cctbx::maptbx::asu,
double, long int> > >'
.../boost/boost/python/object/inheritance.hpp:65: instantiated from
`boost::python::objects::dynamic_id_generator<cctbx::maptbx::mapper_factory<cctbx::maptbx::asu,
double, long int> >'
.../boost/boost/python/object/inheritance.hpp:72: instantiated from `void
boost::python::objects::register_dynamic_id(T*) [with T =
cctbx::maptbx::mapper_factory<cctbx::maptbx::asu, double, long int>]'
.../boost/boost/python/object/class_metadata.hpp:97: instantiated from `void
boost::python::objects::register_shared_ptr_from_python_and_casts(T*, Bases)
[with T = cctbx::maptbx::mapper_factory<cctbx::maptbx::asu, double, long int>,
Bases = boost::python::bases<mpl_::void_, mpl_::void_>]'
.../boost/boost/python/object/class_metadata.hpp:225: instantiated from
`static void boost::python::objects::class_metadata<T, X1, X2,
X3>::register_aux2(T2*, Callback) [with T2 =
cctbx::maptbx::mapper_factory<cctbx::maptbx::asu, double, long int>, Callback =
boost::integral_constant<bool, false>, T =
cctbx::maptbx::mapper_factory<cctbx::maptbx::asu, double, long int>, X1 =
boost::python::detail::not_specified, X2 =
boost::python::detail::not_specified, X3 =
boost::python::detail::not_specified]'
.../boost/boost/python/object/class_metadata.hpp:219: instantiated from
`static void boost::python::objects::class_metadata<T, X1, X2,
X3>::register_aux(void*) [with T =
cctbx::maptbx::mapper_factory<cctbx::maptbx::asu, double, long int>, X1 =
boost::python::detail::not_specified, X2 =
boost::python::detail::not_specified, X3 =
boost::python::detail::not_specified]'
.../boost/boost/python/object/class_metadata.hpp:205: instantiated from
`static void boost::python::objects::class_metadata<T, X1, X2, X3>::register_()
[with T = cctbx::maptbx::mapper_factory<cctbx::maptbx::asu, double, long int>,
X1 = boost::python::detail::not_specified, X2 =
boost::python::detail::not_specified, X3 =
boost::python::detail::not_specified]'
.../boost/boost/python/class.hpp:506: instantiated from `void
boost::python::class_<T, X1, X2, X3>::initialize(boost::python::no_init_t)
[with W = cctbx::maptbx::mapper_factory<cctbx::maptbx::asu, double, long int>,
X1 = boost::python::detail::not_specified, X2 =
boost::python::detail::not_specified, X3 =
boost::python::detail::not_specified]'
.../boost/boost/python/class.hpp:637: instantiated from
`boost::python::class_<T, X1, X2, X3>::class_(const char*,
boost::python::no_init_t) [with W =
cctbx::maptbx::mapper_factory<cctbx::maptbx::asu, double, long int>, X1 =
boost::python::detail::not_specified, X2 =
boost::python::detail::not_specified, X3 =
boost::python::detail::not_specified]'
.../cctbx/maptbx/boost_python/mapper.cpp:100: instantiated from here
.../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

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


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