From bc8fd9c6335f37edb3a56a628f38c0bbf96367ad Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Fri, 2 Sep 2022 19:35:10 -0700 Subject: [PATCH] Revert "[libc++] Granularize the rest of memory" Breaks buildbots. This reverts commit 30adaa730c4768b5eb06719c808b2884fcf53cf3. --- libcxx/include/CMakeLists.txt | 6 - libcxx/include/__algorithm/inplace_merge.h | 6 +- libcxx/include/__algorithm/ranges_copy.h | 1 - .../include/__algorithm/ranges_equal_range.h | 1 - libcxx/include/__algorithm/ranges_find_end.h | 1 - libcxx/include/__algorithm/ranges_minmax.h | 1 - .../__algorithm/ranges_next_permutation.h | 1 - .../include/__algorithm/ranges_partial_sort.h | 1 - .../__algorithm/ranges_partial_sort_copy.h | 1 - libcxx/include/__algorithm/ranges_partition.h | 1 - .../__algorithm/ranges_prev_permutation.h | 1 - libcxx/include/__algorithm/ranges_search.h | 1 - libcxx/include/__algorithm/ranges_search_n.h | 1 - .../__algorithm/ranges_set_difference.h | 1 - libcxx/include/__algorithm/ranges_unique.h | 1 - .../include/__algorithm/ranges_unique_copy.h | 1 - .../__algorithm/set_symmetric_difference.h | 1 - libcxx/include/__algorithm/set_union.h | 1 - libcxx/include/__algorithm/sort.h | 3 +- libcxx/include/__algorithm/stable_partition.h | 6 +- libcxx/include/__algorithm/stable_sort.h | 6 +- libcxx/include/__bsd_locale_fallbacks.h | 1 + .../include/__filesystem/filesystem_error.h | 1 - libcxx/include/__format/format_arg_store.h | 1 - libcxx/include/__functional/function.h | 7 +- libcxx/include/__hash_table | 10 +- libcxx/include/__locale | 2 +- libcxx/include/__memory/align.h | 25 --- .../include/__memory/builtin_new_allocator.h | 70 -------- libcxx/include/__memory/construct_at.h | 1 - libcxx/include/__memory/destruct_n.h | 64 ------- libcxx/include/__memory/ranges_construct_at.h | 1 - .../ranges_uninitialized_algorithms.h | 1 - .../include/__memory/raw_storage_iterator.h | 1 - libcxx/include/__memory/shared_ptr.h | 1 - libcxx/include/__memory/temp_value.h | 56 ------ .../__memory/uninitialized_algorithms.h | 1 - libcxx/include/__node_handle | 3 +- libcxx/include/__split_buffer | 6 +- libcxx/include/__tree | 7 +- libcxx/include/__type_traits/is_allocator.h | 36 ---- .../noexcept_move_assign_container.h | 34 ---- libcxx/include/algorithm | 7 +- libcxx/include/any | 12 +- libcxx/include/barrier | 11 +- libcxx/include/condition_variable | 3 +- libcxx/include/deque | 4 - libcxx/include/experimental/coroutine | 21 +-- libcxx/include/experimental/memory_resource | 16 +- libcxx/include/forward_list | 10 +- libcxx/include/fstream | 1 - libcxx/include/functional | 1 + libcxx/include/future | 2 +- libcxx/include/list | 9 +- libcxx/include/locale | 3 +- libcxx/include/map | 5 +- libcxx/include/memory | 162 ++++++++++++++++-- libcxx/include/module.modulemap.in | 6 - libcxx/include/mutex | 2 +- libcxx/include/ostream | 2 - libcxx/include/regex | 1 + libcxx/include/scoped_allocator | 25 +-- libcxx/include/set | 2 - libcxx/include/string | 8 +- libcxx/include/thread | 2 +- libcxx/include/unordered_map | 2 - libcxx/include/unordered_set | 2 - libcxx/include/vector | 5 +- .../compressed_pair/compressed_pair.pass.cpp | 1 - libcxx/test/libcxx/private_headers.verify.cpp | 6 - .../libcxx/utilities/any/allocator.pass.cpp | 1 - .../pointer.conversion/to_address.pass.cpp | 2 - .../function_type_default_deleter.fail.cpp | 1 - .../alg.sorting/alg.min.max/minmax.pass.cpp | 1 - .../alg.min.max/minmax_init_list.pass.cpp | 1 - .../alg.min.max/ranges.minmax.pass.cpp | 1 - .../alg.sorting/alg.sort/sort/sort.pass.cpp | 1 - .../push_front_exception_safety.pass.cpp | 1 - .../push_back_exception_safety.pass.cpp | 1 - .../push_front_exception_safety.pass.cpp | 1 - .../suspend_always.pass.cpp | 1 - .../suspend_never.pass.cpp | 1 - .../use_facet.pass.cpp | 1 - .../range.adaptors/range.zip/general.pass.cpp | 1 - .../string.capacity/max_size.pass.cpp | 1 - .../func.wrap.func.con/alloc_F.verify.cpp | 1 - .../alloc_function.verify.cpp | 1 - .../construct.pass.cpp | 1 - .../allocator.members/allocate.size.pass.cpp | 1 - .../allocator_pointers.pass.cpp | 1 - .../pointer.conversion/to_address.pass.cpp | 2 - .../pointer_to.pass.cpp | 1 - .../memory/pointer.traits/pointer_to.pass.cpp | 1 - .../temporary.buffer/overaligned.pass.cpp | 1 - .../temporary_buffer.pass.cpp | 1 - .../shared_ptr_rv.pass.cpp | 1 - .../unique_ptr_Y.pass.cpp | 1 - .../deduction.pass.cpp | 1 - .../shared_ptr_copy_move.fail.cpp | 1 - .../shared_ptr_pointer.pass.cpp | 1 - .../shared_ptr_rv.pass.cpp | 1 - .../unique_ptr.pass.cpp | 1 - .../allocate_shared_construct.pass.cpp | 4 +- .../weak_ptr.pass.cpp | 1 - .../weak_ptr.pass.cpp | 1 - .../bad_weak_ptr.pass.cpp | 1 - .../unique.ptr.observers/get_deleter.pass.cpp | 2 - .../tuple.tuple/tuple.cnstr/move.pass.cpp | 1 - .../tuple.elem/tuple.by.type.fail.cpp | 2 - libcxx/test/support/allocators.h | 1 - libcxx/test/support/container_test_types.h | 1 - libcxx/test/support/controlled_allocators.h | 2 - libcxx/test/support/min_allocator.h | 1 - 113 files changed, 183 insertions(+), 571 deletions(-) delete mode 100644 libcxx/include/__memory/align.h delete mode 100644 libcxx/include/__memory/builtin_new_allocator.h delete mode 100644 libcxx/include/__memory/destruct_n.h delete mode 100644 libcxx/include/__memory/temp_value.h delete mode 100644 libcxx/include/__type_traits/is_allocator.h delete mode 100644 libcxx/include/__type_traits/noexcept_move_assign_container.h diff --git a/libcxx/include/CMakeLists.txt b/libcxx/include/CMakeLists.txt index e72b42cd5a05..ee2f3b7c0b25 100644 --- a/libcxx/include/CMakeLists.txt +++ b/libcxx/include/CMakeLists.txt @@ -379,7 +379,6 @@ set(files __locale __mbstate_t.h __memory/addressof.h - __memory/align.h __memory/allocate_at_least.h __memory/allocation_guard.h __memory/allocator.h @@ -387,18 +386,15 @@ set(files __memory/allocator_traits.h __memory/assume_aligned.h __memory/auto_ptr.h - __memory/builtin_new_allocator.h __memory/compressed_pair.h __memory/concepts.h __memory/construct_at.h - __memory/destruct_n.h __memory/pointer_traits.h __memory/ranges_construct_at.h __memory/ranges_uninitialized_algorithms.h __memory/raw_storage_iterator.h __memory/shared_ptr.h __memory/swap_allocator.h - __memory/temp_value.h __memory/temporary_buffer.h __memory/uninitialized_algorithms.h __memory/unique_ptr.h @@ -541,7 +537,6 @@ set(files __type_traits/integral_constant.h __type_traits/is_abstract.h __type_traits/is_aggregate.h - __type_traits/is_allocator.h __type_traits/is_arithmetic.h __type_traits/is_array.h __type_traits/is_assignable.h @@ -624,7 +619,6 @@ set(files __type_traits/maybe_const.h __type_traits/nat.h __type_traits/negation.h - __type_traits/noexcept_move_assign_container.h __type_traits/promote.h __type_traits/rank.h __type_traits/remove_all_extents.h diff --git a/libcxx/include/__algorithm/inplace_merge.h b/libcxx/include/__algorithm/inplace_merge.h index dc5108aace56..01a871af1da6 100644 --- a/libcxx/include/__algorithm/inplace_merge.h +++ b/libcxx/include/__algorithm/inplace_merge.h @@ -23,11 +23,7 @@ #include <__iterator/distance.h> #include <__iterator/iterator_traits.h> #include <__iterator/reverse_iterator.h> -#include <__memory/destruct_n.h> -#include <__memory/temporary_buffer.h> -#include <__memory/unique_ptr.h> -#include <__utility/pair.h> -#include +#include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/ranges_copy.h b/libcxx/include/__algorithm/ranges_copy.h index 87a6a1e1361f..0d85310b157c 100644 --- a/libcxx/include/__algorithm/ranges_copy.h +++ b/libcxx/include/__algorithm/ranges_copy.h @@ -18,7 +18,6 @@ #include <__ranges/concepts.h> #include <__ranges/dangling.h> #include <__utility/move.h> -#include <__utility/pair.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/ranges_equal_range.h b/libcxx/include/__algorithm/ranges_equal_range.h index efe5b2f4193b..beeba182e05b 100644 --- a/libcxx/include/__algorithm/ranges_equal_range.h +++ b/libcxx/include/__algorithm/ranges_equal_range.h @@ -24,7 +24,6 @@ #include <__ranges/subrange.h> #include <__utility/forward.h> #include <__utility/move.h> -#include <__utility/pair.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/ranges_find_end.h b/libcxx/include/__algorithm/ranges_find_end.h index df891000b526..d9be148d443d 100644 --- a/libcxx/include/__algorithm/ranges_find_end.h +++ b/libcxx/include/__algorithm/ranges_find_end.h @@ -21,7 +21,6 @@ #include <__ranges/access.h> #include <__ranges/concepts.h> #include <__ranges/subrange.h> -#include <__utility/pair.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/ranges_minmax.h b/libcxx/include/__algorithm/ranges_minmax.h index 377fe9b4a26d..11471bec4346 100644 --- a/libcxx/include/__algorithm/ranges_minmax.h +++ b/libcxx/include/__algorithm/ranges_minmax.h @@ -23,7 +23,6 @@ #include <__ranges/concepts.h> #include <__utility/forward.h> #include <__utility/move.h> -#include <__utility/pair.h> #include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/__algorithm/ranges_next_permutation.h b/libcxx/include/__algorithm/ranges_next_permutation.h index 6c8e8e1529f2..5c9e75a60238 100644 --- a/libcxx/include/__algorithm/ranges_next_permutation.h +++ b/libcxx/include/__algorithm/ranges_next_permutation.h @@ -22,7 +22,6 @@ #include <__ranges/concepts.h> #include <__ranges/dangling.h> #include <__utility/move.h> -#include <__utility/pair.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/ranges_partial_sort.h b/libcxx/include/__algorithm/ranges_partial_sort.h index 3ea0a7fb44b5..b427e6b3b235 100644 --- a/libcxx/include/__algorithm/ranges_partial_sort.h +++ b/libcxx/include/__algorithm/ranges_partial_sort.h @@ -27,7 +27,6 @@ #include <__ranges/dangling.h> #include <__utility/forward.h> #include <__utility/move.h> -#include <__utility/pair.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/ranges_partial_sort_copy.h b/libcxx/include/__algorithm/ranges_partial_sort_copy.h index 212db555a8d3..9ad8980e6aee 100644 --- a/libcxx/include/__algorithm/ranges_partial_sort_copy.h +++ b/libcxx/include/__algorithm/ranges_partial_sort_copy.h @@ -24,7 +24,6 @@ #include <__ranges/concepts.h> #include <__ranges/dangling.h> #include <__utility/move.h> -#include <__utility/pair.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/ranges_partition.h b/libcxx/include/__algorithm/ranges_partition.h index eaa696d82f82..0d55210ea243 100644 --- a/libcxx/include/__algorithm/ranges_partition.h +++ b/libcxx/include/__algorithm/ranges_partition.h @@ -26,7 +26,6 @@ #include <__ranges/subrange.h> #include <__utility/forward.h> #include <__utility/move.h> -#include <__utility/pair.h> #include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/__algorithm/ranges_prev_permutation.h b/libcxx/include/__algorithm/ranges_prev_permutation.h index 6866d90cf484..133bc6a1be8b 100644 --- a/libcxx/include/__algorithm/ranges_prev_permutation.h +++ b/libcxx/include/__algorithm/ranges_prev_permutation.h @@ -22,7 +22,6 @@ #include <__ranges/concepts.h> #include <__ranges/dangling.h> #include <__utility/move.h> -#include <__utility/pair.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/ranges_search.h b/libcxx/include/__algorithm/ranges_search.h index 24bbe28ead4d..4ac43fa17fd8 100644 --- a/libcxx/include/__algorithm/ranges_search.h +++ b/libcxx/include/__algorithm/ranges_search.h @@ -22,7 +22,6 @@ #include <__ranges/concepts.h> #include <__ranges/size.h> #include <__ranges/subrange.h> -#include <__utility/pair.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/ranges_search_n.h b/libcxx/include/__algorithm/ranges_search_n.h index d2846f6c5c87..ce06729f457b 100644 --- a/libcxx/include/__algorithm/ranges_search_n.h +++ b/libcxx/include/__algorithm/ranges_search_n.h @@ -25,7 +25,6 @@ #include <__ranges/size.h> #include <__ranges/subrange.h> #include <__utility/move.h> -#include <__utility/pair.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/ranges_set_difference.h b/libcxx/include/__algorithm/ranges_set_difference.h index 398ccc975f22..8b972023b5b9 100644 --- a/libcxx/include/__algorithm/ranges_set_difference.h +++ b/libcxx/include/__algorithm/ranges_set_difference.h @@ -23,7 +23,6 @@ #include <__ranges/dangling.h> #include <__type_traits/decay.h> #include <__utility/move.h> -#include <__utility/pair.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/ranges_unique.h b/libcxx/include/__algorithm/ranges_unique.h index 45e54276ed55..96373460d5f6 100644 --- a/libcxx/include/__algorithm/ranges_unique.h +++ b/libcxx/include/__algorithm/ranges_unique.h @@ -26,7 +26,6 @@ #include <__ranges/subrange.h> #include <__utility/forward.h> #include <__utility/move.h> -#include <__utility/pair.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/ranges_unique_copy.h b/libcxx/include/__algorithm/ranges_unique_copy.h index 3ad47b06f5db..f7b2293d02a1 100644 --- a/libcxx/include/__algorithm/ranges_unique_copy.h +++ b/libcxx/include/__algorithm/ranges_unique_copy.h @@ -27,7 +27,6 @@ #include <__ranges/dangling.h> #include <__utility/forward.h> #include <__utility/move.h> -#include <__utility/pair.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/set_symmetric_difference.h b/libcxx/include/__algorithm/set_symmetric_difference.h index 3dd093c9e148..31e2e87efa94 100644 --- a/libcxx/include/__algorithm/set_symmetric_difference.h +++ b/libcxx/include/__algorithm/set_symmetric_difference.h @@ -15,7 +15,6 @@ #include <__config> #include <__iterator/iterator_traits.h> #include <__utility/move.h> -#include <__utility/pair.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/set_union.h b/libcxx/include/__algorithm/set_union.h index ce15623942b8..76cd30b76c73 100644 --- a/libcxx/include/__algorithm/set_union.h +++ b/libcxx/include/__algorithm/set_union.h @@ -15,7 +15,6 @@ #include <__config> #include <__iterator/iterator_traits.h> #include <__utility/move.h> -#include <__utility/pair.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/sort.h b/libcxx/include/__algorithm/sort.h index 4ff3379e7a0b..a7d9002d2cb1 100644 --- a/libcxx/include/__algorithm/sort.h +++ b/libcxx/include/__algorithm/sort.h @@ -22,9 +22,8 @@ #include <__functional/operations.h> #include <__functional/ranges_operations.h> #include <__iterator/iterator_traits.h> -#include <__memory/destruct_n.h> -#include <__memory/unique_ptr.h> #include +#include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/stable_partition.h b/libcxx/include/__algorithm/stable_partition.h index b85acc755207..a5c7e862203e 100644 --- a/libcxx/include/__algorithm/stable_partition.h +++ b/libcxx/include/__algorithm/stable_partition.h @@ -15,11 +15,7 @@ #include <__iterator/advance.h> #include <__iterator/distance.h> #include <__iterator/iterator_traits.h> -#include <__memory/destruct_n.h> -#include <__memory/temporary_buffer.h> -#include <__memory/unique_ptr.h> -#include <__utility/pair.h> -#include +#include #include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/__algorithm/stable_sort.h b/libcxx/include/__algorithm/stable_sort.h index 1b8aafbb1913..dfd428f8ec36 100644 --- a/libcxx/include/__algorithm/stable_sort.h +++ b/libcxx/include/__algorithm/stable_sort.h @@ -16,12 +16,8 @@ #include <__algorithm/sort.h> #include <__config> #include <__iterator/iterator_traits.h> -#include <__memory/destruct_n.h> -#include <__memory/temporary_buffer.h> -#include <__memory/unique_ptr.h> #include <__utility/move.h> -#include <__utility/pair.h> -#include +#include #include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/__bsd_locale_fallbacks.h b/libcxx/include/__bsd_locale_fallbacks.h index 9abd7e7e5ff4..3d5b78574480 100644 --- a/libcxx/include/__bsd_locale_fallbacks.h +++ b/libcxx/include/__bsd_locale_fallbacks.h @@ -13,6 +13,7 @@ #ifndef _LIBCPP___BSD_LOCALE_FALLBACKS_H #define _LIBCPP___BSD_LOCALE_FALLBACKS_H +#include #include #include diff --git a/libcxx/include/__filesystem/filesystem_error.h b/libcxx/include/__filesystem/filesystem_error.h index eb5c38ad12e1..e32b14c1b7bf 100644 --- a/libcxx/include/__filesystem/filesystem_error.h +++ b/libcxx/include/__filesystem/filesystem_error.h @@ -14,7 +14,6 @@ #include <__config> #include <__filesystem/path.h> #include <__memory/shared_ptr.h> -#include <__utility/forward.h> #include #include #include diff --git a/libcxx/include/__format/format_arg_store.h b/libcxx/include/__format/format_arg_store.h index 1820c0387c1b..26a5e71b93af 100644 --- a/libcxx/include/__format/format_arg_store.h +++ b/libcxx/include/__format/format_arg_store.h @@ -19,7 +19,6 @@ #include <__config> #include <__format/concepts.h> #include <__format/format_arg.h> -#include <__utility/forward.h> #include #include #include diff --git a/libcxx/include/__functional/function.h b/libcxx/include/__functional/function.h index 46f0c0422fb8..bcecd3e5623d 100644 --- a/libcxx/include/__functional/function.h +++ b/libcxx/include/__functional/function.h @@ -17,20 +17,15 @@ #include <__functional/unary_function.h> #include <__iterator/iterator_traits.h> #include <__memory/addressof.h> -#include <__memory/allocator.h> #include <__memory/allocator_traits.h> -#include <__memory/builtin_new_allocator.h> #include <__memory/compressed_pair.h> #include <__memory/shared_ptr.h> -#include <__memory/unique_ptr.h> #include <__utility/forward.h> #include <__utility/move.h> -#include <__utility/piecewise_construct.h> #include <__utility/swap.h> #include -#include +#include // TODO: replace with <__memory/__builtin_new_allocator.h> #include -#include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__hash_table b/libcxx/include/__hash_table index 5a72ccfeb544..51a8bf8267fa 100644 --- a/libcxx/include/__hash_table +++ b/libcxx/include/__hash_table @@ -18,20 +18,12 @@ #include <__debug> #include <__functional/hash.h> #include <__iterator/iterator_traits.h> -#include <__memory/addressof.h> -#include <__memory/allocator_traits.h> -#include <__memory/compressed_pair.h> -#include <__memory/pointer_traits.h> #include <__memory/swap_allocator.h> -#include <__memory/unique_ptr.h> #include <__type_traits/can_extract_key.h> -#include <__utility/forward.h> -#include <__utility/move.h> -#include <__utility/pair.h> #include <__utility/swap.h> #include -#include #include +#include #include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/__locale b/libcxx/include/__locale index 65160f3562fb..0bf8344ab5e1 100644 --- a/libcxx/include/__locale +++ b/libcxx/include/__locale @@ -12,10 +12,10 @@ #include <__availability> #include <__config> -#include <__memory/shared_ptr.h> #include #include #include +#include #include #include diff --git a/libcxx/include/__memory/align.h b/libcxx/include/__memory/align.h deleted file mode 100644 index c6792206b075..000000000000 --- a/libcxx/include/__memory/align.h +++ /dev/null @@ -1,25 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#ifndef _LIBCPP___MEMORY_ALIGN_H -#define _LIBCPP___MEMORY_ALIGN_H - -#include <__config> -#include - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -# pragma GCC system_header -#endif - -_LIBCPP_BEGIN_NAMESPACE_STD - -_LIBCPP_FUNC_VIS void* align(size_t __align, size_t __sz, void*& __ptr, size_t& __space); - -_LIBCPP_END_NAMESPACE_STD - -#endif // _LIBCPP___MEMORY_ALIGN_H diff --git a/libcxx/include/__memory/builtin_new_allocator.h b/libcxx/include/__memory/builtin_new_allocator.h deleted file mode 100644 index cd1a866ca615..000000000000 --- a/libcxx/include/__memory/builtin_new_allocator.h +++ /dev/null @@ -1,70 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#ifndef _LIBCPP___MEMORY_BUILTIN_NEW_ALLOCATOR_H -#define _LIBCPP___MEMORY_BUILTIN_NEW_ALLOCATOR_H - -#include <__config> -#include <__memory/unique_ptr.h> -#include -#include - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -# pragma GCC system_header -#endif - -_LIBCPP_BEGIN_NAMESPACE_STD - -// __builtin_new_allocator -- A non-templated helper for allocating and -// deallocating memory using __builtin_operator_new and -// __builtin_operator_delete. It should be used in preference to -// `std::allocator` to avoid additional instantiations. -struct __builtin_new_allocator { - struct __builtin_new_deleter { - typedef void* pointer_type; - - _LIBCPP_CONSTEXPR explicit __builtin_new_deleter(size_t __size, size_t __align) - : __size_(__size), __align_(__align) {} - - void operator()(void* __p) const _NOEXCEPT { - _VSTD::__libcpp_deallocate(__p, __size_, __align_); - } - - private: - size_t __size_; - size_t __align_; - }; - - typedef unique_ptr __holder_t; - - static __holder_t __allocate_bytes(size_t __s, size_t __align) { - return __holder_t(_VSTD::__libcpp_allocate(__s, __align), - __builtin_new_deleter(__s, __align)); - } - - static void __deallocate_bytes(void* __p, size_t __s, - size_t __align) _NOEXCEPT { - _VSTD::__libcpp_deallocate(__p, __s, __align); - } - - template - _LIBCPP_NODEBUG _LIBCPP_ALWAYS_INLINE - static __holder_t __allocate_type(size_t __n) { - return __allocate_bytes(__n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp)); - } - - template - _LIBCPP_NODEBUG _LIBCPP_ALWAYS_INLINE - static void __deallocate_type(void* __p, size_t __n) _NOEXCEPT { - __deallocate_bytes(__p, __n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp)); - } -}; - -_LIBCPP_END_NAMESPACE_STD - -#endif // _LIBCPP___MEMORY_BUILTIN_NEW_ALLOCATOR_H diff --git a/libcxx/include/__memory/construct_at.h b/libcxx/include/__memory/construct_at.h index a11a6ebe44a5..709388303a35 100644 --- a/libcxx/include/__memory/construct_at.h +++ b/libcxx/include/__memory/construct_at.h @@ -17,7 +17,6 @@ #include <__memory/voidify.h> #include <__utility/forward.h> #include <__utility/move.h> -#include #include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/__memory/destruct_n.h b/libcxx/include/__memory/destruct_n.h deleted file mode 100644 index 2cfb2e4c88ce..000000000000 --- a/libcxx/include/__memory/destruct_n.h +++ /dev/null @@ -1,64 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#ifndef _LIBCPP___MEMORY_DESTRUCT_N_H -#define _LIBCPP___MEMORY_DESTRUCT_N_H - -#include <__config> -#include <__type_traits/integral_constant.h> -#include <__type_traits/is_trivially_destructible.h> -#include - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -# pragma GCC system_header -#endif - -_LIBCPP_BEGIN_NAMESPACE_STD - -struct __destruct_n -{ -private: - size_t __size_; - - template - _LIBCPP_INLINE_VISIBILITY void __process(_Tp* __p, false_type) _NOEXCEPT - {for (size_t __i = 0; __i < __size_; ++__i, ++__p) __p->~_Tp();} - - template - _LIBCPP_INLINE_VISIBILITY void __process(_Tp*, true_type) _NOEXCEPT - {} - - _LIBCPP_INLINE_VISIBILITY void __incr(false_type) _NOEXCEPT - {++__size_;} - _LIBCPP_INLINE_VISIBILITY void __incr(true_type) _NOEXCEPT - {} - - _LIBCPP_INLINE_VISIBILITY void __set(size_t __s, false_type) _NOEXCEPT - {__size_ = __s;} - _LIBCPP_INLINE_VISIBILITY void __set(size_t, true_type) _NOEXCEPT - {} -public: - _LIBCPP_INLINE_VISIBILITY explicit __destruct_n(size_t __s) _NOEXCEPT - : __size_(__s) {} - - template - _LIBCPP_INLINE_VISIBILITY void __incr() _NOEXCEPT - {__incr(integral_constant::value>());} - - template - _LIBCPP_INLINE_VISIBILITY void __set(size_t __s, _Tp*) _NOEXCEPT - {__set(__s, integral_constant::value>());} - - template - _LIBCPP_INLINE_VISIBILITY void operator()(_Tp* __p) _NOEXCEPT - {__process(__p, integral_constant::value>());} -}; - -_LIBCPP_END_NAMESPACE_STD - -#endif // _LIBCPP___MEMORY_DESTRUCT_N_H diff --git a/libcxx/include/__memory/ranges_construct_at.h b/libcxx/include/__memory/ranges_construct_at.h index 19cd0ff7e894..3fee8a45cef8 100644 --- a/libcxx/include/__memory/ranges_construct_at.h +++ b/libcxx/include/__memory/ranges_construct_at.h @@ -22,7 +22,6 @@ #include <__utility/declval.h> #include <__utility/forward.h> #include <__utility/move.h> -#include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__memory/ranges_uninitialized_algorithms.h b/libcxx/include/__memory/ranges_uninitialized_algorithms.h index 7d2ac3af035d..57662a8703ac 100644 --- a/libcxx/include/__memory/ranges_uninitialized_algorithms.h +++ b/libcxx/include/__memory/ranges_uninitialized_algorithms.h @@ -24,7 +24,6 @@ #include <__ranges/concepts.h> #include <__ranges/dangling.h> #include <__utility/move.h> -#include #include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/__memory/raw_storage_iterator.h b/libcxx/include/__memory/raw_storage_iterator.h index 11971de0fa47..9b6594b8883e 100644 --- a/libcxx/include/__memory/raw_storage_iterator.h +++ b/libcxx/include/__memory/raw_storage_iterator.h @@ -16,7 +16,6 @@ #include <__memory/addressof.h> #include <__utility/move.h> #include -#include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__memory/shared_ptr.h b/libcxx/include/__memory/shared_ptr.h index b350bcdac444..53113c0d61fd 100644 --- a/libcxx/include/__memory/shared_ptr.h +++ b/libcxx/include/__memory/shared_ptr.h @@ -34,7 +34,6 @@ #include #include // abort #include -#include #include #include #include diff --git a/libcxx/include/__memory/temp_value.h b/libcxx/include/__memory/temp_value.h deleted file mode 100644 index 164688b15f81..000000000000 --- a/libcxx/include/__memory/temp_value.h +++ /dev/null @@ -1,56 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#ifndef _LIBCPP___MEMORY_TEMP_VALUE_H -#define _LIBCPP___MEMORY_TEMP_VALUE_H - -#include <__config> -#include <__memory/addressof.h> -#include <__memory/allocator_traits.h> -#include <__type_traits/aligned_storage.h> -#include <__utility/forward.h> - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -# pragma GCC system_header -#endif - -_LIBCPP_BEGIN_NAMESPACE_STD - -template -struct __temp_value { - typedef allocator_traits<_Alloc> _Traits; - -#ifdef _LIBCPP_CXX03_LANG - typename aligned_storage::type __v; -#else - union { _Tp __v; }; -#endif - _Alloc &__a; - - _LIBCPP_CONSTEXPR_SINCE_CXX20 _Tp *__addr() { -#ifdef _LIBCPP_CXX03_LANG - return reinterpret_cast<_Tp*>(std::addressof(__v)); -#else - return std::addressof(__v); -#endif - } - - _LIBCPP_CONSTEXPR_SINCE_CXX20 _Tp & get() { return *__addr(); } - - template - _LIBCPP_NO_CFI - _LIBCPP_CONSTEXPR_SINCE_CXX20 __temp_value(_Alloc &__alloc, _Args&& ... __args) : __a(__alloc) { - _Traits::construct(__a, __addr(), std::forward<_Args>(__args)...); - } - - _LIBCPP_CONSTEXPR_SINCE_CXX20 ~__temp_value() { _Traits::destroy(__a, __addr()); } -}; - -_LIBCPP_END_NAMESPACE_STD - -#endif // _LIBCPP___MEMORY_TEMP_VALUE_H diff --git a/libcxx/include/__memory/uninitialized_algorithms.h b/libcxx/include/__memory/uninitialized_algorithms.h index 6a7b7087ab7f..dc58fb31942b 100644 --- a/libcxx/include/__memory/uninitialized_algorithms.h +++ b/libcxx/include/__memory/uninitialized_algorithms.h @@ -24,7 +24,6 @@ #include <__utility/move.h> #include <__utility/pair.h> #include <__utility/transaction.h> -#include #include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/__node_handle b/libcxx/include/__node_handle index 8cb6d625a85a..71309be62f3c 100644 --- a/libcxx/include/__node_handle +++ b/libcxx/include/__node_handle @@ -60,8 +60,7 @@ public: #include <__assert> #include <__config> -#include <__memory/allocator_traits.h> -#include <__memory/pointer_traits.h> +#include #include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/__split_buffer b/libcxx/include/__split_buffer index 2ffa0086d1bd..d58baa13e86c 100644 --- a/libcxx/include/__split_buffer +++ b/libcxx/include/__split_buffer @@ -17,15 +17,11 @@ #include <__iterator/distance.h> #include <__iterator/iterator_traits.h> #include <__iterator/move_iterator.h> -#include <__memory/allocate_at_least.h> #include <__memory/allocator.h> -#include <__memory/allocator_traits.h> #include <__memory/compressed_pair.h> -#include <__memory/pointer_traits.h> -#include <__memory/shared_ptr.h> #include <__memory/swap_allocator.h> #include <__utility/forward.h> -#include <__utility/move.h> +#include #include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/__tree b/libcxx/include/__tree index b4e9569ab0fb..867a8561dcd9 100644 --- a/libcxx/include/__tree +++ b/libcxx/include/__tree @@ -17,17 +17,12 @@ #include <__iterator/distance.h> #include <__iterator/iterator_traits.h> #include <__iterator/next.h> -#include <__memory/allocator_traits.h> -#include <__memory/compressed_pair.h> -#include <__memory/pointer_traits.h> #include <__memory/swap_allocator.h> -#include <__memory/unique_ptr.h> #include <__type_traits/can_extract_key.h> #include <__utility/forward.h> -#include <__utility/move.h> -#include <__utility/pair.h> #include <__utility/swap.h> #include +#include #include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/__type_traits/is_allocator.h b/libcxx/include/__type_traits/is_allocator.h deleted file mode 100644 index f4d70e9dd71e..000000000000 --- a/libcxx/include/__type_traits/is_allocator.h +++ /dev/null @@ -1,36 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#ifndef _LIBCPP___TYPE_IS_ALLOCATOR_H -#define _LIBCPP___TYPE_IS_ALLOCATOR_H - -#include <__config> -#include <__type_traits/integral_constant.h> -#include <__type_traits/void_t.h> -#include <__utility/declval.h> -#include - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -# pragma GCC system_header -#endif - -_LIBCPP_BEGIN_NAMESPACE_STD - -template -struct __is_allocator : false_type {}; - -template -struct __is_allocator<_Alloc, - typename __void_t::type, - typename __void_t().allocate(size_t(0)))>::type - > - : true_type {}; - -_LIBCPP_END_NAMESPACE_STD - -#endif // _LIBCPP___TYPE_IS_ALLOCATOR_H diff --git a/libcxx/include/__type_traits/noexcept_move_assign_container.h b/libcxx/include/__type_traits/noexcept_move_assign_container.h deleted file mode 100644 index f8edd76fc8c6..000000000000 --- a/libcxx/include/__type_traits/noexcept_move_assign_container.h +++ /dev/null @@ -1,34 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#ifndef _LIBCPP___TYPE_TRAITS_NOEXCEPT_MOVE_ASSIGN_CONTAINER_H -#define _LIBCPP___TYPE_TRAITS_NOEXCEPT_MOVE_ASSIGN_CONTAINER_H - -#include <__config> -#include <__memory/allocator_traits.h> -#include <__type_traits/integral_constant.h> - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -# pragma GCC system_header -#endif - -_LIBCPP_BEGIN_NAMESPACE_STD - -template > -struct __noexcept_move_assign_container : public integral_constant 14 - || _Traits::is_always_equal::value -#else - && is_nothrow_move_assignable<_Alloc>::value -#endif - > {}; - -_LIBCPP_END_NAMESPACE_STD - -#endif // _LIBCPP___TYPE_TRAITS_NOEXCEPT_MOVE_ASSIGN_CONTAINER_H diff --git a/libcxx/include/algorithm b/libcxx/include/algorithm index 0dd80029a43f..0b54fb9a8a94 100644 --- a/libcxx/include/algorithm +++ b/libcxx/include/algorithm @@ -1709,6 +1709,7 @@ template #include <__debug> #include #include +#include #include #include @@ -1903,11 +1904,7 @@ template #endif #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20 -# include -# include # include -# include -# include # include #endif @@ -1919,7 +1916,7 @@ template #endif #if defined(_LIBCPP_HAS_PARALLEL_ALGORITHMS) && _LIBCPP_STD_VER >= 17 -# include <__pstl_algorithm> +# include <__pstl_algorithm> #endif #endif // _LIBCPP_ALGORITHM diff --git a/libcxx/include/any b/libcxx/include/any index d8cb27baffa1..a70c6f11f37e 100644 --- a/libcxx/include/any +++ b/libcxx/include/any @@ -83,16 +83,13 @@ namespace std { #include <__assert> // all public C++ headers provide the assertion handler #include <__availability> #include <__config> -#include <__memory/allocator.h> -#include <__memory/allocator_traits.h> -#include <__memory/shared_ptr.h> -#include <__memory/unique_ptr.h> #include <__utility/forward.h> #include <__utility/in_place.h> #include <__utility/move.h> #include <__utility/unreachable.h> #include #include +#include #include #include #include @@ -101,13 +98,6 @@ namespace std { # include // IGNORE-CYCLE due to #endif -#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20 -# include -# include -# include -# include -#endif - #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header #endif diff --git a/libcxx/include/barrier b/libcxx/include/barrier index dce68b99b8b0..d5104b5803d2 100644 --- a/libcxx/include/barrier +++ b/libcxx/include/barrier @@ -48,19 +48,10 @@ namespace std #include <__assert> // all public C++ headers provide the assertion handler #include <__availability> #include <__config> -#include <__memory/unique_ptr.h> #include <__thread/timed_backoff_policy.h> -#include <__utility/move.h> #include #include - -#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES -# include -# include -# include -# include -# include -#endif +#include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/condition_variable b/libcxx/include/condition_variable index 038f0ba2257d..92088f3e1b22 100644 --- a/libcxx/include/condition_variable +++ b/libcxx/include/condition_variable @@ -108,9 +108,8 @@ public: #include <__assert> // all public C++ headers provide the assertion handler #include <__config> -#include <__memory/shared_ptr.h> -#include <__memory/unique_ptr.h> #include <__mutex_base> +#include #include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/deque b/libcxx/include/deque index bc9f73f4d7a9..c38b544444ed 100644 --- a/libcxx/include/deque +++ b/libcxx/include/deque @@ -176,11 +176,7 @@ template #include <__iterator/next.h> #include <__iterator/prev.h> #include <__iterator/reverse_iterator.h> -#include <__memory/pointer_traits.h> -#include <__memory/temp_value.h> -#include <__memory/unique_ptr.h> #include <__split_buffer> -#include <__type_traits/is_allocator.h> #include <__utility/forward.h> #include <__utility/move.h> #include <__utility/swap.h> diff --git a/libcxx/include/experimental/coroutine b/libcxx/include/experimental/coroutine index 0447fc4b5d61..e32aedcff4d7 100644 --- a/libcxx/include/experimental/coroutine +++ b/libcxx/include/experimental/coroutine @@ -50,29 +50,10 @@ template struct hash>; #include <__functional/operations.h> #include #include +#include // for hash #include #include -#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -#endif - #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header #endif diff --git a/libcxx/include/experimental/memory_resource b/libcxx/include/experimental/memory_resource index 3464b85777c0..510e282f1f23 100644 --- a/libcxx/include/experimental/memory_resource +++ b/libcxx/include/experimental/memory_resource @@ -65,7 +65,6 @@ namespace pmr { */ #include <__assert> // all public C++ headers provide the assertion handler -#include <__memory/allocator_traits.h> #include <__tuple> #include <__utility/move.h> #include @@ -73,24 +72,11 @@ namespace pmr { #include #include #include +#include #include #include -#include #include -#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -#endif - #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header #endif diff --git a/libcxx/include/forward_list b/libcxx/include/forward_list index c6d0c8c0f045..c9fc20b30f1c 100644 --- a/libcxx/include/forward_list +++ b/libcxx/include/forward_list @@ -188,18 +188,10 @@ template #include <__iterator/iterator_traits.h> #include <__iterator/move_iterator.h> #include <__iterator/next.h> -#include <__memory/addressof.h> -#include <__memory/allocator.h> -#include <__memory/allocator_traits.h> -#include <__memory/compressed_pair.h> -#include <__memory/pointer_traits.h> -#include <__memory/shared_ptr.h> #include <__memory/swap_allocator.h> -#include <__memory/unique_ptr.h> -#include <__type_traits/is_allocator.h> #include <__utility/forward.h> -#include <__utility/move.h> #include +#include #include #include diff --git a/libcxx/include/fstream b/libcxx/include/fstream index 95f345fae4d7..a6bd4a83b680 100644 --- a/libcxx/include/fstream +++ b/libcxx/include/fstream @@ -192,7 +192,6 @@ typedef basic_fstream wfstream; #include #include #include -#include #include #if !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY) diff --git a/libcxx/include/functional b/libcxx/include/functional index 45572433b0ef..c969d7f70e3f 100644 --- a/libcxx/include/functional +++ b/libcxx/include/functional @@ -533,6 +533,7 @@ POLICY: For non-variadic implementations, the number of arguments is limited #include <__utility/forward.h> #include #include +#include #include #include #include diff --git a/libcxx/include/future b/libcxx/include/future index a2bc0b68b25a..643600a75ba0 100644 --- a/libcxx/include/future +++ b/libcxx/include/future @@ -372,8 +372,8 @@ template struct uses_allocator, Alloc>; #include <__utility/forward.h> #include <__utility/move.h> #include +#include #include -#include #include #include #include diff --git a/libcxx/include/list b/libcxx/include/list index 7f04b44f1f34..668875bef717 100644 --- a/libcxx/include/list +++ b/libcxx/include/list @@ -194,19 +194,12 @@ template #include <__iterator/next.h> #include <__iterator/prev.h> #include <__iterator/reverse_iterator.h> -#include <__memory/addressof.h> -#include <__memory/allocator.h> -#include <__memory/allocator_traits.h> -#include <__memory/compressed_pair.h> -#include <__memory/pointer_traits.h> -#include <__memory/shared_ptr.h> #include <__memory/swap_allocator.h> -#include <__memory/unique_ptr.h> -#include <__type_traits/is_allocator.h> #include <__utility/forward.h> #include <__utility/move.h> #include <__utility/swap.h> #include +#include #include #include diff --git a/libcxx/include/locale b/libcxx/include/locale index 5c6a24c0d121..c7da7836384e 100644 --- a/libcxx/include/locale +++ b/libcxx/include/locale @@ -201,14 +201,13 @@ template class messages_byname; #include <__iterator/istreambuf_iterator.h> #include <__iterator/ostreambuf_iterator.h> #include <__locale> -#include <__memory/unique_ptr.h> #include // TODO: Remove this include #include #include #include #include #include -#include +#include #include #include diff --git a/libcxx/include/map b/libcxx/include/map index eb49ac537e75..1e619b9132eb 100644 --- a/libcxx/include/map +++ b/libcxx/include/map @@ -538,14 +538,11 @@ erase_if(multimap& c, Predicate pred); // C++20 #include <__iterator/erase_if_container.h> #include <__iterator/iterator_traits.h> #include <__iterator/reverse_iterator.h> -#include <__memory/allocator.h> #include <__node_handle> #include <__tree> -#include <__type_traits/is_allocator.h> #include <__utility/forward.h> -#include <__utility/piecewise_construct.h> #include <__utility/swap.h> -#include +#include #include #include diff --git a/libcxx/include/memory b/libcxx/include/memory index d606e3e779b1..47134a052c0a 100644 --- a/libcxx/include/memory +++ b/libcxx/include/memory @@ -852,10 +852,11 @@ template */ +#include <__algorithm/copy.h> +#include <__algorithm/move.h> #include <__assert> // all public C++ headers provide the assertion handler #include <__config> #include <__memory/addressof.h> -#include <__memory/align.h> #include <__memory/allocate_at_least.h> #include <__memory/allocation_guard.h> #include <__memory/allocator.h> @@ -875,19 +876,19 @@ template #include <__memory/uninitialized_algorithms.h> #include <__memory/unique_ptr.h> #include <__memory/uses_allocator.h> +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20 -# include -# include -# include -# include # include -# include -# include -# include -# include -# include # include #endif @@ -898,6 +899,147 @@ template # pragma GCC system_header #endif +_LIBCPP_BEGIN_NAMESPACE_STD + +struct __destruct_n +{ +private: + size_t __size_; + + template + _LIBCPP_INLINE_VISIBILITY void __process(_Tp* __p, false_type) _NOEXCEPT + {for (size_t __i = 0; __i < __size_; ++__i, ++__p) __p->~_Tp();} + + template + _LIBCPP_INLINE_VISIBILITY void __process(_Tp*, true_type) _NOEXCEPT + {} + + _LIBCPP_INLINE_VISIBILITY void __incr(false_type) _NOEXCEPT + {++__size_;} + _LIBCPP_INLINE_VISIBILITY void __incr(true_type) _NOEXCEPT + {} + + _LIBCPP_INLINE_VISIBILITY void __set(size_t __s, false_type) _NOEXCEPT + {__size_ = __s;} + _LIBCPP_INLINE_VISIBILITY void __set(size_t, true_type) _NOEXCEPT + {} +public: + _LIBCPP_INLINE_VISIBILITY explicit __destruct_n(size_t __s) _NOEXCEPT + : __size_(__s) {} + + template + _LIBCPP_INLINE_VISIBILITY void __incr() _NOEXCEPT + {__incr(integral_constant::value>());} + + template + _LIBCPP_INLINE_VISIBILITY void __set(size_t __s, _Tp*) _NOEXCEPT + {__set(__s, integral_constant::value>());} + + template + _LIBCPP_INLINE_VISIBILITY void operator()(_Tp* __p) _NOEXCEPT + {__process(__p, integral_constant::value>());} +}; + +_LIBCPP_FUNC_VIS void* align(size_t __align, size_t __sz, void*& __ptr, size_t& __space); + +template > +struct __noexcept_move_assign_container : public integral_constant 14 + || _Traits::is_always_equal::value +#else + && is_nothrow_move_assignable<_Alloc>::value +#endif + > {}; + + +template +struct __temp_value { + typedef allocator_traits<_Alloc> _Traits; + +#ifdef _LIBCPP_CXX03_LANG + typename aligned_storage::type __v; +#else + union { _Tp __v; }; +#endif + _Alloc &__a; + + _LIBCPP_CONSTEXPR_SINCE_CXX20 _Tp *__addr() { +#ifdef _LIBCPP_CXX03_LANG + return reinterpret_cast<_Tp*>(std::addressof(__v)); +#else + return std::addressof(__v); +#endif + } + + _LIBCPP_CONSTEXPR_SINCE_CXX20 _Tp & get() { return *__addr(); } + + template + _LIBCPP_NO_CFI + _LIBCPP_CONSTEXPR_SINCE_CXX20 __temp_value(_Alloc &__alloc, _Args&& ... __args) : __a(__alloc) { + _Traits::construct(__a, __addr(), std::forward<_Args>(__args)...); + } + + _LIBCPP_CONSTEXPR_SINCE_CXX20 ~__temp_value() { _Traits::destroy(__a, __addr()); } +}; + +template +struct __is_allocator : false_type {}; + +template +struct __is_allocator<_Alloc, + typename __void_t::type, + typename __void_t().allocate(size_t(0)))>::type + > + : true_type {}; + +// __builtin_new_allocator -- A non-templated helper for allocating and +// deallocating memory using __builtin_operator_new and +// __builtin_operator_delete. It should be used in preference to +// `std::allocator` to avoid additional instantiations. +struct __builtin_new_allocator { + struct __builtin_new_deleter { + typedef void* pointer_type; + + _LIBCPP_CONSTEXPR explicit __builtin_new_deleter(size_t __size, size_t __align) + : __size_(__size), __align_(__align) {} + + void operator()(void* __p) const _NOEXCEPT { + _VSTD::__libcpp_deallocate(__p, __size_, __align_); + } + + private: + size_t __size_; + size_t __align_; + }; + + typedef unique_ptr __holder_t; + + static __holder_t __allocate_bytes(size_t __s, size_t __align) { + return __holder_t(_VSTD::__libcpp_allocate(__s, __align), + __builtin_new_deleter(__s, __align)); + } + + static void __deallocate_bytes(void* __p, size_t __s, + size_t __align) _NOEXCEPT { + _VSTD::__libcpp_deallocate(__p, __s, __align); + } + + template + _LIBCPP_NODEBUG _LIBCPP_ALWAYS_INLINE + static __holder_t __allocate_type(size_t __n) { + return __allocate_bytes(__n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp)); + } + + template + _LIBCPP_NODEBUG _LIBCPP_ALWAYS_INLINE + static void __deallocate_type(void* __p, size_t __n) _NOEXCEPT { + __deallocate_bytes(__p, __n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp)); + } +}; + +_LIBCPP_END_NAMESPACE_STD + #if defined(_LIBCPP_HAS_PARALLEL_ALGORITHMS) && _LIBCPP_STD_VER >= 17 # include <__pstl_memory> #endif diff --git a/libcxx/include/module.modulemap.in b/libcxx/include/module.modulemap.in index e9f8cdc82f55..f0ec768fbed4 100644 --- a/libcxx/include/module.modulemap.in +++ b/libcxx/include/module.modulemap.in @@ -834,7 +834,6 @@ module std [system] { module __memory { module addressof { private header "__memory/addressof.h" } - module align { private header "__memory/align.h" } module allocate_at_least { private header "__memory/allocate_at_least.h" } module allocation_guard { private header "__memory/allocation_guard.h" } module allocator { private header "__memory/allocator.h" } @@ -842,18 +841,15 @@ module std [system] { module allocator_traits { private header "__memory/allocator_traits.h" } module assume_aligned { private header "__memory/assume_aligned.h" } module auto_ptr { private header "__memory/auto_ptr.h" } - module builtin_new_allocator { private header "__memory/builtin_new_allocator.h" } module compressed_pair { private header "__memory/compressed_pair.h" } module concepts { private header "__memory/concepts.h" } module construct_at { private header "__memory/construct_at.h" } - module destruct_n { private header "__memory/destruct_n.h" } module pointer_traits { private header "__memory/pointer_traits.h" } module ranges_construct_at { private header "__memory/ranges_construct_at.h" } module ranges_uninitialized_algorithms { private header "__memory/ranges_uninitialized_algorithms.h" } module raw_storage_iterator { private header "__memory/raw_storage_iterator.h" } module shared_ptr { private header "__memory/shared_ptr.h" } module swap_allocator { private header "__memory/swap_allocator.h" } - module temp_value { private header "__memory/temp_value.h" } module temporary_buffer { private header "__memory/temporary_buffer.h" } module uninitialized_algorithms { private header "__memory/uninitialized_algorithms.h" } module unique_ptr { private header "__memory/unique_ptr.h" } @@ -1133,7 +1129,6 @@ module std [system] { module integral_constant { private header "__type_traits/integral_constant.h" } module is_abstract { private header "__type_traits/is_abstract.h" } module is_aggregate { private header "__type_traits/is_aggregate.h" } - module is_allocator { private header "__type_traits/is_allocator.h" } module is_arithmetic { private header "__type_traits/is_arithmetic.h" } module is_array { private header "__type_traits/is_array.h" } module is_assignable { private header "__type_traits/is_assignable.h" } @@ -1216,7 +1211,6 @@ module std [system] { module maybe_const { private header "__type_traits/maybe_const.h" } module nat { private header "__type_traits/nat.h" } module negation { private header "__type_traits/negation.h" } - module noexcept_move_assign_container { private header "__type_traits/noexcept_move_assign_container.h" } module promote { private header "__type_traits/promote.h" } module rank { private header "__type_traits/rank.h" } module remove_all_extents { private header "__type_traits/remove_all_extents.h" } diff --git a/libcxx/include/mutex b/libcxx/include/mutex index ca840411fa0c..a8334ba34180 100644 --- a/libcxx/include/mutex +++ b/libcxx/include/mutex @@ -188,11 +188,11 @@ template #include <__assert> // all public C++ headers provide the assertion handler #include <__config> -#include <__memory/shared_ptr.h> #include <__mutex_base> #include <__threading_support> #include <__utility/forward.h> #include +#include #ifndef _LIBCPP_CXX03_LANG # include #endif diff --git a/libcxx/include/ostream b/libcxx/include/ostream index 986faf7b10aa..216e58317db4 100644 --- a/libcxx/include/ostream +++ b/libcxx/include/ostream @@ -165,11 +165,9 @@ basic_ostream& operator<<(basic_ostream&, cons #include <__assert> // all public C++ headers provide the assertion handler #include <__config> -#include <__memory/unique_ptr.h> #include #include #include -#include #include #include diff --git a/libcxx/include/regex b/libcxx/include/regex index 6fcc63885e88..38998924c6b2 100644 --- a/libcxx/include/regex +++ b/libcxx/include/regex @@ -772,6 +772,7 @@ typedef regex_token_iterator wsregex_token_iterator; #include <__utility/move.h> #include <__utility/swap.h> #include +#include #include #include #include diff --git a/libcxx/include/scoped_allocator b/libcxx/include/scoped_allocator index ac9a46816cdf..cf82affba78f 100644 --- a/libcxx/include/scoped_allocator +++ b/libcxx/include/scoped_allocator @@ -111,33 +111,10 @@ template #include <__assert> // all public C++ headers provide the assertion handler #include <__config> -#include <__memory/allocator_traits.h> -#include <__type_traits/common_type.h> -#include <__type_traits/enable_if.h> -#include <__type_traits/integral_constant.h> -#include <__type_traits/is_constructible.h> -#include <__type_traits/remove_reference.h> #include <__utility/forward.h> -#include <__utility/move.h> -#include <__utility/pair.h> -#include <__utility/piecewise_construct.h> -#include +#include #include -#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -#endif - #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header #endif diff --git a/libcxx/include/set b/libcxx/include/set index 1bc93c5862d7..f97ae2ab099e 100644 --- a/libcxx/include/set +++ b/libcxx/include/set @@ -480,10 +480,8 @@ erase_if(multiset& c, Predicate pred); // C++20 #include <__iterator/erase_if_container.h> #include <__iterator/iterator_traits.h> #include <__iterator/reverse_iterator.h> -#include <__memory/allocator.h> #include <__node_handle> #include <__tree> -#include <__type_traits/is_allocator.h> #include <__utility/forward.h> #include diff --git a/libcxx/include/string b/libcxx/include/string index d89eccb7cea9..6010177ab584 100644 --- a/libcxx/include/string +++ b/libcxx/include/string @@ -545,16 +545,9 @@ basic_string operator "" s( const char32_t *str, size_t len ); #include <__iterator/reverse_iterator.h> #include <__iterator/wrap_iter.h> #include <__memory/allocate_at_least.h> -#include <__memory/allocator.h> -#include <__memory/allocator_traits.h> -#include <__memory/compressed_pair.h> -#include <__memory/construct_at.h> -#include <__memory/pointer_traits.h> #include <__memory/swap_allocator.h> #include <__string/char_traits.h> #include <__string/extern_template_lists.h> -#include <__type_traits/is_allocator.h> -#include <__type_traits/noexcept_move_assign_container.h> #include <__utility/auto_cast.h> #include <__utility/move.h> #include <__utility/swap.h> @@ -566,6 +559,7 @@ basic_string operator "" s( const char32_t *str, size_t len ); #include #include #include +#include #include #include #include diff --git a/libcxx/include/thread b/libcxx/include/thread index c54b10325756..85a845c2b223 100644 --- a/libcxx/include/thread +++ b/libcxx/include/thread @@ -86,7 +86,6 @@ void sleep_for(const chrono::duration& rel_time); #include <__assert> // all public C++ headers provide the assertion handler #include <__config> #include <__functional/hash.h> -#include <__memory/unique_ptr.h> #include <__mutex_base> #include <__thread/poll_with_backoff.h> #include <__thread/timed_backoff_policy.h> @@ -94,6 +93,7 @@ void sleep_for(const chrono::duration& rel_time); #include <__utility/forward.h> #include #include +#include #include #include #include diff --git a/libcxx/include/unordered_map b/libcxx/include/unordered_map index 1ea6f670fb6f..e0d659a0615e 100644 --- a/libcxx/include/unordered_map +++ b/libcxx/include/unordered_map @@ -525,9 +525,7 @@ template #include <__iterator/erase_if_container.h> #include <__iterator/iterator_traits.h> #include <__memory/addressof.h> -#include <__memory/allocator.h> #include <__node_handle> -#include <__type_traits/is_allocator.h> #include <__utility/forward.h> #include #include diff --git a/libcxx/include/unordered_set b/libcxx/include/unordered_set index 9faf7731379d..e29488525301 100644 --- a/libcxx/include/unordered_set +++ b/libcxx/include/unordered_set @@ -470,9 +470,7 @@ template #include <__iterator/erase_if_container.h> #include <__iterator/iterator_traits.h> #include <__memory/addressof.h> -#include <__memory/allocator.h> #include <__node_handle> -#include <__type_traits/is_allocator.h> #include <__utility/forward.h> #include diff --git a/libcxx/include/vector b/libcxx/include/vector index d4fb0c3e3801..0786a516b3b8 100644 --- a/libcxx/include/vector +++ b/libcxx/include/vector @@ -293,11 +293,7 @@ erase_if(vector& c, Predicate pred); // C++20 #include <__memory/allocate_at_least.h> #include <__memory/pointer_traits.h> #include <__memory/swap_allocator.h> -#include <__memory/temp_value.h> -#include <__memory/uninitialized_algorithms.h> #include <__split_buffer> -#include <__type_traits/is_allocator.h> -#include <__type_traits/noexcept_move_assign_container.h> #include <__utility/forward.h> #include <__utility/move.h> #include <__utility/swap.h> @@ -306,6 +302,7 @@ erase_if(vector& c, Predicate pred); // C++20 #include #include // for forward declaration of vector #include +#include #include #include #include diff --git a/libcxx/test/libcxx/memory/compressed_pair/compressed_pair.pass.cpp b/libcxx/test/libcxx/memory/compressed_pair/compressed_pair.pass.cpp index 8bc890a208d0..53acd8face82 100644 --- a/libcxx/test/libcxx/memory/compressed_pair/compressed_pair.pass.cpp +++ b/libcxx/test/libcxx/memory/compressed_pair/compressed_pair.pass.cpp @@ -8,7 +8,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/libcxx/private_headers.verify.cpp b/libcxx/test/libcxx/private_headers.verify.cpp index c822992e38c0..d69f8f27d427 100644 --- a/libcxx/test/libcxx/private_headers.verify.cpp +++ b/libcxx/test/libcxx/private_headers.verify.cpp @@ -410,7 +410,6 @@ END-SCRIPT #include <__locale> // expected-error@*:* {{use of private header from outside its module: '__locale'}} #include <__mbstate_t.h> // expected-error@*:* {{use of private header from outside its module: '__mbstate_t.h'}} #include <__memory/addressof.h> // expected-error@*:* {{use of private header from outside its module: '__memory/addressof.h'}} -#include <__memory/align.h> // expected-error@*:* {{use of private header from outside its module: '__memory/align.h'}} #include <__memory/allocate_at_least.h> // expected-error@*:* {{use of private header from outside its module: '__memory/allocate_at_least.h'}} #include <__memory/allocation_guard.h> // expected-error@*:* {{use of private header from outside its module: '__memory/allocation_guard.h'}} #include <__memory/allocator.h> // expected-error@*:* {{use of private header from outside its module: '__memory/allocator.h'}} @@ -418,18 +417,15 @@ END-SCRIPT #include <__memory/allocator_traits.h> // expected-error@*:* {{use of private header from outside its module: '__memory/allocator_traits.h'}} #include <__memory/assume_aligned.h> // expected-error@*:* {{use of private header from outside its module: '__memory/assume_aligned.h'}} #include <__memory/auto_ptr.h> // expected-error@*:* {{use of private header from outside its module: '__memory/auto_ptr.h'}} -#include <__memory/builtin_new_allocator.h> // expected-error@*:* {{use of private header from outside its module: '__memory/builtin_new_allocator.h'}} #include <__memory/compressed_pair.h> // expected-error@*:* {{use of private header from outside its module: '__memory/compressed_pair.h'}} #include <__memory/concepts.h> // expected-error@*:* {{use of private header from outside its module: '__memory/concepts.h'}} #include <__memory/construct_at.h> // expected-error@*:* {{use of private header from outside its module: '__memory/construct_at.h'}} -#include <__memory/destruct_n.h> // expected-error@*:* {{use of private header from outside its module: '__memory/destruct_n.h'}} #include <__memory/pointer_traits.h> // expected-error@*:* {{use of private header from outside its module: '__memory/pointer_traits.h'}} #include <__memory/ranges_construct_at.h> // expected-error@*:* {{use of private header from outside its module: '__memory/ranges_construct_at.h'}} #include <__memory/ranges_uninitialized_algorithms.h> // expected-error@*:* {{use of private header from outside its module: '__memory/ranges_uninitialized_algorithms.h'}} #include <__memory/raw_storage_iterator.h> // expected-error@*:* {{use of private header from outside its module: '__memory/raw_storage_iterator.h'}} #include <__memory/shared_ptr.h> // expected-error@*:* {{use of private header from outside its module: '__memory/shared_ptr.h'}} #include <__memory/swap_allocator.h> // expected-error@*:* {{use of private header from outside its module: '__memory/swap_allocator.h'}} -#include <__memory/temp_value.h> // expected-error@*:* {{use of private header from outside its module: '__memory/temp_value.h'}} #include <__memory/temporary_buffer.h> // expected-error@*:* {{use of private header from outside its module: '__memory/temporary_buffer.h'}} #include <__memory/uninitialized_algorithms.h> // expected-error@*:* {{use of private header from outside its module: '__memory/uninitialized_algorithms.h'}} #include <__memory/unique_ptr.h> // expected-error@*:* {{use of private header from outside its module: '__memory/unique_ptr.h'}} @@ -553,7 +549,6 @@ END-SCRIPT #include <__type_traits/integral_constant.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/integral_constant.h'}} #include <__type_traits/is_abstract.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/is_abstract.h'}} #include <__type_traits/is_aggregate.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/is_aggregate.h'}} -#include <__type_traits/is_allocator.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/is_allocator.h'}} #include <__type_traits/is_arithmetic.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/is_arithmetic.h'}} #include <__type_traits/is_array.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/is_array.h'}} #include <__type_traits/is_assignable.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/is_assignable.h'}} @@ -636,7 +631,6 @@ END-SCRIPT #include <__type_traits/maybe_const.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/maybe_const.h'}} #include <__type_traits/nat.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/nat.h'}} #include <__type_traits/negation.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/negation.h'}} -#include <__type_traits/noexcept_move_assign_container.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/noexcept_move_assign_container.h'}} #include <__type_traits/promote.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/promote.h'}} #include <__type_traits/rank.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/rank.h'}} #include <__type_traits/remove_all_extents.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/remove_all_extents.h'}} diff --git a/libcxx/test/libcxx/utilities/any/allocator.pass.cpp b/libcxx/test/libcxx/utilities/any/allocator.pass.cpp index daaf74a2783f..7891db665097 100644 --- a/libcxx/test/libcxx/utilities/any/allocator.pass.cpp +++ b/libcxx/test/libcxx/utilities/any/allocator.pass.cpp @@ -18,7 +18,6 @@ #include #include #include -#include #include #include diff --git a/libcxx/test/libcxx/utilities/memory/pointer.conversion/to_address.pass.cpp b/libcxx/test/libcxx/utilities/memory/pointer.conversion/to_address.pass.cpp index 60ef98ae905d..bd2faa1f1acf 100644 --- a/libcxx/test/libcxx/utilities/memory/pointer.conversion/to_address.pass.cpp +++ b/libcxx/test/libcxx/utilities/memory/pointer.conversion/to_address.pass.cpp @@ -13,8 +13,6 @@ #include #include -#include - #include "test_macros.h" struct Irrelevant; diff --git a/libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/function_type_default_deleter.fail.cpp b/libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/function_type_default_deleter.fail.cpp index a0f3b5d04687..68ac9e3fc500 100644 --- a/libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/function_type_default_deleter.fail.cpp +++ b/libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/function_type_default_deleter.fail.cpp @@ -9,7 +9,6 @@ // UNSUPPORTED: c++03 #include -#include template struct Tag {}; diff --git a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax.pass.cpp b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax.pass.cpp index a5b7b220e3f9..0dffd52742c1 100644 --- a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax.pass.cpp +++ b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax.pass.cpp @@ -14,7 +14,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list.pass.cpp b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list.pass.cpp index b1df77a8891a..d961ddc58a65 100644 --- a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list.pass.cpp +++ b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list.pass.cpp @@ -16,7 +16,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.minmax.pass.cpp b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.minmax.pass.cpp index 828a820acce9..6819bf993e1d 100644 --- a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.minmax.pass.cpp +++ b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.minmax.pass.cpp @@ -28,7 +28,6 @@ #include #include #include -#include #include #include "test_iterators.h" diff --git a/libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp b/libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp index ed26c5b861f5..c79f752b5de5 100644 --- a/libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp +++ b/libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp @@ -21,7 +21,6 @@ #include #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_exception_safety.pass.cpp b/libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_exception_safety.pass.cpp index 57b9f58c07fb..1154447b04a9 100644 --- a/libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_exception_safety.pass.cpp +++ b/libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_exception_safety.pass.cpp @@ -13,7 +13,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/containers/sequences/list/list.modifiers/push_back_exception_safety.pass.cpp b/libcxx/test/std/containers/sequences/list/list.modifiers/push_back_exception_safety.pass.cpp index dec63a58ad93..8faf97a7dc4f 100644 --- a/libcxx/test/std/containers/sequences/list/list.modifiers/push_back_exception_safety.pass.cpp +++ b/libcxx/test/std/containers/sequences/list/list.modifiers/push_back_exception_safety.pass.cpp @@ -13,7 +13,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/containers/sequences/list/list.modifiers/push_front_exception_safety.pass.cpp b/libcxx/test/std/containers/sequences/list/list.modifiers/push_front_exception_safety.pass.cpp index 4ce3b7e76b49..aadeaaf13512 100644 --- a/libcxx/test/std/containers/sequences/list/list.modifiers/push_front_exception_safety.pass.cpp +++ b/libcxx/test/std/containers/sequences/list/list.modifiers/push_front_exception_safety.pass.cpp @@ -13,7 +13,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/experimental/language.support/support.coroutines/coroutine.trivial.awaitables/suspend_always.pass.cpp b/libcxx/test/std/experimental/language.support/support.coroutines/coroutine.trivial.awaitables/suspend_always.pass.cpp index dd5673ba3be4..7e7eb610eea9 100644 --- a/libcxx/test/std/experimental/language.support/support.coroutines/coroutine.trivial.awaitables/suspend_always.pass.cpp +++ b/libcxx/test/std/experimental/language.support/support.coroutines/coroutine.trivial.awaitables/suspend_always.pass.cpp @@ -11,7 +11,6 @@ #include #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/experimental/language.support/support.coroutines/coroutine.trivial.awaitables/suspend_never.pass.cpp b/libcxx/test/std/experimental/language.support/support.coroutines/coroutine.trivial.awaitables/suspend_never.pass.cpp index 8d59d6ae1f91..2acad5ed2523 100644 --- a/libcxx/test/std/experimental/language.support/support.coroutines/coroutine.trivial.awaitables/suspend_never.pass.cpp +++ b/libcxx/test/std/experimental/language.support/support.coroutines/coroutine.trivial.awaitables/suspend_never.pass.cpp @@ -11,7 +11,6 @@ #include #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/localization/locales/locale.global.templates/use_facet.pass.cpp b/libcxx/test/std/localization/locales/locale.global.templates/use_facet.pass.cpp index f79317ff9ed0..3c2cb604232a 100644 --- a/libcxx/test/std/localization/locales/locale.global.templates/use_facet.pass.cpp +++ b/libcxx/test/std/localization/locales/locale.global.templates/use_facet.pass.cpp @@ -12,7 +12,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/ranges/range.adaptors/range.zip/general.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.zip/general.pass.cpp index 1f0c39b3e8de..b443a1232531 100644 --- a/libcxx/test/std/ranges/range.adaptors/range.zip/general.pass.cpp +++ b/libcxx/test/std/ranges/range.adaptors/range.zip/general.pass.cpp @@ -16,7 +16,6 @@ #include #include -#include #include #include diff --git a/libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp b/libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp index b8e4198f54d4..230c844e93b6 100644 --- a/libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp +++ b/libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp @@ -20,7 +20,6 @@ #include #include -#include #include "test_macros.h" #include "min_allocator.h" diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.verify.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.verify.cpp index 2353b51a2d9f..32405b79d5fb 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.verify.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.verify.cpp @@ -18,7 +18,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.verify.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.verify.cpp index 4263eeef67de..e9199cb25257 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.verify.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.verify.cpp @@ -18,7 +18,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/construct.pass.cpp b/libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/construct.pass.cpp index b2258ee523f1..38e24fdc5db4 100644 --- a/libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/construct.pass.cpp +++ b/libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/construct.pass.cpp @@ -20,7 +20,6 @@ #include #include #include -#include #include "test_macros.h" #include "incomplete_type_helper.h" diff --git a/libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.size.pass.cpp b/libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.size.pass.cpp index 3622b7c84ada..6b9b12c82242 100644 --- a/libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.size.pass.cpp +++ b/libcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.size.pass.cpp @@ -14,7 +14,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/memory/default.allocator/allocator_pointers.pass.cpp b/libcxx/test/std/utilities/memory/default.allocator/allocator_pointers.pass.cpp index cb3ec8857a6f..777e5dfc44f5 100644 --- a/libcxx/test/std/utilities/memory/default.allocator/allocator_pointers.pass.cpp +++ b/libcxx/test/std/utilities/memory/default.allocator/allocator_pointers.pass.cpp @@ -10,7 +10,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/memory/pointer.conversion/to_address.pass.cpp b/libcxx/test/std/utilities/memory/pointer.conversion/to_address.pass.cpp index fea34ffe99de..b92700143aa6 100644 --- a/libcxx/test/std/utilities/memory/pointer.conversion/to_address.pass.cpp +++ b/libcxx/test/std/utilities/memory/pointer.conversion/to_address.pass.cpp @@ -15,8 +15,6 @@ #include #include -#include - #include "test_macros.h" struct Irrelevant; diff --git a/libcxx/test/std/utilities/memory/pointer.traits/pointer.traits.functions/pointer_to.pass.cpp b/libcxx/test/std/utilities/memory/pointer.traits/pointer.traits.functions/pointer_to.pass.cpp index 62ea10cccc24..bd561ddb4471 100644 --- a/libcxx/test/std/utilities/memory/pointer.traits/pointer.traits.functions/pointer_to.pass.cpp +++ b/libcxx/test/std/utilities/memory/pointer.traits/pointer.traits.functions/pointer_to.pass.cpp @@ -17,7 +17,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/memory/pointer.traits/pointer_to.pass.cpp b/libcxx/test/std/utilities/memory/pointer.traits/pointer_to.pass.cpp index c4b5ca1a0326..ebbbf8b97342 100644 --- a/libcxx/test/std/utilities/memory/pointer.traits/pointer_to.pass.cpp +++ b/libcxx/test/std/utilities/memory/pointer.traits/pointer_to.pass.cpp @@ -17,7 +17,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp b/libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp index b8ba9885376a..08aab53a8315 100644 --- a/libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp +++ b/libcxx/test/std/utilities/memory/temporary.buffer/overaligned.pass.cpp @@ -27,7 +27,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/memory/temporary.buffer/temporary_buffer.pass.cpp b/libcxx/test/std/utilities/memory/temporary.buffer/temporary_buffer.pass.cpp index 6c0fbf2568ff..7a0f89412ce6 100644 --- a/libcxx/test/std/utilities/memory/temporary.buffer/temporary_buffer.pass.cpp +++ b/libcxx/test/std/utilities/memory/temporary.buffer/temporary_buffer.pass.cpp @@ -20,7 +20,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/shared_ptr_rv.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/shared_ptr_rv.pass.cpp index f48fe75447ee..9dc51068140e 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/shared_ptr_rv.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/shared_ptr_rv.pass.cpp @@ -17,7 +17,6 @@ #include #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/unique_ptr_Y.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/unique_ptr_Y.pass.cpp index 35671c41842f..3063e776178f 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/unique_ptr_Y.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/unique_ptr_Y.pass.cpp @@ -15,7 +15,6 @@ #include #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/deduction.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/deduction.pass.cpp index 9b875e6668d5..7373adf6eaa0 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/deduction.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/deduction.pass.cpp @@ -16,7 +16,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_copy_move.fail.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_copy_move.fail.cpp index e937cf4730ec..689d8ec85cea 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_copy_move.fail.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_copy_move.fail.cpp @@ -14,7 +14,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_pointer.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_pointer.pass.cpp index 4c66312f84b4..9ef8ed7876f6 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_pointer.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_pointer.pass.cpp @@ -14,7 +14,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_rv.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_rv.pass.cpp index 3bba84a7b519..8637e3fc8cf2 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_rv.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_rv.pass.cpp @@ -16,7 +16,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/unique_ptr.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/unique_ptr.pass.cpp index 871aac6eae0f..203659bf4b63 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/unique_ptr.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/unique_ptr.pass.cpp @@ -16,7 +16,6 @@ #include #include #include -#include #include "test_macros.h" #include "count_new.h" diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/allocate_shared_construct.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/allocate_shared_construct.pass.cpp index 145038282373..908aa7f100cd 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/allocate_shared_construct.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/allocate_shared_construct.pass.cpp @@ -20,10 +20,8 @@ #include "test_macros.h" -#include #include -#include -#include +#include static bool construct_called = false; static bool destroy_called = false; diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.assign/weak_ptr.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.assign/weak_ptr.pass.cpp index cfb8a1df7fba..c722dd0de262 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.assign/weak_ptr.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.assign/weak_ptr.pass.cpp @@ -15,7 +15,6 @@ #include #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/weak_ptr.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/weak_ptr.pass.cpp index 6baa884f7a46..179c2f5928a4 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/weak_ptr.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/weak_ptr.pass.cpp @@ -16,7 +16,6 @@ #include #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weakptr/bad_weak_ptr.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weakptr/bad_weak_ptr.pass.cpp index c4c829a0c525..49a466b903bc 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weakptr/bad_weak_ptr.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.weakptr/bad_weak_ptr.pass.cpp @@ -15,7 +15,6 @@ // bad_weak_ptr(); // }; -#include #include #include #include diff --git a/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/get_deleter.pass.cpp b/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/get_deleter.pass.cpp index 6e51f755939b..e440a95991c7 100644 --- a/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/get_deleter.pass.cpp +++ b/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/get_deleter.pass.cpp @@ -14,8 +14,6 @@ #include #include -#include - #include "test_macros.h" struct Deleter { diff --git a/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp b/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp index d6c192d2e054..6805ad36034f 100644 --- a/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp +++ b/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp @@ -17,7 +17,6 @@ #include #include #include -#include #include "test_macros.h" #include "MoveOnly.h" diff --git a/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.fail.cpp b/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.fail.cpp index 4fef6b99f530..e7a262417cf9 100644 --- a/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.fail.cpp +++ b/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.fail.cpp @@ -10,8 +10,6 @@ #include #include -#include - #include "test_macros.h" struct UserType {}; diff --git a/libcxx/test/support/allocators.h b/libcxx/test/support/allocators.h index 0cdaacb7555c..f4578da74ffc 100644 --- a/libcxx/test/support/allocators.h +++ b/libcxx/test/support/allocators.h @@ -10,7 +10,6 @@ #define ALLOCATORS_H #include -#include #include #include diff --git a/libcxx/test/support/container_test_types.h b/libcxx/test/support/container_test_types.h index baf1b50cfd8b..38fcd5107d3a 100644 --- a/libcxx/test/support/container_test_types.h +++ b/libcxx/test/support/container_test_types.h @@ -86,7 +86,6 @@ #include #include -#include #include "test_macros.h" diff --git a/libcxx/test/support/controlled_allocators.h b/libcxx/test/support/controlled_allocators.h index 1144ae4c6ecd..fa9f04eab364 100644 --- a/libcxx/test/support/controlled_allocators.h +++ b/libcxx/test/support/controlled_allocators.h @@ -16,8 +16,6 @@ #include #include #include -#include - #include "test_macros.h" #include "type_id.h" diff --git a/libcxx/test/support/min_allocator.h b/libcxx/test/support/min_allocator.h index 529c29115f2d..a216974f98ce 100644 --- a/libcxx/test/support/min_allocator.h +++ b/libcxx/test/support/min_allocator.h @@ -16,7 +16,6 @@ #include #include #include -#include #include "test_macros.h"