@@ -0,0 +1,38 @@
+--- boost/archive/polymorphic_iarchive.hpp
++++ boost/archive/polymorphic_iarchive.hpp
+@@ -16,6 +16,7 @@
+
+ // See http://www.boost.org for updates, documentation, and revision history.
+
++#include <climits> // UINT_MAX
+ #include <cstddef> // std::size_t
+ #include <boost/config.hpp>
+
+@@ -38,7 +39,7 @@
+ // 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
++ || (ULONG_MAX != 0xffffffffu /* 2^^32 -1 */ && ULONG_MAX == 0xffffffffffffffffu) // 2**64 - 1
+ # define BOOST_NO_INTRINSIC_INT64_T
+ #endif
+
+--- boost/archive/polymorphic_oarchive.hpp
++++ boost/archive/polymorphic_oarchive.hpp
+@@ -16,6 +16,7 @@
+
+ // See http://www.boost.org for updates, documentation, and revision history.
+
++#include <climits> // UINT_MAX
+ #include <cstddef> // size_t
+ #include <string>
+
+@@ -37,7 +38,7 @@
+ // 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
++ || (ULONG_MAX != 0xffffffffu /* 2^^32 -1 */ && ULONG_MAX == 0xffffffffffffffffu) // 2**64 - 1
+ # define BOOST_NO_INTRINSIC_INT64_T
+ #endif
+
|