|
Boost : |
From: Daryle Walker (dwalker07_at_[hidden])
Date: 2003-08-23 00:28:45
[This was originally posted on the Users list. I'm posting the
response here to the main list because I have no idea how to fix it.
This message isn't cross-posted to the Users list because I used
different e-mail addresses to subscribe to each list.]
On Monday, August 18, 2003, at 4:56 PM, Raoul Gough wrote:
> Hi, I've just noticed that my usage of boost::augmented_crc has
> stopped working since upgrading to gcc 3.x. The problem turns out to
> be with the workaround extra parameter BOOST_ACRC_DUMMY_PARM_TYPE*.
> The usage (in crc.hpp) looks like this:
>
> template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly >
> typename uint_t<Bits>::fast augmented_crc( void const *buffer,
> std::size_t byte_count, typename uint_t<Bits>::fast
> initial_remainder
> BOOST_ACRC_DUMMY_PARM_TYPE );
>
> Which doesn't supply a default value for the fourth parameter (i.e. it
> really requires all four parameters). Curiously, there is a
> BOOST_ACRC_DUMMY_INIT defined, which would supply a default value, but
> it is never used. Is this a bug in crc.hpp?
The "BOOST_ACRC_DUMMY_INIT" is used in the appropriate function
template definitions at the end of <boost/crc.hpp>. I guess there some
weird interaction error with GCC 3.x.
How can this be fixed? (I'm thinking of just removing the workaround
and let the compilers that need it die.)
>
> *This happens for gcc 3.1 and 3.2 because config/compiler/gcc.hpp sets
> BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS to work around a known
> bug in those versions.
Daryle
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk