$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r60268 - trunk/boost/serialization
From: ramey_at_[hidden]
Date: 2010-03-06 21:37:54
Author: ramey
Date: 2010-03-06 21:37:54 EST (Sat, 06 Mar 2010)
New Revision: 60268
URL: http://svn.boost.org/trac/boost/changeset/60268
Log:
improve portability for 64 bit integers
Text files modified: 
   trunk/boost/serialization/array.hpp             |     2 --                                      
   trunk/boost/serialization/collection_traits.hpp |    27 ++++-----------------------             
   2 files changed, 4 insertions(+), 25 deletions(-)
Modified: trunk/boost/serialization/array.hpp
==============================================================================
--- trunk/boost/serialization/array.hpp	(original)
+++ trunk/boost/serialization/array.hpp	2010-03-06 21:37:54 EST (Sat, 06 Mar 2010)
@@ -134,8 +134,6 @@
   ar & boost::serialization::make_nvp("elems",a.elems);
 }
 
-
-
 } } // end namespace boost::serialization
 
 #ifdef __BORLANDC__
Modified: trunk/boost/serialization/collection_traits.hpp
==============================================================================
--- trunk/boost/serialization/collection_traits.hpp	(original)
+++ trunk/boost/serialization/collection_traits.hpp	2010-03-06 21:37:54 EST (Sat, 06 Mar 2010)
@@ -27,6 +27,7 @@
 #include <boost/mpl/integral_c_tag.hpp>
 
 #include <boost/cstdint.hpp>
+#include <boost/integer_traits.hpp>
 #include <climits> // ULONG_MAX
 #include <boost/serialization/level.hpp>
 
@@ -47,30 +48,10 @@
     /**/
 #endif
 
-// determine if its necessary to handle (u)int64_t specifically
-// 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)  
-     #define BOOST_NO_INTRINSIC_INT64_T  
-#else   
-    #if defined(ULLONG_MAX)  
-        #if(ULONG_MAX == 18446744073709551615ul) // 2**64 - 1  
-            #define BOOST_NO_INTRINSIC_INT64_T  
-        #endif  
-    #elif defined(ULONG_MAX)  
-        #if(ULONG_MAX != 0xffffffff && ULONG_MAX == 18446744073709551615ul) // 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)
+#if defined(BOOST_HAS_LONG_LONG)
     #define BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER_INT64(C)    \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(boost::int64_t, C)  \
-    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(boost::uint64_t, C) \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(boost::long_long_type, C)  \
+    BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER(boost::ulong_long_type, C) \
     /**/
 #else
     #define BOOST_SERIALIZATION_COLLECTION_TRAITS_HELPER_INT64(C)