aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2019-04-23 13:48:28 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2019-04-23 13:48:28 +0100
commit038bc9bfd6dfd94336e0bebf416f1bbc3ed3272e (patch)
tree68753eed4c1e39d40a754061198ac3b40361b493 /gcc
parent06715e1cfb475a89b2890951008e70325bdd0ce4 (diff)
downloadgcc-038bc9bfd6dfd94336e0bebf416f1bbc3ed3272e.zip
gcc-038bc9bfd6dfd94336e0bebf416f1bbc3ed3272e.tar.gz
gcc-038bc9bfd6dfd94336e0bebf416f1bbc3ed3272e.tar.bz2
Implement correct std::variant triviality rules from P0602R4
The std::variant move assignment operator should not be trivial if the variant is not trivially move constructible. * include/std/variant (__detail::__variant::_Traits): Make _S_trivial_copy_assign depend on _S_trivial_copy_ctor and make _S_trivial_move_assign depend on _S_trivial_move_ctor, as per P0602R4. (__detail::__variant::_Copy_assign_alias): Only depend on _S_trivial_copy_assign, which subsumes _S_trivial_copy_ctor now. * testsuite/20_util/variant/compile.cc: Correct checks for trivial move assignment operators. From-SVN: r270510
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions