Index: boost/boost/serialization/collection_traits.hpp =================================================================== --- boost/boost/serialization/collection_traits.hpp (Revision 45934) +++ boost/boost/serialization/collection_traits.hpp (Arbeitskopie) @@ -29,6 +29,8 @@ #include #include +#include // ULONG_MAX + #define BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(T, C) \ template<> \ struct implementation_level< C < T > > { \ @@ -50,9 +52,16 @@ // i.e. that its not a synonym for (unsigned) long // if there is no 64 bit int or if its the same as a long // we shouldn't define separate functions for int64 data types. -#if defined(BOOST_NO_INT64_T) \ - || (ULONG_MAX != 0xffffffff && ULONG_MAX == 18446744073709551615u) // 2**64 - 1 -# define BOOST_NO_INTRINSIC_INT64_T +#if defined(BOOST_NO_INT64_T) + #define BOOST_NO_INTRINSIC_INT64_T +#else + #if defined(ULONG_MAX) + #if(ULONG_MAX != 0xffffffff && ULONG_MAX == 18446744073709551615u) // 2**64 - 1 + #define BOOST_NO_INTRINSIC_INT64_T + #endif + #else + #define BOOST_NO_INTRINSIC_INT64_T + #endif #endif #if !defined(BOOST_NO_INTRINSIC_INT64_T)