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
This commit is contained in:
parent
d24795b1f4
commit
bfdc368a6e
|
@ -1,6 +1,6 @@
|
|||
PORTNAME?= mysql
|
||||
PORTVERSION= 8.0.35
|
||||
PORTREVISION?= 0
|
||||
PORTREVISION?= 1
|
||||
CATEGORIES= databases
|
||||
MASTER_SITES= MYSQL/MySQL-8.0
|
||||
PKGNAMESUFFIX?= 80-server
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
--- boost/boost_1_77_0/boost/mpl/aux_/integral_wrapper.hpp.orig 2021-08-05 09:42:13 UTC
|
||||
+++ boost/boost_1_77_0/boost/mpl/aux_/integral_wrapper.hpp
|
||||
@@ -56,7 +56,7 @@ struct AUX_WRAPPER_NAME
|
||||
// have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC),
|
||||
// while some other don't like 'value + 1' (Borland), and some don't like
|
||||
// either
|
||||
-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 243)
|
||||
+#if 1 //BOOST_WORKAROUND(__EDG_VERSION__, <= 243)
|
||||
private:
|
||||
BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, next_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)));
|
||||
BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, prior_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)));
|
Loading…
Reference in New Issue