Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r48674 - trunk/boost/functional/detail
From: daniel_james_at_[hidden]
Date: 2008-09-08 17:06:17


Author: danieljames
Date: 2008-09-08 17:06:16 EDT (Mon, 08 Sep 2008)
New Revision: 48674
URL: http://svn.boost.org/trac/boost/changeset/48674

Log:
Reinstate the old choice of float functions on Dinkumware for all compilers
other than Visual C++.

It turns out that Borland uses Dinkumware but doesn't have the C99 float
overloads, so it only seems realistic to assume their existence on Visual C++.
Refs #2264.

Text files modified:
   trunk/boost/functional/detail/float_functions.hpp | 14 +++++++++++---
   1 files changed, 11 insertions(+), 3 deletions(-)

Modified: trunk/boost/functional/detail/float_functions.hpp
==============================================================================
--- trunk/boost/functional/detail/float_functions.hpp (original)
+++ trunk/boost/functional/detail/float_functions.hpp 2008-09-08 17:06:16 EDT (Mon, 08 Sep 2008)
@@ -61,9 +61,17 @@
 
 // Dinkumware.
 #elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
-// I'm not sure which versions of Dinkumware have the C++ overloads
-// but they all seem to have the C99 float functions so I'll use them.
-# define BOOST_HASH_USE_C99_FLOAT_FUNCS
+// Some versions of Visual C++ don't seem to have the C++ overloads but they
+// all seem to have the c99 float overloads
+# if defined(BOOST_MSVC)
+# define BOOST_HASH_USE_C99_FLOAT_FUNCS
+// On other platforms the C++ overloads seem to have been introduced sometime
+// before 402.
+# elif defined(_CPPLIB_VER) && (_CPPLIB_VER >= 402)
+# define BOOST_HASH_USE_OVERLOAD_FLOAT_FUNCS
+# else
+# define BOOST_HASH_USE_C99_FLOAT_FUNCS
+# endif
 
 // Digital Mars
 #elif defined(__DMC__)


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