|
Boost : |
Subject: Re: [boost] [Exception] SFINAE use breaks Borland in Trunk
From: Emil Dotchevski (emildotchevski_at_[hidden])
Date: 2009-11-24 06:45:50
On Tue, Nov 24, 2009 at 2:27 AM, John Maddock <john_at_[hidden]> wrote:
> Boost.Exception is currently failing for Borland compiles with for example:
> http://tinyurl.com/ycu779q
>
> The issue appears to be use of SFINAE like techniques without a
> BOOST_NO_SFINAE fallback.
>
> The problem here is that since Boost.Exception gets pulled in by almost
> everything, we need it to be lightweight and well supported, otherwise the
> rest of us are stuck even if we want to continue to support the older
> compilers :-(
The only part of Boost.Exception that is pulled in by almost all Boost
source files that throw exceptions is boost/throw_exception.hpp. It is
very lightweight and works on all compilers (including Borland), at
least to the extend of being able to call boost::throw_exception to
throw.
With the rest of Boost.Exception, Borland has many issues. Of course,
I am not against supporting that compiler, I would certainly accept
patches to that effect.
There are two headers that should be modified with extreme care,
boost/throw_exception.hpp and boost/exception/exception.hpp. As it
stands, boost/throw_exception.hpp only includes <exception>,
boost/detail/workaround.hpp, and boost/exception/exception.hpp (which
does not include anything.) I would prefer to keep it this way
precisely because it is used by all exception throwing code in Boost.
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