Re: [Boost-bugs] [Boost C++ Libraries] #11756: boost.Test: non standards compliant use of FE_* macros (unable to compile boost test library on FPU-less arches)

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #11756: boost.Test: non standards compliant use of FE_* macros (unable to compile boost test library on FPU-less arches)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-08-30 12:23:38


#11756: boost.Test: non standards compliant use of FE_* macros (unable to compile
boost test library on FPU-less arches)
----------------------------------+---------------------
  Reporter: bartosz.krasinski@… | Owner: rogeeff
      Type: Patches | Status: new
 Milestone: To Be Determined | Component: test
   Version: Boost 1.59.0 | Severity: Problem
Resolution: | Keywords:
----------------------------------+---------------------

Comment (by johnmaddock):

 That doesn't quite get it: if fenv.h is available, but FE_DIVBYZERO is
 unset then BOOST_FPE_DIVBYZERO is also left unset (for example), where as
 it should be set to a stub value I guess (1 or 0).... except a quick grep
 of the source suggests these are unused anyway? Which just leaves
 BOOST_FPE_ALL which definitely needs to be in #if...#else block, so I
 suggest something more like:

 {{{
 #ifdef FE_DIVBYZERO
     BOOST_FPE_DIVBYZERO = FE_DIVBYZERO,
 #else
     BOOST_FPE_DIVBYZERO = 0,
 #endif
 #ifdef FE_INEXACT
     BOOST_FPE_INEXACT = FE_INEXACT,
 #else
     BOOST_FPE_INEXACT = 0,
 #endif
 #ifdef FE_INVALID
     BOOST_FPE_INVALID = FE_INVALID,
 #else
     BOOST_FPE_INVALID = 0,
 #endif
 #ifdef FE_OVERFLOW
     BOOST_FPE_OVERFLOW = FE_OVERFLOW,
 #else
     BOOST_FPE_OVERFLOW = 0,
 #endif
 #ifdef FE_UNDERFLOW
     BOOST_FPE_UNDERFLOW = FE_UNDERFLOW,
 #else
     BOOST_FPE_UNDERFLOW = 0,
 #endif
 #ifdef FE_ALL_EXCEPT
     BOOST_FPE_ALL = FE_ALL_EXCEPT,
 #else
     BOOST_FPE_ALL = 1,
 #endif
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11756#comment:14>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:20 UTC