[cfe-commits] [libcxx] r110827 - /libcxx/trunk/include/system_error
David Chisnall
csdavec at swan.ac.uk
Wed Aug 11 09:52:41 PDT 2010
Author: theraven
Date: Wed Aug 11 11:52:41 2010
New Revision: 110827
URL: http://llvm.org/viewvc/llvm-project?rev=110827&view=rev
Log:
#ifdef around Solaris/Linux/Darwin-specific error codes and replace them with their BSD equivalents if they are not available.
Modified:
libcxx/trunk/include/system_error
Modified: libcxx/trunk/include/system_error
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/system_error?rev=110827&r1=110826&r2=110827&view=diff
==============================================================================
--- libcxx/trunk/include/system_error (original)
+++ libcxx/trunk/include/system_error Wed Aug 11 11:52:41 2010
@@ -237,6 +237,10 @@
template <class _Tp> struct is_error_condition_enum
: public false_type {};
+// Some error codes are not present on all platforms, so we provide equivalents
+// for them:
+
+
//enum class errc
struct errc
{
@@ -281,18 +285,30 @@
no_child_process = ECHILD,
no_link = ENOLINK,
no_lock_available = ENOLCK,
+#ifdef ENODATA
no_message_available = ENODATA,
+#else
+ no_message_available = ENOMSG,
+#endif
no_message = ENOMSG,
no_protocol_option = ENOPROTOOPT,
no_space_on_device = ENOSPC,
+#ifdef ENOSR
no_stream_resources = ENOSR,
+#else
+ no_stream_resources = ENOMEM,
+#endif
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,
+#ifdef ENOSTR
not_a_stream = ENOSTR,
+#else
+ not_a_stream = EINVAL,
+#endif
not_connected = ENOTCONN,
not_enough_memory = ENOMEM,
not_supported = ENOTSUP,
@@ -310,7 +326,11 @@
resource_unavailable_try_again = EAGAIN,
result_out_of_range = ERANGE,
state_not_recoverable = ENOTRECOVERABLE,
+#ifdef ETIME
stream_timeout = ETIME,
+#else
+ stream_timeout = ETIMEDOUT,
+#endif
text_file_busy = ETXTBSY,
timed_out = ETIMEDOUT,
too_many_files_open_in_system = ENFILE,
More information about the cfe-commits
mailing list