boost1{76..80}: +clang16 doesn't build
Trying to build boost176 +clang16
fails:
In file included from libs/python/src/converter/builtin_converters.cpp:21:
In file included from ./boost/cast.hpp:18:
In file included from ./boost/numeric/conversion/cast.hpp:33:
In file included from ./boost/numeric/conversion/converter.hpp:13:
In file included from ./boost/numeric/conversion/conversion_traits.hpp:13:
In file included from ./boost/numeric/conversion/detail/conversion_traits.hpp:18:
In file included from ./boost/numeric/conversion/detail/int_float_mixture.hpp:19:
In file included from ./boost/mpl/integral_c.hpp:32:
./boost/mpl/aux_/integral_wrapper.hpp:73:31: error: integer value -1 is outside the valid range of values [0, 3] for this enumeration type [-Wenum-constexpr-conversion]
typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior;
^
Building with the +clang15
variant compiles fine.
Any suggestions?
Change History (7)
Cc: |
mascguy added
|
Owner: |
set to michaelld
|
Status: |
new →
assigned
|
Cc: |
michaelld added; mascguy removed
|
Owner: |
changed from michaelld to mascguy
|
Port: |
boost177 boost178 boost179 boost180 added
|
Summary: |
boost176 +clang16 doesn't build →
boost1{76..80}: +clang16 doesn't build
|
Resolution: |
→ fixed
|
Status: |
assigned →
closed
|
Found this issue as well when rebuilding mkvtoolnix after the changes discussed in ticket:65895. Relates to a bug fix applied to clang-16 and later, discussed here: https://github.com/llvm/llvm-project/issues/50055
Fixed it by cherry-picking this commit https://github.com/boostorg/numeric_conversion/commit/50a1eae942effb0a9b90724323ef8f2a67e7984a to the boost176 installation, found on Boost's version of this issue at https://github.com/boostorg/mpl/issues/69. This fix didn't land until Boost 1.81, so probably needs application to versions 1.77 thru 1.80 as well if clang16 support is wanted for these earlier versions.
For mkvtoolnix, I also needed the fix for BOOST_NO_CXX98_FUNCTION_BASE found in https://github.com/boostorg/config/pull/440, which related to this issue: https://github.com/boostorg/container_hash/issues/24. This also didn't land until 1.81.