diff --git a/libcxx/include/CMakeLists.txt b/libcxx/include/CMakeLists.txt --- a/libcxx/include/CMakeLists.txt +++ b/libcxx/include/CMakeLists.txt @@ -302,7 +302,6 @@ __coroutine/trivial_awaitables.h __debug __debug_utils/randomize_range.h - __errc __exception/exception.h __exception/exception_ptr.h __exception/nested_exception.h @@ -589,6 +588,7 @@ __support/xlocale/__nop_locale_mgmt.h __support/xlocale/__posix_l_fallback.h __support/xlocale/__strtonum_fallback.h + __system_error/errc.h __system_error/error_category.h __system_error/error_code.h __system_error/error_condition.h diff --git a/libcxx/include/__charconv/from_chars_integral.h b/libcxx/include/__charconv/from_chars_integral.h --- a/libcxx/include/__charconv/from_chars_integral.h +++ b/libcxx/include/__charconv/from_chars_integral.h @@ -14,8 +14,8 @@ #include <__charconv/from_chars_result.h> #include <__charconv/traits.h> #include <__config> -#include <__errc> #include <__memory/addressof.h> +#include <__system_error/errc.h> #include <__type_traits/enable_if.h> #include <__type_traits/integral_constant.h> #include <__type_traits/is_integral.h> diff --git a/libcxx/include/__charconv/from_chars_result.h b/libcxx/include/__charconv/from_chars_result.h --- a/libcxx/include/__charconv/from_chars_result.h +++ b/libcxx/include/__charconv/from_chars_result.h @@ -11,7 +11,7 @@ #define _LIBCPP___CHARCONV_FROM_CHARS_RESULT_H #include <__config> -#include <__errc> +#include <__system_error/errc.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__charconv/to_chars_integral.h b/libcxx/include/__charconv/to_chars_integral.h --- a/libcxx/include/__charconv/to_chars_integral.h +++ b/libcxx/include/__charconv/to_chars_integral.h @@ -17,7 +17,7 @@ #include <__charconv/to_chars_result.h> #include <__charconv/traits.h> #include <__config> -#include <__errc> +#include <__system_error/errc.h> #include <__type_traits/enable_if.h> #include <__type_traits/integral_constant.h> #include <__type_traits/is_same.h> diff --git a/libcxx/include/__charconv/to_chars_result.h b/libcxx/include/__charconv/to_chars_result.h --- a/libcxx/include/__charconv/to_chars_result.h +++ b/libcxx/include/__charconv/to_chars_result.h @@ -11,7 +11,7 @@ #define _LIBCPP___CHARCONV_TO_CHARS_RESULT_H #include <__config> -#include <__errc> +#include <__system_error/errc.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__filesystem/directory_entry.h b/libcxx/include/__filesystem/directory_entry.h --- a/libcxx/include/__filesystem/directory_entry.h +++ b/libcxx/include/__filesystem/directory_entry.h @@ -14,7 +14,6 @@ #include <__chrono/time_point.h> #include <__compare/ordering.h> #include <__config> -#include <__errc> #include <__filesystem/file_status.h> #include <__filesystem/file_time_type.h> #include <__filesystem/file_type.h> @@ -22,6 +21,7 @@ #include <__filesystem/operations.h> #include <__filesystem/path.h> #include <__filesystem/perms.h> +#include <__system_error/errc.h> #include <__system_error/error_code.h> #include <__utility/move.h> #include <__utility/unreachable.h> diff --git a/libcxx/include/__format/formatter_floating_point.h b/libcxx/include/__format/formatter_floating_point.h --- a/libcxx/include/__format/formatter_floating_point.h +++ b/libcxx/include/__format/formatter_floating_point.h @@ -22,7 +22,6 @@ #include <__concepts/arithmetic.h> #include <__concepts/same_as.h> #include <__config> -#include <__errc> #include <__format/concepts.h> #include <__format/format_parse_context.h> #include <__format/formatter.h> @@ -30,6 +29,7 @@ #include <__format/formatter_output.h> #include <__format/parser_std_format_spec.h> #include <__memory/allocator.h> +#include <__system_error/errc.h> #include <__type_traits/conditional.h> #include <__utility/move.h> #include <__utility/unreachable.h> diff --git a/libcxx/include/__format/formatter_integral.h b/libcxx/include/__format/formatter_integral.h --- a/libcxx/include/__format/formatter_integral.h +++ b/libcxx/include/__format/formatter_integral.h @@ -16,11 +16,11 @@ #include <__concepts/arithmetic.h> #include <__concepts/same_as.h> #include <__config> -#include <__errc> #include <__format/concepts.h> #include <__format/format_error.h> #include <__format/formatter_output.h> #include <__format/parser_std_format_spec.h> +#include <__system_error/errc.h> #include <__type_traits/make_unsigned.h> #include <__utility/unreachable.h> #include diff --git a/libcxx/include/__format/formatter_output.h b/libcxx/include/__format/formatter_output.h --- a/libcxx/include/__format/formatter_output.h +++ b/libcxx/include/__format/formatter_output.h @@ -19,7 +19,6 @@ #include <__chrono/statically_widen.h> #include <__concepts/same_as.h> #include <__config> -#include <__errc> #include <__format/buffer.h> #include <__format/concepts.h> #include <__format/escaped_output_table.h> @@ -29,6 +28,7 @@ #include <__iterator/back_insert_iterator.h> #include <__iterator/concepts.h> #include <__iterator/readable_traits.h> // iter_value_t +#include <__system_error/errc.h> #include <__type_traits/make_unsigned.h> #include <__utility/move.h> #include <__utility/unreachable.h> diff --git a/libcxx/include/__errc b/libcxx/include/__system_error/errc.h rename from libcxx/include/__errc rename to libcxx/include/__system_error/errc.h diff --git a/libcxx/include/__system_error/error_code.h b/libcxx/include/__system_error/error_code.h --- a/libcxx/include/__system_error/error_code.h +++ b/libcxx/include/__system_error/error_code.h @@ -12,9 +12,9 @@ #include <__compare/ordering.h> #include <__config> -#include <__errc> #include <__functional/hash.h> #include <__functional/unary_function.h> +#include <__system_error/errc.h> #include <__system_error/error_category.h> #include <__system_error/error_condition.h> #include 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,8 +12,8 @@ #include <__compare/ordering.h> #include <__config> -#include <__errc> #include <__functional/unary_function.h> +#include <__system_error/errc.h> #include <__system_error/error_category.h> #include #include diff --git a/libcxx/include/charconv b/libcxx/include/charconv --- a/libcxx/include/charconv +++ b/libcxx/include/charconv @@ -80,7 +80,7 @@ #include <__charconv/traits.h> #include <__config> #include <__debug> -#include <__errc> +#include <__system_error/errc.h> #include // for log2f #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 @@ -1437,7 +1437,8 @@ export __errc export * module __system_error { - module error_category { private header "__system_error/error_category.h" } + module errc { private header "__system_error/errc.h" } + module error_category { private header "__system_error/error_category.h" } module error_code { private header "__system_error/error_code.h" export functional.__functional.hash @@ -1449,6 +1450,7 @@ export functional.__functional.unary_function } module system_error { private header "__system_error/system_error.h" } + } } module thread { @@ -1715,7 +1717,6 @@ module __availability { private header "__availability" export * } module __bit_reference { private header "__bit_reference" export * } module __debug { header "__debug" export * } - module __errc { private header "__errc" export * } module __hash_table { header "__hash_table" export * } module __locale { @requires_LIBCXX_ENABLE_LOCALIZATION@ diff --git a/libcxx/include/system_error b/libcxx/include/system_error --- a/libcxx/include/system_error +++ b/libcxx/include/system_error @@ -146,6 +146,7 @@ #include <__assert> // all public C++ headers provide the assertion handler #include <__config> +#include <__system_error/errc.h> #include <__system_error/error_category.h> #include <__system_error/error_code.h> #include <__system_error/error_condition.h> diff --git a/libcxx/src/filesystem/filesystem_common.h b/libcxx/src/filesystem/filesystem_common.h --- a/libcxx/src/filesystem/filesystem_common.h +++ b/libcxx/src/filesystem/filesystem_common.h @@ -12,6 +12,7 @@ #include <__assert> #include <__config> #include +#include #include #include #include diff --git a/libcxx/src/include/ryu/ryu.h b/libcxx/src/include/ryu/ryu.h --- a/libcxx/src/include/ryu/ryu.h +++ b/libcxx/src/include/ryu/ryu.h @@ -48,7 +48,7 @@ #include <__charconv/to_chars_result.h> #include <__config> #include <__debug> -#include <__errc> +#include <__system_error/errc.h> #include #include #include diff --git a/libcxx/test/libcxx/private_headers.verify.cpp b/libcxx/test/libcxx/private_headers.verify.cpp --- a/libcxx/test/libcxx/private_headers.verify.cpp +++ b/libcxx/test/libcxx/private_headers.verify.cpp @@ -334,7 +334,6 @@ #include <__coroutine/noop_coroutine_handle.h> // expected-error@*:* {{use of private header from outside its module: '__coroutine/noop_coroutine_handle.h'}} #include <__coroutine/trivial_awaitables.h> // expected-error@*:* {{use of private header from outside its module: '__coroutine/trivial_awaitables.h'}} #include <__debug_utils/randomize_range.h> // expected-error@*:* {{use of private header from outside its module: '__debug_utils/randomize_range.h'}} -#include <__errc> // expected-error@*:* {{use of private header from outside its module: '__errc'}} #include <__exception/exception.h> // expected-error@*:* {{use of private header from outside its module: '__exception/exception.h'}} #include <__exception/exception_ptr.h> // expected-error@*:* {{use of private header from outside its module: '__exception/exception_ptr.h'}} #include <__exception/nested_exception.h> // expected-error@*:* {{use of private header from outside its module: '__exception/nested_exception.h'}} @@ -604,6 +603,7 @@ #include <__string/char_traits.h> // expected-error@*:* {{use of private header from outside its module: '__string/char_traits.h'}} #include <__string/constexpr_c_functions.h> // expected-error@*:* {{use of private header from outside its module: '__string/constexpr_c_functions.h'}} #include <__string/extern_template_lists.h> // expected-error@*:* {{use of private header from outside its module: '__string/extern_template_lists.h'}} +#include <__system_error/errc.h> // expected-error@*:* {{use of private header from outside its module: '__system_error/errc.h'}} #include <__system_error/error_category.h> // expected-error@*:* {{use of private header from outside its module: '__system_error/error_category.h'}} #include <__system_error/error_code.h> // expected-error@*:* {{use of private header from outside its module: '__system_error/error_code.h'}} #include <__system_error/error_condition.h> // expected-error@*:* {{use of private header from outside its module: '__system_error/error_condition.h'}} diff --git a/libcxx/test/libcxx/transitive_includes.sh.cpp b/libcxx/test/libcxx/transitive_includes.sh.cpp --- a/libcxx/test/libcxx/transitive_includes.sh.cpp +++ b/libcxx/test/libcxx/transitive_includes.sh.cpp @@ -27,9 +27,6 @@ // This test uses --trace-includes, which is not supported by GCC. // UNSUPPORTED: gcc -// This test doesn't work on AIX, but it should. Needs investigation. -// XFAIL: buildhost=aix - // This test is not supported when we remove the transitive includes provided for backwards // compatibility. When we bulk-remove them, we'll adjust the includes that are expected by // this test instead. 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 @@ -299,7 +299,6 @@ ext/hash_set new ext/hash_set string ext/hash_set type_traits -filesystem cerrno filesystem compare filesystem concepts filesystem cstddef 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 @@ -299,7 +299,6 @@ ext/hash_set new ext/hash_set string ext/hash_set type_traits -filesystem cerrno filesystem compare filesystem concepts filesystem cstddef 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 @@ -301,7 +301,6 @@ ext/hash_set new ext/hash_set string ext/hash_set type_traits -filesystem cerrno filesystem compare filesystem concepts filesystem cstddef 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 @@ -301,7 +301,6 @@ ext/hash_set new ext/hash_set string ext/hash_set type_traits -filesystem cerrno filesystem compare filesystem concepts filesystem cstddef 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 @@ -308,7 +308,6 @@ ext/hash_set new ext/hash_set string ext/hash_set type_traits -filesystem cerrno filesystem compare filesystem concepts filesystem cstddef diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b.csv b/libcxx/test/libcxx/transitive_includes/cxx2b.csv --- a/libcxx/test/libcxx/transitive_includes/cxx2b.csv +++ b/libcxx/test/libcxx/transitive_includes/cxx2b.csv @@ -201,7 +201,6 @@ ext/hash_set limits ext/hash_set new ext/hash_set string -filesystem cerrno filesystem compare filesystem cstddef filesystem cstdint diff --git a/libcxx/test/std/diagnostics/syserr/errc.pass.cpp b/libcxx/test/std/diagnostics/syserr/errc.pass.cpp --- a/libcxx/test/std/diagnostics/syserr/errc.pass.cpp +++ b/libcxx/test/std/diagnostics/syserr/errc.pass.cpp @@ -10,6 +10,7 @@ // enum errc {...} +#include #include #include "test_macros.h" diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/unlock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/unlock.pass.cpp --- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/unlock.pass.cpp +++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/unlock.pass.cpp @@ -15,9 +15,9 @@ // void unlock(); -#include #include #include +#include #include #include "test_macros.h" diff --git a/libcxx/test/support/charconv_test_helpers.h b/libcxx/test/support/charconv_test_helpers.h --- a/libcxx/test/support/charconv_test_helpers.h +++ b/libcxx/test/support/charconv_test_helpers.h @@ -10,8 +10,9 @@ #define SUPPORT_CHARCONV_TEST_HELPERS_H #include -#include #include +#include +#include #include #include #include diff --git a/libcxx/test/support/filesystem_test_helper.h b/libcxx/test/support/filesystem_test_helper.h --- a/libcxx/test/support/filesystem_test_helper.h +++ b/libcxx/test/support/filesystem_test_helper.h @@ -14,6 +14,7 @@ #endif #include +#include #include #include #include // for printf diff --git a/libcxx/utils/data/ignore_format.txt b/libcxx/utils/data/ignore_format.txt --- a/libcxx/utils/data/ignore_format.txt +++ b/libcxx/utils/data/ignore_format.txt @@ -308,7 +308,6 @@ libcxx/include/__debug libcxx/include/__debug_utils/randomize_range.h libcxx/include/deque -libcxx/include/__errc libcxx/include/errno.h libcxx/include/execution libcxx/include/expected @@ -611,6 +610,7 @@ libcxx/include/__support/solaris/xlocale.h libcxx/include/__support/win32/locale_win32.h libcxx/include/__support/xlocale/__nop_locale_mgmt.h +libcxx/include/__system_error/errc.h libcxx/include/__system_error/error_category.h libcxx/include/__system_error/error_code.h libcxx/include/__system_error/error_condition.h