Re: [Boost-bugs] [Boost C++ Libraries] #11756: boost.Config doesn't detect FPU-less arches (Unable to compile boost test library on FPU-less arches)

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #11756: boost.Config doesn't detect FPU-less arches (Unable to compile boost test library on FPU-less arches)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-08-29 12:17:20


#11756: boost.Config doesn't detect FPU-less arches (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:
----------------------------------+---------------------
Changes (by johnmaddock):

 * owner: johnmaddock => rogeeff
 * component: config => test

Comment:

 Sorry to ping this back to Boost.Test, but I believe this is a
 misunderstanding of how fenv.h works. The key point is:


 ''A fully standards conforming fenv.h does not have to define any FE_*
 macros, and if it does define them, then it defines macros only for the FP
 exceptions it actually supports.''


 So correct usage requires a triple check:

 1) Check BOOST_NO_FENV_H to see if the header is supported.

 2) Include the header and then check FE_ALL_EXCEPT to see if ''any'' FP
 exceptions are supported.

 3) Before using the individual FE_* macros, you need to check for their
 existence too as not all may be supported.

 And finally.... the standard also permits other FE_* macros if there are
 exceptions supported other than the standard set. There's no standard way
 to tell what these might be, but their presence can be inferred by
 checking FE_ALL_EXCEPT against the bitwise or of the other FE_* macros.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11756#comment:12>
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