Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2006-02-22 03:47:32


On Wednesday 22 February 2006 11:38, Reece Dunn wrote:

> >The current V2 'intel-linux' toolset uses -Wall by default, but that seems
> >to
> >be very bad idea. I get huge warnings everywhere on Boost, and even after
> >disabling the most pointless ones (see intel-linux.jam), there's still do
> >many of them. In fact, the log file from full regression run is 2G!
> >
> >Anybody can suggest what's the reasonable approach here? Should we just
> > use "-w1" option? Or "-w2", and explicitly disable all "unreasonable"
> > warnings?
>
> Can't you add <warnings> option support and then pass warnings=off to bjam
> in the regression run? This would make it configurable, so you could choose
> what warning options you want to run.

I can, in theory, but still if <warnings>all translates to -Wall, users will
see huge number of pointless "remarks" which seem pretty useless. Here's what
I had before:

-# Disable some pointless warnings:
-# 1418 is 'external definition with no prior declaration'
-# This is just pointless
-# 383 is 'value copied to temporary, reference to temporary used'
-# Produced too often.
-# 981 is 'operands are evaluated in unspecified order'
-# This triggers even on chained operator "<<"
-# 444 is 'destructor for base class XX is not virtual'
-# Emitted on boost::noncopyable, that has no virtual
-# methods to begin with and is not a "real" base class.
-# 193 is 'zero used for undefined preprocessing identifier'
-# This is common thing, and used in BOOST_WORKAROUND often.
-# 530 is 'inline function XXX cannot be explicitly instantiated'
-# Obscure warning affecting Boost. No docs can be found.
-# 810 is 'conversion from X to Y may loose significant bits'
-# This is emitted even for explicit conversions
-# 304 is 'access control not specified, public by default'
-# Emitted on "struct foo : whatever", which is used often in Boost.MPL
-# 279 is 'controlling expression is constant'
-# Happens, in particular, on "assert(false)"
-# 1419 is 'external declaration in primary source file'
-# This is just pointless

For now, I've make <warnings>off translate into -w1 and doing a full run.
Let's see if this will be better.

- Volodya


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk