$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r66442 - in trunk/boost: math/tools test test/impl
From: admin_at_[hidden]
Date: 2010-11-07 15:05:06
Author: wash
Date: 2010-11-07 15:05:04 EST (Sun, 07 Nov 2010)
New Revision: 66442
URL: http://svn.boost.org/trac/boost/changeset/66442
Log:
Clang hand-holding, mostly for issues caused by Clang defining GCC macros.
Text files modified: 
   trunk/boost/math/tools/config.hpp           |     2 +-                                      
   trunk/boost/test/execution_monitor.hpp      |    15 ++++++++-------                         
   trunk/boost/test/impl/execution_monitor.ipp |    18 +++++++++---------                      
   3 files changed, 18 insertions(+), 17 deletions(-)
Modified: trunk/boost/math/tools/config.hpp
==============================================================================
--- trunk/boost/math/tools/config.hpp	(original)
+++ trunk/boost/math/tools/config.hpp	2010-11-07 15:05:04 EST (Sun, 07 Nov 2010)
@@ -255,7 +255,7 @@
 } // namespace tools
 }} // namespace boost namespace math
 
-#if (defined(__linux__) && !defined(__UCLIBC__)) || defined(__QNX__) || defined(__IBMCPP__)
+#if (defined(__linux__) && !defined(__UCLIBC__) && !defined(__clang__)) || defined(__QNX__) || defined(__IBMCPP__)
 
    #include <fenv.h>
 
Modified: trunk/boost/test/execution_monitor.hpp
==============================================================================
--- trunk/boost/test/execution_monitor.hpp	(original)
+++ trunk/boost/test/execution_monitor.hpp	2010-11-07 15:05:04 EST (Sun, 07 Nov 2010)
@@ -77,12 +77,12 @@
 
 #else // based on ISO C standard
 
-#ifndef __CYGWIN__
-#ifdef __SUNPRO_CC
-#include <stdio.h>
-#endif
-#include <fenv.h>
-#endif
+# if defined(__CYGWIN__) && defined(BOOST_CLANG)
+#   if defined(__SUNPRO_CC)
+#     include <stdio.h>
+#   endif
+#   include <fenv.h>
+# endif
 
 #endif
 
@@ -355,7 +355,7 @@
     BOOST_FPE_UNDERFLOW = EM_UNDERFLOW|EM_DENORMAL,
 
     BOOST_FPE_ALL       = MCW_EM,
-#elif defined(__CYGWIN__)
+#elif defined(__CYGWIN__) || defined(BOOST_CLANG) 
     BOOST_FPE_ALL       = 1,
 #else
     BOOST_FPE_DIVBYZERO = FE_DIVBYZERO,
@@ -382,3 +382,4 @@
 #include <boost/test/detail/enable_warnings.hpp>
 
 #endif
+
Modified: trunk/boost/test/impl/execution_monitor.ipp
==============================================================================
--- trunk/boost/test/impl/execution_monitor.ipp	(original)
+++ trunk/boost/test/impl/execution_monitor.ipp	2010-11-07 15:05:04 EST (Sun, 07 Nov 2010)
@@ -67,7 +67,7 @@
 #ifdef BOOST_SEH_BASED_SIGNAL_HANDLING
 #  include <windows.h>
 
-#  if defined(__MWERKS__) || (defined(_MSC_VER) && !defined(UNDER_CE))
+#  if defined(__MWERKS__) || (defined(BOOST_MSVC) && !defined(UNDER_CE))
 #    include <eh.h>
 #  endif
 
@@ -79,11 +79,11 @@
     typedef unsigned uintptr_t;
 #  endif
 
-#  if BOOST_WORKAROUND(_MSC_VER,  < 1300 ) || defined(UNDER_CE)
+#  if BOOST_WORKAROUND(BOOST_MSVC,  < 1300 ) || defined(UNDER_CE)
 typedef void* uintptr_t;
 #  endif
 
-#  if !defined(NDEBUG) && defined(_MSC_VER) && !defined(UNDER_CE)
+#  if !defined(NDEBUG) && defined(BOOST_MSVC) && !defined(UNDER_CE)
 #    include <crtdbg.h>
 #    define BOOST_TEST_CRT_HOOK_TYPE    _CRT_REPORT_HOOK
 #    define BOOST_TEST_CRT_ASSERT       _CRT_ASSERT
@@ -96,10 +96,10 @@
 #    define BOOST_TEST_CRT_SET_HOOK(H)  (void*)(H)
 #  endif
 
-// como always sets _MSC_VER to 1310, regardless of the
+// como always sets BOOST_MSVC to 1310, regardless of the
 // actual underlying msvc version.
-#  if (!BOOST_WORKAROUND(_MSC_VER,  >= 1400 ) && \
-      !defined(__COMO__)) || defined(UNDER_CE)
+#  if (!BOOST_WORKAROUND(BOOST_MSVC,  >= 1400 ) && \
+      !defined(BOOST_COMO)) || defined(UNDER_CE)
 
 typedef void* _invalid_parameter_handler;
 
@@ -184,7 +184,7 @@
 
 #ifdef __BORLANDC__
 #  define BOOST_TEST_VSNPRINTF( a1, a2, a3, a4 ) std::vsnprintf( (a1), (a2), (a3), (a4) )
-#elif BOOST_WORKAROUND(_MSC_VER, <= 1310) || \
+#elif BOOST_WORKAROUND(BOOST_MSVC, <= 1310) || \
       BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3000)) || \
       defined(UNDER_CE)
 #  define BOOST_TEST_VSNPRINTF( a1, a2, a3, a4 ) _vsnprintf( (a1), (a2), (a3), (a4) )
@@ -1337,7 +1337,7 @@
 #endif
 
         return ~old_cw & BOOST_FPE_ALL;
-#elif defined(__GLIBC__) && defined(__USE_GNU)
+#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG)
     ::feclearexcept(BOOST_FPE_ALL);
         int res = ::feenableexcept( mask );
         return res == -1 ? BOOST_FPE_INV : (unsigned)res;
@@ -1372,7 +1372,7 @@
 #endif
 
     return ~old_cw & BOOST_FPE_ALL;
-#elif defined(__GLIBC__) && defined(__USE_GNU)
+#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG)
     ::feclearexcept(BOOST_FPE_ALL);
         int res = ::fedisableexcept( mask );
         return res == -1 ? BOOST_FPE_INV : (unsigned)res;