Boost logo

Boost :

From: Daryle Walker (darylew_at_[hidden])
Date: 2008-07-21 19:40:16


On Jul 21, 2008, at 3:31 AM, Markus Schöpflin wrote:

> The two tests integer_mask_test and integer_test have been broken
> by the recent commits to integer on nearly all platforms. (Probably
> all but Windows) The error message is:

Actually my non-Windows machine compiles the code just fine....

> In file included from ../libs/integer/test/integer_test.cpp:29:
> ../boost/integer.hpp:154:39: error: invalid suffix "ui64" on
> integer constant
> ../libs/integer/test/integer_test.cpp:115:39: error: invalid suffix
> "ui64" on integer constant
> ../libs/integer/test/integer_test.cpp:215:39: error: invalid suffix
> "ui64" on integer constant

..But it seems that not every platform that doesn't use the __int64
types ignores the constant. I copied that code from some other file
(I forgot which one.); presumably, that author couldn't find a
ULONG_MAX equivalent for the __int64 type family. If there is one,
or a better alternative that never chokes on non-Windows systems, can
you tell me?

I wonder if my compiler is too permissive in ignoring the constant,
or the others are too strict in interpreting it. Which compilers are
affected? (I'm using Apple's special GCC 4.0.1, Mac OS X 10.4
PowerPC.) This is on the trunk, right? I never intended this to go
into the current release branch.

-- 
Daryle Walker
Mac, Internet, and Video Game Junkie
darylew AT hotmail DOT com

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