From: Tomasz KamiƄski Date: Fri, 6 Feb 2026 11:03:37 +0000 (+0100) Subject: libstdc++: Update guards on __heterogeneous_hash_key and __heterogeneous_tree_key X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9b85fcc00ebe850f2ee2c19a0208534544b088a8;p=thirdparty%2Fgcc.git libstdc++: Update guards on __heterogeneous_hash_key and __heterogeneous_tree_key The r16-7359-gae04c1afd1526a changed __heterogeneous_key to be defined if __glibcxx_associative_heterogeneous_erasure, but missed guards on derived __heterogeneous_hash_key and __heterogeneous_tree_key concept. libstdc++-v3/ChangeLog: * include/bits/hashtable.h (std::__heterogeneous_hash_key) [__glibcxx_associative_heterogeneous_erasure]: Changed guard. * include/bits/stl_tree.h (std::__heterogeneous_tree_key) [__glibcxx_associative_heterogeneous_erasure]: Likewise. * include/bits/stl_function.h: Add comment with C++ version for __glibcxx_associative_heterogeneous_erasure guard. --- diff --git a/libstdc++-v3/include/bits/hashtable.h b/libstdc++-v3/include/bits/hashtable.h index f7b8905d8ab..48695c013f3 100644 --- a/libstdc++-v3/include/bits/hashtable.h +++ b/libstdc++-v3/include/bits/hashtable.h @@ -3012,7 +3012,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION = __enable_if_t, __is_allocator<_Hash>>::value>; #endif -#ifdef __cpp_concepts +#ifdef __glibcxx_associative_heterogeneous_erasure // C++ >= 23 template concept __heterogeneous_hash_key = __transparent_comparator && diff --git a/libstdc++-v3/include/bits/stl_function.h b/libstdc++-v3/include/bits/stl_function.h index 1312564216b..95c24d44b9e 100644 --- a/libstdc++-v3/include/bits/stl_function.h +++ b/libstdc++-v3/include/bits/stl_function.h @@ -1525,7 +1525,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif #endif -#ifdef __glibcxx_associative_heterogeneous_erasure +#ifdef __glibcxx_associative_heterogeneous_erasure // C++ >= 23 template concept __not_container_iterator = (!is_convertible_v<_Kt&&, typename _Container::iterator> && diff --git a/libstdc++-v3/include/bits/stl_tree.h b/libstdc++-v3/include/bits/stl_tree.h index 7a733241ec5..5d361b55028 100644 --- a/libstdc++-v3/include/bits/stl_tree.h +++ b/libstdc++-v3/include/bits/stl_tree.h @@ -3315,7 +3315,7 @@ namespace __rb_tree }; #endif // C++17 -#ifdef __cpp_concepts +#ifdef __glibcxx_associative_heterogeneous_erasure // C++ >= 23 template concept __heterogeneous_tree_key = __transparent_comparator &&