diff options
author | Alon Zakai <alonzakai@gmail.com> | 2014-01-13 16:54:38 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2014-01-13 16:54:38 -0800 |
commit | 2914deb17f3857bb02eeec87a58a3ed6d4a8853a (patch) | |
tree | 5425d058e199bade4f43cf0dc526a52f4b556b71 /system | |
parent | 7844db37f5b6dce1e7772f955ff606ef806ae032 (diff) | |
parent | ee4a2df911e834285aed9148eb4cab4546c8a063 (diff) |
Merge pull request #2004 from waywardmonkeys/updates
Updates
Diffstat (limited to 'system')
107 files changed, 16664 insertions, 10044 deletions
diff --git a/system/include/libcxx/__config b/system/include/libcxx/__config index a45b02de..45207392 100644 --- a/system/include/libcxx/__config +++ b/system/include/libcxx/__config @@ -174,7 +174,7 @@ #endif #ifndef _LIBCPP_TYPE_VIS -# if __has_attribute(type_visibility) +# if __has_attribute(__type_visibility__) # define _LIBCPP_TYPE_VIS __attribute__ ((__type_visibility__("default"))) # else # define _LIBCPP_TYPE_VIS __attribute__ ((__visibility__("default"))) @@ -389,9 +389,7 @@ namespace std { #endif #if _GNUC_VER < 404 -#define _LIBCPP_HAS_NO_ADVANCED_SFINAE #define _LIBCPP_HAS_NO_DECLTYPE -#define _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS #define _LIBCPP_HAS_NO_DELETED_FUNCTIONS #define _LIBCPP_HAS_NO_UNICODE_CHARS #define _LIBCPP_HAS_NO_VARIADICS @@ -402,6 +400,11 @@ namespace std { #define _LIBCPP_HAS_NO_NULLPTR #endif +#if _GNUC_VER < 407 +#define _LIBCPP_HAS_NO_ADVANCED_SFINAE +#define _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS +#endif + #endif // __GXX_EXPERIMENTAL_CXX0X__ #define _LIBCPP_BEGIN_NAMESPACE_STD namespace std { namespace _LIBCPP_NAMESPACE { @@ -454,7 +457,6 @@ namespace std { #define _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #define _LIBCPP_HAS_NO_NULLPTR #define _LIBCPP_HAS_NO_UNICODE_CHARS -#define _LIBCPP_HAS_NO_STRONG_ENUMS #define _LIBCPP_HAS_IS_BASE_OF #if defined(_AIX) @@ -514,7 +516,7 @@ template <unsigned> struct __static_assert_check {}; #define __has_feature(__x) 0 #endif -#if __has_feature(cxx_explicit_conversions) +#if __has_feature(cxx_explicit_conversions) || defined(__IBMCPP__) # define _LIBCPP_EXPLICIT explicit #else # define _LIBCPP_EXPLICIT @@ -567,6 +569,16 @@ template <unsigned> struct __static_assert_check {}; #define _LIBCPP_WCTYPE_IS_MASK #endif +#if defined(__APPLE__) +#ifndef _LIBCPP_TRIVIAL_PAIR_COPY_CTOR +# define _LIBCPP_TRIVIAL_PAIR_COPY_CTOR 0 +#endif +#endif + +#ifndef _LIBCPP_TRIVIAL_PAIR_COPY_CTOR +# define _LIBCPP_TRIVIAL_PAIR_COPY_CTOR 1 +#endif + #ifndef _LIBCPP_STD_VER # if __cplusplus <= 201103L # define _LIBCPP_STD_VER 11 diff --git a/system/include/libcxx/__undef_min_max b/system/include/libcxx/__undef_min_max index 2b6bc90a..5df9412c 100644 --- a/system/include/libcxx/__undef_min_max +++ b/system/include/libcxx/__undef_min_max @@ -10,7 +10,8 @@ #ifdef min #if defined(_MSC_VER) && ! defined(__clang__) -_LIBCPP_WARNING("macro min is incompatible with C++. #undefing min") +_LIBCPP_WARNING("macro min is incompatible with C++. Try #define NOMINMAX " + "before any Windows header. #undefing min") #else #warning: macro min is incompatible with C++. #undefing min #endif @@ -19,7 +20,8 @@ _LIBCPP_WARNING("macro min is incompatible with C++. #undefing min") #ifdef max #if defined(_MSC_VER) && ! defined(__clang__) -_LIBCPP_WARNING("macro max is incompatible with C++. #undefing max") +_LIBCPP_WARNING("macro max is incompatible with C++. Try #define NOMINMAX " + "before any Windows header. #undefing max") #else #warning: macro max is incompatible with C++. #undefing max #endif diff --git a/system/include/libcxx/dynarray b/system/include/libcxx/experimental/dynarray index b0d04f91..7c5c9b3f 100644 --- a/system/include/libcxx/dynarray +++ b/system/include/libcxx/experimental/dynarray @@ -17,7 +17,7 @@ /* dynarray synopsis -namespace std { +namespace std { namespace experimental { template< typename T > class dynarray @@ -93,7 +93,7 @@ public: void fill(const T& v); }; -} // std +}} // std::experimental */ @@ -112,7 +112,7 @@ public: #pragma GCC system_header #endif -_LIBCPP_BEGIN_NAMESPACE_STD +namespace std { namespace experimental { inline namespace __array_extensions_v1 { template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY dynarray @@ -302,9 +302,12 @@ dynarray<_Tp>::at(size_type __n) const return data()[__n]; } -template <class _Tp, class _Alloc> -struct _LIBCPP_TYPE_VIS_ONLY uses_allocator<dynarray<_Tp>, _Alloc> : true_type {}; +}}} + +_LIBCPP_BEGIN_NAMESPACE_STD +template <class _Tp, class _Alloc> +struct _LIBCPP_TYPE_VIS_ONLY uses_allocator<std::experimental::dynarray<_Tp>, _Alloc> : true_type {}; _LIBCPP_END_NAMESPACE_STD #endif // if _LIBCPP_STD_VER > 11 diff --git a/system/include/libcxx/optional b/system/include/libcxx/experimental/optional index a8e6a991..3848da87 100644 --- a/system/include/libcxx/optional +++ b/system/include/libcxx/experimental/optional @@ -18,8 +18,7 @@ #include <initializer_list> -namespace std -{ +namespace std { namespace experimental { // optional for object types template <class T> @@ -110,7 +109,7 @@ template <class T> constexpr optional<typename decay<T>::type> make_optional(T&& template <class T> struct hash; template <class T> struct hash<optional<T>>; -} // std +}} // std::experimental */ @@ -118,8 +117,7 @@ template <class T> struct hash<optional<T>>; #include <functional> #include <stdexcept> -namespace std // purposefully not using versioning namespace -{ +namespace std { namespace experimental { class _LIBCPP_EXCEPTION_ABI bad_optional_access : public logic_error @@ -142,7 +140,7 @@ public: virtual ~bad_optional_access() _NOEXCEPT; }; -} // std +}} // std::experimental #if _LIBCPP_STD_VER > 11 @@ -163,7 +161,7 @@ public: #pragma GCC system_header #endif -_LIBCPP_BEGIN_NAMESPACE_STD +namespace std { namespace experimental { inline namespace __library_fundamentals_v1 { struct in_place_t {}; constexpr in_place_t in_place{}; @@ -677,10 +675,14 @@ make_optional(_Tp&& __v) return optional<typename decay<_Tp>::type>(_VSTD::forward<_Tp>(__v)); } +}}} // namespace std::experimental::__library_fundamentals_v1 + +_LIBCPP_BEGIN_NAMESPACE_STD + template <class _Tp> -struct _LIBCPP_TYPE_VIS_ONLY hash<optional<_Tp> > +struct _LIBCPP_TYPE_VIS_ONLY hash<std::experimental::optional<_Tp> > { - typedef optional<_Tp> argument_type; + typedef std::experimental::optional<_Tp> argument_type; typedef size_t result_type; _LIBCPP_INLINE_VISIBILITY diff --git a/system/include/libcxx/ext/__hash b/system/include/libcxx/ext/__hash index 04975bfd..c0523cce 100644 --- a/system/include/libcxx/ext/__hash +++ b/system/include/libcxx/ext/__hash @@ -19,7 +19,7 @@ namespace __gnu_cxx { < |