[PATCH] D41347: [libc++] Lift std::errc into a separated header

2018-07-02 Thread Zhihao Yuan via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes.
Closed by commit rCXX336164: [libc++] Lift std::errc into a separated header 
(authored by lichray, committed by ).
Herald added a subscriber: ldionne.

Changed prior to commit:
  https://reviews.llvm.org/D41347?vs=141109=153852#toc

Repository:
  rCXX libc++

https://reviews.llvm.org/D41347

Files:
  include/__errc
  include/module.modulemap
  include/system_error

Index: include/__errc
===
--- include/__errc
+++ include/__errc
@@ -0,0 +1,218 @@
+// -*- C++ -*-
+//=== __errc --===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===--===//
+
+#ifndef _LIBCPP___ERRC
+#define _LIBCPP___ERRC
+
+/*
+system_error synopsis
+
+namespace std
+{
+
+enum class errc
+{
+address_family_not_supported,   // EAFNOSUPPORT
+address_in_use, // EADDRINUSE
+address_not_available,  // EADDRNOTAVAIL
+already_connected,  // EISCONN
+argument_list_too_long, // E2BIG
+argument_out_of_domain, // EDOM
+bad_address,// EFAULT
+bad_file_descriptor,// EBADF
+bad_message,// EBADMSG
+broken_pipe,// EPIPE
+connection_aborted, // ECONNABORTED
+connection_already_in_progress, // EALREADY
+connection_refused, // ECONNREFUSED
+connection_reset,   // ECONNRESET
+cross_device_link,  // EXDEV
+destination_address_required,   // EDESTADDRREQ
+device_or_resource_busy,// EBUSY
+directory_not_empty,// ENOTEMPTY
+executable_format_error,// ENOEXEC
+file_exists,// EEXIST
+file_too_large, // EFBIG
+filename_too_long,  // ENAMETOOLONG
+function_not_supported, // ENOSYS
+host_unreachable,   // EHOSTUNREACH
+identifier_removed, // EIDRM
+illegal_byte_sequence,  // EILSEQ
+inappropriate_io_control_operation, // ENOTTY
+interrupted,// EINTR
+invalid_argument,   // EINVAL
+invalid_seek,   // ESPIPE
+io_error,   // EIO
+is_a_directory, // EISDIR
+message_size,   // EMSGSIZE
+network_down,   // ENETDOWN
+network_reset,  // ENETRESET
+network_unreachable,// ENETUNREACH
+no_buffer_space,// ENOBUFS
+no_child_process,   // ECHILD
+no_link,// ENOLINK
+no_lock_available,  // ENOLCK
+no_message_available,   // ENODATA
+no_message, // ENOMSG
+no_protocol_option, // ENOPROTOOPT
+no_space_on_device, // ENOSPC
+no_stream_resources,// ENOSR
+no_such_device_or_address,  // ENXIO
+no_such_device, // ENODEV
+no_such_file_or_directory,  // ENOENT
+no_such_process,// ESRCH
+not_a_directory,// ENOTDIR
+not_a_socket,   // ENOTSOCK
+not_a_stream,   // ENOSTR
+not_connected,  // ENOTCONN
+not_enough_memory,  // ENOMEM
+not_supported,  // ENOTSUP
+operation_canceled, // ECANCELED
+operation_in_progress,  // EINPROGRESS
+operation_not_permitted,// EPERM
+operation_not_supported,// EOPNOTSUPP
+operation_would_block,  // EWOULDBLOCK
+owner_dead, // EOWNERDEAD
+permission_denied,  // EACCES
+protocol_error, // EPROTO
+protocol_not_supported, // EPROTONOSUPPORT
+read_only_file_system,  // EROFS
+resource_deadlock_would_occur,  // EDEADLK
+resource_unavailable_try_again, // EAGAIN
+result_out_of_range,// ERANGE
+state_not_recoverable,  // ENOTRECOVERABLE
+stream_timeout, // ETIME
+text_file_busy, // ETXTBSY
+timed_out,  // ETIMEDOUT
+too_many_files_open_in_system,  // ENFILE
+too_many_files_open,// EMFILE
+too_many_links, 

[PATCH] D41347: [libc++] Lift std::errc into a separated header

2018-05-22 Thread Zhihao Yuan via Phabricator via cfe-commits
lichray added a comment.

In https://reviews.llvm.org/D41347#1099842, @mclow.lists wrote:

> Sorry this took so long. Please update `test/libcxx/double_include.sh.cpp` 
> and commit.


Are you sure?  `double_include.sh.cpp` doesn't seem to be testing any 
intermediate headers.


Repository:
  rCXX libc++

https://reviews.llvm.org/D41347



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D41347: [libc++] Lift std::errc into a separated header

2018-05-15 Thread Marshall Clow via Phabricator via cfe-commits
mclow.lists accepted this revision.
mclow.lists added a comment.
This revision is now accepted and ready to land.

Sorry this took so long. Please update `test/libcxx/double_include.sh.cpp` and 
commit.


Repository:
  rCXX libc++

https://reviews.llvm.org/D41347



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D41347: [libc++] Lift std::errc into a separated header

2018-04-05 Thread Zhihao Yuan via Phabricator via cfe-commits
lichray updated this revision to Diff 141109.
lichray added a comment.
Herald added a subscriber: christof.

Update module map


Repository:
  rCXX libc++

https://reviews.llvm.org/D41347

Files:
  include/__errc
  include/module.modulemap
  include/system_error

Index: include/system_error
===
--- include/system_error
+++ include/system_error
@@ -120,88 +120,6 @@
 const char* what() const noexcept;
 };
 
-enum class errc
-{
-address_family_not_supported,   // EAFNOSUPPORT
-address_in_use, // EADDRINUSE
-address_not_available,  // EADDRNOTAVAIL
-already_connected,  // EISCONN
-argument_list_too_long, // E2BIG
-argument_out_of_domain, // EDOM
-bad_address,// EFAULT
-bad_file_descriptor,// EBADF
-bad_message,// EBADMSG
-broken_pipe,// EPIPE
-connection_aborted, // ECONNABORTED
-connection_already_in_progress, // EALREADY
-connection_refused, // ECONNREFUSED
-connection_reset,   // ECONNRESET
-cross_device_link,  // EXDEV
-destination_address_required,   // EDESTADDRREQ
-device_or_resource_busy,// EBUSY
-directory_not_empty,// ENOTEMPTY
-executable_format_error,// ENOEXEC
-file_exists,// EEXIST
-file_too_large, // EFBIG
-filename_too_long,  // ENAMETOOLONG
-function_not_supported, // ENOSYS
-host_unreachable,   // EHOSTUNREACH
-identifier_removed, // EIDRM
-illegal_byte_sequence,  // EILSEQ
-inappropriate_io_control_operation, // ENOTTY
-interrupted,// EINTR
-invalid_argument,   // EINVAL
-invalid_seek,   // ESPIPE
-io_error,   // EIO
-is_a_directory, // EISDIR
-message_size,   // EMSGSIZE
-network_down,   // ENETDOWN
-network_reset,  // ENETRESET
-network_unreachable,// ENETUNREACH
-no_buffer_space,// ENOBUFS
-no_child_process,   // ECHILD
-no_link,// ENOLINK
-no_lock_available,  // ENOLCK
-no_message_available,   // ENODATA
-no_message, // ENOMSG
-no_protocol_option, // ENOPROTOOPT
-no_space_on_device, // ENOSPC
-no_stream_resources,// ENOSR
-no_such_device_or_address,  // ENXIO
-no_such_device, // ENODEV
-no_such_file_or_directory,  // ENOENT
-no_such_process,// ESRCH
-not_a_directory,// ENOTDIR
-not_a_socket,   // ENOTSOCK
-not_a_stream,   // ENOSTR
-not_connected,  // ENOTCONN
-not_enough_memory,  // ENOMEM
-not_supported,  // ENOTSUP
-operation_canceled, // ECANCELED
-operation_in_progress,  // EINPROGRESS
-operation_not_permitted,// EPERM
-operation_not_supported,// EOPNOTSUPP
-operation_would_block,  // EWOULDBLOCK
-owner_dead, // EOWNERDEAD
-permission_denied,  // EACCES
-protocol_error, // EPROTO
-protocol_not_supported, // EPROTONOSUPPORT
-read_only_file_system,  // EROFS
-resource_deadlock_would_occur,  // EDEADLK
-resource_unavailable_try_again, // EAGAIN
-result_out_of_range,// ERANGE
-state_not_recoverable,  // ENOTRECOVERABLE
-stream_timeout, // ETIME
-text_file_busy, // ETXTBSY
-timed_out,  // ETIMEDOUT
-too_many_files_open_in_system,  // ENFILE
-too_many_files_open,// EMFILE
-too_many_links, // EMLINK
-too_many_symbolic_link_levels,  // ELOOP
-value_too_large,// EOVERFLOW
-wrong_protocol_type // EPROTOTYPE
-};
-
 template <> struct is_error_condition_enum
 : true_type { }
 
@@ -225,8 +143,7 @@
 
 */
 
