gcc/libstdc++-v3/testsuite/23_containers/list
François Dumont 5720787ada re PR libstdc++/57779 (vector insert fails to diagnose iterators pointing into *this in debug mode)
2013-08-01  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/57779
	* include/debug/formatter.h (_Debug_msg_id): Add
	__msg_insert_itself_range entry.
	* include/debug/functions.h (_Insert_range_from_self_is_safe<>):
	New, indicate container types supporting self range insertion in
	GNU implementation.
	(__foreign_iterator): New, check if an iterator points to a given
	sequence.
	* include/debug/macros.h (__glibcxx_check_insert_range): Add check
	using __foreign_iterator.
	(__gibcxx_check_insert_range_after): Likewise.
	* include/debug/string (_Insert_range_from_self_is_safe<>):
	Partially specialized to mark __gnu_debug::basic_string<> as
	supporting self range insert.
	* include/debug/list (_Insert_range_from_self_is_safe<>):
	Partially specialized to mark std::list as supporting self range
	insert if _GLIBCXX_DEBUG_PEDANTIC is not defined.
	* include/debug/forward_list (_Insert_range_from_self_is_safe<>):
	Likewise.
	* src/c++11/debug.cc (_S_debug_messages): Add
	__msg_insert_itself_range_entry message.
	(_Error_formatter::_Parameter::_M_print_description): Display
	iterator sequence address rather than sequence address when the
	parameter type is an iterator.
	(_Error_formatter::_M_print_word): Enhance behavior when
	displaying a word with an appended '\n'.
	* testsuite/util/debug/checks.h (check_insert4<>): New.
	* testsuite/23_containers/deque/debug/insert5_neg.cc: New.
	* testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
	Likewise.

From-SVN: r201416
2013-08-01 19:54:46 +00:00
..
capacity Update copyright in libstdc++-v3. 2013-02-03 17:54:05 +00:00
cons re PR libstdc++/55979 ([C++11] std::list range construction imposes unnecessary conversion constraints) 2013-03-17 18:27:52 +00:00
debug re PR libstdc++/57779 (vector insert fails to diagnose iterators pointing into *this in debug mode) 2013-08-01 19:54:46 +00:00
modifiers const_iterator.cc: Tweak, avoid potential undefined behavior. 2013-07-05 10:32:20 +00:00
operations stl_list.h (list<>::insert(iterator, size_type, const value_type&), [...]): Adjust C++11 signatures to take const_iterator(s). 2013-07-01 16:17:46 +00:00
requirements stl_list.h (list<>::insert(iterator, size_type, const value_type&), [...]): Adjust C++11 signatures to take const_iterator(s). 2013-07-01 16:17:46 +00:00
14340.cc Update copyright in libstdc++-v3. 2013-02-03 17:54:05 +00:00
18604.cc Update copyright in libstdc++-v3. 2013-02-03 17:54:05 +00:00
23781_neg.cc Update copyright in libstdc++-v3. 2013-02-03 17:54:05 +00:00
check_construct_destroy.cc Update copyright in libstdc++-v3. 2013-02-03 17:54:05 +00:00
check_construct_destroy.h Update copyright in libstdc++-v3. 2013-02-03 17:54:05 +00:00
init-list.cc Update copyright in libstdc++-v3. 2013-02-03 17:54:05 +00:00
init-list.h Update copyright in libstdc++-v3. 2013-02-03 17:54:05 +00:00
pthread1.cc forced.C: Extend current handling of Linux-based x86 systems to cover all GNU systems. 2013-06-10 09:21:29 +02:00
pthread5.cc forced.C: Extend current handling of Linux-based x86 systems to cover all GNU systems. 2013-06-10 09:21:29 +02:00
range_access.cc Update copyright in libstdc++-v3. 2013-02-03 17:54:05 +00:00