Boost logo

Boost :

Subject: Re: [boost] [integer] long long warning
From: John Maddock (john_at_[hidden])
Date: 2009-11-10 04:48:39


> if, in SVN trunk as of revision 57535, I go to libs/program_options/test
> and run:
>
> bjam warnings=all cxxflags=-Wextra
>
> I get a pile of warnings like this:
>
> ../../../boost/integer.hpp:145:24: warning: use of C99 long long integer
> constant
>
> These are actually only warnings that are now printed. Does anybody know
> what
> to do with them?

Not yet, but it hits my stuff as well, so sometime I want to see it fixed.
BTW I believe there are quite a few changes to Boost.Integer in Trunk that
have never been merged to release as well, which adds extra complications
:-(

Looking at the code in question, it appears the warning is from the
preprocessor phase as the line in question reads:

#if BOOST_HAS_XINT && (BOOST_UXINT_MAX > ULONG_MAX)

So we can't just declare constants-as-variables in one place to fix this as
we need values usable in preprocessor directives. Looks like we'll need
another #pragma GCC system_header, and as suggested elsewhere I'll try and
add a way to turn off those pragmas in Boost.Config.

HTH, John.

PS don't let warnings in dependencies stop you from declaring the library
"clean" on https://svn.boost.org/trac/boost/wiki/WarningFixes, it's
understood that dependencies may cause warnings, but they'll get fixed at
some point if we all work through the list.


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