diff options
author | Nikolas Klauser <nikolasklauser@berlin.de> | 2022-12-23 00:23:30 +0100 |
---|---|---|
committer | Nikolas Klauser <nikolasklauser@berlin.de> | 2023-01-21 15:09:21 +0100 |
commit | fafed06b2ea985324b844fa1a90b50553c34914b (patch) | |
tree | ee0ddce41fed6b3d805d6fb930697b3b83ae2e50 /libcxx | |
parent | 987f08fe229c2d857b28f08b3b1ba149e1b16851 (diff) | |
download | llvm-fafed06b2ea985324b844fa1a90b50553c34914b.zip llvm-fafed06b2ea985324b844fa1a90b50553c34914b.tar.gz llvm-fafed06b2ea985324b844fa1a90b50553c34914b.tar.bz2 |
[libc++] Granularize <type_traits> includes in <bit>, <numbers> and <coroutine>
`<coroutine>` seems to be new enough to not be a huge problem.
Reviewed By: Mordante, #libc
Spies: libcxx-commits, ChuanqiXu
Differential Revision: https://reviews.llvm.org/D140600
Diffstat (limited to 'libcxx')
-rw-r--r-- | libcxx/include/__coroutine/coroutine_handle.h | 3 | ||||
-rw-r--r-- | libcxx/include/__coroutine/coroutine_traits.h | 2 | ||||
-rw-r--r-- | libcxx/include/__numeric/gcd_lcm.h | 6 | ||||
-rw-r--r-- | libcxx/include/__numeric/midpoint.h | 12 | ||||
-rw-r--r-- | libcxx/include/coroutine | 1 | ||||
-rw-r--r-- | libcxx/include/numbers | 2 | ||||
-rw-r--r-- | libcxx/include/numeric | 1 | ||||
-rw-r--r-- | libcxx/test/libcxx/transitive_includes/cxx2b.csv | 3 | ||||
-rw-r--r-- | libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.fail.cpp | 2 |
9 files changed, 22 insertions, 10 deletions
diff --git a/libcxx/include/__coroutine/coroutine_handle.h b/libcxx/include/__coroutine/coroutine_handle.h index 8f7ed2e..0a6cc1c 100644 --- a/libcxx/include/__coroutine/coroutine_handle.h +++ b/libcxx/include/__coroutine/coroutine_handle.h @@ -13,8 +13,9 @@ #include <__config> #include <__functional/hash.h> #include <__memory/addressof.h> +#include <__type_traits/remove_cv.h> #include <compare> -#include <type_traits> +#include <cstddef> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__coroutine/coroutine_traits.h b/libcxx/include/__coroutine/coroutine_traits.h index 87eb218..d513075 100644 --- a/libcxx/include/__coroutine/coroutine_traits.h +++ b/libcxx/include/__coroutine/coroutine_traits.h @@ -10,7 +10,7 @@ #define _LIBCPP___COROUTINE_COROUTINE_TRAITS_H #include <__config> -#include <type_traits> +#include <__type_traits/void_t.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__numeric/gcd_lcm.h b/libcxx/include/__numeric/gcd_lcm.h index b3d776b..5a3f81b 100644 --- a/libcxx/include/__numeric/gcd_lcm.h +++ b/libcxx/include/__numeric/gcd_lcm.h @@ -12,8 +12,12 @@ #include <__assert> #include <__config> +#include <__type_traits/common_type.h> +#include <__type_traits/is_integral.h> +#include <__type_traits/is_same.h> +#include <__type_traits/is_signed.h> +#include <__type_traits/make_unsigned.h> #include <limits> -#include <type_traits> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__numeric/midpoint.h b/libcxx/include/__numeric/midpoint.h index ada6adf..bac3642 100644 --- a/libcxx/include/__numeric/midpoint.h +++ b/libcxx/include/__numeric/midpoint.h @@ -11,8 +11,18 @@ #define _LIBCPP___NUMERIC_MIDPOINT_H #include <__config> +#include <__type_traits/enable_if.h> +#include <__type_traits/is_floating_point.h> +#include <__type_traits/is_integral.h> +#include <__type_traits/is_null_pointer.h> +#include <__type_traits/is_object.h> +#include <__type_traits/is_pointer.h> +#include <__type_traits/is_same.h> +#include <__type_traits/is_void.h> +#include <__type_traits/make_unsigned.h> +#include <__type_traits/remove_pointer.h> +#include <cstddef> #include <limits> -#include <type_traits> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/coroutine b/libcxx/include/coroutine index e0ce323..f264570 100644 --- a/libcxx/include/coroutine +++ b/libcxx/include/coroutine @@ -57,6 +57,7 @@ struct suspend_always; #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20 # include <iosfwd> +# include <type_traits> #endif #endif // _LIBCPP_COROUTINE diff --git a/libcxx/include/numbers b/libcxx/include/numbers index 1d9b6b0..72034a6 100644 --- a/libcxx/include/numbers +++ b/libcxx/include/numbers @@ -61,7 +61,6 @@ namespace std::numbers { #include <__assert> // all public C++ headers provide the assertion handler #include <__concepts/arithmetic.h> #include <__config> -#include <type_traits> #include <version> #if _LIBCPP_STD_VER > 17 @@ -133,6 +132,7 @@ _LIBCPP_END_NAMESPACE_STD #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20 # include <concepts> +# include <type_traits> #endif #endif // _LIBCPP_NUMBERS diff --git a/libcxx/include/numeric b/libcxx/include/numeric index 2fb6f9e..100dbe1 100644 --- a/libcxx/include/numeric +++ b/libcxx/include/numeric @@ -175,6 +175,7 @@ template<class T> # include <concepts> # include <functional> # include <iterator> +# include <type_traits> #endif #endif // _LIBCPP_NUMERIC diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b.csv b/libcxx/test/libcxx/transitive_includes/cxx2b.csv index 186d0b4..23cc6d7 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b.csv +++ b/libcxx/test/libcxx/transitive_includes/cxx2b.csv @@ -138,7 +138,6 @@ coroutine cstddef coroutine cstdint coroutine cstring coroutine limits -coroutine type_traits coroutine version cstddef version ctgmath ccomplex @@ -452,12 +451,10 @@ new cstddef new cstdlib new exception new version -numbers type_traits numbers version numeric cmath numeric cstddef numeric limits -numeric type_traits numeric version optional compare optional cstddef diff --git a/libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.fail.cpp b/libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.fail.cpp index 962291d..fab7d78 100644 --- a/libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.fail.cpp +++ b/libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.fail.cpp @@ -20,8 +20,6 @@ #include <cstdint> #include <limits> -#include "test_macros.h" - class A{}; enum E1 : unsigned char { rEd }; enum class E2 : unsigned char { red }; |