Boost logo

Boost :

Subject: Re: [boost] [1.48.0] Status?
From: Antony Polukhin (antoshkka_at_[hidden])
Date: 2011-11-13 04:42:01


There are some errors in math library:

/home/cc/downloads/boost_1_48_0_beta1/include/boost/math/tools/config.hpp:283:7:
error: ‘fexcept_t’ does not name a type
/home/cc/downloads/boost_1_48_0_beta1/include/boost/math/tools/config.hpp:
In constructor ‘boost::math::detail::fpu_guard::fpu_guard()’:
/home/cc/downloads/boost_1_48_0_beta1/include/boost/math/tools/config.hpp:275:27:
error: ‘m_flags’ was not declared in this scope
/home/cc/downloads/boost_1_48_0_beta1/include/boost/math/tools/config.hpp:275:36:
error: ‘FE_ALL_EXCEPT’ was not declared in this scope
/home/cc/downloads/boost_1_48_0_beta1/include/boost/math/tools/config.hpp:275:49:
error: ‘fegetexceptflag’ was not declared in this scope
/home/cc/downloads/boost_1_48_0_beta1/include/boost/math/tools/config.hpp:276:37:
error: ‘feclearexcept’ was not declared in this scope
/home/cc/downloads/boost_1_48_0_beta1/include/boost/math/tools/config.hpp:
In destructor ‘boost::math::detail::fpu_guard::~fpu_guard()’:
/home/cc/downloads/boost_1_48_0_beta1/include/boost/math/tools/config.hpp:280:27:
error: ‘m_flags’ was not declared in this scope
/home/cc/downloads/boost_1_48_0_beta1/include/boost/math/tools/config.hpp:280:36:
error: ‘FE_ALL_EXCEPT’ was not declared in this scope
/home/cc/downloads/boost_1_48_0_beta1/include/boost/math/tools/config.hpp:280:49:
error: ‘fesetexceptflag’ was not declared in this scope

This can be fixed by commenting out lines from 268 to 288. Looks like
preprocessor #if condition on line 264 is incorrect.
Created ticket #6120 for this bug.

Also, there is a regression from previous versions of boost in range library:

/home/cc/downloads/boost_1_48_0_beta1/include/boost/range/iterator_range_core.hpp:
In static member function ‘static IteratorT
boost::iterator_range_detail::iterator_range_impl<IteratorT>::adl_begin(ForwardRange&)
[with ForwardRange = const boost::iterator_range<const unsigned
char*>, IteratorT = unsigned char*]’:
/home/cc/downloads/boost_1_48_0_beta1/include/boost/range/iterator_range_core.hpp:186:76:
  instantiated from
‘boost::iterator_range<IteratorT>::iterator_range(const Range&) [with
Range = boost::iterator_range<const unsigned char*>, IteratorT =
unsigned char*]’
../../../../margot/applications/index24/xsd_lazy_types_string_t.hpp:49:17:
  instantiated from here
/home/cc/downloads/boost_1_48_0_beta1/include/boost/range/iterator_range_core.hpp:56:66:
error: invalid static_cast from type ‘boost::range_iterator<const
boost::iterator_range<const unsigned char*> >::type {aka const
unsigned char*}’ to type ‘unsigned char*’
/home/cc/downloads/boost_1_48_0_beta1/include/boost/range/iterator_range_core.hpp:
In static member function ‘static IteratorT
boost::iterator_range_detail::iterator_range_impl<IteratorT>::adl_end(ForwardRange&)
[with ForwardRange = const boost::iterator_range<const unsigned
char*>, IteratorT = unsigned char*]’:
/home/cc/downloads/boost_1_48_0_beta1/include/boost/range/iterator_range_core.hpp:186:76:
  instantiated from
‘boost::iterator_range<IteratorT>::iterator_range(const Range&) [with
Range = boost::iterator_range<const unsigned char*>, IteratorT =
unsigned char*]’
../../../../margot/applications/index24/xsd_lazy_types_string_t.hpp:49:17:
  instantiated from here
/home/cc/downloads/boost_1_48_0_beta1/include/boost/range/iterator_range_core.hpp:62:64:
error: invalid static_cast from type ‘boost::range_iterator<const
boost::iterator_range<const unsigned char*> >::type {aka const
unsigned char*}’ to type ‘unsigned char*’
make: *** [../../../../margot/database/berkeleydb/bdb_database_indices.o]
Error 1

Looks like there must be a const_cast instead of static_cast.
Created ticket #6121 for this bug.

Last error looks like a show-stopper for me.

Best regards,
Antony Polukhin


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk