Subject: Re: [Boost-build] [boost] BOOST_CURRENT_FUNCTION [Boost Build updates]
From: Chris Knight (cknite_at_[hidden])
Date: 2008-09-08 05:24:42
On Sunday 07 September 2008 1:35:03 pm Emil Dotchevski wrote:
> On Sat, Sep 6, 2008 at 5:53 PM, Chris Knight <cknite_at_[hidden]> wrote:
> > On Friday 05 September 2008 4:36:30 pm Jurko Gospodnetiæ wrote:
> > Also included is a small fix to exception/enable_current_exception.hpp to
> > compile under studio. This sun.jam file also apparently fixes the
> > compilation issues with 1.36 and libserialization. Tested w/ Studio 12
> > and Studio Express Jul-2008.
> There is an issue with the enable_current_exception part of the patch.
> The constructor you have marked as throw() is not a copy constructor
> and may indeed throw. There is not, and can not be, a requirement that
> exceptions constructors don't throw, only the copy constructor is
> required to be nothrow. In that type, the copy constructor is
> generated by the compiler. If you're getting errors, they might be due
> to passing a non-compliant type to enable_current_exception. Can you
> post a log file with the errors?
Ahh, sorry. I added the throw () to the constructor by mistake. The defined destructor is supplied otherwise the warnings in exceptions.warn are generated. The other option is to add "wlessrestrictedthrow" to the -erroff argument passed to the compiler. Supplying the destructor is slightly better in that it does not require modification to the command line used to compile any file using current_enable_exception.hpp directly or otherwise to get rid of the warnings.
Also, I removed several warning disablements from sun.jam as they were still missing the warnings on wave. The correct addition would be "uninitialized" as seen in the wave.warn file. However, this may be overkill as it is the only module that generates any warnings with the much shorter -erroff.
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk