|
Boost : |
From: Kim Barrett (kab_at_[hidden])
Date: 2005-11-21 18:30:55
At 1:18 PM -0800 11/21/05, Robert Ramey wrote:
>You might consider adding a switch to the gcc compiler switches used.
>This is what I did to make it pass the tests without complaint. Offhand
>I've forgotten the exact switch but I think you'll find it in
>serialization.jam
>in libs/serialization/build
-Wno-non-virtual-dtor. But then one loses that warning when it actually
matters.
>The warnings can be ignored in this case. The destrctor is "protected"
>so that attempts to delete through a base class pointer will be
>detected as errors at compile time. This also eliminates a useless
>vtable entry. This was introduced to be sure that derived classes
>in DLLS wern't being deleted through the library.
OK, so these warnings really are uninteresting. Unfortunately, the
heuristic (virtual functions + non-virtual destructor => potentially bad)
is inadequate for detecting that. And I'm not sure that modifying that
heuristic to only apply when the destructor is public would actually
detect some of the real errors this heuristic warning is trying to
prevent, so I doubt I would get any traction by filing a bug report
against gcc.
>However, these warnings are annoying. I'm considering adding
>"virtual" back in to the gcc compiles just to avoid these annoying
>warnings - but this would be in a future release in any case.
Well, what's a beta period for, if not to shake out things that one
really doesn't want to release and live with for a while. I guess
this is really a request to the release manager to consider allowing
this change to be made for 1.33.1. Rationale: common warning settings
on very popular tool chain will generate potentially huge numbers of
spurious warnings for users of the serialization library without this
change. Is there a mechanism for directly bringing something like this
to the attention of the release manager (is that Doug?)? Direct email?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk