diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2019-04-23 13:48:28 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2019-04-23 13:48:28 +0100 |
commit | 038bc9bfd6dfd94336e0bebf416f1bbc3ed3272e (patch) | |
tree | 68753eed4c1e39d40a754061198ac3b40361b493 /gcc/modulo-sched.c | |
parent | 06715e1cfb475a89b2890951008e70325bdd0ce4 (diff) | |
download | gcc-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/modulo-sched.c')
0 files changed, 0 insertions, 0 deletions