
On Tue, Nov 24, 2009 at 2:27 AM, John Maddock <john@johnmaddock.co.uk> 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