diff options
author | Patrick Palka <ppalka@redhat.com> | 2025-04-29 08:21:35 -0400 |
---|---|---|
committer | Patrick Palka <ppalka@redhat.com> | 2025-05-12 09:23:47 -0400 |
commit | 0ff3b3122adfe0c479901da4fc28e367d89f185b (patch) | |
tree | 82e3543180bdc34cb4d4f9defd80a1c099063020 /gcc/c/c-parser.cc | |
parent | a341d96add049e1ebc94e7350ff59e82b03043d2 (diff) | |
download | gcc-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/c-parser.cc')
0 files changed, 0 insertions, 0 deletions