Boost logo

Boost :

Subject: Re: [boost] [constrained-value] with 1.43.0
From: Neal Becker (ndbecker2_at_[hidden])
Date: 2010-05-07 07:48:33


Emil Dotchevski wrote:

> On Thu, May 6, 2010 at 10:55 AM, vicente.botet <vicente.botet_at_[hidden]>
> wrote:
>> ----- Original Message -----
>> The following code has been introduced in 1.43. Can you can move it to
>> the end of the file and checkagain (it is using throw_exception which is
>> not yet declared).
>>
>> HTH,
>> Vicente
>>
>> #if !defined( BOOST_EXCEPTION_DISABLE )
>> namespace
>> exception_detail
>> {
>> template <class E>
>> void
>> throw_exception_( E const & x, char const * current_function, char const
>> * file, int line ) {
>> throw_exception(
>> set_info(
>> set_info(
>> set_info(
>> enable_error_info(x),
>> throw_function(current_function)),
>> throw_file(file)),
>> throw_line(line)));
>> }
>> }
>> #endif
>
> Which compiler is this? Does moving the code solve the problem?

gcc-4.4.3-4.fc12.x86_64

No, moving that code doesn't fix it. Still very mysterious. The claim is
that
template <typename ExceptionType = broken_constraint>
struct throw_exception

in constrained.hpp conflicts with

template<class E> BOOST_ATTRIBUTE_NORETURN inline void throw_exception( E
const & e )

in throw_exception.hpp

in call to 'throw_exception' in the code we just moved, but the
throw_exception in constrained.hpp is in
namespace boost {
/// The Boost Constrained Value library's namespace.
namespace constrained_value {

namespace, so I don't see how it conflicts.

If someone wants to try it, I put the 2 files here:

http://nbecker.dyndns.org:8080/boost/


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