From 9d2bac69bcbf4715b353c91485f0afb52513e88d Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 20 Sep 2017 23:03:37 +0100 Subject: [PATCH] PR libstdc++/79162 Fix std::string regression due to LWG 2946 (old ABI) PR libstdc++/79162 * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] (basic_string::_If_sv): Remove from the overload set when the argument is derived from basic_string. From-SVN: r253035 --- libstdc++-v3/ChangeLog | 5 +++++ libstdc++-v3/include/bits/basic_string.h | 1 + 2 files changed, 6 insertions(+) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index ceb883e..9be1db7 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,6 +1,11 @@ 2017-09-20 Jonathan Wakely PR libstdc++/79162 + * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] + (basic_string::_If_sv): Remove from the overload set when the + argument is derived from basic_string. + + PR libstdc++/79162 * include/bits/basic_string.h (basic_string::_If_sv): Remove from the overload set when the argument is derived from basic_string. * testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc: New diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index 8a382d5..a4b81137 100644 --- a/libstdc++-v3/include/bits/basic_string.h +++ b/libstdc++-v3/include/bits/basic_string.h @@ -3439,6 +3439,7 @@ _GLIBCXX_END_NAMESPACE_CXX11 template using _If_sv = enable_if_t< __and_, + __not_>, __not_>>::value, _Res>; -- 2.7.4