Created attachment 42593 [details] Simple demonstration of error Swapping a node handle fails because 'propagate_on_container_swap' is a type but is used as a value in bits/node_handle.h. It should be 'propagate_on_container_swap::value'. I've attached an example that fails to compile.
Author: redi Date: Mon May 14 14:27:54 2018 New Revision: 260226 URL: https://gcc.gnu.org/viewcvs?rev=260226&root=gcc&view=rev Log: PR libstdc++/82966 fix swapping of node handles PR libstdc++/82966 * include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value instead of type. * testsuite/23_containers/set/modifiers/node_swap.cc: New. Added: trunk/libstdc++-v3/testsuite/23_containers/set/modifiers/node_swap.cc Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/include/bits/node_handle.h
Author: redi Date: Mon May 14 21:51:46 2018 New Revision: 260240 URL: https://gcc.gnu.org/viewcvs?rev=260240&root=gcc&view=rev Log: PR libstdc++/82966 fix swapping of node handles PR libstdc++/82966 * include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value instead of type. * testsuite/23_containers/set/modifiers/node_swap.cc: New. Added: branches/gcc-8-branch/libstdc++-v3/testsuite/23_containers/set/modifiers/node_swap.cc Modified: branches/gcc-8-branch/libstdc++-v3/ChangeLog branches/gcc-8-branch/libstdc++-v3/include/bits/node_handle.h
Author: redi Date: Mon May 14 22:22:23 2018 New Revision: 260242 URL: https://gcc.gnu.org/viewcvs?rev=260242&root=gcc&view=rev Log: PR libstdc++/82966 fix swapping of node handles PR libstdc++/82966 * include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value instead of type. * testsuite/23_containers/set/modifiers/node_swap.cc: New. Added: branches/gcc-7-branch/libstdc++-v3/testsuite/23_containers/set/modifiers/node_swap.cc Modified: branches/gcc-7-branch/libstdc++-v3/ChangeLog branches/gcc-7-branch/libstdc++-v3/include/bits/node_handle.h
Fixed for 7.4 and 8.2