Subject: Re: [Boost-bugs] [Boost C++ Libraries] #1715: gcc-4.3 doesn't compile polymorphic_(i)(o)archive.hpp
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2008-03-31 16:38:33
#1715: gcc-4.3 doesn't compile polymorphic_(i)(o)archive.hpp
-----------------------------------------------------------+----------------
Reporter: Maik Beckmann <Beckmann.Maik_at_[hidden]> | Owner: ramey
Type: Bugs | Status: reopened
Milestone: To Be Determined | Component: serialization
Version: Boost Development Trunk | Severity: Showstopper
Resolution: | Keywords:
-----------------------------------------------------------+----------------
Changes (by Maik Beckmann <Beckmann.Maik_at_[hidden]>):
* status: closed => reopened
* resolution: fixed =>
Comment:
Your code
{{{
#if defined(BOOST_NO_INT64_T)
#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
}}}
doesn't work, since if BOOST_NO_INT64_T isn't defined ULONG_MAX isn't even
considerd. I guess you want
{{{
#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
}}}
but I prefer
{{{
#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
#error "ULONG_MAX is not defined"
#endif
#endif
}}}
or
{{{
#if defined(BOOST_NO_INT64_T)
#define BOOST_NO_INTRINSIC_INT64_T
#elif defined(ULONG_MAX)
#if(ULONG_MAX != 0xffffffff && ULONG_MAX == 18446744073709551615u) //
2**64 - 1
#define BOOST_NO_INTRINSIC_INT64_T
#endif
#else
#error "ULONG_MAX is not defined"
#endif
}}}
--
Ticket URL: <http://svn.boost.org/trac/boost/ticket/1715#comment:3>
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:49:57 UTC