gcc/libstdc++-v3
François Dumont 24167c42e6 stl_iterator_base_types.h (_Iter_base): Limit definition to pre-C++11 mode.
2015-06-29  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition
	to pre-C++11 mode.
	* include/debug/functions.h
	(__gnu_debug::__valid_range, __gnu_debug::__base): Move...
	* include/debug/safe_iterator.h
	(__gnu_debug::_Sequence_traits): New.
	(__gnu_debug::__get_distance_from_begin): New.
	(__gnu_debug::__get_distance_to_end): New.
	(__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range
	distance information. Add optional check_dereferenceable parameter,
	default true.
	(__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move
	default definition...
	(__gnu_debug::__get_distance): New overload for _Safe_iterator.
	(__gnu_debug::__unsafe): Likewise.
	* include/debug/helper_functions.h: ...here. New.
	(__gnu_debug::__unsafe): New helper function to remove safe iterator
	layer.
	* include/debug/stl_iterator.h: New. Include latter.
	* include/bits/stl_iterator.h: Include latter in debug mode.
	* include/debug/stl_iterator.tcc: Adapt.
	* include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add
	overload for _Safe_local_iterator.
	(__gnu_debug::__unsafe): Likewise.
	* include/debug/safe_local_iterator.tcc: Adapt.
	* include/debug/macros.h (__glibcxx_check_valid_range2): New.
	(__glibcxx_check_insert_range): Add _Dist parameter.
	(__glibcxx_check_insert_range_after): Likewise.
	(__glibcxx_check_string, __glibcxx_check_string_len): Implement using
	_GLIBCXX_DEBUG_PEDASSERT.
	* include/debug/deque (deque<>::assign): Remove iterator debug layer
	when possible.
	(deque<>::insert): Likewise.
	* include/debug/forward_list (__glibcxx_check_valid_fl_range): New.
	(forward_list<>::splice_after): Use latter.
	(forward_list<>::assign): Remove iterator debug layer when possible.
	(forward_list<>::insert_after): Likewise.
	(__gnu_debug::_Sequence_traits<>): Partial specialization.
	* include/debug/list (list<>::assign): Remove iterator debug layer when
	possible.
	(list<>::insert): Likewise.
	[__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI.
	* include/debug/map.h (map<>::insert): Remove iterator debug layer when
	possible.
	* include/debug/multimap.h (multimap<>::insert): Likewise.
	* include/debug/set.h (set<>::insert): Likewise.
	* include/debug/multiset.h (multiset<>::insert): Likewise.
	* include/debug/string (basic_string<>::append, basic_string<>::assign,
	basic_string<>::insert, basic_string<>::replace): Likewise.
	* include/debug/unordered_map
	(unordered_map<>::insert, unordered_multimap<>::insert): Likewise.
	* include/debug/unordered_set
	(unordered_set<>::insert, unordered_multiset<>insert): Likewise.
	* include/debug/vector
	(vector<>::assign, vector<>::insert): Likewise.
	* include/Makefile.am: Add new debug headers.
	* include/Makefile.in: Regenerate.

From-SVN: r225143
2015-06-29 20:17:56 +00:00
..
config Use atomics in guard.cc / remove special casing in targets. 2015-06-12 09:55:38 +00:00
doc Implement N4258 (Cleaning-up noexcept in the Library rev 3) 2015-06-26 21:10:24 +01:00
include stl_iterator_base_types.h (_Iter_base): Limit definition to pre-C++11 mode. 2015-06-29 20:17:56 +00:00
libsupc++ Use atomics in guard.cc. 2015-06-12 09:49:41 +00:00
po libstdc++: Bump to automake 1.11.6 2015-05-13 10:51:03 +00:00
python C++11 allocator support for std::list. 2015-06-17 21:36:42 +01:00
scripts Implement N4100 File System TS 2015-04-30 20:11:52 +01:00
src re PR libstdc++/65393 (std::thread shared_ptr inefficiency) 2015-06-16 18:53:52 +01:00
testsuite Implement N4258 (Cleaning-up noexcept in the Library rev 3) 2015-06-26 21:10:24 +01:00
acinclude.m4 re PR libstdc++/66011 (call to '__open_missing_mode' declared with attribute error) 2015-05-14 14:23:14 +01:00
aclocal.m4 libstdc++: Bump to automake 1.11.6 2015-05-13 10:51:03 +00:00
ChangeLog stl_iterator_base_types.h (_Iter_base): Limit definition to pre-C++11 mode. 2015-06-29 20:17:56 +00:00
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014 Rotate libstdc++-v3/ChangeLog 2015-01-02 16:50:36 +00:00
config.h.in re PR libstdc++/66011 (call to '__open_missing_mode' declared with attribute error) 2015-05-14 14:23:14 +01:00
configure re PR libstdc++/66011 (call to '__open_missing_mode' declared with attribute error) 2015-05-14 14:23:14 +01:00
configure.ac re PR libstdc++/66018 (opendir configure test not working when GCC_NO_EXECUTABLES) 2015-05-14 12:47:19 +01:00
configure.host Use atomics in guard.cc / remove special casing in targets. 2015-06-12 09:53:24 +00:00
crossconfig.m4
fragment.am
linkage.m4
Makefile.am Makefile.am (SUBDIRS): Move python to hosted_source. 2015-04-28 20:42:51 +01:00
Makefile.in libstdc++: Bump to automake 1.11.6 2015-05-13 10:51:03 +00:00
README

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.