On 25/02/2021 18:33, Robert Ramey via Boost wrote:
The serialization library is compatible with C++03 (and likely 98). And is tested regularly with C++ compilers with the -std switch set to this mode. The recent changes to the math library have broken about 5 tests in the serialization library. Since this breakage is in a few tests only and not in the library itself, I'd like to suppress these tests when the being tested with a C++03 compiler. I've suppressed tests which are conditional on C++ features which are not supported and this has worked well for my purposes. I'd like to do the same for a couple of tests which are conditional on usage of the math library and standards versions < C++11. Any B2/CMake experts want to help an old guy out?
There is no "only build this in C++X mode" for some value X, I was thinking about this the other day, and Boost.Config should probably add something that is the union of all our std-specific feature test macros that we could all use. In the mean time, adding: import ../../config/checks/config : requires ; To the top of the Jamfile and then to each target's requires clause add: [ requires cxx11_noexcept cxx11_rvalue_references sfinae_expr cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_hdr_tuple cxx11_hdr_initializer_list cxx11_hdr_chrono cxx11_thread_local cxx11_constexpr cxx11_nullptr cxx11_numeric_limits cxx11_decltype cxx11_hdr_array cxx11_hdr_atomic cxx11_hdr_type_traits cxx11_allocator cxx11_explicit_conversion_operators ] And yes, this is over-verbose. I might see if I can file you a quick PR. Best, John. -- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus