Skip to content

Commit 128a5e0

Browse files
committed
[libc++][NFC] Use more appropriate type traits for a few cases
1 parent ee29eb1 commit 128a5e0

File tree

8 files changed

+13
-8
lines changed

8 files changed

+13
-8
lines changed

libcxx/include/__hash_table

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
#include <__type_traits/is_nothrow_constructible.h>
3737
#include <__type_traits/is_pointer.h>
3838
#include <__type_traits/is_reference.h>
39+
#include <__type_traits/is_same.h>
3940
#include <__type_traits/is_swappable.h>
4041
#include <__type_traits/remove_const.h>
4142
#include <__type_traits/remove_cvref.h>

libcxx/include/__memory/shared_ptr.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,11 @@
4242
#include <__type_traits/is_constructible.h>
4343
#include <__type_traits/is_convertible.h>
4444
#include <__type_traits/is_reference.h>
45+
#include <__type_traits/is_same.h>
4546
#include <__type_traits/is_unbounded_array.h>
4647
#include <__type_traits/nat.h>
4748
#include <__type_traits/negation.h>
49+
#include <__type_traits/remove_cv.h>
4850
#include <__type_traits/remove_extent.h>
4951
#include <__type_traits/remove_reference.h>
5052
#include <__utility/declval.h>

libcxx/include/__memory/uninitialized_algorithms.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include <__type_traits/extent.h>
2626
#include <__type_traits/is_array.h>
2727
#include <__type_traits/is_constant_evaluated.h>
28+
#include <__type_traits/is_same.h>
2829
#include <__type_traits/is_trivially_assignable.h>
2930
#include <__type_traits/is_trivially_constructible.h>
3031
#include <__type_traits/is_trivially_relocatable.h>

libcxx/include/__tuple/make_tuple_types.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
#include <__tuple/tuple_size.h>
1919
#include <__tuple/tuple_types.h>
2020
#include <__type_traits/copy_cvref.h>
21-
#include <__type_traits/remove_cv.h>
21+
#include <__type_traits/remove_cvref.h>
2222
#include <__type_traits/remove_reference.h>
2323

2424
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -58,7 +58,7 @@ template <class _Tp,
5858
bool _SameSize = (_Ep == tuple_size<__libcpp_remove_reference_t<_Tp> >::value)>
5959
struct __make_tuple_types {
6060
static_assert(_Sp <= _Ep, "__make_tuple_types input error");
61-
using _RawTp = __remove_cv_t<__libcpp_remove_reference_t<_Tp> >;
61+
using _RawTp = __remove_cvref_t<_Tp>;
6262
using _Maker = __make_tuple_types_flat<_RawTp, typename __make_tuple_indices<_Ep, _Sp>::type>;
6363
using type = typename _Maker::template __apply_quals<_Tp>;
6464
};

libcxx/include/new

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,7 @@ void operator delete[](void* ptr, void*) noexcept;
9090
#include <__cstddef/size_t.h>
9191
#include <__exception/exception.h>
9292
#include <__type_traits/is_function.h>
93-
#include <__type_traits/is_same.h>
94-
#include <__type_traits/remove_cv.h>
93+
#include <__type_traits/is_void.h>
9594
#include <__verbose_abort>
9695
#include <version>
9796

@@ -342,7 +341,7 @@ inline _LIBCPP_HIDE_FROM_ABI void __libcpp_deallocate_unsized(void* __ptr, size_
342341
template <class _Tp>
343342
[[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR _Tp* __launder(_Tp* __p) _NOEXCEPT {
344343
static_assert(!(is_function<_Tp>::value), "can't launder functions");
345-
static_assert(!(is_same<void, __remove_cv_t<_Tp> >::value), "can't launder cv-void");
344+
static_assert(!is_void<_Tp>::value, "can't launder cv-void");
346345
return __builtin_launder(__p);
347346
}
348347

libcxx/include/optional

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,7 @@ namespace std {
207207
#include <__type_traits/is_nothrow_constructible.h>
208208
#include <__type_traits/is_object.h>
209209
#include <__type_traits/is_reference.h>
210+
#include <__type_traits/is_same.h>
210211
#include <__type_traits/is_scalar.h>
211212
#include <__type_traits/is_swappable.h>
212213
#include <__type_traits/is_trivially_assignable.h>
@@ -215,6 +216,7 @@ namespace std {
215216
#include <__type_traits/is_trivially_relocatable.h>
216217
#include <__type_traits/negation.h>
217218
#include <__type_traits/remove_const.h>
219+
#include <__type_traits/remove_cv.h>
218220
#include <__type_traits/remove_cvref.h>
219221
#include <__type_traits/remove_reference.h>
220222
#include <__utility/declval.h>

libcxx/include/variant

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@ namespace std {
245245
#include <__type_traits/is_nothrow_assignable.h>
246246
#include <__type_traits/is_nothrow_constructible.h>
247247
#include <__type_traits/is_reference.h>
248+
#include <__type_traits/is_same.h>
248249
#include <__type_traits/is_swappable.h>
249250
#include <__type_traits/is_trivially_assignable.h>
250251
#include <__type_traits/is_trivially_constructible.h>

libcxx/test/std/language.support/support.dynamic/ptr.launder/launder.pass.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,9 @@
1212

1313
// UNSUPPORTED: c++03, c++11, c++14
1414

15-
#include <new>
1615
#include <cassert>
17-
18-
#include "test_macros.h"
16+
#include <new>
17+
#include <type_traits>
1918

2019
constexpr int gi = 5;
2120
constexpr float gf = 8.f;

0 commit comments

Comments
 (0)