[Boost-bugs] [Boost C++ Libraries] #13508: Errors compiling float128.h on windows with icc 17.0 and MSVC 14.11 toolchain

Subject: [Boost-bugs] [Boost C++ Libraries] #13508: Errors compiling float128.h on windows with icc 17.0 and MSVC 14.11 toolchain
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2018-04-02 13:53:26


#13508: Errors compiling float128.h on windows with icc 17.0 and MSVC 14.11
toolchain
-----------------------------------------------+---------------------------
 Reporter: Metodi Nikolov <metodi.nikolov@…> | Owner: John Maddock
     Type: Bugs | Status: new
Milestone: To Be Determined | Component:
                                               | multiprecision
  Version: Boost 1.66.0 | Severity: Problem
 Keywords: |
-----------------------------------------------+---------------------------
 The example code from the help here
 [https://www.boost.org/doc/libs/1_66_0/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/float128.html]
 cannot be compiled on windows using intel compiler version 17.0.6 and MSVC
 v14.11 toolchain. The errors reported are:
 {{{
 1>G:\Libraries\boost_1_66_0\boost/multiprecision/float128.hpp(487): error
 : identifier "fmaq" is undefined
 1> result.value() = fmaq(a.value(), b.value(), c.value());
 1> ^
 1>
 1>G:\Libraries\boost_1_66_0\boost/multiprecision/float128.hpp(492): error
 : the global scope has no "signbitq"
 1> return ::signbitq(arg.value());
 1> ^
 1>
 1>G:\Libraries\boost_1_66_0\boost/multiprecision/float128.hpp(556): error
 : the global scope has no "copysignq"
 1> return ::copysignq(a.backend().value(), b.backend().value());
 1> ^
 1>
 1>G:\Libraries\boost_1_66_0\boost/multiprecision/float128.hpp(561): error
 : identifier "remainderq" is undefined
 1> result.value() = remainderq(a.value(), b.value());
 1> ^
 1>
 1>G:\Libraries\boost_1_66_0\boost/multiprecision/float128.hpp(565): error
 : identifier "remquoq" is undefined
 1> result.value() = remquoq(a.value(), b.value(), pi);
 1> ^
 }}}

 Please note that newer MSVC toolchain versions seem to break the intel
 compiler (and the default version for MS2017 is newer), while for icc 18.0
 one needs to remove -Za or the /permissive- options as they also need to
 problems with the compilation.

-- 
Ticket URL: <https://svn.boost.org/trac10/ticket/13508>
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 : 2018-04-02 13:59:40 UTC