Don't revisit a variant we are already visiting.
authorVille Voutilainen <ville.voutilainen@gmail.com>
Thu, 28 Mar 2019 16:18:49 +0000 (18:18 +0200)
committerVille Voutilainen <ville@gcc.gnu.org>
Thu, 28 Mar 2019 16:18:49 +0000 (18:18 +0200)
commit337d1fec361442eb173d834e4bb8ac6811397a1a
treecfc230a2f967e0929ecffa310367479e54e4f810
parentc7a53bdbb164f5a216f13801c1abbaa8c08c81f1
Don't revisit a variant we are already visiting.

* include/std/variant (__variant_construct_single): New.
(__variant_construct): Use it.
(_M_destructive_move): Likewise.
(_M_destructive_copy): Likewise.
(_Copy_assign_base::operator=): Adjust.
(_Move_assign_base::operator=): Likewise.
(swap): Likewise.

From-SVN: r269996
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/variant