-#include <__config>
-#include 
+#include <__errc>
 #include 
 #include 
 #include <__functional_base>
@@ -260,109 +177,6 @@
 _LIBCPP_INLINE_VAR constexpr size_t is_error_condition_enum_v = is_error_condition_enum<_Tp>::value;
 #endif
 
-// Some error codes are not present on all platforms, so we provide 

[PATCH] D41347: [libc++] Lift std::errc into a separated header

2017-12-18 Thread Zhihao Yuan via Phabricator via cfe-commits
lichray created this revision.
lichray added reviewers: mclow.lists, EricWF.

This is needed to implement ``.


Repository:
  rCXX libc++

https://reviews.llvm.org/D41347

Files:
  include/__errc
  include/system_error

Index: include/system_error
===
--- include/system_error
+++ include/system_error
@@ -120,88 +120,6 @@
 const char* what() const noexcept;
 };
 
-enum class errc
-{
-address_family_not_supported,   // EAFNOSUPPORT
-address_in_use, // EADDRINUSE
-address_not_available,  // EADDRNOTAVAIL
-already_connected,  // EISCONN
-argument_list_too_long, // E2BIG
-argument_out_of_domain, // EDOM
-bad_address,// EFAULT
-bad_file_descriptor,// EBADF
-bad_message,// EBADMSG
-broken_pipe,// EPIPE
-connection_aborted, // ECONNABORTED
-connection_already_in_progress, // EALREADY
-connection_refused, // ECONNREFUSED
-connection_reset,   // ECONNRESET
-cross_device_link,  // EXDEV
-destination_address_required,   // EDESTADDRREQ
-device_or_resource_busy,// EBUSY
-directory_not_empty,// ENOTEMPTY
-executable_format_error,// ENOEXEC
-file_exists,// EEXIST
-file_too_large, // EFBIG
-filename_too_long,  // ENAMETOOLONG
-function_not_supported, // ENOSYS
-host_unreachable,   // EHOSTUNREACH
-identifier_removed, // EIDRM
-illegal_byte_sequence,  // EILSEQ
-inappropriate_io_control_operation, // ENOTTY
-interrupted,// EINTR
-invalid_argument,   // EINVAL
-invalid_seek,   // ESPIPE
-io_error,   // EIO
-is_a_directory, // EISDIR
-message_size,   // EMSGSIZE
-network_down,   // ENETDOWN
-network_reset,  // ENETRESET
-network_unreachable,// ENETUNREACH
-no_buffer_space,// ENOBUFS
-no_child_process,   // ECHILD
-no_link,// ENOLINK
-no_lock_available,  // ENOLCK
-no_message_available,   // ENODATA
-no_message, // ENOMSG
-no_protocol_option, // ENOPROTOOPT
-no_space_on_device, // ENOSPC
-no_stream_resources,// ENOSR
-no_such_device_or_address,  // ENXIO
-no_such_device, // ENODEV
-no_such_file_or_directory,  // ENOENT
-no_such_process,// ESRCH
-not_a_directory,// ENOTDIR
-not_a_socket,   // ENOTSOCK
-not_a_stream,   // ENOSTR
-not_connected,  // ENOTCONN
-not_enough_memory,  // ENOMEM
-not_supported,  // ENOTSUP
-operation_canceled, // ECANCELED
-operation_in_progress,  // EINPROGRESS
-operation_not_permitted,// EPERM
-operation_not_supported,// EOPNOTSUPP
-operation_would_block,  // EWOULDBLOCK
-owner_dead, // EOWNERDEAD
-permission_denied,  // EACCES
-protocol_error, // EPROTO
-protocol_not_supported, // EPROTONOSUPPORT
-read_only_file_system,  // EROFS
-resource_deadlock_would_occur,  // EDEADLK
-resource_unavailable_try_again, // EAGAIN
-result_out_of_range,// ERANGE
-state_not_recoverable,  // ENOTRECOVERABLE
-stream_timeout, // ETIME
-text_file_busy, // ETXTBSY
-timed_out,  // ETIMEDOUT
-too_many_files_open_in_system,  // ENFILE
-too_many_files_open,// EMFILE
-too_many_links, // EMLINK
-too_many_symbolic_link_levels,  // ELOOP
-value_too_large,// EOVERFLOW
-wrong_protocol_type // EPROTOTYPE
-};
-
 template <> struct is_error_condition_enum
 : true_type { }
 
@@ -225,8 +143,7 @@
 
 */
 
-#include <__config>
-#include 
+#include <__errc>
 #include 
 #include 
 #include <__functional_base>
@@ -260,109 +177,6 @@
 constexpr size_t is_error_condition_enum_v = is_error_condition_enum<_Tp>::value;
 #endif
 
-// Some error codes are not present on all platforms, so we provide equivalents
-// for them:
-
-//enum class errc