Subject: [Boost-bugs] [Boost C++ Libraries] #7485: build failure with BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-10-09 02:29:51
#7485: build failure with BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-------------------------+--------------------------------------------------
Reporter: kab@⦠| Type: Bugs
Status: new | Milestone: To Be Determined
Component: None | Version: Boost 1.52.0
Severity: Regression | Keywords:
-------------------------+--------------------------------------------------
With boost-1.52 beta1, and possibly earlier, I'm no longer able to build
with BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS. I'm getting errors like
that below when defining that variable in
$BOOST_ROOT/boost/math/tools/user.hpp. This works in boost-1.49; I
haven't tried to narrow down the introduction of this issue more narrowly
than that. I don't think it matters, but this is with gcc4.5 and gcc4.6.
The promote_args class template in boost/math/tools/promotion.hpp has a
static assertion that errors if the result type is long double and
BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS is defined.
In file included from ./boost/math/special_functions/math_fwd.hpp:27:0,
from ./boost/math/special_functions/sign.hpp:17,
from ./boost/lexical_cast.hpp:165,
from ./boost/math/special_functions/gamma.hpp:24,
from
./boost/math/special_functions/detail/bessel_jy.hpp:14,
from ./boost/math/special_functions/bessel.hpp:17,
from ./boost/math/special_functions/airy.hpp:10,
from ./boost/math/special_functions.hpp:15,
from libs/math/src/tr1/pch.hpp:9,
from libs/math/build/../src/tr1/nexttoward.cpp:6:
./boost/math/tools/promotion.hpp: In instantiation of
'boost::math::tools::promote_args<long double, float, float, float, float,
float>':
./boost/math/special_functions/fpclassify.hpp:252:50: instantiated from
'int boost::math::fpclassify(T) [with T = long double]'
./boost/math/special_functions/next.hpp:177:47: instantiated from 'T
boost::math::float_prior(const T&, const Policy&) [with T = long double,
Policy =
boost::math::policies::policy<boost::math::policies::domain_error<(boost::math::policies::error_policy_type)1u>,
boost::math::policies::pole_error<(boost::math::policies::error_policy_type)1u>,
boost::math::policies::overflow_error<(boost::math::policies::error_policy_type)1u>,
boost::math::policies::evaluation_error<(boost::math::policies::error_policy_type)1u>,
boost::math::policies::rounding_error<(boost::math::policies::error_policy_type)1u>,
boost::math::policies::default_policy,
boost::math::policies::default_policy,
boost::math::policies::default_policy,
boost::math::policies::default_policy,
boost::math::policies::default_policy,
boost::math::policies::default_policy>]'
./boost/math/special_functions/next.hpp:245:123: instantiated from 'T
boost::math::nextafter(const T&, const T&, const Policy&) [with T = long
double, Policy =
boost::math::policies::policy<boost::math::policies::domain_error<(boost::math::policies::error_policy_type)1u>,
boost::math::policies::pole_error<(boost::math::policies::error_policy_type)1u>,
boost::math::policies::overflow_error<(boost::math::policies::error_policy_type)1u>,
boost::math::policies::evaluation_error<(boost::math::policies::error_policy_type)1u>,
boost::math::policies::rounding_error<(boost::math::policies::error_policy_type)1u>,
boost::math::policies::default_policy,
boost::math::policies::default_policy,
boost::math::policies::default_policy,
boost::math::policies::default_policy,
boost::math::policies::default_policy,
boost::math::policies::default_policy>]'
libs/math/build/../src/tr1/c_policy.hpp:129:15801: instantiated from 'T
c_policies::nextafter(const T&, const T&) [with T = long double]'
libs/math/build/../src/tr1/nexttoward.cpp:18:59: instantiated from here
./boost/math/tools/promotion.hpp:141:10: error: static assertion failed:
"(0 == ::boost::is_same<type, long double>::value)"
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/7485> 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-02-16 18:50:10 UTC