From 9ac1dcdb41c546a607a7ea973344ca76f69a12d5 Mon Sep 17 00:00:00 2001 From: Nikolas Klauser Date: Sat, 15 Nov 2025 09:52:48 +0100 Subject: [PATCH] [libc++] Remove is_signed use from --- libcxx/include/__charconv/from_chars_integral.h | 2 +- libcxx/include/__charconv/to_chars_integral.h | 1 + libcxx/include/__locale_dir/num.h | 1 + libcxx/include/__mdspan/extents.h | 1 + libcxx/include/limits | 3 +-- libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp | 1 + libcxx/test/std/numerics/c.math/isnormal.pass.cpp | 1 + .../std/time/time.clock/time.clock.gps/types.compile.pass.cpp | 1 + .../std/time/time.clock/time.clock.tai/types.compile.pass.cpp | 1 + .../std/time/time.clock/time.clock.utc/types.compile.pass.cpp | 1 + .../utility.intcmp/intcmp.cmp_greater/cmp_greater.pass.cpp | 1 + .../utility/utility.intcmp/intcmp.cmp_less/cmp_less.pass.cpp | 1 + .../intcmp.cmp_less_equal/cmp_less_equal.pass.cpp | 1 + 13 files changed, 13 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__charconv/from_chars_integral.h b/libcxx/include/__charconv/from_chars_integral.h index c1f033b37b913..903e892cab85b 100644 --- a/libcxx/include/__charconv/from_chars_integral.h +++ b/libcxx/include/__charconv/from_chars_integral.h @@ -18,8 +18,8 @@ #include <__memory/addressof.h> #include <__system_error/errc.h> #include <__type_traits/enable_if.h> -#include <__type_traits/integral_constant.h> #include <__type_traits/is_integral.h> +#include <__type_traits/is_signed.h> #include <__type_traits/is_unsigned.h> #include <__type_traits/make_unsigned.h> #include diff --git a/libcxx/include/__charconv/to_chars_integral.h b/libcxx/include/__charconv/to_chars_integral.h index f10cc3566875a..6d425139260b6 100644 --- a/libcxx/include/__charconv/to_chars_integral.h +++ b/libcxx/include/__charconv/to_chars_integral.h @@ -24,6 +24,7 @@ #include <__type_traits/integral_constant.h> #include <__type_traits/is_integral.h> #include <__type_traits/is_same.h> +#include <__type_traits/is_signed.h> #include <__type_traits/make_32_64_or_128_bit.h> #include <__type_traits/make_unsigned.h> #include <__utility/unreachable.h> diff --git a/libcxx/include/__locale_dir/num.h b/libcxx/include/__locale_dir/num.h index e31a63d040f7a..6eef9b3095d6e 100644 --- a/libcxx/include/__locale_dir/num.h +++ b/libcxx/include/__locale_dir/num.h @@ -23,6 +23,7 @@ #include <__locale_dir/scan_keyword.h> #include <__memory/unique_ptr.h> #include <__system_error/errc.h> +#include <__type_traits/is_signed.h> #include #include #include diff --git a/libcxx/include/__mdspan/extents.h b/libcxx/include/__mdspan/extents.h index 99b54badf893c..26219557dbae9 100644 --- a/libcxx/include/__mdspan/extents.h +++ b/libcxx/include/__mdspan/extents.h @@ -25,6 +25,7 @@ #include <__type_traits/integer_traits.h> #include <__type_traits/is_convertible.h> #include <__type_traits/is_nothrow_constructible.h> +#include <__type_traits/is_signed.h> #include <__type_traits/make_unsigned.h> #include <__utility/integer_sequence.h> #include <__utility/unreachable.h> diff --git a/libcxx/include/limits b/libcxx/include/limits index ae93fcd7164fd..ff40d2051d06f 100644 --- a/libcxx/include/limits +++ b/libcxx/include/limits @@ -108,7 +108,6 @@ template<> class numeric_limits; # include <__config> # include <__type_traits/is_arithmetic.h> # include <__type_traits/is_same.h> -# include <__type_traits/is_signed.h> # if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header @@ -218,7 +217,7 @@ protected: static _LIBCPP_CONSTEXPR const bool is_iec559 = false; static _LIBCPP_CONSTEXPR const bool is_bounded = true; - static _LIBCPP_CONSTEXPR const bool is_modulo = !std::is_signed<_Tp>::value; + static _LIBCPP_CONSTEXPR const bool is_modulo = !is_signed; # if defined(__i386__) || defined(__x86_64__) || defined(__wasm__) static _LIBCPP_CONSTEXPR const bool traps = is_same::value; diff --git a/libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp b/libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp index aed78f9cddf84..937593ca48f74 100644 --- a/libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp +++ b/libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp @@ -16,6 +16,7 @@ #include #include #include +#include template void test() { diff --git a/libcxx/test/std/numerics/c.math/isnormal.pass.cpp b/libcxx/test/std/numerics/c.math/isnormal.pass.cpp index 76c3d13520d99..79465b3122d1b 100644 --- a/libcxx/test/std/numerics/c.math/isnormal.pass.cpp +++ b/libcxx/test/std/numerics/c.math/isnormal.pass.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include "test_macros.h" #include "type_algorithms.h" diff --git a/libcxx/test/std/time/time.clock/time.clock.gps/types.compile.pass.cpp b/libcxx/test/std/time/time.clock/time.clock.gps/types.compile.pass.cpp index 006ad9a2d243e..fea70a304dfdd 100644 --- a/libcxx/test/std/time/time.clock/time.clock.gps/types.compile.pass.cpp +++ b/libcxx/test/std/time/time.clock/time.clock.gps/types.compile.pass.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include "test_macros.h" diff --git a/libcxx/test/std/time/time.clock/time.clock.tai/types.compile.pass.cpp b/libcxx/test/std/time/time.clock/time.clock.tai/types.compile.pass.cpp index a7123bc3e0b5c..6499ecb5fb85e 100644 --- a/libcxx/test/std/time/time.clock/time.clock.tai/types.compile.pass.cpp +++ b/libcxx/test/std/time/time.clock/time.clock.tai/types.compile.pass.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include "test_macros.h" diff --git a/libcxx/test/std/time/time.clock/time.clock.utc/types.compile.pass.cpp b/libcxx/test/std/time/time.clock/time.clock.utc/types.compile.pass.cpp index 8cb3d78d97f52..c69671ba4d2cc 100644 --- a/libcxx/test/std/time/time.clock/time.clock.utc/types.compile.pass.cpp +++ b/libcxx/test/std/time/time.clock/time.clock.utc/types.compile.pass.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_greater/cmp_greater.pass.cpp b/libcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_greater/cmp_greater.pass.cpp index 8b69ec6369256..f261166146e7e 100644 --- a/libcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_greater/cmp_greater.pass.cpp +++ b/libcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_greater/cmp_greater.pass.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_less/cmp_less.pass.cpp b/libcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_less/cmp_less.pass.cpp index 2cc66ebc067be..5a07835f5598c 100644 --- a/libcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_less/cmp_less.pass.cpp +++ b/libcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_less/cmp_less.pass.cpp @@ -18,6 +18,7 @@ #include #include #include +#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_less_equal/cmp_less_equal.pass.cpp b/libcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_less_equal/cmp_less_equal.pass.cpp index fb4698015b9da..079a2f7df80cc 100644 --- a/libcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_less_equal/cmp_less_equal.pass.cpp +++ b/libcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_less_equal/cmp_less_equal.pass.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include "test_macros.h"