Ticket #67324: boost-clang16-cpp17-compat.diff

File boost-clang16-cpp17-compat.diff, 4.2 KB (added by sambthompson (Sam Thompson), 19 months ago)

patch file to meet c++17 compliance enforcement of deprecations in clang16

  • boost/config/stdlib/libcpp.hpp

    old new  
    166166#  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
    167167#endif
    168168
     169#if _LIBCPP_VERSION >= 15000
     170//
     171// Unary function is now deprecated in C++11 and later:
     172//
     173#if __cplusplus >= 201103L
     174#define BOOST_NO_CXX98_FUNCTION_BASE
     175#endif
     176#endif
     177
    169178//  --- end ---
  • boost/numeric/conversion/detail/int_float_mixture.hpp

    old new  
    1616#include "boost/numeric/conversion/int_float_mixture_enum.hpp"
    1717#include "boost/numeric/conversion/detail/meta.hpp"
    1818
    19 #include "boost/mpl/integral_c.hpp"
     19#include "boost/type_traits/integral_constant.hpp"
    2020
    2121namespace boost { namespace numeric { namespace convdetail
    2222{
    2323  // Integral Constants for 'IntFloatMixture'
    24   typedef mpl::integral_c<int_float_mixture_enum, integral_to_integral> int2int_c ;
    25   typedef mpl::integral_c<int_float_mixture_enum, integral_to_float>    int2float_c ;
    26   typedef mpl::integral_c<int_float_mixture_enum, float_to_integral>    float2int_c ;
    27   typedef mpl::integral_c<int_float_mixture_enum, float_to_float>       float2float_c ;
     24  typedef boost::integral_constant<int_float_mixture_enum, integral_to_integral> int2int_c ;
     25  typedef boost::integral_constant<int_float_mixture_enum, integral_to_float>    int2float_c ;
     26  typedef boost::integral_constant<int_float_mixture_enum, float_to_integral>    float2int_c ;
     27  typedef boost::integral_constant<int_float_mixture_enum, float_to_float>       float2float_c ;
    2828
    2929  // Metafunction:
    3030  //
  • boost/numeric/conversion/detail/sign_mixture.hpp

    old new  
    1616#include "boost/numeric/conversion/sign_mixture_enum.hpp"
    1717#include "boost/numeric/conversion/detail/meta.hpp"
    1818
    19 #include "boost/mpl/integral_c.hpp"
     19#include "boost/type_traits/integral_constant.hpp"
    2020
    2121namespace boost { namespace numeric { namespace convdetail
    2222{
    2323  // Integral Constants for 'SignMixture'
    24   typedef mpl::integral_c<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ;
    25   typedef mpl::integral_c<sign_mixture_enum, signed_to_signed>     sig2sig_c ;
    26   typedef mpl::integral_c<sign_mixture_enum, signed_to_unsigned>   sig2unsig_c ;
    27   typedef mpl::integral_c<sign_mixture_enum, unsigned_to_signed>   unsig2sig_c ;
     24  typedef boost::integral_constant<sign_mixture_enum, unsigned_to_unsigned> unsig2unsig_c ;
     25  typedef boost::integral_constant<sign_mixture_enum, signed_to_signed>     sig2sig_c ;
     26  typedef boost::integral_constant<sign_mixture_enum, signed_to_unsigned>   sig2unsig_c ;
     27  typedef boost::integral_constant<sign_mixture_enum, unsigned_to_signed>   unsig2sig_c ;
    2828
    2929  // Metafunction:
    3030  //
  • boost/numeric/conversion/detail/udt_builtin_mixture.hpp

    old new  
    1515#include "boost/numeric/conversion/udt_builtin_mixture_enum.hpp"
    1616#include "boost/numeric/conversion/detail/meta.hpp"
    1717
    18 #include "boost/mpl/integral_c.hpp"
     18#include "boost/type_traits/integral_constant.hpp"
    1919
    2020namespace boost { namespace numeric { namespace convdetail
    2121{
    2222  // Integral Constants for 'UdtMixture'
    23   typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ;
    24   typedef mpl::integral_c<udt_builtin_mixture_enum, builtin_to_udt>     builtin2udt_c ;
    25   typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_builtin>     udt2builtin_c ;
    26   typedef mpl::integral_c<udt_builtin_mixture_enum, udt_to_udt>         udt2udt_c ;
     23  typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_builtin> builtin2builtin_c ;
     24  typedef boost::integral_constant<udt_builtin_mixture_enum, builtin_to_udt>     builtin2udt_c ;
     25  typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_builtin>     udt2builtin_c ;
     26  typedef boost::integral_constant<udt_builtin_mixture_enum, udt_to_udt>         udt2udt_c ;
    2727
    2828  // Metafunction:
    2929  //