]> git.ipfire.org Git - thirdparty/gcc.git/commit
libstdc++: Fix exposure of TU-local lambda in __detail::__func_handle_t.
authorTomasz Kamiński <tkaminsk@redhat.com>
Thu, 27 Nov 2025 13:31:51 +0000 (14:31 +0100)
committerTomasz Kamiński <tkaminsk@redhat.com>
Thu, 27 Nov 2025 13:59:33 +0000 (14:59 +0100)
commit2c1e896ac970654a092e565f82ba12241c8286df
treed6a8d81ffbca50ba330c6122f91f047bd0dba206
parent12db40e076ae780edb1a022c22f5259f9a7dfa42
libstdc++: Fix exposure of TU-local lambda in __detail::__func_handle_t.

The lambda is considered to be TU-local entity, use a named function
instead.

As drive-by, a functor stored inside __func_handle::_Inplace is renamed
to _M_fn, as we no longer limit the functor type to function pointers.

libstdc++-v3/ChangeLog:

* include/std/ranges (__func_handle::__select): Named function
extracted from local lambda.
(__detail::__func_handle_t): Define using __func_handle::__select.
(__func_handle::_Inplace): Raname _M_ptr to _M_fn.

Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
Signed-off-by: Tomasz Kamiński <tkaminsk@redhat.com>
libstdc++-v3/include/std/ranges