Boost logo

Boost :

From: AlisdairM (alisdair.meredith_at_[hidden])
Date: 2006-02-12 04:50:48


I am working on cleaning up the Borland config, as it is a growing mess
of compiler subversions and workarounds that come and go. I'm holding
that back until everything is more stabalized in the test environment
though, and till I've persuaded John it's a good idea ;¬)

In the meantime, here is the basic adaption of the BCB6 config, that
should clean up a lot of test failures for the new compiler.

Essentially, all the old defect macros are still required. In practice
they may not be required as often, compiler HAS improved, but it is
still not 'clean' so it is safest to continue applying all the
workarounds.

[Yes, I stripped them out for testing, but eventually added them all
back one-by-one as I discovered each was still needed]

AlisdairM

cvs diff -u -wb -- boost\config\compiler\borland.hpp (in directory
E:\sourceforge\devel\boost\)
Index: boost/config/compiler/borland.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/config/compiler/borland.hpp,v
retrieving revision 1.36
diff -u -w -b -r1.36 borland.hpp
--- boost/config/compiler/borland.hpp 6 Dec 2005 17:18:51 -0000 1.36
+++ boost/config/compiler/borland.hpp 12 Feb 2006 09:25:28 -0000
@@ -9,6 +9,14 @@
 
 // Borland C++ compiler setup:
 
+//
+// versions check:
+// we don't support Borland prior to version 5.4:
+#if __BORLANDC__ < 0x540
+# error "Compiler not supported or configured - please reconfigure"
+#endif
+
+//
 // Version 5.0 and below:
 # if __BORLANDC__ <= 0x0550
 // Borland C++Builder 4 and 5:
@@ -36,8 +44,8 @@
 #endif
 #endif
 
-// Version 7.0 (Kylix) and below:
-#if (__BORLANDC__ <= 0x570)
+// Borland C++ Builder 2006 Update 1 and below:
+#if (__BORLANDC__ <= 0x581)
 # define BOOST_NO_SFINAE
 # define BOOST_NO_INTEGRAL_INT64_T
 # define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
@@ -52,6 +60,7 @@
 # define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
 # define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
 # define BOOST_NO_IS_ABSTRACT
+
 # ifdef NDEBUG
       // fix broken <cstring> so that Boost.test works:
 # include <cstring>
@@ -65,7 +74,7 @@
 
 //
 // new bug in 5.61:
-#if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x570)
+#if (__BORLANDC__ >= 0x561) //&& (__BORLANDC__ <= 0x570)
    // this seems to be needed by the command line compiler, but not
the IDE:
 # define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
 #endif
@@ -156,16 +165,9 @@
 
 #define BOOST_COMPILER "Borland C++ version "
BOOST_STRINGIZE(__BORLANDC__)
 
-//
-// versions check:
-// we don't support Borland prior to version 5.4:
-#if __BORLANDC__ < 0x540
-# error "Compiler not supported or configured - please reconfigure"
-#endif
-//
 // last known and checked version is 1536 (Builder X preview)
-// Or 0x580 (Borland C++ Builder 6 2006 Preview):
-#if (__BORLANDC__ > 1536) || ((__BORLANDC__ < 0x600) && (__BORLANDC__
> 0x580))
+// Or 0x581 (Borland C++ Builder 2006 Update 1):
+#if (__BORLANDC__ > 0x581) && (__BORLANDC__ != 0x600)
 # if defined(BOOST_ASSERT_CONFIG)
 # error "Unknown compiler version - please run the configure tests
and report the results"
 # else


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk