On Wed, Aug 13, 2008 at 2:32 PM, Robert Ramey
Emil Dotchevski wrote:
Isn't this a rare configuration anyway,
Why does it matter whether its rare or not?
that disables RTTI but enables exceptions? I mean, some form of RTTI is needed for exception handling anyway
I don't see this, could you expand up this?
so it's not completely turned off as long as exceptions are enabled.
what's not completely turned off? RTTI?. what does "completely" mean here?
What I mean is that even if you turn RTTI off, as long as exceptions are enabled, some (most?) RTTI functionality remains enabled because it is needed for catch() to do its magic. This is why the argument that it's a rare configuration has some merit.
If I understand correctly, the "old" exception didn't require this - now all programs which which don't use RTTI but use Boost Exception are now broken. Am I wrong here?
If either BOOST_NO_TYPEID or BOOST_EXCEPTION_DISABLE is defined, throw_exception.hpp reverts to its pre-1.36 behavior that does not require typeid. This does not disable exception handling, only disables Boost Exception, which is a new library introduced in 1.36. As it is now, an old program that disables RTTI can not take advantage of Boost Exception. I guess the confusion stems from the name of the BOOST_EXCEPTION_DISABLE define. Unfortunately it's too late to rename it in time for the 1.36 release. Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode