Newlib names ELAST differently than linux
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@216943 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e33e03e558
commit
b9420936a4
@ -635,6 +635,17 @@ template <unsigned> struct __static_assert_check {};
|
|||||||
#define _LIBCPP_WCTYPE_IS_MASK
|
#define _LIBCPP_WCTYPE_IS_MASK
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(ELAST)
|
||||||
|
#define _LIBCPP_ELAST ELAST
|
||||||
|
#elif defined(__linux__)
|
||||||
|
#define _LIBCPP_ELAST 4095
|
||||||
|
#elif defined(_NEWLIB_VERSION)
|
||||||
|
#define _LIBCPP_ELAST __ELASTERROR
|
||||||
|
#else
|
||||||
|
// Warn here so that the person doing the libcxx port has an easier time:
|
||||||
|
#warning This platform's ELAST hasn't been ported yet
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef _LIBCPP_TRIVIAL_PAIR_COPY_CTOR
|
#ifndef _LIBCPP_TRIVIAL_PAIR_COPY_CTOR
|
||||||
# define _LIBCPP_TRIVIAL_PAIR_COPY_CTOR 1
|
# define _LIBCPP_TRIVIAL_PAIR_COPY_CTOR 1
|
||||||
#endif
|
#endif
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
#include "__config"
|
||||||
#include "ios"
|
#include "ios"
|
||||||
#include "streambuf"
|
#include "streambuf"
|
||||||
#include "istream"
|
#include "istream"
|
||||||
@ -52,11 +53,9 @@ string
|
|||||||
__iostream_category::message(int ev) const
|
__iostream_category::message(int ev) const
|
||||||
{
|
{
|
||||||
if (ev != static_cast<int>(io_errc::stream)
|
if (ev != static_cast<int>(io_errc::stream)
|
||||||
#ifdef ELAST
|
#ifdef _LIBCPP_ELAST
|
||||||
&& ev <= ELAST
|
&& ev <= _LIBCPP_ELAST
|
||||||
#elif defined(__linux__)
|
#endif // _LIBCPP_ELAST
|
||||||
&& ev <= 4095
|
|
||||||
#endif // ELAST
|
|
||||||
)
|
)
|
||||||
return __do_message::message(ev);
|
return __do_message::message(ev);
|
||||||
return string("unspecified iostream_category error");
|
return string("unspecified iostream_category error");
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#define _LIBCPP_BUILDING_SYSTEM_ERROR
|
#define _LIBCPP_BUILDING_SYSTEM_ERROR
|
||||||
|
#include "__config"
|
||||||
#include "system_error"
|
#include "system_error"
|
||||||
#include "string"
|
#include "string"
|
||||||
#include "cstring"
|
#include "cstring"
|
||||||
@ -65,13 +66,10 @@ __generic_error_category::name() const _NOEXCEPT
|
|||||||
string
|
string
|
||||||
__generic_error_category::message(int ev) const
|
__generic_error_category::message(int ev) const
|
||||||
{
|
{
|
||||||
#ifdef ELAST
|
#ifdef _LIBCPP_ELAST
|
||||||
if (ev > ELAST)
|
if (ev > _LIBCPP_ELAST)
|
||||||
return string("unspecified generic_category error");
|
return string("unspecified generic_category error");
|
||||||
#elif defined(__linux__)
|
#endif // _LIBCPP_ELAST
|
||||||
if (ev > 4095)
|
|
||||||
return string("unspecified generic_category error");
|
|
||||||
#endif // ELAST
|
|
||||||
return __do_message::message(ev);
|
return __do_message::message(ev);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,26 +98,20 @@ __system_error_category::name() const _NOEXCEPT
|
|||||||
string
|
string
|
||||||
__system_error_category::message(int ev) const
|
__system_error_category::message(int ev) const
|
||||||
{
|
{
|
||||||
#ifdef ELAST
|
#ifdef _LIBCPP_ELAST
|
||||||
if (ev > ELAST)
|
if (ev > _LIBCPP_ELAST)
|
||||||
return string("unspecified system_category error");
|
return string("unspecified system_category error");
|
||||||
#elif defined(__linux__)
|
#endif // _LIBCPP_ELAST
|
||||||
if (ev > 4095)
|
|
||||||
return string("unspecified system_category error");
|
|
||||||
#endif // ELAST
|
|
||||||
return __do_message::message(ev);
|
return __do_message::message(ev);
|
||||||
}
|
}
|
||||||
|
|
||||||
error_condition
|
error_condition
|
||||||
__system_error_category::default_error_condition(int ev) const _NOEXCEPT
|
__system_error_category::default_error_condition(int ev) const _NOEXCEPT
|
||||||
{
|
{
|
||||||
#ifdef ELAST
|
#ifdef _LIBCPP_ELAST
|
||||||
if (ev > ELAST)
|
if (ev > _LIBCPP_ELAST)
|
||||||
return error_condition(ev, system_category());
|
return error_condition(ev, system_category());
|
||||||
#elif defined(__linux__)
|
#endif // _LIBCPP_ELAST
|
||||||
if (ev > 4095)
|
|
||||||
return error_condition(ev, system_category());
|
|
||||||
#endif // ELAST
|
|
||||||
return error_condition(ev, generic_category());
|
return error_condition(ev, generic_category());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user