diff --git a/include/boost/config/compiler/borland.hpp b/include/boost/config/compiler/borland.hpp index 508f707e..6b0cc5c3 100644 --- a/include/boost/config/compiler/borland.hpp +++ b/include/boost/config/compiler/borland.hpp @@ -7,6 +7,7 @@ // Borland C++ compiler setup: +// Version 5.0 and below: # if __BORLANDC__ <= 0x0550 // Borland C++Builder 4 and 5: # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS @@ -16,6 +17,25 @@ # endif # endif +// Version 5.51 and below: +#if (__BORLANDC__ <= 0x551) +# define BOOST_NO_CV_SPECIALIZATIONS +# define BOOST_NO_CV_VOID_SPECIALIZATIONS +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +#endif + +// Version 6.0 and below: +#if (__BORLANDC__ <= 0x560) || !defined(BOOST_STRICT_CONFIG) +# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +# define BOOST_NO_INTEGRAL_INT64_T +# define BOOST_NO_PRIVATE_IN_AGGREGATE +# define BOOST_NO_SWPRINTF +# define BOOST_NO_USING_TEMPLATE + // we shouldn't really need this - but too many things choke + // without it, this needs more investigation: +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +#endif + // Borland C++Builder 6 defaults to using STLPort. If _USE_OLD_RW_STL is // defined, then we have 0x560 or greater with the Rogue Wave implementation // which presumably has the std::DBL_MAX bug. @@ -26,22 +46,6 @@ #include #endif -// Version 6.0 and below: -#if (__BORLANDC__ <= 0X560) || !defined(BOOST_STRICT_CONFIG) -# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS -# define BOOST_NO_INTEGRAL_INT64_T -# define BOOST_NO_PRIVATE_IN_AGGREGATE -# define BOOST_NO_SWPRINTF -# define BOOST_NO_USING_TEMPLATE -#endif - -// Version 5.51 and below: -#if (__BORLANDC__ <= 0x551) || !defined(BOOST_STRICT_CONFIG) -# define BOOST_NO_CV_SPECIALIZATIONS -# define BOOST_NO_CV_VOID_SPECIALIZATIONS -# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS -#endif - // // check for exception handling support: #ifndef _CPPUNWIND @@ -57,7 +61,7 @@ # error "Compiler not supported or configured - please reconfigure" #endif // -// last known and checked version is 5.51: +// last known and checked version is 5.6: #if (__BORLANDC__ > 0x560) # if defined(BOOST_ASSERT_CONFIG) # error "Unknown compiler version - please run the configure tests and report the results" @@ -65,3 +69,5 @@ # pragma message( "Unknown compiler version - please run the configure tests and report the results") # endif #endif + + diff --git a/include/boost/config/stdlib/stlport.hpp b/include/boost/config/stdlib/stlport.hpp index 10adc9f4..5742e3f0 100644 --- a/include/boost/config/stdlib/stlport.hpp +++ b/include/boost/config/stdlib/stlport.hpp @@ -119,6 +119,14 @@ # define BOOST_NO_CWTYPE #endif +// +// Borland ships a version of STLport with C++ Builder 6 that lacks +// hashtables and the like: +// +#if defined(__BORLANDC__) && (__BORLANDC__ == 0x560) +# undef BOOST_HAS_HASH +#endif + #define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)