]> gcc.gnu.org Git - gcc.git/commit
libstdc++: Fix visit<void>(v) for non-void visitors [PR106589]
authorJonathan Wakely <jwakely@redhat.com>
Tue, 23 Aug 2022 14:46:16 +0000 (15:46 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Tue, 23 Aug 2022 15:35:07 +0000 (16:35 +0100)
commite85bb1881e57e53306ede2a15f30d06480d69886
treec014f13ccd8023fd1c0d05780fdc5a3ba0fb53f7
parentaeb9b58225916bc84a0cd02c6fc77bbb92167e53
libstdc++: Fix visit<void>(v) for non-void visitors [PR106589]

The optimization for the common case of std::visit forgot to handle the
edge case of passing zero variants to a non-void visitor and converting
the result to void.

libstdc++-v3/ChangeLog:

PR libstdc++/106589
* include/std/variant (__do_visit): Handle is_void<R> for zero
argument case.
* testsuite/20_util/variant/visit_r.cc: Check std::visit<void>(v).
libstdc++-v3/include/std/variant
libstdc++-v3/testsuite/20_util/variant/visit_r.cc
This page took 0.053327 seconds and 5 git commands to generate.