https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86537
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- Author: redi Date: Mon Jul 16 17:13:41 2018 New Revision: 262739 URL: https://gcc.gnu.org/viewcvs?rev=262739&root=gcc&view=rev Log: PR libstdc++/86537 remove less<shared_ptr<T>> partial specialization The standard doesn't specify this partial specialization (it was required after the changes in N2637 but then should have been removed following LWG 1262). Its presence is observable because it causes different results when operator< has been overloaded for a shared_ptr specialization. PR libstdc++/86537 * include/bits/shared_ptr.h (less<shared_ptr<_Tp>>): Remove non-standard partial specialization. * include/bits/shared_ptr_base.h (_Sp_less): Remove class definition. (less<__shared_ptr<_Tp, _Lp>): Remove partial specialization. * testsuite/20_util/shared_ptr/comparison/86537.cc: New test. Added: trunk/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/86537.cc Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/bits/shared_ptr.h trunk/libstdc++-v3/include/bits/shared_ptr_base.h