This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix order and types of members in C++17 insert_return_type structs


Nico Josuttis pointed out that the members were in the wrong order. I
also found that set<T>::insert__return_type::position was using
_Rb_tree_iterator<T> not _Rb_tree_const_iterator<T> as it should have
been.

Finally, with complete structured bindings support in the FE we don't
need the tuple_size and tuple_element partial specializations that I
defined for the insert_return_type structs.

	PR libstdc++/80761
	* include/bits/node_handle.h (_Node_insert_return): Reorder members.
	(tuple_size, tuple_element): Remove partial specializations.
	* include/bits/stl_tree.h (_Rb_tree::insert_return_type): Use
	const_iterator for std::set.
	* testsuite/23_containers/map/modifiers/extract.cc: New.
	* testsuite/23_containers/set/modifiers/extract.cc: New.
	* testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
	* testsuite/23_containers/unordered_set/modifiers/extract.cc: New.

Tested powerpc64le-linux, committed to trunk. Backport to gcc-7 to
follow.



Attachment: patch.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]