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