Suppress C++23 deprecation warnings for std::has_denorm and std::has_denorm_loss
diff --git a/Eigen/src/Core/arch/Default/BFloat16.h b/Eigen/src/Core/arch/Default/BFloat16.h index f31c6ce..9e79a39 100644 --- a/Eigen/src/Core/arch/Default/BFloat16.h +++ b/Eigen/src/Core/arch/Default/BFloat16.h
@@ -139,8 +139,15 @@ static EIGEN_CONSTEXPR const bool has_infinity = true; static EIGEN_CONSTEXPR const bool has_quiet_NaN = true; static EIGEN_CONSTEXPR const bool has_signaling_NaN = true; +#if __cplusplus >= 202302L + EIGEN_DIAGNOSTICS(push) + EIGEN_DISABLE_DEPRECATED_WARNING +#endif static EIGEN_CONSTEXPR const std::float_denorm_style has_denorm = std::denorm_present; static EIGEN_CONSTEXPR const bool has_denorm_loss = false; +#if __cplusplus >= 202302L + EIGEN_DIAGNOSTICS(pop) +#endif static EIGEN_CONSTEXPR const std::float_round_style round_style = std::numeric_limits<float>::round_style; static EIGEN_CONSTEXPR const bool is_iec559 = true; // The C++ standard defines this as "true if the set of values representable @@ -187,10 +194,17 @@ EIGEN_CONSTEXPR const bool numeric_limits_bfloat16_impl<T>::has_quiet_NaN; template <typename T> EIGEN_CONSTEXPR const bool numeric_limits_bfloat16_impl<T>::has_signaling_NaN; +#if __cplusplus >= 202302L +EIGEN_DIAGNOSTICS(push) +EIGEN_DISABLE_DEPRECATED_WARNING +#endif template <typename T> EIGEN_CONSTEXPR const std::float_denorm_style numeric_limits_bfloat16_impl<T>::has_denorm; template <typename T> EIGEN_CONSTEXPR const bool numeric_limits_bfloat16_impl<T>::has_denorm_loss; +#if __cplusplus >= 202302L +EIGEN_DIAGNOSTICS(pop) +#endif template <typename T> EIGEN_CONSTEXPR const std::float_round_style numeric_limits_bfloat16_impl<T>::round_style; template <typename T>
diff --git a/Eigen/src/Core/arch/Default/Half.h b/Eigen/src/Core/arch/Default/Half.h index 9c195c1..7754e8f 100644 --- a/Eigen/src/Core/arch/Default/Half.h +++ b/Eigen/src/Core/arch/Default/Half.h
@@ -208,8 +208,15 @@ static EIGEN_CONSTEXPR const bool has_infinity = true; static EIGEN_CONSTEXPR const bool has_quiet_NaN = true; static EIGEN_CONSTEXPR const bool has_signaling_NaN = true; +#if __cplusplus >= 202302L + EIGEN_DIAGNOSTICS(push) + EIGEN_DISABLE_DEPRECATED_WARNING +#endif static EIGEN_CONSTEXPR const std::float_denorm_style has_denorm = std::denorm_present; static EIGEN_CONSTEXPR const bool has_denorm_loss = false; +#if __cplusplus >= 202302L + EIGEN_DIAGNOSTICS(pop) +#endif static EIGEN_CONSTEXPR const std::float_round_style round_style = std::round_to_nearest; static EIGEN_CONSTEXPR const bool is_iec559 = true; // The C++ standard defines this as "true if the set of values representable @@ -256,10 +263,17 @@ EIGEN_CONSTEXPR const bool numeric_limits_half_impl<T>::has_quiet_NaN; template <typename T> EIGEN_CONSTEXPR const bool numeric_limits_half_impl<T>::has_signaling_NaN; +#if __cplusplus >= 202302L +EIGEN_DIAGNOSTICS(push) +EIGEN_DISABLE_DEPRECATED_WARNING +#endif template <typename T> EIGEN_CONSTEXPR const std::float_denorm_style numeric_limits_half_impl<T>::has_denorm; template <typename T> EIGEN_CONSTEXPR const bool numeric_limits_half_impl<T>::has_denorm_loss; +#if __cplusplus >= 202302L +EIGEN_DIAGNOSTICS(pop) +#endif template <typename T> EIGEN_CONSTEXPR const std::float_round_style numeric_limits_half_impl<T>::round_style; template <typename T>