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-11 18:44:59
#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: |
-------------------------------------+--------------------------------------
Changes (by anonymous):
* owner: johnmaddock => ramey
Comment:
Whatever the cause is, I'm not convinced that this is the correct fix.
I note that with the regression tests (32-bit) run with vacpp 10.1 that
the integer tests are all compiling.
Are you really saying that there is no int64_t in stdint.h? Come to that
I don't see how this macro can be defined in 64-bit mode either?
I believe the problem here is in polymorphic_iarchive.hpp, rather than:
{{{
#if !defined(BOOST_NO_INTRINSIC_INT64_T)
virtual void load(boost::int64_t & t) = 0;
virtual void load(boost::uint64_t & t) = 0;
#endif
}}}
It should be:
{{{
#if defined(BOOST_HAS_LONG_LONG)
virtual void load(boost::long_long_type & t) = 0;
virtual void load(boost::ulong_long_type & t) = 0;
#elif defined(BOOST_HAS_MS_INT64)
virtual void load(__int64 & t) = 0;
virtual void load(unsigned __int64 & t) = 0;
#endif
}}}
In other word if you overload on ''type'', then overload by "long long" or
equivalent as well. Alternatively overload by ''size'': int16_t, int32_t
etc (but this may miss some types out if they're the same size as each
other, causing problems down the road). But whatever you do don't mix the
two!
BTW long long will be part of the next standard, so we should be
supporting this as a native type where available anyway.
HTH, John.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/3911#comment:2> 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