``<filesystem>`` header. The associated macro
``_LIBCPP_DEPRECATED_EXPERIMENTAL_FILESYSTEM`` has also been removed.
+- Transitive includes of ``<algorithm>`` have been removed. If you see compiler errors
+ related to missing declarations inside namespace ``std`` when updating libc++,
+ you are probably missing ``#include <algorithm>`` in a file where you use algorithms.
+
ABI Changes
-----------
#ifndef _LIBCPP___BIT_REFERENCE
#define _LIBCPP___BIT_REFERENCE
+#include <__algorithm/min.h>
#include <__bits>
#include <__config>
-#include <algorithm>
+#include <__iterator/iterator_traits.h>
+#include <__memory/pointer_traits.h>
+#include <cstring>
+#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
#ifndef _LIBCPP___FILESYSTEM_PATH_H
#define _LIBCPP___FILESYSTEM_PATH_H
+#include <__algorithm/replace.h>
+#include <__algorithm/replace_copy.h>
#include <__availability>
#include <__config>
#include <__iterator/back_insert_iterator.h>
#include <__algorithm/copy.h>
#include <__algorithm/fill_n.h>
+#include <__algorithm/transform.h>
#include <__availability>
#include <__config>
#include <__format/format_error.h>
#ifndef _LIBCPP__HASH_TABLE
#define _LIBCPP__HASH_TABLE
+#include <__algorithm/max.h>
+#include <__algorithm/min.h>
#include <__bits> // __libcpp_clz
#include <__config>
#include <__debug>
-#include <algorithm>
+#include <__functional/hash.h>
#include <cmath>
#include <initializer_list>
#include <iterator>
#ifndef _LIBCPP_SPLIT_BUFFER
#define _LIBCPP_SPLIT_BUFFER
+#include <__algorithm/max.h>
+#include <__algorithm/move.h>
+#include <__algorithm/move_backward.h>
#include <__config>
+#include <__iterator/distance.h>
+#include <__iterator/iterator_traits.h>
+#include <__iterator/move_iterator.h>
+#include <__memory/allocator.h>
+#include <__memory/compressed_pair.h>
#include <__utility/forward.h>
-#include <algorithm>
+#include <memory>
#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#ifndef _LIBCPP___TREE
#define _LIBCPP___TREE
+#include <__algorithm/min.h>
#include <__config>
#include <__utility/forward.h>
-#include <algorithm>
#include <iterator>
#include <limits>
#include <memory>
*/
+#include <__algorithm/equal.h>
+#include <__algorithm/fill_n.h>
+#include <__algorithm/lexicographical_compare.h>
+#include <__algorithm/swap_ranges.h>
#include <__config>
#include <__debug>
#include <__tuple>
#include <__utility/unreachable.h>
-#include <algorithm>
#include <iterator>
#include <stdexcept>
#include <type_traits>
*/
+#include <__algorithm/fill.h>
#include <__bit_reference>
#include <__config>
+#include <__functional/unary_function.h>
#include <climits>
#include <cstddef>
#include <iosfwd>
*/
+#include <__algorithm/copy.h>
+#include <__algorithm/copy_backward.h>
+#include <__algorithm/equal.h>
+#include <__algorithm/fill_n.h>
+#include <__algorithm/lexicographical_compare.h>
+#include <__algorithm/min.h>
+#include <__algorithm/remove.h>
+#include <__algorithm/remove_if.h>
+#include <__algorithm/unwrap_iter.h>
#include <__config>
#include <__debug>
#include <__iterator/iterator_traits.h>
#include <__split_buffer>
#include <__utility/forward.h>
-#include <algorithm>
#include <compare>
#include <initializer_list>
#include <iterator>
#include <__debug>
#include <__memory/uses_allocator.h>
-#include <algorithm>
#include <array>
#include <experimental/__config>
#include <functional>
*/
-#include <algorithm>
#include <array>
#include <cstddef>
#include <experimental/__config>
*/
+#include <__algorithm/is_permutation.h>
#include <__config>
#include <__hash_table>
#include <ext/__hash>
*/
+#include <__algorithm/is_permutation.h>
#include <__config>
#include <__hash_table>
#include <ext/__hash>
// Enable the contents of the header only when libc++ was built with LIBCXX_ENABLE_INCOMPLETE_FEATURES.
#if !defined(_LIBCPP_HAS_NO_INCOMPLETE_FORMAT)
+#include <__algorithm/clamp.h>
#include <__config>
#include <__debug>
#include <__format/format_arg.h>
*/
+#include <__algorithm/comp.h>
+#include <__algorithm/lexicographical_compare.h>
+#include <__algorithm/min.h>
#include <__config>
#include <__utility/forward.h>
-#include <algorithm>
#include <initializer_list>
#include <iterator>
#include <limits>
*/
+#include <__algorithm/max.h>
#include <__availability>
#include <__config>
#include <__debug>
*/
+#include <__algorithm/comp.h>
+#include <__algorithm/equal.h>
+#include <__algorithm/lexicographical_compare.h>
+#include <__algorithm/min.h>
#include <__config>
#include <__debug>
#include <__utility/forward.h>
-#include <algorithm>
#include <initializer_list>
#include <iterator>
#include <limits>
*/
+#include <__algorithm/equal.h>
+#include <__algorithm/find.h>
+#include <__algorithm/max.h>
+#include <__algorithm/reverse.h>
+#include <__algorithm/unwrap_iter.h>
#include <__config>
#include <__debug>
#include <__locale>
-#include <algorithm>
#ifndef __APPLE__
# include <cstdarg>
#endif
*/
+#include <__algorithm/equal.h>
+#include <__algorithm/lexicographical_compare.h>
#include <__config>
#include <__debug>
#include <__functional/is_transparent.h>
*/
+#include <__algorithm/make_heap.h>
+#include <__algorithm/pop_heap.h>
+#include <__algorithm/push_heap.h>
#include <__config>
#include <__iterator/iterator_traits.h>
#include <__memory/uses_allocator.h>
#include <__utility/forward.h>
-#include <algorithm>
#include <compare>
#include <deque>
#include <functional>
#include <initializer_list>
#include <version>
-#include <algorithm> // for backward compatibility; TODO remove it
#include <cmath> // for backward compatibility; TODO remove it
#include <cstddef> // for backward compatibility; TODO remove it
#include <cstdint> // for backward compatibility; TODO remove it
} // std
*/
+#include <__algorithm/find.h>
#include <__config>
#include <__debug>
#include <__iterator/wrap_iter.h>
*/
+#include <__algorithm/equal.h>
+#include <__algorithm/lexicographical_compare.h>
#include <__config>
#include <__debug>
#include <__functional/is_transparent.h>
*/
+#include <__algorithm/max.h>
+#include <__algorithm/min.h>
+#include <__algorithm/remove.h>
+#include <__algorithm/remove_if.h>
#include <__config>
#include <__debug>
#include <__ios/fpos.h>
#include <__iterator/wrap_iter.h>
-#include <algorithm>
#include <compare>
#include <cstdio> // EOF
#include <cstdlib>
*/
+#include <__algorithm/min.h>
#include <__config>
#include <__debug>
#include <__ranges/concepts.h>
#include <__ranges/enable_view.h>
#include <__ranges/size.h>
#include <__string>
-#include <algorithm>
#include <compare>
#include <iosfwd>
#include <iterator>
*/
+#include <__algorithm/is_permutation.h>
#include <__config>
#include <__debug>
#include <__functional/is_transparent.h>
*/
+#include <__algorithm/is_permutation.h>
#include <__config>
#include <__debug>
#include <__functional/is_transparent.h>
*/
+#include <__algorithm/copy.h>
+#include <__algorithm/count.h>
+#include <__algorithm/fill.h>
+#include <__algorithm/max_element.h>
+#include <__algorithm/min.h>
+#include <__algorithm/min_element.h>
+#include <__algorithm/unwrap_iter.h>
#include <__config>
-#include <algorithm>
#include <cmath>
#include <cstddef>
#include <functional>
*/
+#include <__algorithm/copy.h>
+#include <__algorithm/equal.h>
+#include <__algorithm/fill_n.h>
+#include <__algorithm/lexicographical_compare.h>
+#include <__algorithm/remove.h>
+#include <__algorithm/remove_if.h>
+#include <__algorithm/rotate.h>
+#include <__algorithm/unwrap_iter.h>
#include <__bit_reference>
#include <__config>
#include <__debug>
+#include <__functional/hash.h>
#include <__iterator/iterator_traits.h>
#include <__iterator/wrap_iter.h>
#include <__split_buffer>
#include <__utility/forward.h>
-#include <algorithm>
#include <climits>
#include <compare>
#include <cstdlib>
// -> forward_list<typename iterator_traits<InputIterator>::value_type, Allocator>;
//
+#include <algorithm>
#include <forward_list>
#include <iterator>
#include <cassert>
// void sort();
+#include <algorithm>
#include <list>
#include <random>
#include <vector>
#include <format>
+#include <algorithm>
#include <array>
#include <cassert>
#include <cmath>
#define DEMANGLE_UTILITY_H
#include "StringView.h"
+#include <algorithm>
#include <array>
#include <cstdint>
#include <cstdlib>
// UNSUPPORTED: use_system_cxx_lib && target={{.+}}-apple-macosx11.0
#include "support/timer.h"
+#include <algorithm>
#include <cassert>
#include <cstdio>
#include <cstdlib>