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: 2017-03-06 18:03:36
#11756: boost.Test: non standards compliant use of FE_* macros (unable to compile
boost test library on FPU-less arches)
----------------------------------+------------------------
Reporter: bartosz.krasinski@⦠| Owner: renficiaud
Type: Patches | Status: reopened
Milestone: Boost 1.64.0 | Component: test
Version: Boost 1.59.0 | Severity: Problem
Resolution: | Keywords:
----------------------------------+------------------------
Comment (by André Draszik <git@â¦>):
This still doesn't work (same as in comment 34):
{{{#!sh
In file included from libs/test/src/execution_monitor.cpp:16:0:
./boost/test/impl/execution_monitor.ipp: In function 'unsigned int
boost::fpe::enable(unsigned int)':
./boost/test/impl/execution_monitor.ipp:1384:36: error: 'feenableexcept'
was not declared in this scope
int res = feenableexcept( mask );
^
./boost/test/impl/execution_monitor.ipp: In function 'unsigned int
boost::fpe::disable(unsigned int)':
./boost/test/impl/execution_monitor.ipp:1419:37: error: 'fedisableexcept'
was not declared in this scope
int res = fedisableexcept( mask );
}}}
This still goes into the wrong branch when not using glibc - we use the
musl C library and gcc, so __GLIBC__ is *not* defined (and therefore the
non-posix, non-standard GNU APIs feenableexcept() and fedisableexcept()
are not available), but at the same BOOST_NO_FENV_H and BOOST_CLANG are
not defined, either. Hence the test in execution_monitor.hpp doesn't work:
{{{#!C
#if !defined(BOOST_NO_FENV_H) && !defined(BOOST_CLANG) || \
(defined(__GLIBC__) && defined(__USE_GNU))
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/11756#comment:39> 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-03-06 18:07:47 UTC