[libcxx-commits] [libcxx] [libc++] Use using declarations to pull in functions from the numeric_limits base class (PR #160661)
Nikolas Klauser via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Sep 25 01:27:40 PDT 2025
https://github.com/philnik777 created https://github.com/llvm/llvm-project/pull/160661
None
>From 9b74b94d5ba6d8d96ad0db4f7db1efddd10e3d2b Mon Sep 17 00:00:00 2001
From: Nikolas Klauser <nikolasklauser at berlin.de>
Date: Thu, 25 Sep 2025 10:24:13 +0200
Subject: [PATCH] [libc++] Use using declarations to pull in functions from the
numeric_limits base class
---
libcxx/include/limits | 30 +++++++++---------------------
1 file changed, 9 insertions(+), 21 deletions(-)
diff --git a/libcxx/include/limits b/libcxx/include/limits
index e8581cf9c321d..6a93b770f68b0 100644
--- a/libcxx/include/limits
+++ b/libcxx/include/limits
@@ -455,9 +455,9 @@ class numeric_limits : private __libcpp_numeric_limits<_Tp> {
public:
static inline _LIBCPP_CONSTEXPR const bool is_specialized = __base::is_specialized;
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR type min() _NOEXCEPT { return __base::min(); }
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR type max() _NOEXCEPT { return __base::max(); }
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR type lowest() _NOEXCEPT { return __base::lowest(); }
+ using __base::lowest;
+ using __base::max;
+ using __base::min;
static inline _LIBCPP_CONSTEXPR const int digits = __base::digits;
static inline _LIBCPP_CONSTEXPR const int digits10 = __base::digits10;
@@ -466,12 +466,8 @@ public:
static inline _LIBCPP_CONSTEXPR const bool is_integer = __base::is_integer;
static inline _LIBCPP_CONSTEXPR const bool is_exact = __base::is_exact;
static inline _LIBCPP_CONSTEXPR const int radix = __base::radix;
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR type epsilon() _NOEXCEPT {
- return __base::epsilon();
- }
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR type round_error() _NOEXCEPT {
- return __base::round_error();
- }
+ using __base::epsilon;
+ using __base::round_error;
static inline _LIBCPP_CONSTEXPR const int min_exponent = __base::min_exponent;
static inline _LIBCPP_CONSTEXPR const int min_exponent10 = __base::min_exponent10;
@@ -485,18 +481,10 @@ public:
static inline _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = __base::has_denorm;
static inline _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const bool has_denorm_loss = __base::has_denorm_loss;
_LIBCPP_SUPPRESS_DEPRECATED_POP
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {
- return __base::infinity();
- }
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {
- return __base::quiet_NaN();
- }
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {
- return __base::signaling_NaN();
- }
- [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR type denorm_min() _NOEXCEPT {
- return __base::denorm_min();
- }
+ using __base::denorm_min;
+ using __base::infinity;
+ using __base::quiet_NaN;
+ using __base::signaling_NaN;
static inline _LIBCPP_CONSTEXPR const bool is_iec559 = __base::is_iec559;
static inline _LIBCPP_CONSTEXPR const bool is_bounded = __base::is_bounded;
More information about the libcxx-commits
mailing list