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: 2017-03-11 09:19:21


#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 Jörg Krause):

 We recently bumped the boost version from 1.61.0 to 1.63.0 in Buildroot.
 Now, we get build errors for two architectures which were compiling
 successfully before: SH4 and OR1K. Both use a uclibc-toolchain.


 {{{
 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:1382:32: error: 'feclearexcept'
 was not declared in this scope
      feclearexcept(BOOST_FPE_ALL);
                                 ^
 ./boost/test/impl/execution_monitor.ipp:1383: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:1422:32: error: 'feclearexcept'
 was not declared in this scope
      feclearexcept(BOOST_FPE_ALL);
                                 ^
 ./boost/test/impl/execution_monitor.ipp:1423:37: error: 'fedisableexcept'
 was not declared in this scope
      int res = fedisableexcept( mask );
 }}}

 I've checked out the branch `topic/11756-non-standards-fpexception-intel`
 of the test module, it does not build either.

 At least, the SH4 toolchain does not have fenv.h. I did not checked to
 OR1K toolchain, yet.

 Here are some macros I've checked using the branch 11756:
 * `BOOST_NO_FENV_H` ''is defined''
 * `BOOST_SEH_BASED_SIGNAL_HANDLING` ''is not defined''
 * `BOOST_TEST_FPE_SUPPORT_WITH_GLIBC_EXTENSIONS__` ''is defined''

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11756#comment:45>
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-11 09:23:09 UTC