gcc/libstdc++-v3/include/debug
Jonathan Wakely cda121ac7a PR libstdc++/83328 add correct basic_string::insert for initializer_list
The SSO basic_string has a non-standard insert(iterator, initializer_list)
overload, from a C++0x draft. This adds the correct overload, while also
preserving the old one so that the old symbol is still exported from the
library.

The COW basic_string doesn't have any of the C++11 changes to the insert
overloads (they all still have non-const iterator parameters and the
ones that should return an iterator still return void). This doesn't
make any change to the COW string.

	PR libstdc++/83328
	* acinclude.m4 (libtool_VERSION): Bump to 6:26:0.
	* config/abi/pre/gnu.ver: Add GLIBCXX_3.4.26 and export new symbol.
	* configure: Regenerate.
	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
	(basic_string::insert(const_iterator, initializer_list<C>)): Add.
	[_GLIBCXX_USE_CXX11_ABI && !_GLIBCXX_DEFINING_STRING_INSTANTIATIONS]
	(basic_string::insert(iterator, initializer_list<C>)): Suppress
	definition.
	* include/debug/string (basic_string::insert(iterator, C)): Change
	first parameter to const_iterator.
	(basic_string::insert(iterator, size_type, C)): Likewise. Change
	return type to iterator.
	(basic_string::insert(iterator, InputIterator, InputIterator)):
	Likewise.
	(basic_string::insert(iterator, initializer_list<C>)): Change first
	parameter to const_iterator and return type to iterator.
	* src/c++11/string-inst.cc: Extend comment.
	* testsuite/21_strings/basic_string/modifiers/insert/char/83328.cc:
	New.
	* testsuite/21_strings/basic_string/modifiers/insert/wchar_t/83328.cc:
	New.
	* testsuite/util/testsuite_abi.cc: Add new symbol version.

From-SVN: r261866
2018-06-21 23:01:25 +01:00
..
array Update copyright years. 2018-01-03 11:03:58 +01:00
assertions.h Update copyright years. 2018-01-03 11:03:58 +01:00
bitset Update copyright years. 2018-01-03 11:03:58 +01:00
debug.h 2018-06-13 François Dumont <fdumont@gcc.gnu.org> 2018-06-13 20:27:26 +00:00
deque macros.h (__glibcxx_check_valid_range_at): New. 2018-05-08 19:46:59 +00:00
formatter.h safe_iterator.h (_Safe_iterator<>::_M_constant()): Rename in... 2018-05-09 20:04:46 +00:00
forward_list macros.h (__glibcxx_check_valid_range_at): New. 2018-05-08 19:46:59 +00:00
functions.h 2018-06-13 François Dumont <fdumont@gcc.gnu.org> 2018-06-13 20:27:26 +00:00
helper_functions.h 2018-06-13 François Dumont <fdumont@gcc.gnu.org> 2018-06-13 20:27:26 +00:00
list macros.h (__glibcxx_check_valid_range_at): New. 2018-05-08 19:46:59 +00:00
macros.h 2018-06-13 François Dumont <fdumont@gcc.gnu.org> 2018-06-13 20:27:26 +00:00
map Update copyright years. 2018-01-03 11:03:58 +01:00
map.h 2018-05-18 François Dumont <fdumont@gcc.gnu.org> 2018-05-18 20:49:49 +00:00
multimap.h 2018-05-18 François Dumont <fdumont@gcc.gnu.org> 2018-05-18 20:49:49 +00:00
multiset.h 2018-05-18 François Dumont <fdumont@gcc.gnu.org> 2018-05-18 20:49:49 +00:00
safe_base.h Update copyright years. 2018-01-03 11:03:58 +01:00
safe_container.h Update copyright years. 2018-01-03 11:03:58 +01:00
safe_iterator.h debug.h (_Safe_iterator<>(const _Safe_iterator<_MutableIterator,>& __x)): Compare __x base iterator with a default initialized iterator of the same type. 2018-06-21 05:36:48 +00:00
safe_iterator.tcc Update copyright years. 2018-01-03 11:03:58 +01:00
safe_local_iterator.h safe_iterator.h (_Safe_iterator<>::_M_constant()): Rename in... 2018-05-09 20:04:46 +00:00
safe_local_iterator.tcc Update copyright years. 2018-01-03 11:03:58 +01:00
safe_sequence.h Update copyright years. 2018-01-03 11:03:58 +01:00
safe_sequence.tcc Update copyright years. 2018-01-03 11:03:58 +01:00
safe_unordered_base.h Update copyright years. 2018-01-03 11:03:58 +01:00
safe_unordered_container.h Update copyright years. 2018-01-03 11:03:58 +01:00
safe_unordered_container.tcc Update copyright years. 2018-01-03 11:03:58 +01:00
set Update copyright years. 2018-01-03 11:03:58 +01:00
set.h 2018-05-18 François Dumont <fdumont@gcc.gnu.org> 2018-05-18 20:49:49 +00:00
stl_iterator.h 2018-06-13 François Dumont <fdumont@gcc.gnu.org> 2018-06-13 20:27:26 +00:00
string PR libstdc++/83328 add correct basic_string::insert for initializer_list 2018-06-21 23:01:25 +01:00
unordered_map macros.h (__glibcxx_check_valid_range_at): New. 2018-05-08 19:46:59 +00:00
unordered_set macros.h (__glibcxx_check_valid_range_at): New. 2018-05-08 19:46:59 +00:00
vector macros.h (__glibcxx_check_valid_range_at): New. 2018-05-08 19:46:59 +00:00