Boost logo

Boost Users :

From: Emil Dotchevski (emil_at_[hidden])
Date: 2008-08-13 20:28:07


On Wed, Aug 13, 2008 at 2:32 PM, Robert Ramey <ramey_at_[hidden]> wrote:
> 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


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net