Redcing warnings on Borland compilers

The borland compiler is generating a LOT of ABI warnings, around 50,000 in a typical regression run for me. The following patch eliminates the warning, greatly reducing size of log files. I also have a patch to disable complex_test in the math library - this generates an obscene number of run-time failures on Borland compilers, somewhere around 100,000. For testers sanity, it is better to simply not run the test on this compiler, until a solution for the test failures is available. It is also worth noting that the test library itself fails for Borland on floating point tests, so that might be a pre-requisite. These patches combined reduced fine log file size by 90% on my box. I would like to apply patch to both mainline and rc branch - risk should be minimal as patches are guarded for BCB and do not affect code actual generation. -- AlisdairM Patches: cvs diff -u -wb -- test\complex_test.cpp (in directory C:\Sourceforge\boost\libs\math\) Index: test/complex_test.cpp =================================================================== RCS file: /cvsroot/boost/boost/libs/math/test/complex_test.cpp,v retrieving revision 1.11 diff -u -w -b -r1.11 complex_test.cpp --- test/complex_test.cpp 6 Mar 2006 11:20:31 -0000 1.11 +++ test/complex_test.cpp 3 Feb 2007 13:34:44 -0000 @@ -26,6 +26,10 @@ #define BOOST_MESSAGE(x) #endif +#if BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x582 )) +# error "Compiler does not support the Boost Test library for floating point" +#endif + // // check_complex: // Verifies that expected value "a" and found value "b" have a relative error cvs diff -u -wb -- abi_suffix.hpp (in directory C:\Sourceforge\boost\boost\config\) Index: abi_suffix.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/config/abi_suffix.hpp,v retrieving revision 1.1 diff -u -w -b -r1.1 abi_suffix.hpp --- abi_suffix.hpp 25 Nov 2003 18:28:08 -0000 1.1 +++ abi_suffix.hpp 2 Feb 2007 20:20:10 -0000 @@ -20,4 +20,7 @@ # include BOOST_ABI_SUFFIX #endif +#if defined( __BORLANDC__ ) +#pragma nopushoptwarn +#endif cvs diff -u -wb -- abi_prefix.hpp (in directory C:\Sourceforge\boost\boost\config\) Index: abi_prefix.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/config/abi_prefix.hpp,v retrieving revision 1.1 diff -u -w -b -r1.1 abi_prefix.hpp --- abi_prefix.hpp 25 Nov 2003 18:28:08 -0000 1.1 +++ abi_prefix.hpp 2 Feb 2007 20:20:14 -0000 @@ -18,3 +18,8 @@ #ifdef BOOST_HAS_ABI_HEADERS # include BOOST_ABI_PREFIX #endif + +#if defined( __BORLANDC__ ) +#pragma nopushoptwarn +#endif + cvs diff -u -wb -- detail\abi_prefix.hpp (in directory C:\Sourceforge\boost\boost\archive\) Index: detail/abi_prefix.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/archive/detail/abi_prefix.hpp,v retrieving revision 1.1 diff -u -w -b -r1.1 abi_prefix.hpp --- detail/abi_prefix.hpp 27 Jan 2005 16:49:55 -0000 1.1 +++ detail/abi_prefix.hpp 2 Feb 2007 20:20:20 -0000 @@ -13,3 +13,8 @@ # pragma warning(push) # pragma warning(disable : 4251 4231 4660 4275) #endif + +#if defined( __BORLANDC__ ) +#pragma nopushoptwarn +#endif + cvs diff -u -wb -- detail\abi_suffix.hpp (in directory C:\Sourceforge\boost\boost\archive\) Index: detail/abi_suffix.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/archive/detail/abi_suffix.hpp,v retrieving revision 1.1 diff -u -w -b -r1.1 abi_suffix.hpp --- detail/abi_suffix.hpp 27 Jan 2005 16:49:56 -0000 1.1 +++ detail/abi_suffix.hpp 2 Feb 2007 20:20:04 -0000 @@ -12,3 +12,8 @@ #pragma warning(pop) #endif #include <boost/config/abi_suffix.hpp> // pops abi_suffix.hpp pragmas + +#if defined( __BORLANDC__ ) +#pragma nopushoptwarn +#endif +

AlisdairM wrote: PLease do go ahead, however the error message in the complex_test.cpp case isn't quite right: the test fails because std::sinh and std::cosh are buggy: a very rare event for Dinkumware, but this was tracked down in the same failure on QNX which uses the same std lib version. John.

John Maddock wrote:
OK, that increases the scope for failures! Do we have a test for the known library versions that fail? That might be better than simply testing for Borland, especially if it will help out the QNX runners too (should they return) I'll commit the API patches for now - to mainline only, until Thomas says yeah or nay for the RC branch. -- AlisdairM
participants (2)
-
AlisdairM
-
John Maddock