From 4d35a175a4751a94d9153ce307eb67255bc91f52 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Mon, 8 Sep 2008 21:06:16 +0000 Subject: [PATCH] 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. [SVN r48674] --- .../boost/functional/detail/float_functions.hpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/include/boost/functional/detail/float_functions.hpp b/include/boost/functional/detail/float_functions.hpp index bdff827..a35f292 100644 --- a/include/boost/functional/detail/float_functions.hpp +++ b/include/boost/functional/detail/float_functions.hpp @@ -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__)