[libcxx-commits] [libcxx] 75196f8 - [libc++] Remove <cstdlib> includes

Nikolas Klauser via libcxx-commits libcxx-commits at lists.llvm.org
Sat Apr 8 17:52:39 PDT 2023


Author: Nikolas Klauser
Date: 2023-04-09T02:52:33+02:00
New Revision: 75196f8e72be3f18c5a831e23f385c4ae3eb62b5

URL: https://github.com/llvm/llvm-project/commit/75196f8e72be3f18c5a831e23f385c4ae3eb62b5
DIFF: https://github.com/llvm/llvm-project/commit/75196f8e72be3f18c5a831e23f385c4ae3eb62b5.diff

LOG: [libc++] Remove <cstdlib> includes

We changed the `abort` calls when trying to throw exceptions in `-fno-exceptions` mode to `__verbose_abort` calls, which removes the dependency in most files.

Reviewed By: ldionne, #libc

Spies: dim, emaste, mikhail.ramalho, smeenai, libcxx-commits

Differential Revision: https://reviews.llvm.org/D146076

Added: 
    

Modified: 
    libcxx/include/__bit/byteswap.h
    libcxx/include/__expected/expected.h
    libcxx/include/__filesystem/directory_entry.h
    libcxx/include/__iterator/advance.h
    libcxx/include/__locale
    libcxx/include/__memory/shared_ptr.h
    libcxx/include/algorithm
    libcxx/include/any
    libcxx/include/array
    libcxx/include/bit
    libcxx/include/bitset
    libcxx/include/charconv
    libcxx/include/deque
    libcxx/include/experimental/memory_resource
    libcxx/include/filesystem
    libcxx/include/forward_list
    libcxx/include/fstream
    libcxx/include/functional
    libcxx/include/future
    libcxx/include/iterator
    libcxx/include/list
    libcxx/include/map
    libcxx/include/memory
    libcxx/include/ostream
    libcxx/include/queue
    libcxx/include/random
    libcxx/include/ranges
    libcxx/include/regex
    libcxx/include/set
    libcxx/include/stdexcept
    libcxx/include/string
    libcxx/include/string_view
    libcxx/include/typeinfo
    libcxx/include/unordered_map
    libcxx/include/unordered_set
    libcxx/include/valarray
    libcxx/include/vector
    libcxx/test/libcxx/transitive_includes/cxx03.csv
    libcxx/test/libcxx/transitive_includes/cxx11.csv
    libcxx/test/libcxx/transitive_includes/cxx14.csv
    libcxx/test/libcxx/transitive_includes/cxx17.csv
    libcxx/test/libcxx/transitive_includes/cxx20.csv
    libcxx/test/libcxx/transitive_includes/cxx2b.csv
    libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval.pass.cpp
    libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval_param.pass.cpp

Removed: 
    


################################################################################
diff  --git a/libcxx/include/__bit/byteswap.h b/libcxx/include/__bit/byteswap.h
index 59fba781f7ce9..b290e80a5c681 100644
--- a/libcxx/include/__bit/byteswap.h
+++ b/libcxx/include/__bit/byteswap.h
@@ -13,7 +13,6 @@
 #include <__concepts/arithmetic.h>
 #include <__config>
 #include <cstdint>
-#include <cstdlib>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header

diff  --git a/libcxx/include/__expected/expected.h b/libcxx/include/__expected/expected.h
index 9a8d4047cdefa..3ff8fbc7b2110 100644
--- a/libcxx/include/__expected/expected.h
+++ b/libcxx/include/__expected/expected.h
@@ -50,7 +50,6 @@
 #include <__utility/move.h>
 #include <__utility/swap.h>
 #include <__verbose_abort>
-#include <cstdlib> // for std::abort
 #include <initializer_list>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

