#ifdef around Solaris/Linux/Darwin-specific error codes and replace them with their BSD equivalents if they are not available.



git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@110827 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/system_error b/include/system_error
index f0897f6..8526f37 100644
--- a/include/system_error
+++ b/include/system_error
@@ -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,