Boost logo

Boost :

Subject: Re: [boost] Testing -fno-rtti builds (was: [function] function_base.hpp:220: error: cannot use typeid with -fno-rtti)
From: Doug Gregor (doug.gregor_at_[hidden])
Date: 2009-01-08 13:44:01


On Thu, Jan 8, 2009 at 10:33 AM, Emil Dotchevski
<emildotchevski_at_[hidden]> wrote:
> On Thu, Jan 8, 2009 at 10:17 AM, Doug Gregor <doug.gregor_at_[hidden]> wrote:
>> On Thu, Jan 8, 2009 at 10:10 AM, Emil Dotchevski
>> <emildotchevski_at_[hidden]> wrote:
>>> On Thu, Jan 8, 2009 at 9:21 AM, Doug Gregor <doug.gregor_at_[hidden]> wrote:
>>>> On Wed, Jan 7, 2009 at 5:33 PM, Steven Watanabe <watanabesj_at_[hidden]> wrote:
>>>>> Emil Dotchevski wrote:
>>>>>>
>>>>>> Does boost::function not support -fno-rtti by design (linux/gcc 4.1.3)?
>>>>>
>>>>> target, target_type, and contains require typeid. I suppose that in
>>>>> principle these could be disabled.
>>>>
>>>> Yes, it's possible, and I'd certainly accept a patch that did so.
>>>
>>> Someone correct me if I'm doing it wrong, but for example the
>>> RTTI-less and typeid-less configurations of Boost Exception, the
>>> library I'm maintaining, are tested only by me on my own computer, and
>>> I'm only testing them with MSVC and a single version of linux/gcc.
>>> Shouldn't the automatic trunk/release tests handle these, as well as
>>> other supported configurations?
>>>
>>> I guess what I'm saying is, I can make a patch to make boost::function
>>> work without RTTI, but I'm certainly not up to running those tests
>>> too. :)
>>
>> I'm sure you can teach bjam to build a test using the appropriate
>> extra flags for each compiler, but I don't recall how to do so. Then
>> we could put that test in with the rest of Boost.Function's tests.
>
> Yes that's how I do it :) but I do not want to be running -fno-rtti
> tests for boost::function on a regular basis. Also consider that
> disabling RTTI comes in two flavors, since on MSVC static typeid is
> available even when RTTI is disabled.
>
> This ought to be part of all Boost testing, provided that the Boost
> community cares about -fno-rtti (I can say this the other way around
> too, if we're not testing the no-RTTI configuration of Boost, then we
> don't care about that configuration.)

You can specify that RTTI be turned off for a single test, so that we
can test boost::function with -fno-rtti even when the test runner
typically has RTTI enabled.

  - Doug


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk