gcc/libstdc++-v3/include/bits
Paolo Carlini a7cee01d32 re PR libstdc++/50529 ([C++0x] std::vector::erase invokes undefined behavior with empty range)
2011-09-26  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/50529
	* include/bits/vector.tcc (vector<>::erase(iterator, iterator)):
	Fix to do nothing if the range is empty.
	* include/bits/stl_bvector.h: Likewise.
	* include/bits/deque.tcc: Likewise.
	* include/debug/vector: Adjust.
	* include/debug/deque: Likewise.
	* testsuite/23_containers/vector/modifiers/erase/50529.cc: New.
	* testsuite/23_containers/deque/modifiers/erase/50529.cc: Likewise.
	* testsuite/23_containers/deque/modifiers/erase/3.cc: Adjust.

From-SVN: r179234
2011-09-27 02:39:34 +00:00
..
algorithmfwd.h move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove workaround for c++/49045. 2011-08-28 21:05:48 +00:00
alloc_traits.h alloc_traits.h: Fix doxygen @headername. 2011-08-07 13:25:48 +01:00
allocator.h Makefile.am: Add alloc_traits.h headers. 2011-06-22 20:57:12 +01:00
atomic_0.h atomic.cc: Use noexcept. 2011-08-04 19:57:48 +00:00
atomic_2.h atomic.cc: Use noexcept. 2011-08-04 19:57:48 +00:00
atomic_base.h atomic.cc: Use noexcept. 2011-08-04 19:57:48 +00:00
basic_ios.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
basic_ios.tcc Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
basic_string.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
basic_string.tcc basic_string.h: Use noexcept per the FDIS (minus compare(const string&)... 2011-05-31 12:50:31 +00:00
boost_concept_check.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
c++0x_warning.h *: Use headername alias to associate private includes to public includes. 2010-12-19 09:21:16 +00:00
c++config re PR libstdc++/48698 (gnu-versioned-namespace problems) 2011-09-27 00:02:54 +00:00
char_traits.h char_traits.h: Use noexcept throughout. 2011-05-21 00:05:03 +00:00
codecvt.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
concept_check.h Update Copyright years for files modified in 2010. 2011-01-03 21:52:22 +01:00
cpp_type_traits.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
deque.tcc re PR libstdc++/50529 ([C++0x] std::vector::erase invokes undefined behavior with empty range) 2011-09-27 02:39:34 +00:00
forward_list.h re PR libstdc++/50118 (node-based containers cannot use allocators with explicit constructor template) 2011-08-29 13:40:33 +00:00
forward_list.tcc re PR libstdc++/50118 (node-based containers cannot use allocators with explicit constructor template) 2011-08-29 13:40:33 +00:00
fstream.tcc Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
functexcept.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
functional_hash.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
gslice_array.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
gslice.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
hashtable_policy.h hashtable_policy.h (_Prime_rehash_policy:: _M_next_bkt): Cast _M_max_load_factor to long double. 2011-09-06 22:13:46 +00:00
hashtable.h hashtable.h (_Hashtable<>::__rehash_policy(const _RehashPolicy&)): Commit the modification of the policy only if no exception occured. 2011-09-17 09:12:24 +00:00
indirect_array.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
ios_base.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
istream.tcc Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
list.tcc PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
locale_classes.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
locale_classes.tcc Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
locale_facets_nonio.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
locale_facets_nonio.tcc Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
locale_facets.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
locale_facets.tcc Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
localefwd.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
mask_array.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
move.h move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove workaround for c++/49045. 2011-08-28 21:05:48 +00:00
ostream_insert.h Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
ostream.tcc Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
postypes.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
ptr_traits.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
random.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
random.tcc re PR libstdc++/50510 ([C++0x] transposed variable names in std::seed_seq::generate) 2011-09-24 22:34:50 +00:00
range_access.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
regex_compiler.h Makefile.am: Add functional.cc, shared_ptr.cc. 2011-03-15 00:24:08 +00:00
regex_constants.h regex.h (sub_match::sub_match): Add. 2011-02-14 23:35:22 +00:00
regex_cursor.h Makefile.am: Add functional.cc, shared_ptr.cc. 2011-03-15 00:24:08 +00:00
regex_error.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
regex_grep_matcher.h regex_compiler.h: Nest namespace versioning. 2011-03-15 02:55:19 +00:00
regex_grep_matcher.tcc Makefile.am: Add functional.cc, shared_ptr.cc. 2011-03-15 00:24:08 +00:00
regex_nfa.h Makefile.am: Add functional.cc, shared_ptr.cc. 2011-03-15 00:24:08 +00:00
regex_nfa.tcc Makefile.am: Add functional.cc, shared_ptr.cc. 2011-03-15 00:24:08 +00:00
regex.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
shared_ptr_base.h re PR libstdc++/49925 ([C++0x] ADL bug mixing boost::shared_ptr and std::make_shared<>) 2011-07-31 20:28:45 +00:00
shared_ptr.h re PR libstdc++/49925 ([C++0x] ADL bug mixing boost::shared_ptr and std::make_shared<>) 2011-07-31 20:28:45 +00:00
slice_array.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
sstream.tcc Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
stl_algo.h re PR libstdc++/50119 ([C++0x] copy_n advances InputIterator one more time than necessary) 2011-08-18 16:32:23 +00:00
stl_algobase.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
stl_bvector.h re PR libstdc++/50529 ([C++0x] std::vector::erase invokes undefined behavior with empty range) 2011-09-27 02:39:34 +00:00
stl_construct.h stl_construct.h: Update Copyright years. 2011-06-22 20:27:21 +00:00
stl_deque.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
stl_function.h c++config (_GLIBCXX_DEPRECATED): To _GLIBCXX_USE_DEPRECATED. 2011-01-31 20:46:43 +00:00
stl_heap.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
stl_iterator_base_funcs.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
stl_iterator_base_types.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
stl_iterator.h stl_iterator.h (make_move_iterator): Implement DR2061. 2011-08-30 15:34:50 +00:00
stl_list.h re PR libstdc++/50118 (node-based containers cannot use allocators with explicit constructor template) 2011-08-29 13:40:33 +00:00
stl_map.h re PR libstdc++/50118 (node-based containers cannot use allocators with explicit constructor template) 2011-08-29 13:40:33 +00:00
stl_multimap.h re PR libstdc++/50118 (node-based containers cannot use allocators with explicit constructor template) 2011-08-29 13:40:33 +00:00
stl_multiset.h re PR libstdc++/50118 (node-based containers cannot use allocators with explicit constructor template) 2011-08-29 13:40:33 +00:00
stl_numeric.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
stl_pair.h tuple: Use everywhere std::size_t... 2011-09-10 00:47:02 +00:00
stl_queue.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
stl_raw_storage_iter.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
stl_relops.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
stl_set.h re PR libstdc++/50118 (node-based containers cannot use allocators with explicit constructor template) 2011-08-29 13:40:33 +00:00
stl_stack.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
stl_tempbuf.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
stl_tree.h re PR libstdc++/50118 (node-based containers cannot use allocators with explicit constructor template) 2011-08-29 13:40:33 +00:00
stl_uninitialized.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
stl_vector.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
stream_iterator.h user.cfg.in (PDF_HYPERLINKS): To NO. 2011-08-07 07:27:06 +00:00
streambuf_iterator.h re PR libstdc++/50336 (LWG issue 445) 2011-09-08 22:42:21 +00:00
streambuf.tcc Makefile.am (inst_sources): Make source instantion files conditional. 2011-03-04 21:51:56 +00:00
stringfwd.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
unique_ptr.h re PR libstdc++/48430 (std::hash partial specialization for std::unique_ptr and std::shared_ptr are using unary_function) 2011-07-18 16:07:24 +00:00
unordered_map.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
unordered_set.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
uses_allocator.h tuple: Implement uses-allocator construction. 2011-05-30 17:31:17 +01:00
valarray_after.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
valarray_array.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
valarray_array.tcc PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
valarray_before.h PR libstdc++/36104 part four 2011-01-30 22:39:36 +00:00
vector.tcc re PR libstdc++/50529 ([C++0x] std::vector::erase invokes undefined behavior with empty range) 2011-09-27 02:39:34 +00:00