https://gcc.gnu.org/g:dd08cdccc36d084eda0e2748c772f6bf9a7f412f
commit r15-5031-gdd08cdccc36d084eda0e2748c772f6bf9a7f412f Author: Jonathan Wakely <jwak...@redhat.com> Date: Fri Nov 1 10:09:55 2024 +0000 libstdc++: Define __is_pair variable template for C++11 libstdc++-v3/ChangeLog: * include/bits/stl_pair.h (__is_pair): Define for C++11 and C++14 as well. Diff: --- libstdc++-v3/include/bits/stl_pair.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libstdc++-v3/include/bits/stl_pair.h b/libstdc++-v3/include/bits/stl_pair.h index e92fcad2d660..527fb9105f0b 100644 --- a/libstdc++-v3/include/bits/stl_pair.h +++ b/libstdc++-v3/include/bits/stl_pair.h @@ -1189,12 +1189,18 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template<typename _Tp1, typename _Tp2> inline constexpr size_t tuple_size_v<const pair<_Tp1, _Tp2>> = 2; +#endif +#if __cplusplus >= 201103L +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++14-extensions" // variable templates +#pragma GCC diagnostic ignored "-Wc++17-extensions" // inline variables template<typename _Tp> inline constexpr bool __is_pair = false; template<typename _Tp, typename _Up> inline constexpr bool __is_pair<pair<_Tp, _Up>> = true; +#pragma GCC diagnostic pop #endif /// @cond undocumented