From 37aab7674a74dd0224b14976e91f89abe48e9ae9 Mon Sep 17 00:00:00 2001 From: David Chisnall Date: Wed, 11 Aug 2010 16:52:41 +0000 Subject: #ifdef around Solaris/Linux/Darwin-specific error codes and replace them with their BSD equivalents if they are not available. llvm-svn: 110827 --- libcxx/include/system_error | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'libcxx/include/system_error') diff --git a/libcxx/include/system_error b/libcxx/include/system_error index f0897f6890c..8526f375c01 100644 --- a/libcxx/include/system_error +++ b/libcxx/include/system_error @@ -237,6 +237,10 @@ template struct is_error_code_enum template 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 @@ enum _ { 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 @@ enum _ { 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, -- cgit v1.2.3