diff --git a/libcxx/include/__filesystem/path.h b/libcxx/include/__filesystem/path.h --- a/libcxx/include/__filesystem/path.h +++ b/libcxx/include/__filesystem/path.h @@ -14,6 +14,7 @@ #include <__algorithm/replace_copy.h> #include <__availability> #include <__config> +#include <__functional/hash.h> #include <__functional/unary_function.h> #include <__fwd/hash.h> #include <__iterator/back_insert_iterator.h> diff --git a/libcxx/include/__memory/concepts.h b/libcxx/include/__memory/concepts.h --- a/libcxx/include/__memory/concepts.h +++ b/libcxx/include/__memory/concepts.h @@ -19,6 +19,7 @@ #include <__ranges/concepts.h> #include <__type_traits/is_reference.h> #include <__type_traits/remove_cvref.h> +#include <__type_traits/remove_reference.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__ranges/all.h b/libcxx/include/__ranges/all.h --- a/libcxx/include/__ranges/all.h +++ b/libcxx/include/__ranges/all.h @@ -11,6 +11,8 @@ #define _LIBCPP___RANGES_ALL_H #include <__config> +#include <__functional/compose.h> // TODO(modules): Those should not be required +#include <__functional/perfect_forward.h> // #include <__iterator/concepts.h> #include <__iterator/iterator_traits.h> #include <__ranges/access.h> diff --git a/libcxx/include/__ranges/transform_view.h b/libcxx/include/__ranges/transform_view.h --- a/libcxx/include/__ranges/transform_view.h +++ b/libcxx/include/__ranges/transform_view.h @@ -20,6 +20,7 @@ #include <__config> #include <__functional/bind_back.h> #include <__functional/invoke.h> +#include <__functional/perfect_forward.h> #include <__iterator/concepts.h> #include <__iterator/iterator_traits.h> #include <__memory/addressof.h> diff --git a/libcxx/include/__system_error/error_condition.h b/libcxx/include/__system_error/error_condition.h --- a/libcxx/include/__system_error/error_condition.h +++ b/libcxx/include/__system_error/error_condition.h @@ -12,6 +12,7 @@ #include <__compare/ordering.h> #include <__config> +#include <__functional/hash.h> #include <__functional/unary_function.h> #include <__system_error/errc.h> #include <__system_error/error_category.h> diff --git a/libcxx/include/cwchar b/libcxx/include/cwchar --- a/libcxx/include/cwchar +++ b/libcxx/include/cwchar @@ -110,6 +110,7 @@ #include <__type_traits/is_same.h> #include <__type_traits/remove_cv.h> #include +#include #include diff --git a/libcxx/include/module.modulemap.in b/libcxx/include/module.modulemap.in --- a/libcxx/include/module.modulemap.in +++ b/libcxx/include/module.modulemap.in @@ -502,12 +502,11 @@ } module ranges_partial_sort { private header "__algorithm/ranges_partial_sort.h" - export algorithm.__algorithm.in_out_result export functional.__functional.ranges_operations } module ranges_partial_sort_copy { private header "__algorithm/ranges_partial_sort_copy.h" - export algorithm.__algorithm.in_out_out_result + export algorithm.__algorithm.in_out_result export functional.__functional.ranges_operations } module ranges_partition { private header "__algorithm/ranges_partition.h" } @@ -763,7 +762,6 @@ private header "__chrono/high_resolution_clock.h" export steady_clock export system_clock - export time_point } module literals { private header "__chrono/literals.h" } module month { private header "__chrono/month.h" } @@ -778,8 +776,14 @@ private header "__chrono/parser_std_format_spec.h" } module statically_widen { private header "__chrono/statically_widen.h" } - module steady_clock { private header "__chrono/steady_clock.h" } - module system_clock { private header "__chrono/system_clock.h" } + module steady_clock { + private header "__chrono/steady_clock.h" + export time_point + } + module system_clock { + private header "__chrono/system_clock.h" + export time_point + } module time_point { private header "__chrono/time_point.h" } module weekday { private header "__chrono/weekday.h" } module year { private header "__chrono/year.h" } @@ -939,7 +943,6 @@ private header "__format/format_context.h" export optional export locale - export __locale } module format_error { private header "__format/format_error.h" } module format_functions { @@ -1085,7 +1088,7 @@ module cpp17_iterator_concepts { private header "__iterator/cpp17_iterator_concepts.h" } module concepts { private header "__iterator/concepts.h" - export concepts.equality_comparable + export std.concepts.__concepts.equality_comparable export type_traits.common_reference } module counted_iterator { private header "__iterator/counted_iterator.h" } @@ -1120,10 +1123,7 @@ module permutable { private header "__iterator/permutable.h" } module prev { private header "__iterator/prev.h" } module projected { private header "__iterator/projected.h" } - module readable_traits { - private header "__iterator/readable_traits.h" - export __iterator.iterator_traits - } + module readable_traits { private header "__iterator/readable_traits.h" } module reverse_access { private header "__iterator/reverse_access.h" } module reverse_iterator { private header "__iterator/reverse_iterator.h" } module segmented_iterator { private header "__iterator/segmented_iterator.h" } @@ -1168,12 +1168,14 @@ } module mdspan { header "mdspan" - export array - export span export * module __mdspan { - module extents { private header "__mdspan/extents.h" } + module extents { + private header "__mdspan/extents.h" + export array + export span + } } } module memory { @@ -1508,7 +1510,6 @@ } module system_error { header "system_error" - export __errc export * module __system_error { module errc { private header "__system_error/errc.h" } @@ -1874,10 +1875,6 @@ header "experimental/set" export * } - module span { - header "span" - export * - } module string { header "experimental/string" export * diff --git a/libcxx/include/string_view b/libcxx/include/string_view --- a/libcxx/include/string_view +++ b/libcxx/include/string_view @@ -228,6 +228,7 @@ #include <__type_traits/remove_reference.h> #include <__type_traits/type_identity.h> #include +#include #include #include #include diff --git a/libcxx/include/tgmath.h b/libcxx/include/tgmath.h --- a/libcxx/include/tgmath.h +++ b/libcxx/include/tgmath.h @@ -24,6 +24,8 @@ #endif #ifdef __cplusplus +# include +# include # include #else # if __has_include_next() diff --git a/libcxx/test/libcxx/transitive_includes/cxx03.csv b/libcxx/test/libcxx/transitive_includes/cxx03.csv --- a/libcxx/test/libcxx/transitive_includes/cxx03.csv +++ b/libcxx/test/libcxx/transitive_includes/cxx03.csv @@ -285,6 +285,7 @@ filesystem cstddef filesystem cstdint filesystem cstdlib +filesystem cstring filesystem ctime filesystem iomanip filesystem iosfwd diff --git a/libcxx/test/libcxx/transitive_includes/cxx11.csv b/libcxx/test/libcxx/transitive_includes/cxx11.csv --- a/libcxx/test/libcxx/transitive_includes/cxx11.csv +++ b/libcxx/test/libcxx/transitive_includes/cxx11.csv @@ -285,6 +285,7 @@ filesystem cstddef filesystem cstdint filesystem cstdlib +filesystem cstring filesystem ctime filesystem iomanip filesystem iosfwd diff --git a/libcxx/test/libcxx/transitive_includes/cxx14.csv b/libcxx/test/libcxx/transitive_includes/cxx14.csv --- a/libcxx/test/libcxx/transitive_includes/cxx14.csv +++ b/libcxx/test/libcxx/transitive_includes/cxx14.csv @@ -287,6 +287,7 @@ filesystem cstddef filesystem cstdint filesystem cstdlib +filesystem cstring filesystem ctime filesystem iomanip filesystem iosfwd diff --git a/libcxx/test/libcxx/transitive_includes/cxx17.csv b/libcxx/test/libcxx/transitive_includes/cxx17.csv --- a/libcxx/test/libcxx/transitive_includes/cxx17.csv +++ b/libcxx/test/libcxx/transitive_includes/cxx17.csv @@ -287,6 +287,7 @@ filesystem cstddef filesystem cstdint filesystem cstdlib +filesystem cstring filesystem ctime filesystem iomanip filesystem iosfwd diff --git a/libcxx/test/libcxx/transitive_includes/cxx20.csv b/libcxx/test/libcxx/transitive_includes/cxx20.csv --- a/libcxx/test/libcxx/transitive_includes/cxx20.csv +++ b/libcxx/test/libcxx/transitive_includes/cxx20.csv @@ -294,6 +294,7 @@ filesystem cstddef filesystem cstdint filesystem cstdlib +filesystem cstring filesystem ctime filesystem iomanip filesystem iosfwd diff --git a/libcxx/test/libcxx/transitive_includes/cxx23.csv b/libcxx/test/libcxx/transitive_includes/cxx23.csv --- a/libcxx/test/libcxx/transitive_includes/cxx23.csv +++ b/libcxx/test/libcxx/transitive_includes/cxx23.csv @@ -191,6 +191,7 @@ filesystem compare filesystem cstddef filesystem cstdint +filesystem cstring filesystem ctime filesystem iomanip filesystem iosfwd diff --git a/libcxx/test/libcxx/transitive_includes/cxx26.csv b/libcxx/test/libcxx/transitive_includes/cxx26.csv --- a/libcxx/test/libcxx/transitive_includes/cxx26.csv +++ b/libcxx/test/libcxx/transitive_includes/cxx26.csv @@ -191,6 +191,7 @@ filesystem compare filesystem cstddef filesystem cstdint +filesystem cstring filesystem ctime filesystem iomanip filesystem iosfwd