id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 6824,warning: delete called on boost::error_info... that has virtual functions but non-virtual destructor,Richard Powell ,Emil Dotchevski,"When compiling boost 1.49.0 thread.hpp with clang with -Wall, I receive warnings: /Users/richardpowell/boost/include/boost/checked_delete.hpp:34:5: warning: delete called on 'boost::error_info' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor] delete x; =-=-= More details: $ cat test2.cpp #include $ clang++ --version Apple clang version 4.0 (tags/Apple/clang-421.0.11) (based on LLVM 3.1svn) Target: x86_64-apple-darwin11.3.0 Thread model: posix $ clang++ -g -I. -Wall -I ~/boost/include -c test2.cpp In file included from test2.cpp:1: In file included from /Users/richardpowell/boost/include/boost/thread.hpp:13: In file included from /Users/richardpowell/boost/include/boost/thread/thread.hpp:17: In file included from /Users/richardpowell/boost/include/boost/thread/pthread/thread_data.hpp:10: In file included from /Users/richardpowell/boost/include/boost/shared_ptr.hpp:17: In file included from /Users/richardpowell/boost/include/boost/smart_ptr/shared_ptr.hpp:30: /Users/richardpowell/boost/include/boost/checked_delete.hpp:34:5: warning: delete called on 'boost::error_info' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor] delete x; ^ /Users/richardpowell/boost/include/boost/smart_ptr/detail/shared_count.hpp:95:13: note: in instantiation of function template specialization 'boost::checked_delete >' requested here boost::checked_delete( p ); ^ /Users/richardpowell/boost/include/boost/smart_ptr/shared_ptr.hpp:183:44: note: in instantiation of function template specialization 'boost::detail::shared_count::shared_count >' requested here explicit shared_ptr( Y * p ): px( p ), pn( p ) // Y must be complete ^ /Users/richardpowell/boost/include/boost/exception/info.hpp:170:42: note: in instantiation of function template specialization 'boost::shared_ptr >::shared_ptr >' requested here shared_ptr p( new error_info_tag_t(v) ); ^ /Users/richardpowell/boost/include/boost/exception/info.hpp:191:16: note: in instantiation of function template specialization 'boost::exception_detail::set_info' requested here return exception_detail::set_info(x,v); ^ /Users/richardpowell/boost/include/boost/exception/detail/exception_ptr.hpp:181:21: note: in instantiation of function template specialization 'boost::operator<<' requested here (*this) << original_exception_type(&typeid(e)); ^ /Users/richardpowell/boost/include/boost/exception/detail/exception_ptr.hpp:160:13: note: in instantiation of function template specialization 'boost::unknown_exception::add_original_type' requested here add_original_type(e); ^ 1 warning generated. ",Bugs,reopened,To Be Determined,exception,Boost 1.56.0,Problem,,,