summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2015-01-06 17:34:51 +0000
committerDan Albert <danalbert@google.com>2015-01-06 17:34:51 +0000
commita76dfbd4288271d3a61fe2f4307c406780ce7c49 (patch)
treece1ec4e052a17695a3e64fc5ea08d7cd2f87a8c3
parent8335a5724a352ce7ae44c5ca450f85fd2576fcf0 (diff)
downloadbcm5719-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/__config16
-rw-r--r--libcxx/src/config_elast.h36
-rw-r--r--libcxx/src/ios.cpp14
-rw-r--r--libcxx/src/system_error.cpp7
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
OpenPOWER on IntegriCloud