Re: [Boost-bugs] [Boost C++ Libraries] #3911: Boost.Serialization test failures on AIX with vacpp

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #3911: Boost.Serialization test failures on AIX with vacpp
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-02-12 17:59:38


#3911: Boost.Serialization test failures on AIX with vacpp
-------------------------------------+--------------------------------------
 Reporter: ccambly@… | Owner: ramey
     Type: Bugs | Status: new
Milestone: Boost 1.43.0 | Component: serialization
  Version: Boost Development Trunk | Severity: Problem
 Keywords: |
-------------------------------------+--------------------------------------

Comment(by ccambly@…):

 The section of code at the top of polymorphic_oarchive.hpp

 // 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 // vacpp gets here
         #endif
 ...

 So we have BOOST_NO_INT64_T not defined and BOOST_NO_INTRINSIC_INT64_T
 defined. In A.hpp we will
 get the members for f, and g defined.
     #ifndef BOOST_NO_INT64_T
     boost::int64_t f;
     boost::uint64_t g;
     #endif

 but in polymorphic_oarchive.hpp we do not get the declarations for
     #if !defined(BOOST_NO_INTRINSIC_INT64_T)
     virtual void save(const boost::int64_t t) = 0;
     virtual void save(const boost::uint64_t t) = 0;
     #endif

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3911#comment:4>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:02 UTC