summaryrefslogtreecommitdiffstats
path: root/contrib/libc++/include/limits
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2014-03-05 19:30:36 +0000
committerdim <dim@FreeBSD.org>2014-03-05 19:30:36 +0000
commit22ca1336dcfb663d86a6892dbe1e48eee20bb6db (patch)
tree72f4bceef54682e8e577b4ddd08c0ad24ea08ff6 /contrib/libc++/include/limits
parenta5552de0b34d11a40bdc1d8e53fa44a923b6b1a8 (diff)
downloadFreeBSD-src-22ca1336dcfb663d86a6892dbe1e48eee20bb6db.zip
FreeBSD-src-22ca1336dcfb663d86a6892dbe1e48eee20bb6db.tar.gz
MFC r261283:
Import libc++ 3.4 release. This contains a lot of bugfixes, and some preliminary support for C++1y. MFC r261604: HEAD is not buildable for the past day. Commit a 'quick fix' in order to permit buildworld to complete. Reviewed by: theraven MFC r261608: Apply a cleaner solution for the sign warnings that can occur when compiling libc++'s <locale> header with -Wsystem-headers on. This has also been submitted upstream. Reported by: asomers MFC r261801: An ABI incompatibility crept into the libc++ 3.4 import in r261283. It was caused by upstream libc++ commit r194536, which aimed to make the headers more standards-compliant, by making std::pair's copy constructor trivial. Unfortunately, this could cause certain C++ applications using shared libraries built against the previous version of libc++ to crash. Fix the ABI incompatibility by making std::pair's copy constructor non-trivial again. Please note: Any C++ applications or shared libraries built with libc++ between r261283 and this revision should be recompiled. Reported by: stefanf
Diffstat (limited to 'contrib/libc++/include/limits')
-rw-r--r--contrib/libc++/include/limits16
1 files changed, 10 insertions, 6 deletions
diff --git a/contrib/libc++/include/limits b/contrib/libc++/include/limits
index 9b9d7a6..d917c57 100644
--- a/contrib/libc++/include/limits
+++ b/contrib/libc++/include/limits
@@ -111,9 +111,13 @@ template<> class numeric_limits<cv long double>;
#include <__undef_min_max>
-#if defined(_MSC_VER)
+#if defined(_LIBCPP_MSVCRT)
#include "support/win32/limits_win32.h"
-#endif // _MSC_VER
+#endif // _LIBCPP_MSVCRT
+
+#if defined(__IBMCPP__)
+#include "support/ibm/limits.h"
+#endif // __IBMCPP__
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -433,7 +437,7 @@ protected:
};
template <class _Tp>
-class _LIBCPP_TYPE_VIS numeric_limits
+class _LIBCPP_TYPE_VIS_ONLY numeric_limits
: private __libcpp_numeric_limits<typename remove_cv<_Tp>::type>
{
typedef __libcpp_numeric_limits<typename remove_cv<_Tp>::type> __base;
@@ -526,7 +530,7 @@ template <class _Tp>
_LIBCPP_CONSTEXPR const float_round_style numeric_limits<_Tp>::round_style;
template <class _Tp>
-class _LIBCPP_TYPE_VIS numeric_limits<const _Tp>
+class _LIBCPP_TYPE_VIS_ONLY numeric_limits<const _Tp>
: private numeric_limits<_Tp>
{
typedef numeric_limits<_Tp> __base;
@@ -619,7 +623,7 @@ template <class _Tp>
_LIBCPP_CONSTEXPR const float_round_style numeric_limits<const _Tp>::round_style;
template <class _Tp>
-class _LIBCPP_TYPE_VIS numeric_limits<volatile _Tp>
+class _LIBCPP_TYPE_VIS_ONLY numeric_limits<volatile _Tp>
: private numeric_limits<_Tp>
{
typedef numeric_limits<_Tp> __base;
@@ -712,7 +716,7 @@ template <class _Tp>
_LIBCPP_CONSTEXPR const float_round_style numeric_limits<volatile _Tp>::round_style;
template <class _Tp>
-class _LIBCPP_TYPE_VIS numeric_limits<const volatile _Tp>
+class _LIBCPP_TYPE_VIS_ONLY numeric_limits<const volatile _Tp>
: private numeric_limits<_Tp>
{
typedef numeric_limits<_Tp> __base;
OpenPOWER on IntegriCloud