[Bug 276749] databases/mysql80-server: fix build with clang 16

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 31 Jan 2024 18:51:37 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276749

            Bug ID: 276749
           Summary: databases/mysql80-server: fix build with clang 16
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: joneum@FreeBSD.org
          Reporter: dim@FreeBSD.org
          Assignee: joneum@FreeBSD.org
             Flags: maintainer-feedback?(joneum@FreeBSD.org)

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.

-- 
You are receiving this mail because:
You are the assignee for the bug.