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-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