aboutsummaryrefslogtreecommitdiff
path: root/gcc/c
diff options
context:
space:
mode:
authorPatrick Palka <ppalka@redhat.com>2025-04-29 08:21:35 -0400
committerPatrick Palka <ppalka@redhat.com>2025-05-12 09:23:47 -0400
commit0ff3b3122adfe0c479901da4fc28e367d89f185b (patch)
tree82e3543180bdc34cb4d4f9defd80a1c099063020 /gcc/c
parenta341d96add049e1ebc94e7350ff59e82b03043d2 (diff)
downloadgcc-0ff3b3122adfe0c479901da4fc28e367d89f185b.zip
gcc-0ff3b3122adfe0c479901da4fc28e367d89f185b.tar.gz
gcc-0ff3b3122adfe0c479901da4fc28e367d89f185b.tar.bz2
libstdc++: Fix availability of std::erase_if(std::flat_foo) [PR119427]
These std::erase_if overloads were wrongly implemented as hidden friends, visible only via ADL, so erase_if(x) would work but not std::erase_if(x). PR libstdc++/119427 libstdc++-v3/ChangeLog: * include/std/flat_map (_Flat_map_impl::erase_if): Replace this hidden friend with ... (_Flat_map_impl::_M_erase_if): ... this member function. (flat_map): Export _Flat_map_impl::_M_erase_if. (erase_if(flat_map)): Define. (flat_multimap): Export _Flat_map_impl::_M_erase_if. (erase_if(flat_multimap)): Define. * include/std/flat_set (_Flat_set_impl::erase_if): Replace with ... (_Flat_set_impl::_M_erase_if): ... this member function. (flat_set): Export _Flat_set_impl::_M_erase_if. (erase_if(flat_set)): Define. (flat_multiset): Export _Flat_set_impl::_M_erase_if. (erase_if(flat_multiset)): Define. * testsuite/23_containers/flat_map/1.cc (test07): New test. * testsuite/23_containers/flat_multimap/1.cc (test07): New test. * testsuite/23_containers/flat_multiset/1.cc (test09): New test. * testsuite/23_containers/flat_set/1.cc (test09): New test. Reviewed-by: Jonathan Wakely <jwakely@redhat.com> (cherry picked from commit aa93272cfd2233858da0792761387cc27f4d5ff3)
Diffstat (limited to 'gcc/c')
0 files changed, 0 insertions, 0 deletions