From: Markus Schöpflin (markus.schoepflin_at_[hidden])
Date: 2008-07-28 04:36:49
Daryle Walker wrote:
> 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.
OK, the preprocessor problems now are gone.
> 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.)
Yes, it's a non-Windows system.
Now I have the following issues:
1) I need to increase the maximum number of pending instantiations, it
seems that the default value of the compiler (64) is not enough. This is
also true for the acc toolset, AFAICT.
2) I get a number of compile time errors along the lines of:
cxx: Error: integer_test.cpp, line 623: expression must have a constant value
cxx: Error: ../../../boost/integer.hpp, line 375: class
"boost::maximum_unsigned_integral<<error-constant>>" has no member "type"
detected during instantiation of class
"boost::uint_value_t<Value> [with Value=<error-constant>]" at line 623 of
typedef typename maximum_unsigned_integral<Value>::type least;
It looks like all EDG based compilers are flagging this error, see for
3) There are quite a few warning about truncation of values or sign
changes, where I can't tell whether they are expected or not.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk