Fixes for Borland C++ Builder 6

[SVN r13662]
This commit is contained in:
John Maddock
2002-05-04 11:03:42 +00:00
parent 2c5d50d193
commit e0bfa608ce
4 changed files with 19 additions and 9 deletions

View File

@ -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);
};

View File

@ -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;

View File

@ -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

View File

@ -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)