Boost logo

Boost :

From: Daryle Walker (darylew_at_[hidden])
Date: 2008-07-25 12:47:56


On Jul 23, 2008, at 3:26 AM, Markus Schöpflin wrote:

> I noticed that you just checked in the change. On my platform
> (Tru64/CXX) I still get the following errors:
>
> cxx: Error: ../../../boost/integer.hpp, line 158: extra text after
> expected end of number
> (extrachrnum)
> #elif defined(BOOST_HAS_MS_INT64) && (0xFFFFFFFFFFFFFFFFui64 >
> ULONG_MAX)
> ---------------------------------------------------------^
> cxx: Error: integer_test.cpp, line 115: extra text after expected
> end of number
> (extrachrnum)
> #elif defined(BOOST_HAS_MS_INT64) && (0xFFFFFFFFFFFFFFFFui64 >
> ULONG_MAX)
> ---------------------------------------------------------^
> cxx: Error: integer_test.cpp, line 215: extra text after expected
> end of number
> (extrachrnum)
> #elif defined(BOOST_HAS_MS_INT64) && (0xFFFFFFFFFFFFFFFFui64 >
> ULONG_MAX)
> ---------------------------------------------------------^

I encapsulated the double-long and __int64 type families under a
single interface in the hidden header "boost/detail/
extended_integer.hpp" and updated my test code to match. If you
haven't re-compiled already, check it out. The nice thing is, if I
still haven't fixed the problem, there's now only _one_ place that
has to be adjusted.

Wait, you running on a non-Windows system, right? So the only
problem was that your compiler was still trying to parse the
"0xFFFFFFFFFFFFFFFFui64" for comparisons even though that line is
ignored otherwise. If so, then the new sub-header should be
sufficient since that text is more isolated now. (Your code will see
a more-compatible interpretation of "BOOST_UXINT_MAX" instead.)

-- 
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