diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2016-10-10 13:17:45 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2016-10-10 13:17:45 +0100 |
commit | 46942c810112eb655f1dfd223055c60208403ad0 (patch) | |
tree | b6f128fc7e09949b6285f9463987eadd7cf3e746 /libstdc++-v3 | |
parent | f2e79496bf9107eae1130e0d74c80b02a5b86cab (diff) | |
download | gcc-46942c810112eb655f1dfd223055c60208403ad0.zip gcc-46942c810112eb655f1dfd223055c60208403ad0.tar.gz gcc-46942c810112eb655f1dfd223055c60208403ad0.tar.bz2 |
Define std::allocator<T>::is_always_equal
* include/bits/allocator.h (allocator<T>::is_always_equal): Define.
* testsuite/20_util/allocator/requirements/typedefs.cc: Test for
is_always_equal.
* testsuite/util/testsuite_allocator.h
(uneq_allocator::is_always_equal): Define as false_type.
From-SVN: r240920
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/allocator.h | 6 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/allocator/requirements/typedefs.cc | 3 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/util/testsuite_allocator.h | 1 |
4 files changed, 15 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b6b10e6..d1e2bc3 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,11 @@ 2016-10-10 Jonathan Wakely <jwakely@redhat.com> + * include/bits/allocator.h (allocator<T>::is_always_equal): Define. + * testsuite/20_util/allocator/requirements/typedefs.cc: Test for + is_always_equal. + * testsuite/util/testsuite_allocator.h + (uneq_allocator::is_always_equal): Define as false_type. + * include/experimental/numeric (gcd, lcm): Make bool arguments ill-formed. * include/std/numeric (gcd, lcm): Likewise. diff --git a/libstdc++-v3/include/bits/allocator.h b/libstdc++-v3/include/bits/allocator.h index 984d800..8e78165 100644 --- a/libstdc++-v3/include/bits/allocator.h +++ b/libstdc++-v3/include/bits/allocator.h @@ -50,6 +50,9 @@ #endif #define __cpp_lib_incomplete_container_elements 201505 +#if __cplusplus >= 201103L +# define __cpp_lib_allocator_is_always_equal 201411 +#endif namespace std _GLIBCXX_VISIBILITY(default) { @@ -80,7 +83,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // 2103. std::allocator propagate_on_container_move_assignment typedef true_type propagate_on_container_move_assignment; -#define __cpp_lib_allocator_is_always_equal 201411 typedef true_type is_always_equal; #endif }; @@ -113,6 +115,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // _GLIBCXX_RESOLVE_LIB_DEFECTS // 2103. std::allocator propagate_on_container_move_assignment typedef true_type propagate_on_container_move_assignment; + + typedef true_type is_always_equal; #endif allocator() throw() { } diff --git a/libstdc++-v3/testsuite/20_util/allocator/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/allocator/requirements/typedefs.cc index 028daa9..1b3f14f 100644 --- a/libstdc++-v3/testsuite/20_util/allocator/requirements/typedefs.cc +++ b/libstdc++-v3/testsuite/20_util/allocator/requirements/typedefs.cc @@ -48,3 +48,6 @@ static_assert( is_same<allocator<int>::rebind<char>::other, static_assert( is_same<allocator<int>::propagate_on_container_move_assignment, std::true_type>::value, "propagate_on_container_move_assignment" ); + +static_assert( is_same<allocator<int>::is_always_equal, std::true_type>::value, + "is_always_equal" ); diff --git a/libstdc++-v3/testsuite/util/testsuite_allocator.h b/libstdc++-v3/testsuite/util/testsuite_allocator.h index 8537a83..dd7e22d 100644 --- a/libstdc++-v3/testsuite/util/testsuite_allocator.h +++ b/libstdc++-v3/testsuite/util/testsuite_allocator.h @@ -297,6 +297,7 @@ namespace __gnu_test #if __cplusplus >= 201103L typedef std::true_type propagate_on_container_swap; + typedef std::false_type is_always_equal; #endif template<typename Tp1> |