forked from boostorg/type_traits
Fixes for Borland C++ Builder 6
[SVN r13662]
This commit is contained in:
@ -269,11 +269,12 @@ namespace detail
|
||||
};
|
||||
};
|
||||
} // namespace detail
|
||||
#ifndef __BORLANDC__
|
||||
#if !(defined(__BORLANDC__) && (__BORLANDC__ <= 0x551))
|
||||
template <typename T> struct is_enum
|
||||
{
|
||||
private:
|
||||
typedef typename ::boost::add_reference<T>::type r_type;
|
||||
typedef ::boost::add_reference<T> ar_t;
|
||||
typedef typename ar_t::type r_type;
|
||||
|
||||
# if (defined(__MWERKS__) && __MWERKS__ >= 0x3000) || BOOST_MSVC > 1301 || defined(BOOST_NO_COMPILER_CONFIG)
|
||||
BOOST_STATIC_CONSTANT(bool, selector =
|
||||
@ -294,7 +295,12 @@ private:
|
||||
// a dependency recursion.
|
||||
>::value));
|
||||
# endif
|
||||
typedef typename ::boost::detail::is_enum_helper<selector>::template type<r_type> helper;
|
||||
#ifdef __BORLANDC__
|
||||
typedef ::boost::detail::is_enum_helper< ::boost::is_enum<T>::selector> se_t;
|
||||
#else
|
||||
typedef ::boost::detail::is_enum_helper<selector> se_t;
|
||||
#endif
|
||||
typedef typename se_t::template type<r_type> helper;
|
||||
public:
|
||||
BOOST_STATIC_CONSTANT(bool, value = helper::value);
|
||||
};
|
||||
|
@ -131,8 +131,10 @@ int cpp_main(int argc, char* argv[])
|
||||
|
||||
//
|
||||
// define the number of failures expected for given compilers:
|
||||
#ifdef __BORLANDC__
|
||||
#if defined(__BORLANDC__) && (__BORLANDC__ <= 0x551)
|
||||
unsigned int expected_failures = 2;
|
||||
#elif defined(__BORLANDC__)
|
||||
unsigned int expected_failures = 1;
|
||||
#elif defined(__SUNPRO_CC)
|
||||
#if (__SUNPRO_CC <= 0x520)
|
||||
unsigned int expected_failures = 11;
|
||||
|
@ -15,10 +15,10 @@ struct convertible_from
|
||||
convertible_from(T);
|
||||
};
|
||||
|
||||
#ifndef __BORLANDC__
|
||||
# define maybe_value_test value_test
|
||||
#else
|
||||
#if defined(__BORLANDC__) && (__BORLANDC__ <= 0x551)
|
||||
# define maybe_value_test value_fail
|
||||
#else
|
||||
# define maybe_value_test value_test
|
||||
#endif
|
||||
|
||||
int cpp_main(int argc, char* argv[])
|
||||
@ -95,8 +95,10 @@ int cpp_main(int argc, char* argv[])
|
||||
|
||||
//
|
||||
// define the number of failures expected for given compilers:
|
||||
#ifdef __BORLANDC__
|
||||
#if defined(__BORLANDC__) && (__BORLANDC__ <= 0x551)
|
||||
unsigned int expected_failures = 1;
|
||||
#elif defined(__BORLANDC__)
|
||||
unsigned int expected_failures = 3;
|
||||
#elif defined(__MWERKS__) && __MWERKS__ < 0x3000
|
||||
unsigned int expected_failures = 35;
|
||||
#else
|
||||
|
@ -292,7 +292,7 @@ int cpp_main(int argc, char* argv[])
|
||||
|
||||
//
|
||||
// define the number of failures expected for given compilers:
|
||||
#ifdef __BORLANDC__
|
||||
#if defined(__BORLANDC__) && (__BORLANDC__ <= 0x551)
|
||||
// can't handle enum's or classes that are POD's
|
||||
unsigned int expected_failures = 9;
|
||||
#elif defined(__SUNPRO_CC)
|
||||
|
Reference in New Issue
Block a user