Boost logo

Boost :

Subject: Re: [boost] [warnings] Are warnings acceptable artifacts from builds?
From: Stewart, Robert (Robert.Stewart_at_[hidden])
Date: 2009-09-08 16:11:59


Emil Dotchevski wrote:
> On Tue, Sep 8, 2009 at 12:51 PM, Stewart,
> Robert<Robert.Stewart_at_[hidden]> wrote:
> > Robert Ramey wrote:
> >>
> >> warnings vary with compilers. It's a huge amount of extra work
> >> to eliminate all warnings in all compilers. And in many cases
> >> "fixing" warnings really amounts to "hiding" warnings (e.g.
> >> using a cast) so "fixing" them is worse than leaving them.
> >
> > Using casts doesn't hide warnings so much as tell the
> > compiler that you have examined the context and want it
> > to convert something anyway.
> >
> > Leaving warnings is worse than using a cast because library
> > users are left to wonder whether there are problems in the
> > library, can't find their own warnings and errors among your
> > warnings, and can't build when they prefer to treat warnings
> > as errors.
>
> Warnings may indicate a problem with your own code but in anyone
> else's code they should be ignored.

Unfortunately, compilers don't distinguish yours from theirs, so that doesn't work. It also doesn't solve the problem for those that prefer to treat warnings as errors.

> Insisting to fix warnings is somewhat insulting to the author of the
> library, too. It presumes that they did something unreasonable, when
> in fact the warning itself may be unreasonable.

The warning may, in fact, be unreasonable, but the library author should do all possible to quiet the warning. If nothing works, then a comment at the warning site will educate the library user. Those that treat warnings as errors may then choose to do something drastic in their environment that the library author would be unwilling to do, but it is better to avoid that altogether.

_____
Rob Stewart robert.stewart_at_[hidden]
Software Engineer, Core Software using std::disclaimer;
Susquehanna International Group, LLP http://www.sig.com

IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient, please notify the sender immediately by reply and immediately delete this message and all its attachments. Any review, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient is strictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitation or recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employer nor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the information contained herein or that this message or any of its attachments is free of viruses.


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