Better support for Borland compiler

[SVN r49146]
This commit is contained in:
Robert Ramey
2008-10-06 16:30:30 +00:00
parent 47c2b1ff5d
commit d1a45cffdd
4 changed files with 22 additions and 12 deletions

View File

@@ -122,9 +122,15 @@ public:
// we provide an optimized load for all fundamental types
// typedef serialization::is_bitwise_serializable<mpl::_1>
// use_array_optimization;
struct use_array_optimization {
template <class T>
struct apply : public serialization::is_bitwise_serializable<T> {};
struct use_array_optimization {
template <class T>
#if defined(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS)
struct apply {
typedef BOOST_DEDUCED_TYPENAME boost::serialization::is_bitwise_serializable<T>::type type;
};
#else
struct apply : public boost::serialization::is_bitwise_serializable<T> {};
#endif
};
// the optimized load_array dispatches to load_binary

View File

@@ -116,11 +116,17 @@ public:
// we provide an optimized save for all fundamental types
// typedef serialization::is_bitwise_serializable<mpl::_1>
// use_array_optimization;
// use_array_optimization;
// workaround without using mpl lambdas
struct use_array_optimization {
template <class T>
struct apply : public boost::serialization::is_bitwise_serializable<T> {};
template <class T>
#if defined(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS)
struct apply {
typedef BOOST_DEDUCED_TYPENAME boost::serialization::is_bitwise_serializable<T>::type type;
};
#else
struct apply : public boost::serialization::is_bitwise_serializable<T> {};
#endif
};

View File

@@ -8,12 +8,12 @@
// See http://www.boost.org for updates, documentation, and revision history.
#if defined( __BORLANDC__ )
#pragma nopushoptwarn
#endif
#ifdef BOOST_MSVC
#pragma warning(pop)
#endif
#include <boost/config/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
#if defined( __BORLANDC__ )
#pragma nopushoptwarn
#endif

View File

@@ -77,8 +77,6 @@
//------------------Configure-------------------------------------------------//
# if defined(BOOST_INTEL)
# elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x600)
# define BOOST_HAS_DESCRIPTIVE_UNREFERENCED_VARIABLE_WARNING
# elif defined(__PGI)
# define BOOST_HAS_DESCRIPTIVE_DIVIDE_BY_ZERO_WARNING
# elif defined(__GNUC__) && !defined(BOOST_INTEL) // && (__GNUC__ * 100 + __GNUC_MINOR__ <= 302)