diff options
author | Dan Albert <danalbert@google.com> | 2015-01-06 17:34:51 +0000 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2015-01-06 17:34:51 +0000 |
commit | a76dfbd4288271d3a61fe2f4307c406780ce7c49 (patch) | |
tree | ce1ec4e052a17695a3e64fc5ea08d7cd2f87a8c3 | |
parent | 8335a5724a352ce7ae44c5ca450f85fd2576fcf0 (diff) | |
download | bcm5719-llvm-a76dfbd4288271d3a61fe2f4307c406780ce7c49.tar.gz bcm5719-llvm-a76dfbd4288271d3a61fe2f4307c406780ce7c49.zip |
[libcxx] Set _LIBCPP_ELAST for mingw.
Reviewers: K-ballo, mclow.lists, EricWF
Reviewed By: EricWF
Subscribers: jfb, jroelofs, majnemer, cfe-commits
Differential Revision: http://reviews.llvm.org/D6558
llvm-svn: 225273
-rw-r--r-- | libcxx/include/__config | 16 | ||||
-rw-r--r-- | libcxx/src/config_elast.h | 36 | ||||
-rw-r--r-- | libcxx/src/ios.cpp | 14 | ||||
-rw-r--r-- | libcxx/src/system_error.cpp | 7 |
4 files changed, 50 insertions, 23 deletions
diff --git a/libcxx/include/__config b/libcxx/include/__config index 8fd80bcb713..00ade4ef291 100644 --- a/libcxx/include/__config +++ b/libcxx/include/__config @@ -21,7 +21,6 @@ #if !_WIN32 #include <unistd.h> -#include <errno.h> // for ELAST on FreeBSD #endif #define _LIBCPP_VERSION 1101 @@ -643,21 +642,6 @@ template <unsigned> struct __static_assert_check {}; #define _LIBCPP_WCTYPE_IS_MASK #endif -#if defined(ELAST) -#define _LIBCPP_ELAST ELAST -#elif defined(__linux__) -#define _LIBCPP_ELAST 4095 -#elif defined(_NEWLIB_VERSION) -#define _LIBCPP_ELAST __ELASTERROR -#elif defined(__APPLE__) -// Not _LIBCPP_ELAST needed on Apple -#elif defined(__sun__) -#define _LIBCPP_ELAST ESTALE -#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 # define _LIBCPP_TRIVIAL_PAIR_COPY_CTOR 1 #endif diff --git a/libcxx/src/config_elast.h b/libcxx/src/config_elast.h new file mode 100644 index 00000000000..08d0103e8b8 --- /dev/null +++ b/libcxx/src/config_elast.h @@ -0,0 +1,36 @@ +//===----------------------- config_elast.h -------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef _LIBCPP_CONFIG_ELAST +#define _LIBCPP_CONFIG_ELAST + +#if defined(_WIN32) +#include <stdlib.h> +#else +#include <errno.h> +#endif + +#if defined(ELAST) +#define _LIBCPP_ELAST ELAST +#elif defined(_NEWLIB_VERSION) +#define _LIBCPP_ELAST __ELASTERROR +#elif defined(__linux__) +#define _LIBCPP_ELAST 4095 +#elif defined(__APPLE__) +// No _LIBCPP_ELAST needed on Apple +#elif defined(__sun__) +#define _LIBCPP_ELAST ESTALE +#elif defined(_WIN32) +#define _LIBCPP_ELAST _sys_nerr +#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 + +#endif // _LIBCPP_CONFIG_ELAST diff --git a/libcxx/src/ios.cpp b/libcxx/src/ios.cpp index d879beb3801..90972c407d7 100644 --- a/libcxx/src/ios.cpp +++ b/libcxx/src/ios.cpp @@ -8,16 +8,20 @@ //===----------------------------------------------------------------------===// #include "__config" + #include "ios" -#include "streambuf" -#include "istream" -#include "string" + +#include <stdlib.h> + #include "__locale" #include "algorithm" +#include "config_elast.h" +#include "istream" +#include "limits" #include "memory" #include "new" -#include "limits" -#include <stdlib.h> +#include "streambuf" +#include "string" _LIBCPP_BEGIN_NAMESPACE_STD diff --git a/libcxx/src/system_error.cpp b/libcxx/src/system_error.cpp index 9c8adc4f323..c032fc07b38 100644 --- a/libcxx/src/system_error.cpp +++ b/libcxx/src/system_error.cpp @@ -7,11 +7,14 @@ // //===----------------------------------------------------------------------===// -#define _LIBCPP_BUILDING_SYSTEM_ERROR #include "__config" + +#define _LIBCPP_BUILDING_SYSTEM_ERROR #include "system_error" -#include "string" + +#include "config_elast.h" #include "cstring" +#include "string" _LIBCPP_BEGIN_NAMESPACE_STD |