diff options
| author | Eric Fiselier <eric@efcs.ca> | 2016-06-14 01:36:15 +0000 |
|---|---|---|
| committer | Eric Fiselier <eric@efcs.ca> | 2016-06-14 01:36:15 +0000 |
| commit | fbe79c9d250cfa98fd3285009317b48150d1f1cf (patch) | |
| tree | c6e118637afc7bdfe767a34f6de6c8a0923fbba7 /libcxx/include | |
| parent | 85c55319187e92cf9be2527aac1cfaaea78573af (diff) | |
| download | bcm5719-llvm-fbe79c9d250cfa98fd3285009317b48150d1f1cf.tar.gz bcm5719-llvm-fbe79c9d250cfa98fd3285009317b48150d1f1cf.zip | |
Remove _LIBCPP_TRIVIAL_PAIR_COPY_CTOR option.
llvm-svn: 272613
Diffstat (limited to 'libcxx/include')
| -rw-r--r-- | libcxx/include/__config | 8 | ||||
| -rw-r--r-- | libcxx/include/utility | 28 |
2 files changed, 8 insertions, 28 deletions
diff --git a/libcxx/include/__config b/libcxx/include/__config index 91fb1c0f84f..26deb674400 100644 --- a/libcxx/include/__config +++ b/libcxx/include/__config @@ -745,8 +745,8 @@ template <unsigned> struct __static_assert_check {}; #define _LIBCPP_WCTYPE_IS_MASK #endif -#ifndef _LIBCPP_TRIVIAL_PAIR_COPY_CTOR -# define _LIBCPP_TRIVIAL_PAIR_COPY_CTOR 1 +#ifdef _LIBCPP_TRIVIAL_PAIR_COPY_CTOR +# error the "_LIBCPP_TRIVIAL_PAIR_COPY_CTOR" option is no longer supported #endif #ifndef _LIBCPP_STD_VER @@ -879,7 +879,9 @@ extern "C" void __sanitizer_annotate_contiguous_container( #if __cplusplus < 201103L #define _LIBCPP_CXX03_LANG #else -#if defined(_LIBCPP_HAS_NO_VARIADIC_TEMPLATES) || defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) +#if defined(_LIBCPP_HAS_NO_VARIADIC_TEMPLATES) \ + || defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) \ + || defined(_LIBCPP_HAS_NO_DEFAULTED_FUNCTION) #error Libc++ requires a feature complete C++11 compiler in C++11 or greater. #endif #endif diff --git a/libcxx/include/utility b/libcxx/include/utility index 27b81a0305e..d9d57a7d780 100644 --- a/libcxx/include/utility +++ b/libcxx/include/utility @@ -310,18 +310,9 @@ struct _LIBCPP_TYPE_VIS_ONLY pair ) : first(__p.first), second(__p.second) {} -#if !defined(_LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS) && _LIBCPP_TRIVIAL_PAIR_COPY_CTOR - _LIBCPP_INLINE_VISIBILITY - pair(const pair& __p) = default; -#elif !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) || !_LIBCPP_TRIVIAL_PAIR_COPY_CTOR - _LIBCPP_INLINE_VISIBILITY - pair(const pair& __p) - _NOEXCEPT_(is_nothrow_copy_constructible<first_type>::value && - is_nothrow_copy_constructible<second_type>::value) - : first(__p.first), - second(__p.second) - { - } +#if !defined(_LIBCPP_CXX03_LANG) + _LIBCPP_INLINE_VISIBILITY pair(const pair& __p) = default; + _LIBCPP_INLINE_VISIBILITY pair(pair&& __p) = default; #endif _LIBCPP_INLINE_VISIBILITY @@ -353,19 +344,6 @@ struct _LIBCPP_TYPE_VIS_ONLY pair : first(_VSTD::forward<_U1>(__p.first)), second(_VSTD::forward<_U2>(__p.second)) {} -#ifndef _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS - _LIBCPP_INLINE_VISIBILITY - pair(pair&& __p) = default; -#else - _LIBCPP_INLINE_VISIBILITY - pair(pair&& __p) _NOEXCEPT_(is_nothrow_move_constructible<first_type>::value && - is_nothrow_move_constructible<second_type>::value) - : first(_VSTD::forward<first_type>(__p.first)), - second(_VSTD::forward<second_type>(__p.second)) - { - } -#endif - _LIBCPP_INLINE_VISIBILITY pair& operator=(pair&& __p) _NOEXCEPT_(is_nothrow_move_assignable<first_type>::value && |

