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 16:20:45


#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 renficiaud):

 Thanks for the quick reply.

 Something troubles me a bit: you said earlier that things were working
 fine with boost 1.61. Since then, all the changes to the FPE were the
 following:

 * the macros ```FE_DIVBYZERO``` ... are not something that are necessarily
 defined, this is why their use has been protected if ```ifdefs``` and you
 are having the compilation error on
 ```02f9a561bc8003cb38fcc5b0863482459a38ea4f```
 * ```feenableexcept/fedisableexcept``` are
 [http://www.gnu.org/software/libc/manual/html_node/Control-Functions.html
 GNU extensions], this is why the latest status on this is to check for the
 macros ```__GLIBC__``` and ```__USE_GNU``` and restrict the code to that
 case.

 So I have 2 hypothesis in mind:

 * you are not compiling the code with the same options as you did before:
 the rationale behind is that C++11 is now defining ```<cfenv>``` which
 automatically would avoid the definition of ```BOOST_NO_FENV_H```, while
 it was defined before
 * for the cross compilation, more restrictions should be applied on how to
 check for the existence of ```feenableexcept/fedisableexcept``` (which
 means additional/other macros than ```__GLIBC__``` and ```__USE_GNU```),
 but in that case I do not understand why it would have been working with
 boost 1.61

 So ... would you check again with boost 1.61? Sorry to ask you that, but I
 am really lost there :-)

 To nail down further the cause of those issues, it would be even better if
 you could (still based on the assumption that it was working with boost
 1.61):

 * check with the entire boost 1.61
 * check with the latest boost develop but with boost.test 1.61

 Thanks!

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11756#comment:50>
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 16:24:04 UTC