From ae6af5239b96722e4db164a311956c263a7def86 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 20 Sep 2017 23:26:19 +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: r253038 --- 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 f97af8ffe7c..8f8da2fccb3 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,10 @@ 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. diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index e7ab40f6131..7df39685ad3 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>;