|
Boost : |
From: Robert Ramey (ramey_at_[hidden])
Date: 2021-02-25 19:58:18
On 2/25/21 11:13 AM, John Maddock via Boost wrote:
> I just looked at this, and I get 198 serialization lib test failures in
> C++03 mode currently :(
Its really only 5 tests. the tests are repeated for each archive. Also
depending on the test setup more than one variant, or compiler or
whatever may be tested - thus elevating the number.
>
> The issue is that your tests are using Boost.Math, specifically
> float_distance, and this is now C++11 and later. It's used fairly
> ubiquitously in your tests as well.
Right. Still it's only 5 tests. After tracking this down - which took
a surprising amount of time given branches, etc - I considered my
options and the easiest and most future looking was to just suppress
these tests for compilations with C++ version <C++11. It's a good
simple, expedient solution. I just needed an attribute to condition on.
As chris pointed out I can condition one boost version. This is a
practical and simple idea and I'll use it if nothing better comes up.
FYI - if it had been a different situation, for example, float_distance
sprinkled throughout the library code, then this "fix" would be
unacceptable. But given the current situation, just skipping these
tests is a good way to handle it.
>
> Given that we've signaled this change for over a year now, how do we
> handle this?
I'm thinking the attribute list should include the standards version.
But if that's too much work I totally understand and will work around it
some other way. I don't know how many other libraries have this issue -
it might well be none. I'll leave it totally up to you. Just post if
you change anything.
Robert Ramey
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk