|
Boost : |
Subject: Re: [boost] [inspect] exceptions (FW: [Boost-users] no exceptions)
From: Emil Dotchevski (emildotchevski_at_[hidden])
Date: 2011-03-23 03:07:18
On Tue, Mar 22, 2011 at 11:37 PM, Dave Abrahams <dave_at_[hidden]> wrote:
> At Tue, 22 Mar 2011 11:38:59 +0300,
> Vladimir Prus wrote:
>>
>> Emil Dotchevski wrote:
>>
>> > On Mon, Mar 21, 2011 at 6:39 PM, Robert Kawulak
>> > <robert.kawulak_at_[hidden]> wrote:
>> >> >From Boost Users ML:
>> >>
>> >>> From: Hochhaus, Andrew
>> >>> I would like to use boost with BOOST_NO_EXCEPTIONS [1] and the g++
>> >>> -fno-exceptions flag. However, it appears that some spots in boost
>> >>> library code:
>> >>>
>> >>> a) throw exceptions with the "raw" throw keyword [instead of
>> >>> BOOST_THROW_EXCEPTION or boost::throw_exception]
>> >>> b) use try ... catch blocks without "#ifnef BOOST_NO_EXCEPTIONS" guards
>> >>
>> >> Wouldn't it be a good idea to add checks for these to the inspect tool? Also, non-empty
>> >> exception specifications are discouraged by Boost guidelines - should appropriate checks be
>> >> added too?
>> >
>> > +1
>>
>> I don't think that Boost libraries are required to support
>> non-conforming compilers or operation modes of compilers, therefore
>> adding inspect check for a workaround for such non-comforming
>> behaviour would be wrong, I think.
>
> Well... I was going to write this:
>
> I think we ought to establish something weaker than requirements
> but still official, like "portability best practices" or something,
> that would include making the adjustments needed to run in
> exception-free environments.
>
> but the more I think about it, the less clear I am on what that means.
> Would we be asking people to try to recover from out-of-memory and
> other exceptional conditions via some other mechanism when exceptions
> are disabled? That seems impractical to me. We could barely even use
> the standard library under those circumstances. What do people who
> turn off exceptions expect from their libraries?
What they expect is beyond our control, but this is what we require:
http://www.boost.org/doc/libs/release/libs/exception/doc/throw_exception.html.
Emil Dotchevski
Reverge Studios, Inc.
http://www.revergestudios.com/reblog/index.php?n=ReCode
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk