[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