Skip to content
Commit bfdc368a authored by Dimitry Andric's avatar Dimitry Andric
Browse files

databases/mysql80-server: fix build with clang 16

Similar to bug 272295, building databases/mysql80-server with clang 16
or higher can result in an error:

  /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.35/boost/boost_1_77_0/boost/mpl/aux_/integral_wrapper.hpp:73:31: error: integer value -1 is outside the valid range of values [0, 3] for the enumeration type 'udt_builtin_mixture_enum' [-Wenum-constexpr-conversion]
     73 |     typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior;
        |                               ^
  /wrkdirs/usr/ports/databases/mysql80-server/work/mysql-8.0.35/boost/boost_1_77_0/boost/mpl/aux_/static_cast.hpp:24:47: note: expanded from macro 'BOOST_MPL_AUX_STATIC_CAST'
     24 | #   define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr)
        |                                               ^

This is because the vendored copy of boost in mysql80-server is using
undefined behavior in a possibly constexpr context.

Fix this by unconditionally enabling the "boost workaround" for aux
wrapper value types in integral_wrapper.hpp.

PR:		276749
Approved by:	joneum (maintainer)
MFH:		2024Q1
parent d24795b1
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment