’: /usr/include/boost/exception/enable_current_exception.hpp:130: instantiated from ‘boost::exception_detail::clone_base* boost::exception_detail::make_clone(const T&) [with T = boost::exception_detail::error_info_injectorboost::bad_weak_ptr]’ /usr/include/boost/exception/enable_current_exception.hpp:77: instantiated from ‘const boost::exception_detail::clone_base* boost::exception_detail::clone_impl<T>::clone() const [with T = boost::exception_detail::error_info_injectorboost::bad_weak_ptr]’ /export/home/loose/LOFAR/CEP/ParmDB/src/ParmDBLocker.cc:53: instantiated from here /usr/include/boost/exception/enable_current_exception.hpp:86: error: looser
https://bugzilla.novell.com/show_bug.cgi?id=465674
Summary: Error in header file
boost/exception/enable_current_exception.hpp causes
compile error
Classification: openSUSE
Product: openSUSE 11.1
Version: Final
Platform: All
OS/Version: openSUSE 11.1
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Development
AssignedTo: pth@novell.com
ReportedBy: loose@astron.nl
QAContact: qa@suse.de
Found By: ---
Created an attachment (id=264745)
--> (https://bugzilla.novell.com/attachment.cgi?id=264745)
Fix loose throw specifier in class exception_clone in
boost/exception/enable_current_exception.hpp
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.5)
Gecko/2008121300 SUSE/3.0.5-1.1 Firefox/3.0.5
When compiling code that makes use of the boost smart_ptr and weak_ptr classes,
I get the following compile error:
/usr/include/boost/exception/enable_current_exception.hpp: In instantiation of
‘boost::exception_detail::exception_clone
::~exception_clone()’ /usr/include/boost/exception/enable_error_info.hpp:32: error: overriding ‘boost::exception_detail::error_info_injector<T>::~error_info_injector() throw () [with T = boost::bad_weak_ptr]’
The error is in the class exception_clone; it is missing a destructor, so it will be compiler generated. However, the compiler generated destructor will not have a no-throw specification, which is (obviously) required by enable_error_info's destructor. Apparently, a similar error in the same source file was fixed earlier (see https://svn.boost.org/trac/boost/ticket/2193), but this one was overloooked. The fix is easy, just add a no-throw desctructor to the exception_clone class. I've attached a small patch to fixes this error. Reproducible: Always Steps to Reproduce: 1. 2. 3. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.