|
Boost : |
From: Ralf W. Grosse-Kunstleve (rwgk_at_[hidden])
Date: 2006-10-13 13:56:51
Alexander Nasonov wrote:
> Does it mean that your std library doesn't define compile-time contants
> in std::numeric_limits<T> ?
It does define std::numeric_limits<T>. Something more subtle must be wrong.
If I preprocess and compile like this ...
% cxx -E -std strict_ansi -tlocal -Iboost include_lcast_precision.cpp | grep -v '^#line ' > z_pp.cpp
% cxx -c -std strict_ansi -tlocal z_pp.cpp
I get the error below. Does this give a clue?
More observations:
- cxx 6.5 = EDG 245
- cxx 7.1 = EDG 304
- We also have MIPSpro 7.41 = EDG 245, which doesn't have a problem (but boost.config may work around it in some way...?).
cxx: Error: z_pp.cpp, line 20976: constant value is not known
typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( !is_specialized_binary || digits < 18446744073709551615U / 30103UL && precision > limits::digits10 + 0UL && precision <= precision_maxarg + 0UL ) >)> boost_static_assert_typedef_63;
----------------------------------------------------------------------------------------------------^
cxx: Error: z_pp.cpp, line 20976: incomplete type is not allowed
typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( !is_specialized_binary || digits < 18446744073709551615U / 30103UL && precision > limits::digits10 + 0UL && precision <= precision_maxarg + 0UL ) >)> boost_static_assert_typedef_63;
--------------------------------------------------------^
cxx: Error: z_pp.cpp, line 20987: constant value is not known
typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( !is_specialized_decimal || precision <= precision_maxarg + 0UL ) >)> boost_static_assert_typedef_74;
----------------------------------------------------------------------------------------------------^
cxx: Error: z_pp.cpp, line 20987: constant value is not known
typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( !is_specialized_decimal || precision <= precision_maxarg + 0UL ) >)> boost_static_assert_typedef_74;
------------------------------------------------------------------------------------------------------------------------------^
cxx: Error: z_pp.cpp, line 20987: incomplete type is not allowed
typedef ::boost::static_assert_test< sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( !is_specialized_decimal || precision <= precision_maxarg + 0UL ) >)> boost_static_assert_typedef_74;
--------------------------------------------------------^
cxx: Info: 5 errors detected in the compilation of "z_pp.cpp".
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk