Boost logo

Boost-Commit :

From: nicola.musatti_at_[hidden]
Date: 2007-09-23 08:47:54


Author: nmusatti
Date: 2007-09-23 08:47:52 EDT (Sun, 23 Sep 2007)
New Revision: 39485
URL: http://svn.boost.org/trac/boost/changeset/39485

Log:
Updated to support C++Builder 2007 Update 3 (bcc32 5.9.2)
Text files modified:
   trunk/boost/config/compiler/borland.hpp | 60 ++++++++++++++++++++++++---------------
   1 files changed, 37 insertions(+), 23 deletions(-)

Modified: trunk/boost/config/compiler/borland.hpp
==============================================================================
--- trunk/boost/config/compiler/borland.hpp (original)
+++ trunk/boost/config/compiler/borland.hpp 2007-09-23 08:47:52 EDT (Sun, 23 Sep 2007)
@@ -14,13 +14,11 @@
 // we don't support Borland prior to version 5.4:
 #if __BORLANDC__ < 0x540
 # error "Compiler not supported or configured - please reconfigure"
-#elif __BORLANDC__ < 0x581
-# pragma message( "Support for Borland compilers older than BCB2006 is deprecated in Boost 1.34" )
 #endif
 
 // last known and checked version is 0x600 (Builder X preview)
-// Or 0x582 (Borland C++ Builder 2006 Update 1):
-#if (__BORLANDC__ > 0x582) && (__BORLANDC__ != 0x600)
+// or 0x592 (CodeGear C++ Builder 2007 Update 3):
+#if (__BORLANDC__ > 0x592) && (__BORLANDC__ != 0x600)
 # if defined(BOOST_ASSERT_CONFIG)
 # error "Unknown compiler version - please run the configure tests and report the results"
 # else
@@ -38,7 +36,6 @@
 # define BOOST_BCB_WITH_DINKUMWARE
 #endif
 
-
 //
 // Version 5.0 and below:
 # if __BORLANDC__ <= 0x0550
@@ -54,7 +51,6 @@
 #if (__BORLANDC__ <= 0x551)
 # define BOOST_NO_CV_SPECIALIZATIONS
 # define BOOST_NO_CV_VOID_SPECIALIZATIONS
-# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
 # define BOOST_NO_DEDUCED_TYPENAME
 // workaround for missing WCHAR_MAX/WCHAR_MIN:
 #include <climits>
@@ -67,24 +63,9 @@
 #endif
 #endif
 
-// Borland C++ Builder 2006 Update 2 and below:
-#if (__BORLANDC__ <= 0x582)
-# define BOOST_NO_SFINAE
+// Borland C++ Builder 6 and below:
+#if (__BORLANDC__ <= 0x564)
 # define BOOST_NO_INTEGRAL_INT64_T
-# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
-# define BOOST_NO_PRIVATE_IN_AGGREGATE
-# define BOOST_NO_USING_TEMPLATE
-# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
-# define BOOST_NO_TEMPLATE_TEMPLATES
-# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
- // we shouldn't really need this - but too many things choke
- // without it, this needs more investigation:
-# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
-# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
-# define BOOST_NO_IS_ABSTRACT
-# define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
-# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
 
 # ifdef NDEBUG
       // fix broken <cstring> so that Boost.test works:
@@ -97,6 +78,8 @@
 # define errno errno
 # endif
 
+#endif
+
 //
 // new bug in 5.61:
 #if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x580)
@@ -104,6 +87,14 @@
 # define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
 #endif
 
+// Borland C++ Builder 2006 Update 2 and below:
+#if (__BORLANDC__ <= 0x582)
+# define BOOST_NO_SFINAE
+# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
+# define BOOST_NO_TEMPLATE_TEMPLATES
+
+# define BOOST_NO_PRIVATE_IN_AGGREGATE
+
 # ifdef _WIN32
 # define BOOST_NO_SWPRINTF
 # elif defined(linux) || defined(__linux__) || defined(__linux)
@@ -115,6 +106,29 @@
 # endif
 #endif
 
+// Borland C++ Builder 2007 Update 3 and below:
+#if (__BORLANDC__ <= 0x592)
+# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
+# define BOOST_NO_USING_TEMPLATE
+# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
+# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
+ // we shouldn't really need this - but too many things choke
+ // without it, this needs more investigation:
+# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+# define BOOST_NO_IS_ABSTRACT
+
+// Temporary workaround
+#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+#endif
+
+#if __BORLANDC__ >= 0x590
+# define BOOST_HAS_TR1_HASH
+
+# define BOOST_HAS_MACRO_USE_FACET
+#endif
+
 //
 // Post 0x561 we have long long and stdint.h:
 #if __BORLANDC__ >= 0x561


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk