|
Boost : |
Subject: Re: [boost] [Signals] Build problem on Linux / ARM with GCC 3.4.4
From: vicente.botet (vicente.botet_at_[hidden])
Date: 2008-09-22 12:34:42
______________________
Vicente Juan Botet Escribá
----- Original Message -----
From: "Tobias Oberstein" <tobias.oberstein_at_[hidden]>
To: <boost_at_[hidden]>
Cc: <emil_at_[hidden]>
Sent: Monday, September 22, 2008 12:40 PM
Subject: Re: [boost] [Signals] Build problem on Linux / ARM with GCC 3.4.4
>I fixed the problem by patching
>
> boost/exception/enable_current_exception.hpp
>
> => inlined the templated function make_clone manually into the single
> call location, which is in class clone_impl.
>
> I'll attach the patch, don't know if it makes it through the list.
>
> Also: the problem was not at all Boost.Signal related .. some other libs
> didn't build either.
>
> Emil: thx for pointing me to the problematic file ..
Hi,
the function is declared firstly without the inline keyword
template <class T>
clone_base * make_clone( T const & );
and the defined as
template <class T>
inline
clone_base *
make_clone( T const & x )
{
try
{
return new exception_clone<T>(x);
}
catch(
std::bad_alloc & )
{
static bad_alloc_impl bad_alloc;
return &bad_alloc;
}
catch(
... )
{
BOOST_ASSERT(0);
return 0;
}
}
}
I would try to add inline to the declaration.
template <class T>
inline clone_base * make_clone( T const & );
Vicente
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk