Boost logo

Boost :

From: Daryle Walker (darylew_at_[hidden])
Date: 2001-05-06 16:17:37

on 5/5/01 7:47 AM, John Maddock at John_Maddock_at_[hidden] wrote:

I said:
>> The file compiled just fine; the error is at link-time. It started happening
>> when I first wrapped the testing functions as class-static member functions.
>> The other two tests are not affected. I have no idea what is causing this
>> problem. I'm using Metrowerks CodeWarrior Pro 5.3 for the Mac OS.

> First the good news, the new version builds OK with gcc, Borland C++, and
> VC6. All link correctly when the "master_test" that you commented out is
> uncommented, so it looks as though you have a Metroworks specific problem
> here, sorry :-(

I got around it by using explicit template instantiations in version 20.

> Now the bad news... the VC6 tests are still failing, however the reason is
> predictable - some of the crc interfaces use function templates with
> non-deduced parameters, currently the argmented_crc tests are working
> (don't know why this should be, experience suggests that they probably
> won't work for all possible template paramters), but the functional tests
> for the crc function are failing (or at least two of them are, one's
> getting passed the correct parameters "by accident").

Are you sure it's "by accident"? From other posts I've read, this VC6
problem isn't that it scrambles all template functions with non-deduced
parameters, it's that VC6 creates only one version of the function template
and mistakenly calls that version for all versions of the function template?
I only use one version of (each) argmented_crc template function, so the
problem doesn't show up.

> Daryle, what I suggest you do is place the functional and argmented
> interfaces inside some #ifdefs:
> // code
> #endif
> Likewise the tests for those interfaces, does this sound reasonable?

Is this #define in <boost/config.hpp>? The newest version of "" (20)
calls boost::crc through a function pointer that's explicitly initialized,
maybe that'll work.

Daryle Walker
Mac, Internet, and Video Game Junkie
darylew AT mac DOT com

Boost list run by bdawes at, gregod at, cpdaniel at, john at