diff  --git a/libcxx/include/__filesystem/directory_entry.h b/libcxx/include/__filesystem/directory_entry.h
index b17eaaab4c545..77aaa74bdf558 100644
--- a/libcxx/include/__filesystem/directory_entry.h
+++ b/libcxx/include/__filesystem/directory_entry.h
@@ -23,7 +23,6 @@
 #include <__filesystem/perms.h>
 #include <__utility/unreachable.h>
 #include <cstdint>
-#include <cstdlib>
 #include <iosfwd>
 #include <system_error>
 

diff  --git a/libcxx/include/__iterator/advance.h b/libcxx/include/__iterator/advance.h
index 1d55a69948bc1..4e852bb1ffd67 100644
--- a/libcxx/include/__iterator/advance.h
+++ b/libcxx/include/__iterator/advance.h
@@ -23,7 +23,6 @@
 #include <__utility/declval.h>
 #include <__utility/move.h>
 #include <__utility/unreachable.h>
-#include <cstdlib>
 #include <limits>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

diff  --git a/libcxx/include/__locale b/libcxx/include/__locale
index e0ffa0ca00ffe..9b548d738d181 100644
--- a/libcxx/include/__locale
+++ b/libcxx/include/__locale
@@ -14,6 +14,7 @@
 #include <__config>
 #include <cctype>
 #include <cstdint>
+#include <cstdlib>
 #include <locale.h>
 #include <mutex>
 #include <string>

diff  --git a/libcxx/include/__memory/shared_ptr.h b/libcxx/include/__memory/shared_ptr.h
index f22a918cd536e..1d72eb64466e5 100644
--- a/libcxx/include/__memory/shared_ptr.h
+++ b/libcxx/include/__memory/shared_ptr.h
@@ -49,7 +49,6 @@
 #include <__utility/swap.h>
 #include <__verbose_abort>
 #include <cstddef>
-#include <cstdlib> // abort
 #include <iosfwd>
 #include <new>
 #include <stdexcept>

diff  --git a/libcxx/include/algorithm b/libcxx/include/algorithm
index 75ba4b240dc00..9970a63706b21 100644
--- a/libcxx/include/algorithm
+++ b/libcxx/include/algorithm
@@ -1929,6 +1929,7 @@ template <class BidirectionalIterator, class Compare>
 #  include <atomic>
 #  include <bit>
 #  include <concepts>
+#  include <cstdlib>
 #  include <cstring>
 #  include <iterator>
 #  include <memory>

