
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?