r244706 - in /trunk/libstdc++-v3: ChangeLog inc...
redi@gcc.gnu.org
redi@gcc.gnu.org
Fri Jan 20 12:03:00 GMT 2017
Author: redi
Date: Fri Jan 20 12:03:36 2017
New Revision: 244706
URL: https://gcc.gnu.org/viewcvs?rev=244706&root=gcc&view=rev
Log:
PR72792 detect allocator pointer types without invalid rebinding
PR libstdc++/72792
* include/bits/alloc_traits.h (__allocator_traits_base::__diff_type)
(__allocator_traits_base::__size_type): Remove.
(allocator_traits::_Ptr): New class template to detect const and void
pointer types without instantiating pointer_traits::rebind
unnecessarily.
(allocator_traits::_Diff): Likewise for detecting difference_type.
(allocator_traits::_Size): New class template to detect size_type
without instantiating make_unsigned unnecessarily.
* include/bits/ptr_traits.h (pointer_traits::element_type): Use
__detected_or_t instead of __detected_or_t_.
* include/std/type_traits (__detected_or_t_): Remove.
* testsuite/20_util/allocator_traits/members/pointers.cc: New test.
Added:
trunk/libstdc++-v3/testsuite/20_util/allocator_traits/members/pointers.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/alloc_traits.h
trunk/libstdc++-v3/include/bits/ptr_traits.h
trunk/libstdc++-v3/include/std/type_traits
More information about the Gcc-cvs
mailing list