|
Boost : |
From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-05-20 10:46:15
Hi,
I just tried compiling something with intel 5.0 + STLPort on Win32.
integer_traits.hpp gave me:
z:\\boost\\boost/integer_traits.hpp(45): error: enumeration value is out of
"int" range
BOOST_STATIC_CONSTANT(T, const_min = min_val);
^
detected during:
instantiation of class "boost::detail::integer_traits_base<T,
min_val, max_val> [with T=__int64, min_val=-9223372036854775808i64,
max_val=9223372036854775807i64]" at line 176
instantiation of class "boost::integer_traits<__int64>" at line
175
...
Now, this is due to the fact that BOOST_NO_INCLASS_MEMBER_INITIALIZATION is
defined for Intel when it's emulating VC6 (or atop the VC6 lib, I'm not
sure):
# if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7
(Peter Dimov)
// Intel C++ 5.0.1 uses EDG 2.45, but fails to activate Koenig lookup
// in the frontend even in "strict" mode, unless you use
// -Qoption,cpp,--arg_dep_lookup. (reported by Kirk Klobe & Thomas
Witt)
// Similarly, -Qoption,cpp,--new_for_init enables new-style "for"
loop
// variable scoping. (reported by Thomas Witt)
// Intel C++ 6.0 (currently in Beta test) doesn't have any front-end
// changes at all. (reported by Kirk Klobe)
# ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
# endif
# define BOOST_NO_SWPRINTF
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
# endif
I don't understand why we'd define BOOST_NO_INCLASS_MEMBER_INITIALIZATION,
since it's clearly a false assertion for Intel (even 5.0) that it doesn't
support in-class initialization of static integral constant members.
I'm taking out the #define in my local copy, and will wait a day to hear
from people about the reasons it's defined before checking anything in...
-Dave
+---------------------------------------------------------------+
David Abrahams
C++ Booster (http://www.boost.org) O__ ==
Pythonista (http://www.python.org) c/ /'_ ==
resume: http://users.rcn.com/abrahams/resume.html (*) \(*) ==
email: david.abrahams_at_[hidden]
+---------------------------------------------------------------+
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk