[libcxx-commits] [libcxx] eb65912 - [libc++] Move __errc to __system_error/errc.h

Nikolas Klauser via libcxx-commits libcxx-commits at lists.llvm.org
Mon Apr 10 10:23:49 PDT 2023


Author: Nikolas Klauser
Date: 2023-04-10T19:23:42+02:00
New Revision: eb65912e41a108dff733f7f345448faae1eb89c2

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

LOG: [libc++] Move __errc to __system_error/errc.h

This file was added before we started granularizing the headers, but is essentially just a granularized header. This moves the header to the correct place.

Reviewed By: #libc, EricWF

Spies: libcxx-commits, arichardson, mikhail.ramalho

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

Added: 
    libcxx/include/__system_error/errc.h

Modified: 
    libcxx/include/CMakeLists.txt
    libcxx/include/__charconv/from_chars_integral.h
    libcxx/include/__charconv/from_chars_result.h
    libcxx/include/__charconv/to_chars_integral.h
    libcxx/include/__charconv/to_chars_result.h
    libcxx/include/__filesystem/directory_entry.h
    libcxx/include/__format/formatter_floating_point.h
    libcxx/include/__format/formatter_integral.h
    libcxx/include/__format/formatter_output.h
    libcxx/include/__system_error/error_code.h
    libcxx/include/__system_error/error_condition.h
    libcxx/include/charconv
    libcxx/include/module.modulemap.in
    libcxx/include/system_error
    libcxx/src/filesystem/filesystem_common.h
    libcxx/src/include/ryu/ryu.h
    libcxx/test/libcxx/private_headers.verify.cpp
    libcxx/test/libcxx/transitive_includes.sh.cpp
    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/diagnostics/syserr/errc.pass.cpp
    libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/unlock.pass.cpp
    libcxx/test/support/charconv_test_helpers.h
    libcxx/test/support/filesystem_test_helper.h
    libcxx/utils/data/ignore_format.txt

Removed: 
    libcxx/include/__errc


