Boost logo

Boost :

From: Andreas Huber (ahd6974-spamgroupstrap_at_[hidden])
Date: 2006-03-13 18:38:58

Hi Juergen

> I've tried to run the statechart examples and tests with gcc 4.0 using
> Boost.Build V2.
> The attached patch corrects some minor glitches:
> The examples don't run from the "run" directory because gcc's -rpath
> option is not used when using shared libraries. This is enabled by
> <hardcode-dll-paths>true

Applied, thanks.

> The test Jamfile produces *tons* of warnings because
> -Wno--non-virtual-dtor is not set and detail/rtti_policy has an
> (empty) virtual function named "dummy" but no virtual destructor.

I get no warnings whatsoever on mingw. libs/statechart/Jamfile.v2 looks
as follows:

project libs/statechart
    # The library ensures that all state destructors are only invoked on
    # the most-derived type, therefore state destructors do not need to
    # be virtual
  : requirements <toolset>gcc:<cxxflags>-Wno-non-virtual-dtor ;

Shouldn't that take care of any warnings in test *and* example?

> I simply disabled this warning, but I'm not happy about it. It has
> been helpful in my own code in the past. Is there any chance to make
> the destructor virtual when a vtable is needed ?

The destructors are not virtual for performance reasons (see comment
above on how correctness is ensured). The vtable is needed for typeid,
that's why there's a dummy.


Andreas Huber
When replying by private email, please remove the words spam and trap
from the address shown in the header. 

Boost list run by bdawes at, gregod at, cpdaniel at, john at