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