################################################################################
diff  --git a/libcxx/include/CMakeLists.txt b/libcxx/include/CMakeLists.txt
index e9b1eb563d04e..65b3d30300daf 100644
--- a/libcxx/include/CMakeLists.txt
+++ b/libcxx/include/CMakeLists.txt
@@ -302,7 +302,6 @@ set(files
   __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 @@ set(files
   __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
index 1b729850da3e4..990aa21741b5a 100644
--- 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
index 028f5142ceccd..7eeb9ec81ce5d 100644
--- 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
index 32205e25c798e..6c726c088f495 100644
--- 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
index ef74f20b9d9ab..67221b3983cfa 100644
--- 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
index bb5088cba8c37..111dcbd184a5f 100644
--- 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
index fb8a6df744da9..12c7e589ff5d1 100644
--- 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
index 0b36844a3f244..80d2457aff283 100644
--- 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 <array>

diff  --git a/libcxx/include/__format/formatter_output.h b/libcxx/include/__format/formatter_output.h
index c6dbfcd95505f..f751d8afe5e08 100644
--- 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
similarity index 100%
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
index b14c7429e3ca4..450df6ef19d3a 100644
--- 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 <cstddef>

diff  --git a/libcxx/include/__system_error/error_condition.h b/libcxx/include/__system_error/error_condition.h
index 2f57a7c3cd32c..dcdafdcdda256 100644
--- 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 <cstddef>
 #include <string>

diff  --git a/libcxx/include/charconv b/libcxx/include/charconv
index 5608e51ac5e8e..3b14237c0ed82 100644
--- a/libcxx/include/charconv
+++ b/libcxx/include/charconv
@@ -80,7 +80,7 @@ namespace std {
 #include <__charconv/traits.h>
 #include <__config>
 #include <__debug>
-#include <__errc>
+#include <__system_error/errc.h>
 #include <cmath> // for log2f
 #include <cstdint>
 #include <limits>

diff  --git a/libcxx/include/module.modulemap.in b/libcxx/include/module.modulemap.in
index 970039acb9a12..b7dbfbcb8765a 100644
--- a/libcxx/include/module.modulemap.in
+++ b/libcxx/include/module.modulemap.in
@@ -1437,7 +1437,8 @@ module std [system] {
     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 @@ module std [system] {
         export functional.__functional.unary_function
       }
       module system_error { private header "__system_error/system_error.h" }
+
     }
   }
   module thread {
@@ -1715,7 +1717,6 @@ module std [system] {
   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
index 3d1722f4963e8..a60c98492aace 100644
--- a/libcxx/include/system_error
+++ b/libcxx/include/system_error
@@ -146,6 +146,7 @@ template <> struct hash<std::error_condition>;
 
 #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
index a9ca34db0bd2e..a1756cf5ef83e 100644
--- a/libcxx/src/filesystem/filesystem_common.h
+++ b/libcxx/src/filesystem/filesystem_common.h
@@ -12,6 +12,7 @@
 #include <__assert>
 #include <__config>
 #include <array>
+#include <cerrno>
 #include <chrono>
 #include <climits>
 #include <cstdarg>

diff  --git a/libcxx/src/include/ryu/ryu.h b/libcxx/src/include/ryu/ryu.h
index cb44bd3fef058..8bd34cd63c5f6 100644
--- 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 <cstdint>
 #include <cstring>
 #include <type_traits>

diff  --git a/libcxx/test/libcxx/private_headers.verify.cpp b/libcxx/test/libcxx/private_headers.verify.cpp
index 501a3e136314e..e72de07067f04 100644
--- a/libcxx/test/libcxx/private_headers.verify.cpp
+++ b/libcxx/test/libcxx/private_headers.verify.cpp
@@ -334,7 +334,6 @@ END-SCRIPT
 #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 @@ END-SCRIPT
 #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
index 8067103cf47ca..28a1ed586b931 100644
--- 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
index 4d87ed275dad1..782e3f8135cd8 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx03.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx03.csv
@@ -299,7 +299,6 @@ ext/hash_set limits
 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
index 4a3fab51c7556..e54fe47fddf9a 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx11.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx11.csv
@@ -299,7 +299,6 @@ ext/hash_set limits
 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
index 53db2022eb41f..3de4afa8922a9 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx14.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx14.csv
@@ -301,7 +301,6 @@ ext/hash_set limits
 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
index 53db2022eb41f..3de4afa8922a9 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx17.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx17.csv
@@ -301,7 +301,6 @@ ext/hash_set limits
 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
index 255d4f694bb6d..81a3b0c8d7b50 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx20.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx20.csv
@@ -308,7 +308,6 @@ ext/hash_set limits
 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
index ac566e70b2b9a..c444ff9a99dbc 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx2b.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b.csv
@@ -201,7 +201,6 @@ ext/hash_set initializer_list
 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
index 6a04a3c4f088d..e44cb50102e3e 100644
--- 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 <cerrno>
 #include <system_error>
 
 #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
index b49a492b4a340..4f31a75f68dec 100644
--- 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 <shared_mutex>
 #include <cassert>
 #include <cerrno>
+#include <shared_mutex>
 #include <system_error>
 
 #include "test_macros.h"

diff  --git a/libcxx/test/support/charconv_test_helpers.h b/libcxx/test/support/charconv_test_helpers.h
index 455546a394db5..f5fbedbeb0dcd 100644
--- 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 <algorithm>
-#include <charconv>
 #include <cassert>
+#include <cerrno>
+#include <charconv>
 #include <cstddef>
 #include <limits>
 #include <numeric>

diff  --git a/libcxx/test/support/filesystem_test_helper.h b/libcxx/test/support/filesystem_test_helper.h
index 8c2bbb0ab61ff..c7a5470a789c7 100644
--- a/libcxx/test/support/filesystem_test_helper.h
+++ b/libcxx/test/support/filesystem_test_helper.h
@@ -14,6 +14,7 @@
 #endif
 
 #include <cassert>
+#include <cerrno>
 #include <chrono>
 #include <cstdint>
 #include <cstdio> // for printf

diff  --git a/libcxx/utils/data/ignore_format.txt b/libcxx/utils/data/ignore_format.txt
index a69f75b0cedab..a988db47baaff 100644
--- a/libcxx/utils/data/ignore_format.txt
+++ b/libcxx/utils/data/ignore_format.txt
@@ -308,7 +308,6 @@ libcxx/include/cuchar
 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/newlib/xlocale.h
 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


        


More information about the libcxx-commits mailing list