Skip to content

Commit 59890c1

Browse files
authored
[libc++] Granularize <new> includes (llvm#119964)
1 parent 8cd8b50 commit 59890c1

33 files changed

+25
-130
lines changed

libcxx/include/__algorithm/inplace_merge.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
#include <__memory/unique_temporary_buffer.h>
3030
#include <__utility/move.h>
3131
#include <__utility/pair.h>
32-
#include <new>
3332

3433
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
3534
# pragma GCC system_header

libcxx/include/__algorithm/stable_partition.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
#include <__type_traits/remove_cvref.h>
2323
#include <__utility/move.h>
2424
#include <__utility/pair.h>
25-
#include <new>
2625

2726
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
2827
# pragma GCC system_header

libcxx/include/__algorithm/stable_sort.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
#include <__type_traits/is_trivially_assignable.h>
2525
#include <__utility/move.h>
2626
#include <__utility/pair.h>
27-
#include <new>
2827

2928
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
3029
# pragma GCC system_header

libcxx/include/__exception/exception_ptr.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#include <__memory/construct_at.h>
1717
#include <__type_traits/decay.h>
1818
#include <cstdlib>
19-
#include <new>
2019
#include <typeinfo>
2120

2221
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

libcxx/include/__functional/function.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
#include <__utility/piecewise_construct.h>
3939
#include <__utility/swap.h>
4040
#include <__verbose_abort>
41-
#include <new>
4241
#include <tuple>
4342
#include <typeinfo>
4443

libcxx/include/__memory/allocator.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@
1616
#include <__memory/addressof.h>
1717
#include <__memory/allocate_at_least.h>
1818
#include <__memory/allocator_traits.h>
19+
#include <__new/allocate.h>
20+
#include <__new/exceptions.h>
1921
#include <__type_traits/is_const.h>
2022
#include <__type_traits/is_constant_evaluated.h>
2123
#include <__type_traits/is_same.h>
2224
#include <__type_traits/is_void.h>
2325
#include <__type_traits/is_volatile.h>
2426
#include <__utility/forward.h>
25-
#include <new>
2627

2728
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
2829
# pragma GCC system_header

libcxx/include/__memory/builtin_new_allocator.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
#include <__config>
1313
#include <__cstddef/size_t.h>
1414
#include <__memory/unique_ptr.h>
15-
#include <new>
15+
#include <__new/allocate.h>
1616

1717
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
1818
# pragma GCC system_header

libcxx/include/__memory/ranges_construct_at.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
#include <__utility/declval.h>
2323
#include <__utility/forward.h>
2424
#include <__utility/move.h>
25-
#include <new>
2625

2726
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
2827
# pragma GCC system_header

libcxx/include/__memory/ranges_uninitialized_algorithms.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
#include <__ranges/dangling.h>
2626
#include <__type_traits/remove_reference.h>
2727
#include <__utility/move.h>
28-
#include <new>
2928

3029
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
3130
# pragma GCC system_header

libcxx/include/__memory/raw_storage_iterator.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#include <__iterator/iterator_traits.h>
1717
#include <__memory/addressof.h>
1818
#include <__utility/move.h>
19-
#include <new>
2019

2120
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
2221
# pragma GCC system_header

libcxx/include/__memory/shared_ptr.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@
5757
#include <__utility/move.h>
5858
#include <__utility/swap.h>
5959
#include <__verbose_abort>
60-
#include <new>
6160
#include <typeinfo>
6261
#if _LIBCPP_HAS_ATOMIC_HEADER
6362
# include <__atomic/memory_order.h>

libcxx/include/__memory/uninitialized_algorithms.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
#include <__utility/exception_guard.h>
3838
#include <__utility/move.h>
3939
#include <__utility/pair.h>
40-
#include <new>
4140

4241
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
4342
# pragma GCC system_header

libcxx/include/__memory/unique_temporary_buffer.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@
1616
#include <__cstddef/ptrdiff_t.h>
1717
#include <__memory/allocator.h>
1818
#include <__memory/unique_ptr.h>
19+
#include <__new/allocate.h>
20+
#include <__new/global_new_delete.h>
1921
#include <__type_traits/is_constant_evaluated.h>
20-
#include <new>
2122

2223
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
2324
# pragma GCC system_header

libcxx/include/__memory_resource/polymorphic_allocator.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
#include <__cstddef/max_align_t.h>
1616
#include <__fwd/pair.h>
1717
#include <__memory_resource/memory_resource.h>
18+
#include <__new/exceptions.h>
19+
#include <__new/placement_new_delete.h>
1820
#include <__utility/exception_guard.h>
1921
#include <limits>
20-
#include <new>
2122
#include <tuple>
2223

2324
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

libcxx/include/__ostream/basic_ostream.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
# include <__exception/operations.h>
1717
# include <__memory/shared_ptr.h>
1818
# include <__memory/unique_ptr.h>
19+
# include <__new/exceptions.h>
1920
# include <__ostream/put_character_sequence.h>
2021
# include <__system_error/error_code.h>
2122
# include <__type_traits/conjunction.h>
@@ -26,7 +27,6 @@
2627
# include <bitset>
2728
# include <ios>
2829
# include <locale>
29-
# include <new> // for __throw_bad_alloc
3030
# include <streambuf>
3131
# include <string_view>
3232

libcxx/include/__pstl/backends/libdispatch.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#include <__memory/allocator.h>
2424
#include <__memory/construct_at.h>
2525
#include <__memory/unique_ptr.h>
26+
#include <__new/exceptions.h>
2627
#include <__numeric/reduce.h>
2728
#include <__pstl/backend_fwd.h>
2829
#include <__pstl/cpu_algos/any_of.h>
@@ -38,7 +39,6 @@
3839
#include <__utility/exception_guard.h>
3940
#include <__utility/move.h>
4041
#include <__utility/pair.h>
41-
#include <new>
4242
#include <optional>
4343

4444
_LIBCPP_PUSH_MACROS

libcxx/include/__pstl/cpu_algos/transform_reduce.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
#include <__type_traits/is_arithmetic.h>
2121
#include <__type_traits/is_execution_policy.h>
2222
#include <__utility/move.h>
23-
#include <new>
2423
#include <optional>
2524

2625
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

libcxx/include/__pstl/handle_exception.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
#define _LIBCPP___PSTL_HANDLE_EXCEPTION_H
1111

1212
#include <__config>
13+
#include <__new/exceptions.h>
1314
#include <__utility/forward.h>
1415
#include <__utility/move.h>
15-
#include <new> // __throw_bad_alloc
1616
#include <optional>
1717

1818
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

libcxx/include/__utility/no_destroy.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
#define _LIBCPP___UTILITY_NO_DESTROY_H
1111

1212
#include <__config>
13+
#include <__new/placement_new_delete.h>
1314
#include <__type_traits/is_constant_evaluated.h>
1415
#include <__utility/forward.h>
15-
#include <new>
1616

1717
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
1818
# pragma GCC system_header

libcxx/include/__utility/small_buffer.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,13 @@
1313
#include <__cstddef/byte.h>
1414
#include <__cstddef/size_t.h>
1515
#include <__memory/construct_at.h>
16+
#include <__new/allocate.h>
17+
#include <__new/launder.h>
1618
#include <__type_traits/decay.h>
1719
#include <__type_traits/is_trivially_constructible.h>
1820
#include <__type_traits/is_trivially_destructible.h>
1921
#include <__utility/exception_guard.h>
2022
#include <__utility/forward.h>
21-
#include <new>
2223

2324
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
2425
# pragma GCC system_header

libcxx/include/exception

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ template <class E> void rethrow_if_nested(const E& e);
9393
# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
9494
# include <cstddef>
9595
# include <cstdlib>
96+
# include <new>
9697
# include <type_traits>
9798
# endif
9899
#endif // 0

libcxx/include/future

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,6 @@ template <class R, class Alloc> struct uses_allocator<packaged_task<R>, Alloc>;
407407
# include <__utility/forward.h>
408408
# include <__utility/move.h>
409409
# include <__utility/swap.h>
410-
# include <new>
411410
# include <stdexcept>
412411
# include <tuple>
413412
# include <version>

libcxx/include/locale

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,14 +207,14 @@ template <class charT> class messages_byname;
207207
# include <__locale>
208208
# include <__locale_dir/pad_and_output.h>
209209
# include <__memory/unique_ptr.h>
210+
# include <__new/exceptions.h>
210211
# include <__type_traits/make_unsigned.h>
211212
# include <cerrno>
212213
# include <cstdio>
213214
# include <cstdlib>
214215
# include <ctime>
215216
# include <ios>
216217
# include <limits>
217-
# include <new>
218218
# include <streambuf>
219219
# include <version>
220220

libcxx/include/map

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -591,6 +591,7 @@ erase_if(multimap<Key, T, Compare, Allocator>& c, Predicate pred); // C++20
591591
# include <__memory/pointer_traits.h>
592592
# include <__memory/unique_ptr.h>
593593
# include <__memory_resource/polymorphic_allocator.h>
594+
# include <__new/launder.h>
594595
# include <__node_handle>
595596
# include <__ranges/concepts.h>
596597
# include <__ranges/container_compatible_range.h>
@@ -604,7 +605,6 @@ erase_if(multimap<Key, T, Compare, Allocator>& c, Predicate pred); // C++20
604605
# include <__utility/pair.h>
605606
# include <__utility/piecewise_construct.h>
606607
# include <__utility/swap.h>
607-
# include <new> // for std::launder
608608
# include <stdexcept>
609609
# include <tuple>
610610
# include <version>

libcxx/include/module.modulemap

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1607,7 +1607,11 @@ module std [system] {
16071607
module allocate { header "__new/allocate.h" }
16081608
module destroying_delete_t { header "__new/destroying_delete_t.h" }
16091609
module exceptions { header "__new/exceptions.h" }
1610-
module global_new_delete { header "__new/global_new_delete.h" }
1610+
module global_new_delete {
1611+
header "__new/global_new_delete.h"
1612+
1613+
export std.new.nothrow_t
1614+
}
16111615
module interference_size { header "__new/interference_size.h" }
16121616
module launder { header "__new/launder.h" }
16131617
module new_handler { header "__new/new_handler.h" }

libcxx/include/optional

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,6 @@ namespace std {
228228
# include <__utility/swap.h>
229229
# include <__verbose_abort>
230230
# include <initializer_list>
231-
# include <new>
232231
# include <version>
233232

234233
// standard-mandated includes

libcxx/include/stdexcept

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,7 @@ _LIBCPP_END_NAMESPACE_STD
284284
# include <cstdlib>
285285
# include <exception>
286286
# include <iosfwd>
287+
# include <new>
287288
# endif
288289
#endif // 0
289290

libcxx/include/unordered_map

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -602,6 +602,7 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
602602
# include <__memory/pointer_traits.h>
603603
# include <__memory/unique_ptr.h>
604604
# include <__memory_resource/polymorphic_allocator.h>
605+
# include <__new/launder.h>
605606
# include <__node_handle>
606607
# include <__ranges/concepts.h>
607608
# include <__ranges/container_compatible_range.h>
@@ -615,7 +616,6 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
615616
# include <__type_traits/type_identity.h>
616617
# include <__utility/forward.h>
617618
# include <__utility/pair.h>
618-
# include <new> // launder
619619
# include <stdexcept>
620620
# include <tuple>
621621
# include <version>

libcxx/include/valarray

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,6 @@ template <class T> unspecified2 end(const valarray<T>& v);
364364
# include <__utility/move.h>
365365
# include <__utility/swap.h>
366366
# include <cmath>
367-
# include <new>
368367
# include <version>
369368

370369
// standard-mandated includes

libcxx/include/variant

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,6 @@ namespace std {
268268
# include <__verbose_abort>
269269
# include <initializer_list>
270270
# include <limits>
271-
# include <new>
272271
# include <version>
273272

274273
// standard-mandated includes

0 commit comments

Comments
 (0)