diff  --git a/libcxx/include/any b/libcxx/include/any
index e139756f65f4c..963e5e019038e 100644
--- a/libcxx/include/any
+++ b/libcxx/include/any
@@ -107,7 +107,6 @@ namespace std {
 #include <__utility/move.h>
 #include <__utility/unreachable.h>
 #include <__verbose_abort>
-#include <cstdlib>
 #include <initializer_list>
 #include <typeinfo>
 #include <version>
@@ -718,6 +717,7 @@ _LIBCPP_END_NAMESPACE_STD
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #  include <atomic>
 #  include <concepts>
+#  include <cstdlib>
 #  include <iosfwd>
 #  include <iterator>
 #  include <memory>

diff  --git a/libcxx/include/array b/libcxx/include/array
index 218ad3dd186f5..09a3fe41f47d0 100644
--- a/libcxx/include/array
+++ b/libcxx/include/array
@@ -544,6 +544,7 @@ _LIBCPP_END_NAMESPACE_STD
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #  include <algorithm>
 #  include <concepts>
+#  include <cstdlib>
 #  include <iterator>
 #  include <type_traits>
 #  include <utility>

diff  --git a/libcxx/include/bit b/libcxx/include/bit
index d17a6e45f0db7..6b35bb2c7a0bc 100644
--- a/libcxx/include/bit
+++ b/libcxx/include/bit
@@ -83,6 +83,7 @@ namespace std {
 #endif
 
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+#  include <cstdlib>
 #  include <iosfwd>
 #  include <limits>
 #  include <type_traits>

diff  --git a/libcxx/include/bitset b/libcxx/include/bitset
index ac866fa6e0c39..fc8ffb882e6d5 100644
--- a/libcxx/include/bitset
+++ b/libcxx/include/bitset
@@ -1154,6 +1154,7 @@ _LIBCPP_POP_MACROS
 
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #  include <concepts>
+#  include <cstdlib>
 #  include <type_traits>
 #endif
 

diff  --git a/libcxx/include/charconv b/libcxx/include/charconv
index c30210fb52b0a..5608e51ac5e8e 100644
--- a/libcxx/include/charconv
+++ b/libcxx/include/charconv
@@ -83,7 +83,6 @@ namespace std {
 #include <__errc>
 #include <cmath> // for log2f
 #include <cstdint>
-#include <cstdlib>
 #include <limits>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -96,6 +95,7 @@ _LIBCPP_END_NAMESPACE_STD
 
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #  include <concepts>
+#  include <cstdlib>
 #  include <cstring>
 #  include <iosfwd>
 #  include <type_traits>

diff  --git a/libcxx/include/deque b/libcxx/include/deque
index 0f896bb231227..515c9600081c5 100644
--- a/libcxx/include/deque
+++ b/libcxx/include/deque
@@ -2456,6 +2456,7 @@ _LIBCPP_POP_MACROS
 #  include <algorithm>
 #  include <atomic>
 #  include <concepts>
+#  include <cstdlib>
 #  include <functional>
 #  include <iosfwd>
 #  include <iterator>

diff  --git a/libcxx/include/experimental/memory_resource b/libcxx/include/experimental/memory_resource
index f9edd3077f558..dcb61e39d3a67 100644
--- a/libcxx/include/experimental/memory_resource
+++ b/libcxx/include/experimental/memory_resource
@@ -69,7 +69,6 @@ namespace pmr {
 #include <__type_traits/aligned_storage.h>
 #include <__utility/move.h>
 #include <cstddef>
-#include <cstdlib>
 #include <experimental/__config>
 #include <experimental/__memory>
 #include <limits>
@@ -432,6 +431,7 @@ _LIBCPP_POP_MACROS
 #  include <atomic>
 #  include <climits>
 #  include <concepts>
+#  include <cstdlib>
 #  include <cstring>
 #  include <ctime>
 #  include <iterator>

diff  --git a/libcxx/include/filesystem b/libcxx/include/filesystem
index 8d01a81c6137c..d7678e11ca6b4 100644
--- a/libcxx/include/filesystem
+++ b/libcxx/include/filesystem
@@ -467,6 +467,7 @@ inline constexpr bool std::ranges::enable_view<std::filesystem::recursive_direct
 
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #  include <concepts>
+#  include <cstdlib>
 #endif
 
 #endif // _LIBCPP_FILESYSTEM

diff  --git a/libcxx/include/forward_list b/libcxx/include/forward_list
index e22968d49ed81..ad616d14796de 100644
--- a/libcxx/include/forward_list
+++ b/libcxx/include/forward_list
@@ -1822,6 +1822,7 @@ _LIBCPP_POP_MACROS
 #  include <algorithm>
 #  include <atomic>
 #  include <concepts>
+#  include <cstdlib>
 #  include <functional>
 #  include <iosfwd>
 #  include <iterator>

diff  --git a/libcxx/include/fstream b/libcxx/include/fstream
index b38b25567c50b..09deccf85a3b5 100644
--- a/libcxx/include/fstream
+++ b/libcxx/include/fstream
@@ -188,7 +188,6 @@ typedef basic_fstream<wchar_t> wfstream;
 #include <__utility/swap.h>
 #include <__utility/unreachable.h>
 #include <cstdio>
-#include <cstdlib>
 #include <istream>
 #include <ostream>
 #include <typeinfo>
@@ -1752,6 +1751,7 @@ _LIBCPP_POP_MACROS
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #  include <atomic>
 #  include <concepts>
+#  include <cstdlib>
 #  include <iosfwd>
 #  include <limits>
 #  include <new>

diff  --git a/libcxx/include/functional b/libcxx/include/functional
index 489b70d6462cf..05d42fcff232e 100644
--- a/libcxx/include/functional
+++ b/libcxx/include/functional
@@ -554,6 +554,7 @@ POLICY:  For non-variadic implementations, the number of arguments is limited
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #  include <atomic>
 #  include <concepts>
+#  include <cstdlib>
 #  include <exception>
 #  include <tuple>
 #  include <type_traits>

diff  --git a/libcxx/include/future b/libcxx/include/future
index eb05c59211b93..ab554f292b2c6 100644
--- a/libcxx/include/future
+++ b/libcxx/include/future
@@ -2460,6 +2460,7 @@ _LIBCPP_END_NAMESPACE_STD
 
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #  include <atomic>
+#  include <cstdlib>
 #  include <exception>
 #endif
 

diff  --git a/libcxx/include/iterator b/libcxx/include/iterator
index d07ebcb074f9f..c4bec919d5b48 100644
--- a/libcxx/include/iterator
+++ b/libcxx/include/iterator
@@ -732,6 +732,7 @@ template <class E> constexpr const E* data(initializer_list<E> il) noexcept;
 #endif
 
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+#  include <cstdlib>
 #  include <exception>
 #  include <new>
 #  include <type_traits>

diff  --git a/libcxx/include/list b/libcxx/include/list
index f925f542d41be..6969d3c4f3068 100644
--- a/libcxx/include/list
+++ b/libcxx/include/list
@@ -2402,6 +2402,7 @@ _LIBCPP_POP_MACROS
 #  include <algorithm>
 #  include <atomic>
 #  include <concepts>
+#  include <cstdlib>
 #  include <functional>
 #  include <iosfwd>
 #  include <iterator>

diff  --git a/libcxx/include/map b/libcxx/include/map
index 9fbb5332a428a..75de40b3876e8 100644
--- a/libcxx/include/map
+++ b/libcxx/include/map
@@ -2404,6 +2404,7 @@ _LIBCPP_END_NAMESPACE_STD
 
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #  include <concepts>
+#  include <cstdlib>
 #  include <functional>
 #  include <iterator>
 #  include <type_traits>

diff  --git a/libcxx/include/memory b/libcxx/include/memory
index f6063178edc08..24344d8ab4f0e 100644
--- a/libcxx/include/memory
+++ b/libcxx/include/memory
@@ -921,6 +921,7 @@ template<size_t N, class T>
 #  include <concepts>
 #  include <cstddef>
 #  include <cstdint>
+#  include <cstdlib>
 #  include <cstring>
 #  include <iosfwd>
 #  include <iterator>

diff  --git a/libcxx/include/ostream b/libcxx/include/ostream
index dbb54ac7e1a26..753bec1d2c900 100644
--- a/libcxx/include/ostream
+++ b/libcxx/include/ostream
@@ -1197,6 +1197,7 @@ _LIBCPP_END_NAMESPACE_STD
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #  include <atomic>
 #  include <concepts>
+#  include <cstdlib>
 #  include <iterator>
 #  include <type_traits>
 #endif

diff  --git a/libcxx/include/queue b/libcxx/include/queue
index 35cceb5168959..9690aaf18c9a5 100644
--- a/libcxx/include/queue
+++ b/libcxx/include/queue
@@ -963,6 +963,7 @@ _LIBCPP_END_NAMESPACE_STD
 
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #  include <concepts>
+#  include <cstdlib>
 #  include <functional>
 #  include <type_traits>
 #endif

diff  --git a/libcxx/include/random b/libcxx/include/random
index 5fe4906cb0270..02d71ad6dd25c 100644
--- a/libcxx/include/random
+++ b/libcxx/include/random
@@ -1734,6 +1734,7 @@ class piecewise_linear_distribution
 #  include <concepts>
 #  include <cstddef>
 #  include <cstdint>
+#  include <cstdlib>
 #  include <iosfwd>
 #  include <limits>
 #  include <numeric>

diff  --git a/libcxx/include/ranges b/libcxx/include/ranges
index f9a94a136cfbe..6adb28b09240d 100644
--- a/libcxx/include/ranges
+++ b/libcxx/include/ranges
@@ -399,6 +399,7 @@ namespace std {
 #endif
 
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+#  include <cstdlib>
 #  include <type_traits>
 #endif
 

diff  --git a/libcxx/include/regex b/libcxx/include/regex
index 9a367c3aabe79..f89b8289ff4a2 100644
--- a/libcxx/include/regex
+++ b/libcxx/include/regex
@@ -6879,6 +6879,7 @@ _LIBCPP_POP_MACROS
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #  include <atomic>
 #  include <concepts>
+#  include <cstdlib>
 #  include <iosfwd>
 #  include <iterator>
 #  include <new>

diff  --git a/libcxx/include/set b/libcxx/include/set
index 289e35ae41bbc..05bffe6357074 100644
--- a/libcxx/include/set
+++ b/libcxx/include/set
@@ -1598,6 +1598,7 @@ _LIBCPP_END_NAMESPACE_STD
 
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #  include <concepts>
+#  include <cstdlib>
 #  include <functional>
 #  include <iterator>
 #  include <type_traits>

diff  --git a/libcxx/include/stdexcept b/libcxx/include/stdexcept
index abdef87a5b0b3..8e2f985509df0 100644
--- a/libcxx/include/stdexcept
+++ b/libcxx/include/stdexcept
@@ -44,7 +44,7 @@ public:
 #include <__assert> // all public C++ headers provide the assertion handler
 #include <__config>
 #include <__exception/exception.h>
-#include <cstdlib>
+#include <__verbose_abort>
 #include <iosfwd>  // for string forward decl
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -300,6 +300,7 @@ void __throw_underflow_error(const char*__msg)
 _LIBCPP_END_NAMESPACE_STD
 
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+#  include <cstdlib>
 #  include <exception>
 #endif
 

diff  --git a/libcxx/include/string b/libcxx/include/string
index 8db92de1652f0..1de3fb76ec42f 100644
--- a/libcxx/include/string
+++ b/libcxx/include/string
@@ -578,7 +578,6 @@ basic_string<char32_t> operator "" s( const char32_t *str, size_t len );
 #include <climits>
 #include <cstdint>
 #include <cstdio>  // EOF
-#include <cstdlib>
 #include <cstring>
 #include <limits>
 #include <stdexcept>
@@ -4389,6 +4388,7 @@ _LIBCPP_POP_MACROS
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #  include <algorithm>
 #  include <concepts>
+#  include <cstdlib>
 #  include <functional>
 #  include <iterator>
 #  include <new>

diff  --git a/libcxx/include/string_view b/libcxx/include/string_view
index 3f5e1c4d1878e..f8cecfba94284 100644
--- a/libcxx/include/string_view
+++ b/libcxx/include/string_view
@@ -1046,6 +1046,7 @@ _LIBCPP_POP_MACROS
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #  include <algorithm>
 #  include <concepts>
+#  include <cstdlib>
 #  include <functional>
 #  include <iterator>
 #  include <type_traits>

diff  --git a/libcxx/include/typeinfo b/libcxx/include/typeinfo
index 1553be1c6e107..46917654f8f54 100644
--- a/libcxx/include/typeinfo
+++ b/libcxx/include/typeinfo
@@ -64,7 +64,6 @@ public:
 #include <__verbose_abort>
 #include <cstddef>
 #include <cstdint>
-#include <cstdlib>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
@@ -415,6 +414,7 @@ void __throw_bad_cast()
 _LIBCPP_END_NAMESPACE_STD
 
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+#  include <cstdlib>
 #  include <exception>
 #  include <type_traits>
 #endif

diff  --git a/libcxx/include/unordered_map b/libcxx/include/unordered_map
index 99d55d3bdd4da..238aa44cb2756 100644
--- a/libcxx/include/unordered_map
+++ b/libcxx/include/unordered_map
@@ -2647,6 +2647,7 @@ _LIBCPP_END_NAMESPACE_STD
 #  include <algorithm>
 #  include <bit>
 #  include <concepts>
+#  include <cstdlib>
 #  include <iterator>
 #  include <type_traits>
 #endif

diff  --git a/libcxx/include/unordered_set b/libcxx/include/unordered_set
index 3d4a1f7466613..a6afb7458385f 100644
--- a/libcxx/include/unordered_set
+++ b/libcxx/include/unordered_set
@@ -1817,6 +1817,7 @@ _LIBCPP_END_NAMESPACE_STD
 
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #  include <concepts>
+#  include <cstdlib>
 #  include <functional>
 #  include <iterator>
 #  include <type_traits>

diff  --git a/libcxx/include/valarray b/libcxx/include/valarray
index 3007d5c478aee..c5ed1525e6137 100644
--- a/libcxx/include/valarray
+++ b/libcxx/include/valarray
@@ -4935,6 +4935,7 @@ _LIBCPP_POP_MACROS
 #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #  include <algorithm>
 #  include <concepts>
+#  include <cstdlib>
 #  include <cstring>
 #  include <functional>
 #  include <type_traits>

diff  --git a/libcxx/include/vector b/libcxx/include/vector
index 2361ba8e215ff..40f73b8c1ec83 100644
--- a/libcxx/include/vector
+++ b/libcxx/include/vector
@@ -317,7 +317,6 @@ template<class T, class charT> requires is-vector-bool-reference<T> // Since C++
 #include <__utility/move.h>
 #include <__utility/swap.h>
 #include <climits>
-#include <cstdlib>
 #include <cstring>
 #include <iosfwd> // for forward declaration of vector
 #include <limits>
@@ -3362,6 +3361,7 @@ _LIBCPP_POP_MACROS
 #  include <algorithm>
 #  include <atomic>
 #  include <concepts>
+#  include <cstdlib>
 #  include <type_traits>
 #  include <typeinfo>
 #  include <utility>

diff  --git a/libcxx/test/libcxx/transitive_includes/cxx03.csv b/libcxx/test/libcxx/transitive_includes/cxx03.csv
index f8995327e5146..3223ab48cf7e3 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx03.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx03.csv
@@ -212,7 +212,6 @@ exception type_traits
 exception version
 execution version
 expected cstddef
-expected cstdlib
 expected initializer_list
 expected new
 expected version

diff  --git a/libcxx/test/libcxx/transitive_includes/cxx11.csv b/libcxx/test/libcxx/transitive_includes/cxx11.csv
index 33f39ae09b322..1cc6e3ac53053 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx11.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx11.csv
@@ -212,7 +212,6 @@ exception type_traits
 exception version
 execution version
 expected cstddef
-expected cstdlib
 expected initializer_list
 expected new
 expected version

diff  --git a/libcxx/test/libcxx/transitive_includes/cxx14.csv b/libcxx/test/libcxx/transitive_includes/cxx14.csv
index d51c0c38f5354..d7499184088f7 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx14.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx14.csv
@@ -212,7 +212,6 @@ exception type_traits
 exception version
 execution version
 expected cstddef
-expected cstdlib
 expected initializer_list
 expected new
 expected version

diff  --git a/libcxx/test/libcxx/transitive_includes/cxx17.csv b/libcxx/test/libcxx/transitive_includes/cxx17.csv
index d51c0c38f5354..d7499184088f7 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx17.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx17.csv
@@ -212,7 +212,6 @@ exception type_traits
 exception version
 execution version
 expected cstddef
-expected cstdlib
 expected initializer_list
 expected new
 expected version

diff  --git a/libcxx/test/libcxx/transitive_includes/cxx20.csv b/libcxx/test/libcxx/transitive_includes/cxx20.csv
index 522b2eb79eef7..8926711792526 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx20.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx20.csv
@@ -219,7 +219,6 @@ exception type_traits
 exception version
 execution version
 expected cstddef
-expected cstdlib
 expected initializer_list
 expected new
 expected version

diff  --git a/libcxx/test/libcxx/transitive_includes/cxx2b.csv b/libcxx/test/libcxx/transitive_includes/cxx2b.csv
index 3e02d8d48f47c..efac40b2139cf 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx2b.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b.csv
@@ -1,7 +1,6 @@
 algorithm climits
 algorithm cstddef
 algorithm cstdint
-algorithm cstdlib
 algorithm cstring
 algorithm initializer_list
 algorithm iosfwd
@@ -10,7 +9,6 @@ algorithm new
 algorithm version
 any cstddef
 any cstdint
-any cstdlib
 any cstring
 any initializer_list
 any limits
@@ -20,7 +18,6 @@ any typeinfo
 any version
 array compare
 array cstddef
-array cstdlib
 array initializer_list
 array limits
 array stdexcept
@@ -44,13 +41,11 @@ barrier new
 barrier ratio
 barrier version
 bit cstdint
-bit cstdlib
 bit limits
 bit version
 bitset climits
 bitset cstddef
 bitset cstdint
-bitset cstdlib
 bitset cstring
 bitset initializer_list
 bitset iosfwd
@@ -64,7 +59,6 @@ charconv cerrno
 charconv cmath
 charconv cstddef
 charconv cstdint
-charconv cstdlib
 charconv initializer_list
 charconv limits
 chrono array
@@ -92,6 +86,7 @@ cmath version
 codecvt cctype
 codecvt cstddef
 codecvt cstdint
+codecvt cstdlib
 codecvt cstring
 codecvt mutex
 codecvt string
@@ -109,7 +104,6 @@ complex version
 concepts cstddef
 concepts version
 condition_variable cstddef
-condition_variable cstdlib
 condition_variable ctime
 condition_variable iosfwd
 condition_variable limits
@@ -133,7 +127,6 @@ cwctype cctype
 deque compare
 deque cstddef
 deque cstdint
-deque cstdlib
 deque cstring
 deque initializer_list
 deque limits
@@ -146,7 +139,6 @@ exception cstdlib
 exception version
 execution version
 expected cstddef
-expected cstdlib
 expected initializer_list
 expected new
 expected version
@@ -162,7 +154,6 @@ experimental/list list
 experimental/map experimental/memory_resource
 experimental/map map
 experimental/memory_resource cstddef
-experimental/memory_resource cstdlib
 experimental/memory_resource experimental/utility
 experimental/memory_resource limits
 experimental/memory_resource new
@@ -213,7 +204,6 @@ filesystem cerrno
 filesystem compare
 filesystem cstddef
 filesystem cstdint
-filesystem cstdlib
 filesystem ctime
 filesystem iomanip
 filesystem iosfwd
@@ -245,7 +235,6 @@ format version
 forward_list compare
 forward_list cstddef
 forward_list cstdint
-forward_list cstdlib
 forward_list cstring
 forward_list initializer_list
 forward_list limits
@@ -270,7 +259,6 @@ fstream version
 functional array
 functional cstddef
 functional cstdint
-functional cstdlib
 functional cstring
 functional initializer_list
 functional iosfwd
@@ -304,6 +292,7 @@ iomanip version
 ios cctype
 ios cstddef
 ios cstdint
+ios cstdlib
 ios cstring
 ios iosfwd
 ios mutex
@@ -323,7 +312,6 @@ istream version
 iterator compare
 iterator concepts
 iterator cstddef
-iterator cstdlib
 iterator initializer_list
 iterator iosfwd
 iterator limits
@@ -341,7 +329,6 @@ limits version
 list compare
 list cstddef
 list cstdint
-list cstdlib
 list cstring
 list initializer_list
 list limits
@@ -367,7 +354,6 @@ locale string
 locale version
 map compare
 map cstddef
-map cstdlib
 map initializer_list
 map limits
 map new
@@ -378,7 +364,6 @@ map version
 memory compare
 memory cstddef
 memory cstdint
-memory cstdlib
 memory cstring
 memory initializer_list
 memory iosfwd
@@ -398,7 +383,6 @@ memory_resource tuple
 memory_resource version
 mutex cstddef
 mutex cstdint
-mutex cstdlib
 mutex ctime
 mutex iosfwd
 mutex limits
@@ -429,7 +413,6 @@ optional version
 ostream bitset
 ostream cstddef
 ostream cstdint
-ostream cstdlib
 ostream cstring
 ostream initializer_list
 ostream ios
@@ -443,7 +426,6 @@ ostream typeinfo
 ostream version
 queue compare
 queue cstddef
-queue cstdlib
 queue deque
 queue initializer_list
 queue limits
@@ -452,7 +434,6 @@ queue version
 random cmath
 random cstddef
 random cstdint
-random cstdlib
 random initializer_list
 random iosfwd
 random limits
@@ -462,7 +443,6 @@ random vector
 random version
 ranges compare
 ranges cstddef
-ranges cstdlib
 ranges initializer_list
 ranges iosfwd
 ranges iterator
@@ -505,7 +485,6 @@ semaphore ratio
 semaphore version
 set compare
 set cstddef
-set cstdlib
 set initializer_list
 set limits
 set new
@@ -538,7 +517,6 @@ stack cstddef
 stack deque
 stack initializer_list
 stack version
-stdexcept cstdlib
 stdexcept iosfwd
 streambuf cstdint
 streambuf ios
@@ -549,7 +527,6 @@ string compare
 string cstddef
 string cstdint
 string cstdio
-string cstdlib
 string cstring
 string cwchar
 string initializer_list
@@ -564,7 +541,6 @@ string_view compare
 string_view cstddef
 string_view cstdint
 string_view cstdio
-string_view cstdlib
 string_view cstring
 string_view cwchar
 string_view initializer_list
@@ -612,12 +588,10 @@ typeindex typeinfo
 typeindex version
 typeinfo cstddef
 typeinfo cstdint
-typeinfo cstdlib
 unordered_map cmath
 unordered_map compare
 unordered_map cstddef
 unordered_map cstdint
-unordered_map cstdlib
 unordered_map cstring
 unordered_map initializer_list
 unordered_map limits
@@ -630,7 +604,6 @@ unordered_set cmath
 unordered_set compare
 unordered_set cstddef
 unordered_set cstdint
-unordered_set cstdlib
 unordered_set cstring
 unordered_set initializer_list
 unordered_set limits
@@ -647,7 +620,6 @@ utility version
 valarray cmath
 valarray cstddef
 valarray cstdint
-valarray cstdlib
 valarray initializer_list
 valarray limits
 valarray new
@@ -666,7 +638,6 @@ vector climits
 vector compare
 vector cstddef
 vector cstdint
-vector cstdlib
 vector cstring
 vector initializer_list
 vector iosfwd

diff  --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval.pass.cpp
index 578a66c7c1c0c..762acd4650335 100644
--- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval.pass.cpp
+++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval.pass.cpp
@@ -17,6 +17,7 @@
 
 #include <cassert>
 #include <cstdint>
+#include <cstdlib>
 #include <random>
 #include <vector>
 

diff  --git a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval_param.pass.cpp b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval_param.pass.cpp
index f058e681e41c7..cee3dbfb6f643 100644
--- a/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval_param.pass.cpp
+++ b/libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/eval_param.pass.cpp
@@ -15,11 +15,10 @@
 
 // template<class _URNG> result_type operator()(_URNG& g, const param_type& parm);
 
+#include <cassert>
+#include <cstdlib>
 #include <random>
 #include <vector>
-#include <cassert>
-
-#include "test_macros.h"
 
 int main(int, char**)
 {


        


More information about the libcxx-commits mailing list