aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorVille Voutilainen <ville.voutilainen@gmail.com>2019-04-08 22:45:48 +0300
committerVille Voutilainen <ville@gcc.gnu.org>2019-04-08 22:45:48 +0300
commit3d01c7c2f20ffc062d01a525b8e567931c2b089c (patch)
treebfb9c683a02f50f55e7e54b9010f95a168dd8b3e /gcc
parent15f4769a12dd1640fcf6608c34eea46d8da86fbb (diff)
downloadgcc-3d01c7c2f20ffc062d01a525b8e567931c2b089c.zip
gcc-3d01c7c2f20ffc062d01a525b8e567931c2b089c.tar.gz
gcc-3d01c7c2f20ffc062d01a525b8e567931c2b089c.tar.bz2
Fix visit<R> for variant.
* include/std/variant (__do_visit): Add a template parameter for enforcing same return types for visit. (__gen_vtable_impl): Likewise. (_S_apply_single_alt): Adjust. (__visit_invoke_impl): New. Handle casting to void. (__do_visit_invoke): New. Enforces same return types. (__do_visit_invoke_r): New. Converts return types. (__visit_invoke): Adjust. (__gen_vtable): Add a template parameter for enforcing same return types for visit. * testsuite/20_util/variant/visit_r.cc: Add a test for a visitor with different return types. * testsuite/20_util/variant/visit_neg.cc: New. Ensures that visitors with different return types don't accidentally compile with regular visitation. From-SVN: r270216
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions