12013-12-22  Hans-Peter Nilsson  <hp@axis.com>
2
3	* testsuite/20_util/hash/chi2_quality.h: Break out from
4	chi2_quality.cc.
5	* testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Ditto.
6	* testsuite/20_util/hash/chi2_q_document_words.cc: Ditto.
7	* testsuite/20_util/hash/chi2_q_bit_string_set.cc: Ditto.  Increase
8	SAMPLES to 35000 for simulator targets.
9	* testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Ditto.
10	* testsuite/20_util/hash/chi2_q_uniform_random.cc: Ditto.
11	* testsuite/20_util/hash/chi2_quality.cc: Remove.
12
132013-12-10  Paolo Carlini  <paolo.carlini@oracle.com>
14
15	* testsuite/20_util/is_base_of/value.cc: Add test.
16
17	* include/std/fstream: Tiny formatting tweak.
18
192013-12-09  Paolo Carlini  <paolo.carlini@oracle.com>
20
21	PR libstdc++/59427
22	* include/bits/fstream.tcc (basic_filebuf<>::overflow,
23	basic_filebuf<>::xsputn): Per lwg/596, ios_base::app implies
24	ios_base:out.
25	* include/std/fstream (basic_filebuf<>::_M_set_buffer): Likewise.
26	* testsuite/27_io/basic_filebuf/sputc/char/59427.cc: New.
27	* testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.
28
292013-12-09  Renlin Li <Renlin.Li@arm.com>
30
31	* testsuite/20_util/hash/chi2_quality.cc: Change -DSAMPLES=30000.
32
332013-12-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
34
35	* testsuite/30_threads/async/async.cc: Fix race condition in test.
36
372013-12-08  Paolo Carlini  <paolo.carlini@oracle.com>
38
39	* testsuite/20_util/add_const/requirements/explicit_instantiation.cc:
40	New.
41	* testsuite/20_util/add_const/value.cc: Likewise.
42	* testsuite/20_util/add_cv/requirements/explicit_instantiation.cc:
43	Likewise.
44	* testsuite/20_util/add_cv/value.cc: Likewise.
45	* testsuite/20_util/add_pointer/requirements/explicit_instantiation.cc:
46	Likewise.
47	* testsuite/20_util/add_pointer/value.cc: Likewise.
48	* testsuite/20_util/add_volatile/requirements/
49	explicit_instantiation.cc: Likewise.
50	* testsuite/20_util/add_volatile/value.cc: Likewise.
51	* testsuite/20_util/alignment_of/requirements/
52	explicit_instantiation.cc: Likewise.
53	* testsuite/20_util/alignment_of/requirements/typedefs.cc: Likewise.
54	* testsuite/20_util/alignment_of/value.cc: Likewise.
55	* testsuite/20_util/extent/requirements/explicit_instantiation.cc:
56	Likewise.
57	* testsuite/20_util/extent/requirements/typedefs.cc: Likewise.
58	* testsuite/20_util/extent/value.cc: Likewise.
59	* testsuite/20_util/has_virtual_destructor/requirements/
60	explicit_instantiation.cc: Likewise.
61	* testsuite/20_util/has_virtual_destructor/requirements/
62	typedefs.cc: Likewise.
63	* testsuite/20_util/has_virtual_destructor/value.cc: Likewise.
64	* testsuite/20_util/is_abstract/requirements/explicit_instantiation.cc:
65 	Likewise.
66	* testsuite/20_util/is_abstract/requirements/typedefs.cc: Likewise.
67	* testsuite/20_util/is_abstract/value.cc: Likewise.
68	* testsuite/20_util/is_arithmetic/requirements/
69	explicit_instantiation.cc: Likewise.
70	* testsuite/20_util/is_arithmetic/requirements/typedefs.cc: Likewise.
71	* testsuite/20_util/is_arithmetic/value.cc: Likewise.
72	* testsuite/20_util/is_array/requirements/explicit_instantiation.cc:
73	Likewise.
74	* testsuite/20_util/is_array/requirements/typedefs.cc: Likewise.
75	* testsuite/20_util/is_array/value.cc: Likewise.
76	* testsuite/20_util/is_base_of/requirements/explicit_instantiation.cc:
77	Likewise.
78	* testsuite/20_util/is_base_of/requirements/typedefs.cc: Likewise.
79	* testsuite/20_util/is_base_of/value.cc: Likewise.
80	* testsuite/20_util/is_class/requirements/explicit_instantiation.cc:
81	Likewise.
82	* testsuite/20_util/is_class/requirements/typedefs.cc: Likewise.
83	* testsuite/20_util/is_class/value.cc: Likewise.
84	* testsuite/20_util/is_const/requirements/explicit_instantiation.cc:
85	Likewise.
86	* testsuite/20_util/is_const/requirements/typedefs.cc: Likewise.
87	* testsuite/20_util/is_const/value.cc: Likewise.
88	* testsuite/20_util/is_empty/requirements/explicit_instantiation.cc:
89	Likewise.
90	* testsuite/20_util/is_empty/requirements/typedefs.cc: Likewise.
91	* testsuite/20_util/is_empty/value.cc: Likewise.
92	* testsuite/20_util/is_enum/requirements/explicit_instantiation.cc:
93	Likewise.
94	* testsuite/20_util/is_enum/requirements/typedefs.cc
95	* testsuite/20_util/is_enum/value.cc: Likewise.
96	* testsuite/20_util/is_pointer/requirements/explicit_instantiation.cc
97	* testsuite/20_util/is_pointer/value.cc: Likewise.
98	* testsuite/20_util/is_polymorphic/requirements/
99	explicit_instantiation.cc: Likewise.
100	* testsuite/20_util/is_polymorphic/requirements/typedefs.cc: Likewise.
101	* testsuite/20_util/is_polymorphic/value.cc: Likewise.
102	* testsuite/20_util/is_same/requirements/explicit_instantiation.cc
103	* testsuite/20_util/is_same/requirements/typedefs.cc: Likewise.
104	* testsuite/20_util/is_same/value.cc: Likewise.
105	* testsuite/20_util/is_union/requirements/
106	explicit_instantiation.cc: Likewise.
107	* testsuite/20_util/is_union/requirements/typedefs.cc: Likewise.
108	* testsuite/20_util/is_union/value.cc: Likewise.
109	* testsuite/20_util/is_void/requirements/explicit_instantiation.cc
110	* testsuite/20_util/is_void/requirements/typedefs.cc: Likewise.
111	* testsuite/20_util/is_void/value.cc: Likewise.
112	* testsuite/20_util/is_volatile/requirements/
113	explicit_instantiation.cc: Likewise.
114	* testsuite/20_util/is_volatile/requirements/typedefs.cc: Likewise.
115	* testsuite/20_util/is_volatile/value.cc: Likewise.
116	* testsuite/20_util/rank/requirements/explicit_instantiation.cc:
117	Likewise.
118	* testsuite/20_util/rank/requirements/typedefs.cc: Likewise.
119	* testsuite/20_util/rank/value.cc: Likewise.
120	* testsuite/20_util/remove_all_extents/requirements/
121	explicit_instantiation.cc: Likewise.
122	* testsuite/20_util/remove_all_extents/value.cc: Likewise.
123	* testsuite/20_util/remove_const/requirements/
124	explicit_instantiation.cc: Likewise.
125	* testsuite/20_util/remove_const/value.cc: Likewise.
126	* testsuite/20_util/remove_cv/requirements/explicit_instantiation.cc:
127	Likewise.
128	* testsuite/20_util/remove_cv/value.cc: Likewise.
129	* testsuite/20_util/remove_extent/requirements/
130	explicit_instantiation.cc: Likewise.
131	* testsuite/20_util/remove_extent/value.cc: Likewise.
132	* testsuite/20_util/remove_pointer/requirements/
133	explicit_instantiation.cc: Likewise.
134	* testsuite/20_util/remove_pointer/value.cc: Likewise.
135	* testsuite/20_util/remove_volatile/requirements/
136	explicit_instantiation.cc: Likewise.
137	* testsuite/20_util/remove_volatile/value.cc: Likewise.
138
1392013-12-06  Paolo Carlini  <paolo.carlini@oracle.com>
140
141	* testsuite/util/testsuite_tr1.h (test_category, test_property,
142	test_relationship): constexpr in c++11 mode.
143	* testsuite/20_util/add_lvalue_reference/value.cc: Use static_assert
144	and change to dg-do compile testcase.
145	* testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
146	* testsuite/20_util/aligned_storage/value.cc: Likewise.
147	* testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
148	* testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
149	* testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise.
150	* testsuite/20_util/is_compound/value.cc: Likewise.
151	* testsuite/20_util/is_constructible/value.cc: Likewise.
152	* testsuite/20_util/is_convertible/value.cc: Likewise.
153	* testsuite/20_util/is_copy_assignable/value.cc: Likewise.
154	* testsuite/20_util/is_copy_constructible/value.cc: Likewise.
155	* testsuite/20_util/is_floating_point/value.cc: Likewise.
156	* testsuite/20_util/is_function/value.cc: Likewise.
157	* testsuite/20_util/is_fundamental/value.cc: Likewise.
158	* testsuite/20_util/is_integral/value.cc: Likewise.
159	* testsuite/20_util/is_literal_type/value.cc: Likewise.
160	* testsuite/20_util/is_lvalue_reference/value.cc: Likewise.
161	* testsuite/20_util/is_member_function_pointer/value.cc: Likewise.
162	* testsuite/20_util/is_member_object_pointer/value.cc: Likewise.
163	* testsuite/20_util/is_member_pointer/value.cc: Likewise.
164	* testsuite/20_util/is_move_assignable/value.cc: Likewise.
165	* testsuite/20_util/is_move_constructible/value.cc: Likewise.
166	* testsuite/20_util/is_nothrow_assignable/value.cc: Likewise.
167	* testsuite/20_util/is_nothrow_constructible/value.cc: Likewise.
168	* testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
169	* testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
170	* testsuite/20_util/is_nothrow_default_constructible/value.cc: Likewise.
171	* testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
172	* testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
173	* testsuite/20_util/is_null_pointer/value.cc: Likewise.
174	* testsuite/20_util/is_object/value.cc: Likewise.
175	* testsuite/20_util/is_pod/value.cc: Likewise.
176	* testsuite/20_util/is_reference/value.cc: Likewise.
177	* testsuite/20_util/is_rvalue_reference/value.cc: Likewise.
178	* testsuite/20_util/is_scalar/value.cc: Likewise.
179	* testsuite/20_util/is_signed/value.cc: Likewise.
180	* testsuite/20_util/is_standard_layout/value.cc: Likewise.
181	* testsuite/20_util/is_trivial/value.cc: Likewise.
182	* testsuite/20_util/is_trivially_destructible/value.cc: Likewise.
183	* testsuite/20_util/is_unsigned/value.cc: Likewise.
184	* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
185	* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise.
186	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
187	* testsuite/20_util/remove_reference/value.cc: Likewise.
188
1892013-12-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
190
191	* include/std/fstream (basic_filebuf::open): Use preformatted text
192	for table in Doxygen comment.
193
1942013-12-03  Tim Shen  <timshen91@gmail.com>
195
196	* regex_compiler.h: Add todo comment.
197	* regex_executor.tcc: Likewise.
198
1992013-11-29  Matthias Klose  <doko@ubuntu.com>
200
201	* testsuite/experimental/string_view/requirements/exception,
202	testsuite/experimental/string_view/capacity/wchar_t,
203	testsuite/experimental/string_view/capacity/char: Remove empty dirs.
204
2052013-11-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
206
207	* testsuite/ext/random/hypergeometric_distribution/operators/values.cc:
208	Use dg-require-cmath instead.
209
210	* testsuite/ext/random/hypergeometric_distribution/operators/values.cc
211	(test01): Wrap in _GLIBCXX_USE_C99_MATH_TR1.
212
2132013-11-22  François Dumont  <fdumont@gcc.gnu.org>
214
215	* include/debug/safe_local_iterator.h (_Safe_local_iterator<>):
216	Remove _M_bucket, use same information in normal local_iterator.
217	(operator==): Remove redundant _M_can_compare check.
218	* include/debug/safe_local_iterator.tcc: Adapt.
219	* include/debug/unordered_set: Likewise.
220	* include/debug/unordered_map: Likewise.
221
2222013-11-22  Jakub Jelinek  <jakub@redhat.com>
223
224	* testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add 10.
225	(check-DEJAGNU): Add normal10, run 28_regex/[ab]*
226	tests as another separate job.
227	* testsuite/Makefile.in: Regenerated.
228
2292013-11-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
230
231	* acinclude.m4 (libtool_VERSION): Bump.
232	* configure: Regenerate.
233	* doc/xml/manual/abi.xml: Update version information.
234
235	PR libstdc++/59247
236	* include/bits/c++config (_GLIBCXX_INLINE_VERSION): Declare namespace
237	std::experimental::__7 as inline.
238	* include/bits/regex.h (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Do not
239	enclose namespace __detail.
240	* include/bits/regex.tcc (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise.
241	* include/std/iomanip (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise.
242	* include/ext/pb_ds/tag_and_trait.hpp (detail): Fix comment.
243	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
244
2452013-11-22  Paolo Carlini  <paolo.carlini@oracle.com>
246
247	* testsuite/ext/random/hypergeometric_distribution/operators/
248	values.cc: Fix further thinkos.
249
2502013-11-22  Paolo Carlini  <paolo.carlini@oracle.com>
251
252	* testsuite/ext/random/hypergeometric_distribution/operators/
253	values.cc: Fix thinkos.
254
2552013-11-21  Edward Smith-Rowland  <3dw4rd@verizon.net>
256
257	* include/experimental/string_view: Rep empty string with unit-length
258	static constexpr string. Uncomment _GLIBCXX_VISIBILITY. Enforce
259	invariant of no nullptr string pointer.
260	* include/experimental/string_view.tcc: Ditto.
261	* testsuite/experimental/string_view/cons/char/1.cc: data() for empty
262	string_view is no longer nullptr.
263	* testsuite/experimental/string_view/cons/wchar_t/1.cc: Ditto.
264	* testsuite/experimental/string_view/operations/data/char/1.cc: Ditto.
265	* testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
266	Ditto.
267
2682013-11-21  Edward Smith-Rowland  <3dw4rd@verizon.net>
269
270	Implement __gnu_cxx::hypergeometric_distribution.
271	* include/ext/random: Add hypergeometric_distribution.
272	* include/ext/random.tcc: Add hypergeometric_distribution.
273	* testsuite/util/testsuite_random.h (hypergeometric_pdf): New pdf
274	for the hypergeometric discreet distribution;
275	(lbincoef): New supporting function for binomial coefficients.
276	* testsuite/ext/random/hypergeometric_distribution/operators/
277	serialize.cc: New.
278	* testsuite/ext/random/hypergeometric_distribution/operators/
279	equal.cc: New.
280	* testsuite/ext/random/hypergeometric_distribution/operators/
281	inequal.cc: New.
282	* testsuite/ext/random/hypergeometric_distribution/operators/
283	values.cc: New.
284	* testsuite/ext/random/hypergeometric_distribution/cons/parms.cc: New.
285	* testsuite/ext/random/hypergeometric_distribution/cons/default.cc: New.
286	* testsuite/ext/random/hypergeometric_distribution/requirements/
287	explicit_instantiation/1.cc: New.
288	* testsuite/ext/random/hypergeometric_distribution/requirements/
289	typedefs.cc: New.
290
2912013-11-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
292
293	PR c++/59173
294	* include/ext/pointer.h (pointer_traits<>::rebind<>): Add template
295	keyword in nested name.
296
297	PR libstdc++/49204
298	* include/std/future (__future_base::_State_base): Rename to
299	__future_base::_State_baseV2.
300	(__future_base::_State_baseV2::~_State_baseV2): Define as defaulted.
301	(__future_base::_State_baseV2::_M_run_deferred): Rename to
302	_M_complete_async.
303	(__future_base::_State_baseV2::_M_has_deferred): Add new virtual.
304	(__future_base::_State_baseV2::wait_for): Call _M_has_deferred() to
305	test for a deferred function, or call _M_complete_async() to join an
306	async thread that has made the shared state ready.
307	(__future_base::_State_baseV2::wait_until): Likewise.
308	(__future_base::_Async_state_common): Rename to _Async_state_commonV2.
309	(__future_base::_Async_state_commonV2::_M_run_deferred): Rename to
310	_M_complete_async.
311	* src/c++11/compatibility-thread-c++0x.cc (__future_base::_State_base):
312	Export old definition.
313	(__future_base::_Async_state_common): Likewise.
314	* src/c++11/future.cc (__future_base::_State_base::~_State_base):
315	Remove.
316	* doc/xml/manual/status_cxx2011.xml: Update status.
317	* testsuite/30_threads/async/async.cc: Test future_status::timeout
318	and future_status::ready.
319	* testsuite/30_threads/async/sync.cc: Test future_status::deferred.
320
3212013-11-20  David Edelsohn  <dje.gcc@gmail.com>
322
323	* testsuite/17_intro/static.cc: Ignore AIX TOC reload warnings.
324
3252013-11-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
326
327	* testsuite/23_containers/forward_list/allocator/noexcept.cc: Change
328	to compile-only test. Adjust swap overload to handle rebound
329	allocators.
330	* testsuite/23_containers/map/allocator/noexcept.cc: Likewise.
331	* testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise.
332	* testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise.
333	* testsuite/23_containers/set/allocator/noexcept.cc: Likewise.
334	* testsuite/23_containers/unordered_map/allocator/noexcept.cc:
335	Likewise.
336	* testsuite/23_containers/unordered_multimap/allocator/noexcept.cc:
337	Likewise.
338	* testsuite/23_containers/unordered_multiset/allocator/noexcept.cc:
339	Likewise.
340	* testsuite/23_containers/unordered_set/allocator/noexcept.cc:
341	Likewise.
342	* testsuite/23_containers/vector/allocator/noexcept.cc: Likewise.
343	* testsuite/23_containers/vector/allocator/swap.cc: Add elements
344	before swapping.
345
346	* config/abi/pre/gnu.ver (_ZNSt11regex_errorC*): Export regex_error
347	constructors.
348	* testsuite/20_util/addressof/1.cc: Remove { dg-do compile }.
349	* testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
350	* testsuite/20_util/allocator_traits/members/select.cc: Likewise. Fix
351	failure.
352	* testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
353	* testsuite/28_regex/init-list.cc: Likewise.
354	* testsuite/28_regex/regex_error/regex_error.cc: Likewise.
355	* testsuite/28_regex/sub_match/length.cc: Likewise. Add main.
356	* testsuite/28_regex/sub_match/cast_char.cc: Likewise. Fix test.
357	* testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
358	* testsuite/tr1/7_regular_expressions/regex/cons/char/
359	c_string_extended.cc: Delete.
360
3612013-11-19  Paolo Carlini  <paolo.carlini@oracle.com>
362
363	* include/experimental/string_view (_S_max_size): Remove.
364	(basic_string_view<>::max_size): Adjust.
365	* testsuite/experimental/string_view/capacity/1.cc: Clean-up.
366	* testsuite/experimental/string_view/inserters/pod/10081-out.cc:
367	Likewise.
368
3692013-11-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
370
371	* doc/xml/manual/status_cxx2014.xml: Create new table for TS statuses.
372
3732013-11-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
374
375	* include/bits/shared_ptr_base.h (_Sp_counted_base<_S_single>): Use
376	non-atomic operations.
377	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
378	* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
379
3802013-11-16  Edward Smith-Rowland  <3dw4rd@verizon.net>
381
382	Implement N3762 string_view: a non-owning reference to a string.
383	* include/Makefile.am: Add string_view and string_view.tcc.
384	* include/Makefile.in: Regenerate.
385	* include/experimental/string_view: Implement basic_string_view.
386	* include/experimental/string_view.tcc: Implement basic_string_view.
387	* testsuite/experimental/string_view/capacity/1.cc: New.
388	* testsuite/experimental/string_view/cons/char/1.cc: New.
389	* testsuite/experimental/string_view/cons/char/2.cc: New.
390	* testsuite/experimental/string_view/cons/char/3.cc: New.
391	* testsuite/experimental/string_view/cons/wchar_t/1.cc: New.
392	* testsuite/experimental/string_view/cons/wchar_t/2.cc: New.
393	* testsuite/experimental/string_view/cons/wchar_t/3.cc: New.
394	* testsuite/experimental/string_view/element_access/char/1.cc: New.
395	* testsuite/experimental/string_view/element_access/char/2.cc: New.
396	* testsuite/experimental/string_view/element_access/char/empty.cc: New.
397	* testsuite/experimental/string_view/element_access/char/front_back.cc:
398	New.
399	* testsuite/experimental/string_view/element_access/wchar_t/1.cc: New.
400	* testsuite/experimental/string_view/element_access/wchar_t/2.cc: New.
401	* testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
402	New.
403	* testsuite/experimental/string_view/element_access/wchar_t/
404	front_back.cc: New.
405	* testsuite/experimental/string_view/include.cc: New.
406	* testsuite/experimental/string_view/inserters/char/1.cc: New.
407	* testsuite/experimental/string_view/inserters/char/2.cc: New.
408	* testsuite/experimental/string_view/inserters/char/3.cc: New.
409	* testsuite/experimental/string_view/inserters/pod/10081-out.cc: New.
410	* testsuite/experimental/string_view/inserters/wchar_t/1.cc: New.
411	* testsuite/experimental/string_view/inserters/wchar_t/2.cc: New.
412	* testsuite/experimental/string_view/inserters/wchar_t/3.cc: New.
413	* testsuite/experimental/string_view/literals/types.cc: New.
414	* testsuite/experimental/string_view/literals/values.cc: New.
415	* testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc:
416	New.
417	* testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
418	1.cc: New.
419	* testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc:
420	New.
421	* testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
422	1.cc: New.
423	* testsuite/experimental/string_view/operations/compare/char/1.cc: New.
424	* testsuite/experimental/string_view/operations/compare/char/13650.cc:
425	New.
426	* testsuite/experimental/string_view/operations/compare/wchar_t/1.cc:
427	New.
428	* testsuite/experimental/string_view/operations/compare/wchar_t/
429	13650.cc: New.
430	* testsuite/experimental/string_view/operations/data/char/1.cc: New.
431	* testsuite/experimental/string_view/operations/data/wchar_t/1.cc: New.
432	* testsuite/experimental/string_view/operations/find/char/1.cc: New.
433	* testsuite/experimental/string_view/operations/find/char/2.cc: New.
434	* testsuite/experimental/string_view/operations/find/char/3.cc: New.
435	* testsuite/experimental/string_view/operations/find/char/4.cc: New.
436	* testsuite/experimental/string_view/operations/find/wchar_t/1.cc: New.
437	* testsuite/experimental/string_view/operations/find/wchar_t/2.cc: New.
438	* testsuite/experimental/string_view/operations/find/wchar_t/3.cc: New.
439	* testsuite/experimental/string_view/operations/find/wchar_t/4.cc: New.
440	* testsuite/experimental/string_view/operations/rfind/char/1.cc: New.
441	* testsuite/experimental/string_view/operations/rfind/char/2.cc: New.
442	* testsuite/experimental/string_view/operations/rfind/char/3.cc: New.
443	* testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc: New.
444	* testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc: New.
445	* testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc: New.
446	* testsuite/experimental/string_view/operations/substr/char/1.cc: New.
447	* testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
448	New.
449	* testsuite/experimental/string_view/operators/char/2.cc: New.
450	* testsuite/experimental/string_view/operators/wchar_t/2.cc: New.
451	* testsuite/experimental/string_view/range_access/char/1.cc: New.
452	* testsuite/experimental/string_view/range_access/wchar_t/1.cc: New.
453	* testsuite/experimental/string_view/requirements/
454	explicit_instantiation/1.cc: New.
455	* testsuite/experimental/string_view/requirements/
456	explicit_instantiation/char/1.cc: New.
457	* testsuite/experimental/string_view/requirements/
458	explicit_instantiation/char16_t/1.cc: New.
459	* testsuite/experimental/string_view/requirements/
460	explicit_instantiation/char32_t/1.cc: New.
461	* testsuite/experimental/string_view/requirements/
462	explicit_instantiation/wchar_t/1.cc: New.
463	* testsuite/experimental/string_view/requirements/typedefs.cc: New.
464	* testsuite/experimental/string_view/types/1.cc: New.
465
4662013-11-16  François Dumont  <fdumont@gcc.gnu.org>
467
468	* testsuite/23_containers/unordered_set/55043.cc (equal): Add
469	missing & on rhs parameter.
470
4712013-11-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
472
473	* include/bits/stl_bvector.h (vector<bool>::emplace_back()): LWG 2187:
474	Define.
475	(vector<bool>::emplace()): Likewise.
476	* testsuite/23_containers/vector/bool/emplace.cc: New.
477
4782013-11-15  Ondřej Bílka <neleai@seznam.cz>
479	    Jonathan Wakely  <jwakely.gcc@gmail.com>
480
481	* doc/xml/manual/build_hacking.xml: Fix documentation typos.
482	* doc/xml/manual/configure.xml: Likewise.
483	* include/bits/atomic_base.h: Fix typos in comments.
484	* include/bits/random.h: Likewise.
485	* include/ext/cast.h: Likewise.
486	* libsupc++/cxxabi.h: Likewise.
487	* testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise.
488	* testsuite/tr1/5_numerical_facilities/special_functions/testcase.h:
489	Likewise.
490	* testsuite/util/exception/safety.h: Likewise.
491	* testsuite/util/testsuite_containers.h: Likewise.
492	* testsuite/util/testsuite_hooks.cc: Likewise.
493
4942013-11-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
495
496	* include/bits/stl_map.h (map): Implement C++11 allocator-aware
497	container requirements.
498	* include/bits/stl_multimap.h (multimap): Likewise.
499	* include/bits/stl_multiset.h (multiset): Likewise.
500	* include/bits/stl_set.h (set): Likewise.
501	* include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_buffer and
502	add accessors for value.
503	(_Rb_tree_iterator, _Rb_tree_const_iterator): Use _Rb_tree_node
504	accessors.
505	(_Rb_tree): Use allocator_traits and implement support for sets and
506	maps the be allocator-aware.
507	* include/bits/forward_list.h (_Fwd_list_base::_M_create_node): Do
508	not zero-initialize storage buffer.
509	* include/bits/hashtable_policy.h (_Hashtable_alloc::_M_allocate_node):
510	Likewise.
511	* include/bits/stl_vector.h (vector(vector&&, const allocator_type&)):
512	Add conditional noexcept specification.
513	* doc/xml/manual/status_cxx2011.xml: Update status of containers.
514	* testsuite/util/testsuite_allocator.h: Re-indent.
515	* testsuite/23_containers/forward_list/allocator/copy.cc: Test
516	allocator-extended copy constructor.
517	* testsuite/23_containers/unordered_map/allocator/copy.cc: Likewise.
518	* testsuite/23_containers/unordered_multimap/allocator/copy.cc:
519	Likewise.
520	* testsuite/23_containers/unordered_multiset/allocator/copy.cc:
521	Likewise.
522	* testsuite/23_containers/unordered_set/allocator/copy.cc: Likewise.
523	* testsuite/23_containers/vector/allocator/copy.cc: Likewise.
524	* testsuite/23_containers/forward_list/allocator/move.cc: New.
525	* testsuite/23_containers/unordered_map/allocator/move.cc: New.
526	* testsuite/23_containers/unordered_multimap/allocator/move.cc: New.
527	* testsuite/23_containers/unordered_multiset/allocator/move.cc: New.
528	* testsuite/23_containers/unordered_set/allocator/move.cc: New.
529	* testsuite/23_containers/vector/allocator/move.cc: New.
530	* testsuite/23_containers/map/allocator/copy.cc: New.
531	* testsuite/23_containers/map/allocator/copy_assign.cc: New.
532	* testsuite/23_containers/map/allocator/minimal.cc: New.
533	* testsuite/23_containers/map/allocator/move.cc: New.
534	* testsuite/23_containers/map/allocator/move_assign.cc: New.
535	* testsuite/23_containers/map/allocator/noexcept.cc: New.
536	* testsuite/23_containers/map/allocator/swap.cc: New.
537	* testsuite/23_containers/multimap/allocator/copy.cc: New.
538	* testsuite/23_containers/multimap/allocator/copy_assign.cc: New.
539	* testsuite/23_containers/multimap/allocator/minimal.cc: New.
540	* testsuite/23_containers/multimap/allocator/move.cc: New.
541	* testsuite/23_containers/multimap/allocator/move_assign.cc: New.
542	* testsuite/23_containers/multimap/allocator/noexcept.cc: New.
543	* testsuite/23_containers/multimap/allocator/swap.cc: New.
544	* testsuite/23_containers/multiset/allocator/copy.cc: New.
545	* testsuite/23_containers/multiset/allocator/copy_assign.cc: New.
546	* testsuite/23_containers/multiset/allocator/minimal.cc: New.
547	* testsuite/23_containers/multiset/allocator/move.cc: New.
548	* testsuite/23_containers/multiset/allocator/move_assign.cc: New.
549	* testsuite/23_containers/multiset/allocator/noexcept.cc: New.
550	* testsuite/23_containers/multiset/allocator/swap.cc: New.
551	* testsuite/23_containers/set/allocator/copy.cc: New.
552	* testsuite/23_containers/set/allocator/copy_assign.cc: New.
553	* testsuite/23_containers/set/allocator/minimal.cc: New.
554	* testsuite/23_containers/set/allocator/move.cc: New.
555	* testsuite/23_containers/set/allocator/move_assign.cc: New.
556	* testsuite/23_containers/set/allocator/noexcept.cc: New.
557	* testsuite/23_containers/set/allocator/swap.cc: New.
558	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
559	Adjust dg-error line number.
560	* testsuite/23_containers/vector/requirements/dr438/
561	constructor_1_neg.cc: Likewise.
562	* testsuite/23_containers/vector/requirements/dr438/
563	constructor_2_neg.cc: Likewise.
564	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
565	Likewise.
566
5672013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
568
569	* scripts/extract_symvers.in: Ignore <localentry: > fields
570	in readelf --symbols output.
571
5722013-11-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
573
574	* include/bits/alloc_traits.h (__allow_copy_cons): Remove.
575	(__check_copy_constructible): Likewise.
576	* include/bits/unordered_map.h (unordered_map, unordered_multimap):
577	Do not derive from __check_copy_constructible.
578	* include/bits/unordered_set.h (unordered_set, unordered_multiset):
579	Likewise.
580	* testsuite/23_containers/unordered_map/55043.cc: It is no longer
581	necessary for is_copy_constructible to be correct to use nested
582	unordered containers.
583	* testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
584	* testsuite/23_containers/unordered_set/55043.cc: Likewise.
585	* testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
586
5872013-11-13  Marc Glisse  <marc.glisse@inria.fr>
588
589	PR libstdc++/59087
590	* include/ext/pod_char_traits.h: Uglify V, I and S.
591
5922013-11-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
593
594	PR libstdc++/54562
595	* include/std/mutex (__timed_mutex_impl::__clock_t): Use
596	high_resolution_clock for absolute timeouts, because
597	pthread_mutex_timedlock uses CLOCK_REALTIME not CLOCK_MONOTONIC.
598	(__timed_mutex_impl::_M_try_lock_for): Use steady_clock for relative
599	timeouts as per [thread.req.timing].
600	(__timed_mutex_impl::_M_try_lock_until<Clock,Duration>): Convert to
601	__clock_t time point instead of using _M_try_lock_for.
602
6032013-11-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
604
605	PR libstdc++/58982
606	* include/bits/stl_algobase.h (__copy_move::__copy_m): Use assertion
607	to prevent using memmove() on non-assignable types.
608	(__copy_move_backward::__copy_move_b): Likewise.
609	* include/bits/stl_uninitialized.h (uninitialized_copy
610	uninitialized_copy_n, uninitialized_fill, uninitialized_fill_n,
611	__uninitialized_default, __uninitialized_default_n): Check for
612	assignable as well as trivial.
613	* testsuite/20_util/specialized_algorithms/uninitialized_copy/
614	58982.cc: New.
615	* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
616	58982.cc: New.
617	* testsuite/20_util/specialized_algorithms/uninitialized_fill/
618	58982.cc: New.
619	* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
620	58982.cc: New.
621	* testsuite/25_algorithms/copy/58982.cc: New.
622	* testsuite/25_algorithms/copy_n/58982.cc: New.
623
6242013-11-08  François Dumont  <fdumont@gcc.gnu.org>
625
626	* include/debug/safe_iterator.h (_BeforeBeginHelper<>::_S_Is):
627	Take only a const safe iterator reference.
628	(_BeforeBeginHelper<>::_S_Is_beginnest): Likewise.
629	(__get_distance): Take only one type of iterator.
630	(_Safe_iterator<>::_M_valid_range<>): Not template anymore.
631	(_Safe_iterator<>::_M_get_sequence()): Return pointer to const
632	sequence from a const_iterator and a pointer to sequence from an
633	iterator.
634	* include/debug/safe_iterator.tcc: Adapt.
635	* include/debug/safe_local_iterator.h
636	(_Safe_local_iterator<>::_M_valid_range<>): Not template anymore.
637	(_Safe_local_iterator<>::_M_get_sequence()): Return pointer to
638	const sequence from a const_iterator and a pointer to sequence
639	from an iterator.
640	* include/debug/safe_local_iterator.tcc: Adapt.
641	* include/debug/forward_list
642	(_BeforeBeginHelper<std::__debug::forward_list<>>): Adapt.
643
6442013-11-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
645
646	* include/bits/regex_automaton.h (__detail::_State): Split
647	non-dependent parts into new _State_base.
648	(__detail::_NFA): Likewise for _NFA_base. Use std::move() to avoid
649	copies when inserting _MatcherT and _StateT objects.
650	* include/bits/regex_automaton.tcc: Move member definitions to base
651	class. Qualify dependent names.
652	* include/bits/regex_compiler.h (__detail::_Compiler::_M_get_nfa): Make
653	non-const and use std::move to avoid copying.
654	* include/bits/regex_compiler.tcc: Likewise.
655	* include/bits/regex_executor.h (__detail::_Executor::_M_is_word): Use
656	array, so past-the-end iterator is valid.
657
658	* include/bits/regex_automaton.h (__detail::_State, __detail::_NFA,
659	__detail::_StateSeq): Remove redundant _CharT template parameters.
660	* include/bits/regex_automaton.tcc: Likewise.
661	* include/bits/regex_compiler.h (__detail::_Compiler): Likewise.
662	(__compile_nfa): Add object generator for _Compiler.
663	* include/bits/regex_compiler.tcc: Remove _CharT template parameters.
664	* include/bits/regex_executor.h: Likewise.
665	* include/bits/regex_executor.tcc: Likewise.
666	* include/bits/regex.h (basic_regex): Assert char_type matches. Use
667	__compile_nfa object generator. Remove _CharT template parameter.
668
669	* include/bits/regex_compiler.h (__detail::_AnyMatcher,
670	__detail::_CharMatcher, __detail::_BracketMatcher): Remove redundant
671	_CharT template parameters.
672	* include/bits/regex_compiler.tcc: Likewise.
673
674	* include/bits/regex_compiler.h (__detail::__compile_nfa): Overload
675	so that std::basic_string<C> and std::vector<C> iterators dispatch to
676	the const C* compiler.
677
678	* include/bits/regex_compiler.h (__detail::__has_contiguous_iter):
679	vector<bool> storage is not contiguous.
680
6812013-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
682
683	* include/bits/regex_automaton.h (_S_opcode_word_boundry): Rename to
684	_S_opcode_word_boundary.
685	* include/bits/regex_automaton.tcc: Likewise.
686	* include/bits/regex_executor.h (__detail::_Executor::_M_word_boundry):
687	Rename to _M_word_boundary.
688	* include/bits/regex_executor.tcc: Likewise.
689
6902013-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
691
692	N3655 C++1y TransformationTraits Redux
693	* include/std/type_traits (remove_const_t, remove_volatile_t,
694	remove_cv_t, add_const_t, add_volatile_t, add_cv_t, remove_reference_t,
695	add_lvalue_reference_t, add_rvalue_reference_t, make_signed_t,
696	make_unsigned_t, remove_extent_t, remove_all_extents_t,
697	remove_pointer_t, add_pointer_t, aligned_storage_t, decay_t,
698	enable_if_t, conditional_t, common_type_t, underlying_type_t,
699	result_of_t): Define.
700	* doc/xml/manual/status_cxx2014.xml: Update.
701	* testsuite/20_util/add_lvalue_reference/requirements/typedefs-3.cc:
702	New.
703	* testsuite/20_util/add_rvalue_reference/requirements/typedefs-3.cc:
704	New.
705	* testsuite/20_util/common_type/requirements/typedefs-3.cc: New.
706	* testsuite/20_util/conditional/requirements/typedefs-2.cc: New.
707	* testsuite/20_util/decay/requirements/typedefs-2.cc: New.
708	* testsuite/20_util/enable_if/requirements/typedefs-2.cc: New.
709	* testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
710	* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
711	* testsuite/20_util/remove_reference/requirements/typedefs.cc: New.
712	* testsuite/20_util/result_of/requirements/typedefs.cc: New.
713	* testsuite/20_util/underlying_type/requirements/typedefs-3.cc: New.
714	* testsuite/20_util/common_type/requirements/typedefs-2.cc: Change to
715	compile-only test.
716	* testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
717	* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
718	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
719	line number.
720	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
721	Likewise.
722	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
723	Likewise.
724
7252013-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
726
727	* doc/xml/manual/status_cxx2011.xml: Document aligned_union as
728	missing.
729
7302013-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
731	    Paolo Carlini  <paolo.carlini@oracle.com>
732
733	* include/experimental/optional: Use __and_<> and __not_<> in
734	conditions. Style fixes.
735	(__constexpr_addressof, swap): Make inline.
736	* testsuite/experimental/optional/cons/copy.cc: Adjust constants for
737	32-bit targets.
738	* testsuite/experimental/optional/cons/move.cc: Likewise.
739	* testsuite/experimental/optional/cons/value.cc: Likewise.
740	* testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
741
7422013-11-01  Michael Brune  <lucdanton@free.fr>
743
744	* include/bits/enable_special_members.h: New.
745	* include/experimental/optional: New.
746	* include/Makefile.am: Handle include/experimental.
747	* include/Makefile.in: Regenerate.
748	* testsuite/libstdc++-dg/conformance.exp: Run tests from
749	testsuite/experimental sub-directory.
750	* testsuite/experimental/optional/assignment/1.cc: New.
751	* testsuite/experimental/optional/assignment/2.cc: New.
752	* testsuite/experimental/optional/assignment/3.cc: New.
753	* testsuite/experimental/optional/assignment/4.cc: New.
754	* testsuite/experimental/optional/assignment/5.cc: New.
755	* testsuite/experimental/optional/assignment/6.cc: New.
756	* testsuite/experimental/optional/cons/copy.cc: New.
757	* testsuite/experimental/optional/cons/default.cc: New.
758	* testsuite/experimental/optional/cons/move.cc: New.
759	* testsuite/experimental/optional/cons/value.cc: New.
760	* testsuite/experimental/optional/constexpr/cons/default.cc: New.
761	* testsuite/experimental/optional/constexpr/cons/value.cc: New.
762	* testsuite/experimental/optional/constexpr/in_place.cc: New.
763	* testsuite/experimental/optional/constexpr/make_optional.cc: New.
764	* testsuite/experimental/optional/constexpr/nullopt.cc: New.
765	* testsuite/experimental/optional/constexpr/observers/1.cc: New.
766	* testsuite/experimental/optional/constexpr/observers/2.cc: New.
767	* testsuite/experimental/optional/constexpr/observers/3.cc: New.
768	* testsuite/experimental/optional/constexpr/observers/4.cc: New.
769	* testsuite/experimental/optional/constexpr/observers/5.cc: New.
770	* testsuite/experimental/optional/constexpr/relops/1.cc: New.
771	* testsuite/experimental/optional/constexpr/relops/2.cc: New.
772	* testsuite/experimental/optional/constexpr/relops/3.cc: New.
773	* testsuite/experimental/optional/constexpr/relops/4.cc: New.
774	* testsuite/experimental/optional/constexpr/relops/5.cc: New.
775	* testsuite/experimental/optional/constexpr/relops/6.cc: New.
776	* testsuite/experimental/optional/in_place.cc: New.
777	* testsuite/experimental/optional/make_optional.cc: New.
778	* testsuite/experimental/optional/nullopt.cc: New.
779	* testsuite/experimental/optional/observers/1.cc: New.
780	* testsuite/experimental/optional/observers/2.cc: New.
781	* testsuite/experimental/optional/observers/3.cc: New.
782	* testsuite/experimental/optional/observers/4.cc: New.
783	* testsuite/experimental/optional/observers/5.cc: New.
784	* testsuite/experimental/optional/relops/1.cc: New.
785	* testsuite/experimental/optional/relops/2.cc: New.
786	* testsuite/experimental/optional/relops/3.cc: New.
787	* testsuite/experimental/optional/relops/4.cc: New.
788	* testsuite/experimental/optional/relops/5.cc: New.
789	* testsuite/experimental/optional/relops/6.cc: New.
790	* testsuite/experimental/optional/requirements.cc: New.
791	* testsuite/experimental/optional/swap/1.cc: New.
792
7932013-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
794
795	* include/bits/stl_function.h (logical_not<void>): Add noexcept.
796
7972013-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
798
799	PR libstdc++/58952
800	* include/c_global/cstdio: Undef getchar.
801
8022013-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
803
804	N3421 C++1y Transparent functors
805	* include/bits/stl_function.h (plus<void>, minus<void>,
806	multiplies<void>, divides<void>, modulus<void>, negate<void>,
807	equal_to<void>, not_equal_to<void>, greater<void>, less<void>,
808	greater_equal<void>, less_equal<void>, logical_and<void>,
809	logical_or<void>, logical_not<void>, bit_and<void>, bit_or<void>,
810	bit_xor<void>, bit_not<void>): Define.
811	* doc/xml/manual/status_cxx2014.xml: Update.
812	* testsuite/20_util/function_objects/comparisons_void.cc: New.
813
8142013-10-31  Jonathan Wakely  <jwakely.gcc@gmail.com>
815
816	* include/std/tuple (_Index_tuple, _Build_index_tuple): Move to
817	<utility>.
818	* include/std/utility (integer_sequence, make_integer_sequence,
819	index_sequence, make_index_sequence, index_sequence_for): Define.
820	* doc/xml/manual/status_cxx2014.xml: Update.
821	* testsuite/20_util/integer_sequence/intseq.cc: New.
822	* testsuite/20_util/integer_sequence/requirements/typedefs.cc: New.
823
8242013-10-31  Steve Ellcey  <sellcey@mips.com>
825
826	* configure.ac: Add header checks for fenv.h and complex.h.
827	* configure: Regenerate.
828
8292013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
830
831        Implement C++14 digit separators.
832	* include/include/bits/parse_numbers.h: Change struct _Digit<_Base, '`'>
833	to struct _Digit<_Base, '\''>.
834
8352013-10-31  Paolo Carlini  <paolo.carlini@oracle.com>
836
837	* testsuite/20_util/default_delete/48631_neg.cc: Tweak dg-prune.
838
8392013-10-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
840
841	* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Fix
842	and enable VERIFY tests.
843
8442013-10-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
845
846	* include/bits/shared_ptr (__shared_ptr): Assert non-void pointer.
847	* include/bits/shared_ptr (default_delete): Likewise.
848	* testsuite/20_util/shared_ptr/cons/58839.cc: Do not use
849	default_delete<void>.
850	* testsuite/20_util/shared_ptr/cons/void_neg.cc: New.
851	* testsuite/20_util/default_delete/void_neg.cc: New.
852	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
853	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
854
8552013-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
856
857	PR libstdc++/58839
858	* include/bits/shared_ptr_base.h
859	(__shared_ptr<T>::__shared_ptr(unique_ptr<U,D>&&)): Only use addressof
860	when unique_ptr<U,D>::pointer is not a built-in pointer type.
861	* testsuite/20_util/shared_ptr/cons/58839.cc: New.
862	* testsuite/20_util/enable_shared_from_this/members/assign.cc: New.
863	* testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc: New.
864
8652013-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
866
867	* include/bits/hashtable.cc (__access_protected_ctor): Define and use
868	new type instead of _Hashtable_ebo_helper.
869	* testsuite/23_containers/unordered_set/
870	not_default_constructible_hash_neg.cc: Adjust line number.
871
8722013-10-28  Tim Shen  <timshen91@gmail.com>
873
874	* regex_executor.tcc: Add comments.
875
8762013-10-26  Tim Shen  <timshen91@gmail.com>
877
878	* include/bits/regex.h: Remove unnecessary friends.
879	* include/bits/regex.tcc (__regex_algo_impl<>): Move __get_executor
880	to here.
881	* include/bits/regex_executor.h: Remove _DFSExecutor and _BFSExecutor;
882	they are merged into _Executor. Eliminate quantifier tracking part, so
883	it's faster.
884	* include/bits/regex_executor.tcc: Implement _Executor.
885	* testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc: New.
886	* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Adjust
887	duplicate testcases.
888	* testsuite/performance/28_regex/split.h: New.
889	* testsuite/performance/28_regex/split_bfs.cc: New.
890	* testsuite/util/testsuite_regex.h: Adjust behavior of two-executors
891	agreement judger: do not compare match_results when executor return
892	false.
893
8942013-10-25  François Dumont  <fdumont@gcc.gnu.org>
895
896	* include/debug/formatter.h (__check_singular): Add const on
897	iterator reference.
898	* include/debug/functions.h (__check_singular): Likewise.
899	(__check_singular(const _Safe_iterator<_Ite, _Seq>&)): Delete.
900	(__check_dereferenceable(const _Ite&)): Add const on iterator
901	reference.
902	(__check_dereferenceable(const _Safe_local_iterator<>&)): New.
903	* include/debug/safe_iterator.h (__check_singular_aux): Review
904	comment.
905	* testsuite/23_containers/vector/debug/debug_functions.cc: New.
906	* testsuite/23_containers/unordered_set/debug/debug_functions.cc:
907	New.
908
9092013-10-23  Chris Jefferson  <chris@bubblescope.net>
910	    Paolo Carlini  <paolo.carlini@oracle.com>
911
912	* testsuite/util/testsuite_containergen.h: New.
913	* testsuite/util/testsuite_iterators.h (test_container<>::val): Add.
914	* testsuite/25_algorithms/nth_element/random_test.cc: New, use the
915	above.
916	* testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
917	* testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
918	* testsuite/25_algorithms/sort/random_test.cc: Likewise.
919
9202013-10-23  Jason Merrill  <jason@redhat.com>
921
922	* include/bits/hashtable.h (_Hashtable): Force EBO for _Hash_code_base.
923
9242013-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
925
926	PR libstdc++/58850
927	* include/std/chrono (minutes, hours): Change typedefs to uniformly
928	use int64_t.
929	* testsuite/20_util/duration/arithmetic/58850.cc: New.
930
9312013-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
932
933	* testsuite/decimal/pr58815.cc: Fix thinko.
934
9352013-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
936
937	PR libstdc++/58815
938	* include/decimal/decimal (decimal32::operator long long(),
939	decimal64::operator long long(), decimal128::operator long long()):
940	Add in c++11 mode per n3407.
941	* testsuite/decimal/pr58815.cc: New.
942
9432013-10-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
944
945	* include/bits/basic_string.h (operator""s): Remove space between quotes
946	and literal identifier.
947	* include/std/chrono (operator""h, operator""min, operator""s,
948	operator""ms, operator""us, operator""ns): Ditto.
949
9502013-10-22  Ed Smith-Rowland  <3dw4rd@verizon.net>
951
952	Implement N3779 - User-defined Literals for std::complex,
953	part 2 of UDL for Standard Library Types
954	* include/std/complex: Add complex literal operators.
955	* testsuite/26_numerics/complex/literals/types.cc: New.
956	* testsuite/26_numerics/complex/literals/values.cc: New.
957
9582013-10-21  Edward Smith-Rowland  <3dw4rd@verizon.net>
959
960	PR libstdc++/58804
961	PR libstdc++/58729
962	* include/tr2/dynamic_bitset
963	(__dynamic_bitset_base<_WordT, _Alloc>::_M_are_all_aux,
964	__dynamic_bitset_base<_WordT, _Alloc>::_M_do_count):
965	Use __builtin_popcountll() instead of __builtin_popcountl().
966	* include/tr2/dynamic_bitset.tcc
967	(__dynamic_bitset_base<_WordT, _Alloc>::_M_do_find_first,
968	__dynamic_bitset_base<_WordT, _Alloc>::_M_do_find_next):
969	Use __builtin_ctzll() instead of __builtin_ctzl().
970
9712013-10-20  Tim Shen  <timshen91@gmail.com>
972
973	* include/bits/regex.h: Remove virtual class _Automaton.
974	* include/bits/regex_automaton.h: Likewise.
975	* include/bits/regex.tcc: Adjust comment for policy changing.
976	* include/bits/regex_executor.h: Update comments of complexity.
977	* include/bits/regex_executor.tcc: Adjust executor choosing
978	policy. Now DFS executor is the default one.
979	* testsuite/util/testsuite_regex.h (regex_match_debug,
980	regex_search_debug): Adjust for policy changing.
981
9822013-10-20  Chris Jefferson  <chris@bubblescope.net>
983	    Paolo Carlini  <paolo.carlini@oracle.com>
984
985	PR libstdc++/58800
986	* include/bits/stl_algo.h (__unguarded_partition_pivot): Change
987	__last - 2 to __last - 1.
988	* testsuite/25_algorithms/nth_element/58800.cc: New
989
9902013-10-18  Edward Smith-Rowland  <3dw4rd@verizon.net>
991
992	PR libstdc++/58729
993	* include/tr2/dynamic_bitset (_M_resize, resize): Use input value
994	to set bits; (_M_do_left_shift, _M_do_right_shift, _M_do_to_ulong,
995	_M_do_to_ullong, _M_do_find_first, _M_do_find_next, _M_copy_from_ptr,
996	operator>>): Move long methods outline to...
997	* include/tr2/dynamic_bitset.tcc: New.
998	* include/Makefile.am: Add dynamic_bitset.tcc.
999	* include/Makefile.in: Add dynamic_bitset.tcc.
1000	* testsuite/tr2/dynamic_bitset/pr58729.cc: New.
1001
10022013-10-18  Tim Shen  <timshen91@gmail.com>
1003
1004	* include/bits/regex_scanner.tcc: (_Scanner<>::_M_scan_normal,
1005	_Scanner<>::_M_eat_escape_ecma, _Scanner<>::_M_eat_escape_posix,
1006	_Scanner<>::_M_eat_escape_awk): Narrow character before finding in maps.
1007	* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
1008	New.
1009
10102013-10-17  Tim Shen  <timshen91@gmail.com>
1011
1012	* include/bits/regex.h (regex_token_iterator<>::regex_token_iterator):
1013	Fix initialization orders in initialization list and add explicit braces
1014	for potentially ambiguous(actually not) `else` branch to eliminate
1015	warnings.
1016	* include/bits/regex_automaton.h (_NFA<>::_NFA): Likewise.
1017	* include/bits/regex_compiler.h (_CharMatcher<>::_CharMatcher,
1018	_BracketMatcher<>::_BracketMatcher): Likewise.
1019	* include/bits/regex_compiler.tcc (_Compiler<>::_Compiler,
1020	_Compiler<>::_M_atom): Likewise.
1021	* include/bits/regex_executor.h (_Executor<>::_Executor): Likewise.
1022	* include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs,
1023	_Executor<>::_M_word_boundry): Likewise.
1024	* include/bits/regex_scanner.tcc (_Scanner<>::_Scanner,
1025	_Scanner<>::_M_eat_class): Likewise.
1026	* include/bits/regex.tcc (__regex_algo_impl<>,
1027	regex_iterator<>::operator++): Likewise, and remove unused typedef.
1028
10292013-10-16  Tim Shen  <timshen91@gmail.com>
1030
1031	* include/bits/regex.h (regex_token_iterator<>::regex_token_iterator):
1032	Add initialization for _M_has_m1.
1033	* include/bits/regex.tcc (regex_token_iterator<>::operator=): Add return
1034	statment.
1035
10362013-10-15  Diego Novillo  <dnovillo@google.com>
1037
1038	* testsuite/20_util/exchange/1.cc: Add missing function
1039	bodies.
1040
10412013-10-15  Tim Shen  <timshen91@gmail.com>
1042
1043	PR libstdc++/58737
1044	* include/bits/regex_automaton.h (_Automaton<>::~_Automaton): Fix memory
1045	leak by adding it.
1046	* include/bits/regex_executor.h (_Executor<>::~_Executor): Likewise.
1047
10482013-10-11  H.J. Lu  <hongjiu.lu@intel.com>
1049
1050	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
1051
10522013-10-10  Marcus Shawcroft  <marcus.shawcroft@arm.com>
1053
1054	* testsuite/29_atomics/atomic/cons/49445.cc
1055	(dg-require-atomic-builtins): Add.
1056
10572013-10-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
1058
1059	* testsuite/20_util/shared_ptr/cons/58659.cc: Use VERIFY instead of
1060	aborting.
1061
10622013-10-09  Marcus Shawcroft  <marcus.shawcroft@arm.com>
1063
1064	* testsuite/20_util/shared_ptr/cons/58659.cc: Use __builtin_abort().
1065
10662013-10-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1067
1068	* testsuite/*: Remove stray semi-colons after function definitions.
1069
10702013-10-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1071
1072	PR libstdc++/58659
1073	* include/bits/shared_ptr_base.h (__shared_count::__shared_count(P,D)):
1074	Delegate to constructor taking allocator.
1075	(__shared_count::_S_create_from_up): Inline into ...
1076	(__shared_count::__shared_count(unique_ptr<Y,D>&&): Here. Use
1077	std::conditional instead of constrained overloads. Allocate memory
1078	using the allocator type that will be used for deallocation.
1079	* testsuite/20_util/shared_ptr/cons/58659.cc: New.
1080	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust.
1081
10822013-10-08  Tim Shen  <timshen91@gmail.com>
1083
1084	* include/bits/regex_executor.h: Add _TodoList class.
1085	* include/bits/regex_executor.tcc (_BFSExecutor<>::_M_main): Add
1086	_M_match_stack and _M_stack to make everything faster. Break if
1087	_M_stack is empty, to reduce unnecessary idling.
1088	* testsuite/performance/28_regex/split.cc: New.
1089
10902013-10-06  Tim Shen  <timshen91@gmail.com>
1091
1092	* include/bits/regex.h: (regex_token_iterator<>::regex_token_iterator):
1093	Fix compile error.
1094	* include/bits/regex.tcc: (regex_replace<>): Remove default parameter.
1095
10962013-10-06  Tim Shen  <timshen91@gmail.com>
1097
1098	* include/bits/regex.h (__regex_algo_impl<>, regex_match<>,
1099	regex_search<>): New abstract function for regex_match and regex_search.
1100	* include/bits/regex.tcc (__regex_algo_impl<>): Implement.
1101	* include/bits/regex_executor.h
1102	(_Executor<>::_M_lookahead,
1103	 _DFSExecutor<>::_M_clone,
1104	 _BFSExecutor<>::_M_clone): Let _M_clone to choose which executor to
1105	use.
1106	* include/bits/regex_executor.tcc (__get_executor<>): Update the
1107	definition to support __policy.
1108	* testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Use
1109	*_debug.
1110	* testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: Same.
1111	* testsuite/28_regex/algorithms/regex_match/basic/string_01.cc: Same.
1112	* testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc:
1113	Same.
1114	* testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc:
1115	Same.
1116	* testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc:
1117	Same.
1118	* testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: Same.
1119	* testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: Same.
1120	* testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: Same.
1121	* testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
1122	Same.
1123	* testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: Same.
1124	* testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
1125	Same.
1126	* testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
1127	Same.
1128	* testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Same.
1129	* testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1130	Same.
1131	* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
1132	Same.
1133	* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: Same.
1134	* testsuite/28_regex/algorithms/regex_match/extended/
1135	string_bracket_01.cc: Same.
1136	* testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
1137	Same.
1138	* testsuite/28_regex/algorithms/regex_match/extended/
1139	string_questionmark.cc: Same.
1140	* testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
1141	Same.
1142	* testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
1143	Same.
1144	* testsuite/28_regex/algorithms/regex_match/extended/
1145	string_dispatch_01.cc: Same.
1146	* testsuite/28_regex/algorithms/regex_match/extended/
1147	string_range_00_03.cc: Same.
1148	* testsuite/28_regex/algorithms/regex_match/extended/
1149	string_range_01_03.cc: Same.
1150	* testsuite/28_regex/algorithms/regex_match/extended/
1151	string_range_02_03.cc: Same.
1152	* testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
1153	Same.
1154	* testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: Same.
1155	* testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: Same.
1156	* testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Same.
1157	* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Same.
1158	* testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: Same.
1159	* testsuite/28_regex/match_results/format.cc: Same.
1160	* testsuite/util/testsuite_regex.h
1161	(regex_match_debug<>, regex_search_debug<>): Implement.
1162
11632013-10-06  Oleg Endo  <olegendo@gcc.gnu.org>
1164	    Paolo Carlini  <paolo.carlini@oracle.com>
1165
1166	PR libstdc++/58625
1167	* include/c_global/cmath (signbit): Use __builtin_signbitf and
1168	__builtin_signbitl.
1169
11702013-10-03  Tim Shen  <timshen91@gmail.com>
1171
1172	* include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong
1173	backup variable initialization.
1174
11752013-10-03  John Woolverton  <jdwoolverton@gmail.com>
1176
1177	PR libstdc++/58604
1178	* include/std/vector: Fix garbled line in HP Copyright.
1179
11802013-10-03  Marc Glisse  <marc.glisse@inria.fr>
1181
1182	* libsupc++/del_op.cc (operator delete): Don't test for 0 before free.
1183	* libsupc++/del_opnt.cc (free): Only declare if freestanding.
1184	(operator delete): Qualify free with std::.
1185
11862013-10-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
1187	    Daniel Krugler  <daniel.kruegler@gmail.com>
1188
1189	PR libstdc++/58569
1190	* include/std/functional (function::_CheckResult): Move to namespace
1191	scope and rename to __check_func_return_type.
1192	* testsuite/20_util/function/58569.cc: New.
1193
11942013-10-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
1195
1196	PR libstdc++/58594
1197	* include/bits/shared_ptr_base.h
1198	(_Sp_counted_ptr_inplace::_M_get_deleter()): Cast away cv-quals.
1199	* testsuite/20_util/shared_ptr/creation/58594.cc: New.
1200
12012013-10-02  Tim Shen  <timshen91@gmail.com>
1202
1203	* include/bits/regex_compiler.h
1204	(_BracketMatcher<>::_M_add_equivalence_class): Implement it correctly.
1205	* include/bits/regex_compiler.tcc (_BracketMatcher<>::operator()):
1206	Add _M_equiv_set support.
1207	* testsuite/28_regex/algorithms/regex_match/extended/
1208	cstring_bracket_01.cc: Add new "[[=a=]]" testcase.
1209
12102013-10-01  Tim Shen  <timshen91@gmail.com>
1211
1212	* doc/xml/manual/status_cxx2011.xml: Change "is not implemented" to
1213	"is not correctly implemented".
1214
12152013-10-01  Tim Shen  <timshen91@gmail.com>
1216
1217	* doc/xml/manual/status_cxx2011.xml: Update regex status.
1218	* include/bits/regex.h (match_results<>::begin,
1219	match_results<>::cbegin, match_results<>::end, match_results<>::cend):
1220	[28.10.3.13], [28.10.3.14] Always iterate the range [0, size()-2).
1221
12222013-10-01  François Dumont  <fdumont@gcc.gnu.org>
1223
1224	* include/parallel/algobase.h (mismatch, equal): Provide parallel
1225	version for N3671 overloads.
1226
12272013-10-01  Paul Pluzhnikov  <ppluzhnikov@google.com>
1228
1229	* src/c++11/snprintf_lite.cc: Add missing
1230	_GLIBCXX_{BEGIN,END}_NAMESPACE_VERSION
1231
12322013-10-01  Joern Rennecke  <joern.rennecke@embecosm.com>
1233
1234	* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Also check for
1235	_Unwind_SjLj_Register when deciding if to set enable_sjlj_exceptions.
1236	* configure: Regenerate.
1237
12382013-10-01  Tim Shen  <timshen91@gmail.com>
1239
1240	PR libstdc++/58576
1241	* include/bits/regex_automaton.tcc (_NFA<>::_M_eliminate_dummy)
1242	(_StateSeq<>::_M_clone): Add _S_opcode_subexpr_lookahead branch.
1243	* testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: New.
1244
12452013-09-30  Paolo Carlini  <paolo.carlini@oracle.com>
1246
1247	* include/parallel/algo.h (__find_switch): Use __binder2nd.
1248
12492013-09-30  Chris Jefferson  <chris@bubblescope.net>
1250
1251	PR libstdc++/58437
1252	* include/bits/stl_algo.h (__move_median_first): Rename to
1253	__move_median_to_first, change to take an addition argument.
1254	(__unguarded_partition_pivot): Adjust.
1255	* testsuite/performance/25_algorithms/sort.cc: New.
1256	* testsuite/performance/25_algorithms/sort_heap.cc: Likewise.
1257	* testsuite/performance/25_algorithms/stable_sort.cc: Likewise.
1258
12592013-09-28  François Dumont  <fdumont@gcc.gnu.org>
1260
1261	* include/bits/stl_algo.h (remove_copy, remove_copy_if): Declare
1262	inline.
1263	(rotate_copy, stable_partition, partial_sort_copy): Likewise.
1264	(lower_bound, upper_bound, equal_range, inplace_merge): Likewise.
1265	(includes, next_permutation, prev_permutation): Likewise.
1266	(replace_copy, replace_copy_if, is_sorted_until): Likewise.
1267	(minmax_element, is_permutation, adjacent_find): Likewise.
1268	(count, count_if, search, search_n, merge): Likewise.
1269	(set_intersection, set_difference): Likewise.
1270	(set_symmetric_difference, min_element, max_element): Likewise.
1271	* include/bits/stl_algobase.h (lower_bound): Likewise.
1272	(lexicographical_compare, mismatch): Likewise.
1273
12742013-09-28  Tim Shen <timshen91@gmail.com>
1275
1276	* include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_posix):
1277	Let ordinary char escaping in POSIX be valid.
1278	* testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Test this
1279	change.
1280
12812013-09-27  François Dumont  <fdumont@gcc.gnu.org>
1282
1283	* include/bits/predefined_ops.h: New.
1284	* include/bits/stl_heap.h: Include <bits/predefined_ops.h>.
1285	(__is_heap_until, __push_heap, __adjust_heap, __pop_heap): Remove
1286	algo duplication.
1287	(__is_heap): Adapt.
1288	(__make_heap): New.
1289	(make_heap): Adapt to use latter.
1290	(__sort_heap): New.
1291	(sort_heap): Adapt to use latter.
1292	* include/bits/algobase.h: Include <bits/predefined_ops.h>.
1293	(__lexicographical_compare_impl): New.
1294	(__lexicographical_compare<false>::__lc): Adapt to use latter.
1295	(lexicographical_compare): Likewise.
1296	(__lower_bound): New.
1297	(lower_bound): Adapt to use latter.
1298	(equal): Use _GLIBCXX_STD_A::equal in N3671 overloads.
1299	(__mismatch): New.
1300	(mismatch): Use latter.
1301	* include/bits/algo.h: Include <bits/predefined_ops.h>. Remove
1302	<functional> include.
1303	(__move_median_first, __find, __find_if, __find_if_not): Remove
1304	algo duplication.
1305	(__find_end): Likewise.
1306	(__search_n): Rename into ...
1307	(__search_n_aux): ... this.
1308	(__search_n): Renew, use latter.
1309	(search_n): Use latter.
1310	(__search): New.
1311	(search): Use latter.
1312	(__find_end): Likewise.
1313	(__remove_copy_if): New.
1314	(remove_copy): Use latter.
1315	(__adjacent_find): New.
1316	(adjacent_find): Use latter.
1317	(__unique): New.
1318	(unique): Use latter.
1319	(__unique_copy): Remove algo duplication.
1320	(__stable_partition): New.
1321	(stable_partition): Use latter.
1322	(__heap_select): Remove algo duplication, use __make_heap.
1323	(__partial_sort): New, use latter.
1324	(partial_sort): Use latter.
1325	(__partial_sort_copy): New.
1326	(partial_sort_copy): Use latter.
1327	(__unguarded_linear_insert, __insertion_sort): Remove algo
1328	duplication.
1329	(__unguarded_insertion_sort, __final_insertion_sort): Likewise.
1330	(__unguarded_partition, __unguarded_partition_pivot): Likewise.
1331	(__partial_sort): New.
1332	(partial_sort): Use latter.
1333	(__sort): New.
1334	(sort): Use latter.
1335	(lower_bound): Use __lower_bound.
1336	(__upper_bound): New.
1337	(upper_bound): Use latter.
1338	(__equal_range): New.
1339	(equal_range): Use latter.
1340	(__move_merge_adaptive, __move_merge_adaptive_backward): Remove
1341	algo duplication.
1342	(__merge_adaptive, __merge_without_buffer): Likewise.
1343	(__inplace_merge): New.
1344	(inplace_merge): Use latter.
1345	(__move_merge, __merge_sort_loop, __chunk_insertion_sort): Remove
1346	algo duplication.
1347	(__merge_sort_with_buffer, __stable_sort_adaptive): Likewise.
1348	(__inplace_stable_sort): Likewise.
1349	(__include): New.
1350	(includes): Use latter.
1351	(__next_permutation): New.
1352	(next_permutation): Use latter.
1353	(__prev_permutation): New.
1354	(prev_permutation): Use latter.
1355	(__replace_copy_if): New.
1356	(replace_copy): Use latter.
1357	(__is_sorted_until): New.
1358	(is_sorted_unitl): Use latter.
1359	(__minmax_element): New.
1360	(minmax_element): Use latter.
1361	(__is_permutation): New.
1362	(is_permutation): Use latter.
1363	(__adjacent_find): New.
1364	(adjacent_find): Use latter.
1365	(__count_if): New.
1366	(count): Use latter.
1367	(count_if): Likewise.
1368	(__merge): New.
1369	(merge): Use latter.
1370	(__stable_sort): New.
1371	(stable_sort): Use latter.
1372	(__set_union): New.
1373	(set_union): Use latter.
1374	(__set_intersection): New.
1375	(set_intersection): Use latter.
1376	(__set_difference): New.
1377	(set_difference): Use latter.
1378	(__set_symmetric_difference): New.
1379	(set_symmetric_difference): Use latter.
1380	(__min_element): New.
1381	(min_element): Use latter.
1382	(__max_element): New.
1383	(max_element): Use latter.
1384	* include/Makefile.am: Add predefined_ops.h.
1385	* include/Makefile.in: Regenerate.
1386	* include/parallel/algobase.h (equal, mismatch): Add overloads
1387	from N3671.
1388	* testsuite/25_algorithms/is_permutation/vectorbool.cc: New.
1389	* testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
1390	* testsuite/25_algorithms/find/vectorbool.cc: Likewise.
1391	* testsuite/25_algorithms/find_if/vectorbool.cc: Likewise.
1392	* testsuite/25_algorithms/find_first_of/vectorbool.cc: Likewise.
1393	* testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
1394	* testsuite/25_algorithms/find_end/vectorbool.cc: Likewise.
1395	* testsuite/25_algorithms/find_if_not/vectorbool.cc: Likewise.
1396
13972013-09-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
1398
1399	PR libstdc++/57465
1400	* include/std/functional
1401	(_Function_base::_Base_manager::_M_not_empty_function): Fix overload
1402	for pointers.
1403	* testsuite/20_util/function/cons/57465.cc: New.
1404
14052013-09-26  Tim Shen  <timshen91@gmail.com>
1406
1407	* regex_error.h: Remove _S_error_last to follow the standard.
1408	* regex_scanner.tcc:
1409	(_Scanner<_FwdIter>::_M_scan_in_brace): Change error_brace to
1410	error_badbrace.
1411	(_Scanner<>::_M_eat_escape_posix): Extended doesn't support
1412	back-reference.
1413	* testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
1414	Move here from ../../extended.
1415	* testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
1416	Likewise.
1417
14182013-09-25  Marc Glisse  <marc.glisse@inria.fr>
1419
1420	PR libstdc++/58338
1421	* include/bits/forward_list.h (_Fwd_list_node_base::_M_transfer_after):
1422	Mark as noexcept.
1423	(_Fwd_list_iterator) [_Fwd_list_iterator, operator*, operator->,
1424	operator++, operator==, operator!=, _M_next]: Likewise.
1425	(_Fwd_list_const_iterator) [_Fwd_list_const_iterator, operator*,
1426	operator->, operator++, operator==, operator!=, _M_next]: Likewise.
1427	(operator==(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&),
1428	operator!=(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&)):
1429	Likewise.
1430	* include/bits/hashtable_policy.h (_Hash_node_base::_Hash_node_base,
1431	_Hash_node::_M_next, _Node_iterator_base::_Node_iterator_base,
1432	_Node_iterator_base::_M_incr, operator==(const _Node_iterator_base&,
1433	const _Node_iterator_base&), operator!=(const _Node_iterator_base&,
1434	const _Node_iterator_base&)): Likewise.
1435	(_Node_iterator) [_Node_iterator, operator*, operator->, operator++]:
1436	Likewise.
1437	(_Node_const_iterator) [_Node_const_iterator, operator*, operator->,
1438	operator++]: Likewise.
1439	* include/debug/safe_iterator.h (_Safe_iterator) [_Safe_iterator,
1440	operator=, operator*, operator->, operator++, operator--, operator[],
1441	operator+=, operator+, operator-=, operator-, base, operator _Iterator]:
1442	Likewise.
1443	(operator==(const _Safe_iterator&, const _Safe_iterator&),
1444	operator!=(const _Safe_iterator&, const _Safe_iterator&),
1445	operator<(const _Safe_iterator&, const _Safe_iterator&),
1446	operator<=(const _Safe_iterator&, const _Safe_iterator&),
1447	operator>(const _Safe_iterator&, const _Safe_iterator&),
1448	operator>=(const _Safe_iterator&, const _Safe_iterator&),
1449	operator-(const _Safe_iterator&, const _Safe_iterator&),
1450	operator+(difference_type, const _Safe_iterator&)): Likewise.
1451	* include/profile/iterator_tracker.h (__iterator_tracker)
1452	[__iterator_tracker, base, operator _Iterator, operator->, operator++,
1453	operator--, operator=, operator*, operator[], operator+=, operator+,
1454	operator-=, operator-]: Likewise.
1455	(operator==(const __iterator_tracker&, const __iterator_tracker&),
1456	operator!=(const __iterator_tracker&, const __iterator_tracker&),
1457	operator<(const __iterator_tracker&, const __iterator_tracker&),
1458	operator<=(const __iterator_tracker&, const __iterator_tracker&),
1459	operator>(const __iterator_tracker&, const __iterator_tracker&),
1460	operator>=(const __iterator_tracker&, const __iterator_tracker&),
1461	operator-(const __iterator_tracker&, const __iterator_tracker&),
1462	operator+(difference_type, const __iterator_tracker&)): Likewise.
1463
14642013-09-24  Marc Glisse  <marc.glisse@inria.fr>
1465
1466	PR libstdc++/58338
1467	PR libstdc++/56166
1468	* include/bits/basic_string.h (basic_string)
1469	[basic_string(basic_string&&)]: Make the noexcept conditional.
1470	[operator=(basic_string&&), assign(basic_string&&)]: Link to PR 58265.
1471	[begin(), end(), rbegin(), rend(), clear]: Remove noexcept.
1472	[pop_back]: Comment on the lack of noexcept.
1473	* include/debug/string (basic_string) [basic_string(const _Allocator&),
1474	basic_string(basic_string&&), begin(), end(), rbegin(), rend(), clear,
1475	operator[](size_type), pop_back]: Comment out noexcept, until vstring
1476	replaces basic_string.
1477
14782013-09-24  Tim Shen  <timshen91@gmail.com>
1479
1480	* include/Makefile.am: Add regex.tcc.
1481	* include/Makefile.in: Regenerate.
1482	* include/bits/regex.h: Remove definitions to regex.tcc.
1483	* include/bits/regex.tcc: New.
1484	(match_results::format, regex_replace): Implement;
1485	* include/bits/regex_compiler.h: Move _M_flags to the top of class
1486	member list, because other members' initialization depend on it.
1487	* include/bits/regex_compiler.tcc
1488	(_Compiler<>::_Compiler): Adjust member initializations.
1489	(_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier.
1490	* include/bits/regex_executor.h: Remove _RegexT from _*Executor classes.
1491	In the future, all regex classes may refactor to *Impl style.
1492	* include/bits/regex_executor.tcc (_Executor::_M_set_results):
1493	Merge identical code from _*Executor classes.
1494	* testsuite/28_regex/algorithms/regex_match/extended/
1495	string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase
1496	caller for new __get_executors interface.
1497	* testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
1498	New.
1499	* testsuite/28_regex/match_results/format.cc: New.
1500	* testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph
1501	testcase.
1502	* testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
1503
15042013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>
1505
1506	* src/c++11/snprintf_lite.cc (__concat_size_t): Use
1507	unsigned long long conditionally.
1508
15092013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>
1510
1511	* src/c++11/snprintf_lite.cc (__concat_size_t): Use only
1512	std::__int_to_char<unsigned long long>()
1513
15142013-09-21  Paul Pluzhnikov  <ppluzhnikov@google.com>
1515
1516	* include/bits/functexcept.h (__throw_out_of_range_fmt): New.
1517	* src/c++11/functexcept.cc (__throw_out_of_range_fmt): New.
1518	* src/c++11/snprintf_lite.cc: New.
1519	* src/c++11/Makefile.am: Add snprintf_lite.cc.
1520	* src/c++11/Makefile.in: Regenerate.
1521	* config/abi/pre/gnu.ver: Add _ZSt24__throw_out_of_range_fmtPKcz.
1522	* include/std/array (at): Use __throw_out_of_range_fmt.
1523	* include/debug/array (at): Likewise.
1524	* include/profile/array (at): Likewise.
1525	* include/std/bitset (_M_check_initial_position, _M_check): New.
1526	(bitset::bitset): Use _M_check_initial_position.
1527	(set, reset, flip, test): Use _M_check.
1528	* include/ext/vstring.h (_M_check, at): Use __throw_out_of_range_fmt.
1529	* include/bits/stl_vector.h (_M_range_check): Likewise.
1530	* include/bits/stl_bvector.h (_M_range_check): Likewise.
1531	* include/bits/stl_deque.h (_M_range_check): Likewise.
1532	* include/bits/basic_string.h (_M_check, at): Likewise.
1533	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust.
1534	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise.
1535	* testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
1536	Likewise.
1537	* testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
1538	Likewise.
1539	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise.
1540	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise.
1541	* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
1542	Likewise.
1543	* testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
1544	Likewise.
1545	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise.
1546	* testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc:
1547	Likewise.
1548	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
1549	* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise.
1550	* testsuite/util/exception/safety.h (generate): Use __throw_out_of_range_fmt.
1551
15522013-09-20  Jakub Jelinek  <jakub@redhat.com>
1553
1554	PR testsuite/57605
1555	* testsuite/lib/libstdc++.exp (libstdc++_init): Prepend
1556	-fdiagnostics-color=never to cxxflags.
1557
15582013-09-20  Marc Glisse  <marc.glisse@inria.fr>
1559
1560	PR libstdc++/58338
1561	* include/bits/allocator.h (__alloc_swap::_S_do_it,
1562	__shrink_to_fit_aux::_S_do_it): Mark as noexcept.
1563	* include/bits/basic_string.h (basic_string::_Rep) [_S_empty_rep,
1564	_M_is_leaked, _M_is_shared, _M_set_leaked, _M_set_sharable,
1565	_M_set_length_and_sharable, _M_dispose]: Likewise.
1566	(basic_string::_Alloc_hider::_Alloc_hider): Likewise.
1567	(basic_string) [_M_data, _M_rep, _M_ibegin, _M_iend, _M_limit,
1568	_M_disjunct, _M_copy, _M_move, _M_assign, _S_copy_chars, _S_compare,
1569	_S_empty_rep, shrink_to_fit, operator[] const, front const, back const]:
1570	Likewise.
1571	[clear]: Link to PR 56166.
1572	[swap]: Link to PR 58265.
1573	* include/bits/stl_deque.h (_Deque_iterator) [_S_buffer_size,
1574	_Deque_iterator, _M_const_cast, operator*, operator->, operator++,
1575	operator--, operator+=, operator+, operator-=, operator-, operator[],
1576	_M_set_node]: Mark as noexcept.
1577	(operator==(const _Deque_iterator&, const _Deque_iterator&),
1578	operator!=(const _Deque_iterator&, const _Deque_iterator&),
1579	operator<(const _Deque_iterator&, const _Deque_iterator&),
1580	operator>(const _Deque_iterator&, const _Deque_iterator&),
1581	operator<=(const _Deque_iterator&, const _Deque_iterator&),
1582	operator>=(const _Deque_iterator&, const _Deque_iterator&),
1583	operator-(const _Deque_iterator&, const _Deque_iterator&),
1584	operator+(ptrdiff_t, const _Deque_iterator&)): Likewise.
1585	(_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1586	_M_initialize_map.
1587	[~_Deque_base, _M_deallocate_node, _M_deallocate_map, _M_destroy_nodes]:
1588	Mark as noexcept.
1589	(_Deque_base::_Deque_impl) [_Deque_impl(const _Tp_alloc_type&),
1590	_Deque_impl(_Tp_alloc_type&&)]: Likewise.
1591	(deque) [_S_buffer_size, operator=(deque&&), shrink_to_fit, operator[],
1592	front, back, pop_front, pop_back, swap]: Likewise.
1593	[deque(), deque(const allocator_type&)]: Merge.
1594	* include/debug/deque (deque) [operator=(deque&&), shrink_to_fit,
1595	operator[], front, back, pop_front, pop_back, swap]: Mark as noexcept.
1596	* include/profile/deque (deque) [operator=(deque&&), operator[], front,
1597	back, pop_front, pop_back, swap]: Likewise.
1598	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1599	Adjust line number.
1600	* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
1601	Likewise.
1602	* testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
1603	Likewise.
1604	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1605	Likewise.
1606
16072013-09-20  Alan Modra  <amodra@gmail.com>
1608
1609	* configure: Regenerate.
1610
16112013-09-19  Marc Glisse  <marc.glisse@inria.fr>
1612
1613	PR libstdc++/58338
1614	* include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]:
1615	Mark as noexcept.
1616	(_Rb_tree_iterator) [_Rb_tree_iterator, operator*, operator->,
1617	operator++, operator--, operator==, operator!=]: Likewise.
1618	(_Rb_tree_const_iterator) [_Rb_tree_const_iterator, _M_const_cast,
1619	operator*, operator->, operator++, operator--, operator==, operator!=]:
1620	Likewise.
1621	(operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&),
1622	operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)):
1623	Likewise.
1624	(_Rb_tree) [_M_put_node, _M_destroy_node, _M_root, _M_leftmost,
1625	_M_rightmost, _M_begin, _M_end, _S_left, _S_right, _S_minimum,
1626	_S_maximum]: Likewise.
1627	* include/debug/string (basic_string) [basic_string(const _Allocator&),
1628	shrink_to_fit, operator[], pop_back]: Likewise.
1629	* include/ext/vstring.h (__versa_string) [_M_limit, _M_disjunct,
1630	_M_ibegin, _M_iend, __versa_string(const _Alloc&),
1631	operator=(__versa_string&&), shrink_to_fit, operator[], front,
1632	back, assign(__versa_string&&), swap]: Likewise.
1633	(__versa_string) [__versa_string(), __versa_string(const _Alloc&)]:
1634	Merge.
1635
16362013-09-18  Marc Glisse  <marc.glisse@inria.fr>
1637
1638	PR libstdc++/58338
1639	* include/bits/stl_iterator.h (__normal_iterator) [__normal_iterator,
1640	_M_const_cast, operator*, operator->, operator++, operator--,
1641	operator[], operator+=, operator+, operator-=, operator-, base]:
1642	Mark as noexcept.
1643	(operator==(const __normal_iterator&, const __normal_iterator&),
1644	operator!=(const __normal_iterator&, const __normal_iterator&),
1645	operator<(const __normal_iterator&, const __normal_iterator&),
1646	operator>(const __normal_iterator&, const __normal_iterator&),
1647	operator<=(const __normal_iterator&, const __normal_iterator&),
1648	operator>=(const __normal_iterator&, const __normal_iterator&),
1649	operator-(const __normal_iterator&, const __normal_iterator&),
1650	operator+(difference_type, const __normal_iterator&)): Likewise.
1651	* include/bits/stl_list.h (list) [splice, _M_check_equal_allocators]:
1652	Likewise.
1653	(list::_M_check_equal_allocators): Abort instead of throwing.
1654	* include/debug/array (array) [operator[], front, back]: Mark as
1655	noexcept.
1656	* include/profile/array (array) [operator[], front, back]: Likewise.
1657	* include/std/array (array) [operator[], front, back]: Likewise.
1658	* include/debug/list (list::splice): Likewise.
1659	* include/profile/list (list::splice): Likewise.
1660	* testsuite/23_containers/list/operations/5.cc: Remove file.
1661	* testsuite/23_containers/list/operations/5.h: Likewise.
1662
16632013-09-18  Tim Shen  <timshen91@gmail.com>
1664
1665	* include/bits/regex.h: Add friend classes.
1666	(match_results<>::position, regex_iterator<>::operator++):
1667	Implement position specification in regex_iterator.
1668	(regex_match<>, regex_search<>):
1669	Move match_results initializations to these function. Remove `todo`.
1670	* include/bits/regex_compiler.tcc:
1671	(_Compiler<>::_M_quantifier): Fix greedy/ungreedy of interval matching.
1672	* include/bits/regex_constants.h:
1673	Fix indentation. Change match_flag_type to enum type.
1674	* include/bits/regex_executor.h:
1675	Merge identical code to the base class _Executor.
1676	Support flags in regex_constants.
1677	* include/bits/regex_executor.tcc: Likewise.
1678	* include/bits/regex_scanner.h: Add comments.
1679	* include/bits/regex_scanner.tcc: Same.
1680	* testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
1681	Add a testcase.
1682	* testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New.
1683	* testsuite/28_regex/iterators/regex_iterator/char/
1684	string_position_01.cc: Remove `xfail`.
1685	* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
1686	Remove `xfail` and make the case really work.
1687
16882013-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
1689
1690	* testsuite/performance/25_algorithms/search_n.cc: Fix typo.
1691
16922013-09-18  Marc Glisse  <marc.glisse@inria.fr>
1693
1694	PR libstdc++/58338
1695	* include/bits/list.tcc (_List_base::_M_clear, list::erase): Mark as
1696	noexcept.
1697	* include/bits/stl_list.h (_List_iterator) [_List_iterator,
1698	_M_const_cast, operator*, operator->, operator++, operator--,
1699	operator==, operator!=]: Likewise.
1700	(_List_const_iterator) [_List_const_iterator, _M_const_cast, operator*,
1701	operator->, operator++, operator--, operator==, operator!=]: Likewise.
1702	(operator==(const _List_iterator&, const _List_const_iterator&),
1703	operator!=(const _List_iterator&, const _List_const_iterator&)):
1704	Likewise.
1705	(_List_impl) [_List_impl(const _Node_alloc_type&),
1706	_List_impl(_Node_alloc_type&&)]: Likewise.
1707	(_List_base) [_M_put_node, _List_base(const _Node_alloc_type&),
1708	_List_base(_List_base&&), _M_clear, _M_init]: Likewise.
1709	(list) [list(), list(const allocator_type&)]: Merge.
1710	(list) [list(const allocator_type&), front, back, pop_front, pop_back,
1711	erase, _M_erase]: Mark as noexcept.
1712	* include/debug/list (list) [list(const _Allocator&), front, back,
1713	pop_front, pop_back, _M_erase, erase]: Likewise.
1714	* include/profile/list (list) [list(const _Allocator&), front, back,
1715	pop_front, pop_back, erase]: Likewise.
1716	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1717	Adjust line number.
1718	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1719	Likewise.
1720	* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1721	Likewise.
1722	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1723	Likewise.
1724
17252013-09-17  Marc Glisse  <marc.glisse@inria.fr>
1726
1727	PR libstdc++/58338
1728	* include/bits/stl_vector.h (vector::vector(),
1729	vector::vector(const allocator_type&)): Merge.
1730	(_Vector_impl::_Vector_impl(_Tp_alloc_type const&),
1731	_Vector_impl::_Vector_impl(_Tp_alloc_type&&),
1732	_Vector_impl::_M_swap_data,
1733	_Vector_base::_Vector_base(const allocator_type&),
1734	_Vector_base::_Vector_base(allocator_type&&),
1735	_Vector_base::_Vector_base(_Vector_base&&), _Vector_base::~_Vector_base,
1736	vector::vector(const allocator_type&), vector::operator[],
1737	vector::operator[] const, vector::front, vector::front const,
1738	vector::back, vector::back const, vector::pop_back,
1739	vector::_M_erase_at_end): Mark as noexcept.
1740	* include/debug/vector (vector::vector(const _Allocator&),
1741	vector::operator[], vector::operator[] const, vector::front,
1742	vector::front const, vector::back, vector::back const, vector::pop_back,
1743	_M_requires_reallocation, _M_update_guaranteed_capacity,
1744	_M_invalidate_after_nth): Mark as noexcept.
1745	* include/profile/vector (vector::vector(const _Allocator&),
1746	vector::operator[], vector::operator[] const, vector::front,
1747	vector::front const, vector::back, vector::back const): Mark as
1748	noexcept.
1749	(vector::vector(vector&&, const _Allocator&)): Remove wrong noexcept.
1750	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1751	Adjust line number.
1752	* testsuite/23_containers/vector/requirements/dr438/
1753	constructor_1_neg.cc: Likewise.
1754	* testsuite/23_containers/vector/requirements/dr438/
1755	constructor_2_neg.cc: Likewise.
1756	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1757	Likewise.
1758
17592013-09-14  Tim Shen  <timshen91@gmail.com>
1760
1761	* include/bits/regex.h (regex_match<>, regex_search<>):
1762	Change regex_executor caller. Now use their return value instead
1763	of checking __m[0].matched to find out if it's successful.
1764	(regex_search<>): Move the search logic to regex_executor.
1765	* include/bits/regex_automaton.h: Add some new _Opcode. Refactor
1766	_NFA::_M_insert_*.
1767	* include/bits/regex_automaton.tcc: Add DEBUG dump for new
1768	_Opcode. Refactor _NFA::_M_insert_*.
1769	* include/bits/regex_compiler.h (_Compiler<>::_M_get_nfa):
1770	Use make_shared instead of construct by hand.
1771	* include/bits/regex_compiler.tcc: Implement _Compiler<>::_M_assertion.
1772	* include/bits/regex_constants.h: Fix indentation and line breaking.
1773	* include/bits/regex_executor.h: Add _ResultsEntry to support
1774	greedy/ungreedy mode. Move regex_search logic here.
1775	* include/bits/regex_executor.tcc: Implement assertions and
1776	greedy/ungreedy matching.
1777	* include/bits/regex_scanner.h: Add a new token _S_token_ungreedy.
1778	* include/bits/regex_scanner.tcc: Parse a new token _S_token_ungreedy.
1779	* testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: New.
1780	* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: New.
1781	* testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
1782	Fix comment.
1783
17842013-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
1785
1786	PR libstdc++/58415
1787	* include/ext/sso_string_base.h (__sso_string_base<>::
1788	__sso_string_base(__sso_string_base&&)): Fix thinkos about
1789	_M_length vs _M_set_length.
1790	* testsuite/ext/vstring/cons/58415-1.cc: New.
1791	* testsuite/ext/vstring/cons/58415-2.cc: Likewise.
1792
17932013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>
1794
1795	PR libstdc++/58403
1796	* include/bits/stl_iterator.h (__normal_iterator<>::operator[],
1797	operator+=, operator+, operator-=, operator-): Take the argument
1798	by value.
1799	* testsuite/24_iterators/normal_iterator/58403.cc: New.
1800
18012013-09-11  Mitsuru Kariya  <kariya_mitsuru@hotmail.com>
1802	    Chris Jefferson  <chris@bubblescope.net>
1803
1804	PR libstdc++/58358
1805	* include/bits/stl_algo.h (search_n): Fix to guarantee a number
1806	of comparisons <= number of elements in the range.
1807	* testsuite/25_algorithms/search_n/58358.cc: New.
1808	* testsuite/25_algorithms/search_n/iterator.cc: Extend.
1809
18102013-09-10  Ed Smith-Rowland  <3dw4rd@verizon.net>
1811
1812	* testsuite/28_regex/traits/wchar_t/value.cc: Change template args
1813	from char to wchar_t, literals from 'x' to L'x'.
1814
18152013-09-10  Kai Tietz  <ktietz@redhat.com>
1816
1817	PR libstdc++/54314
1818	* config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
1819	like in gnu.ver.
1820
18212013-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
1822
1823	PR libstdc++/58341
1824	* include/bits/stl_algobase.h (copy_backward): Fix documentation
1825	per DR 1206.
1826
18272013-09-05  Tim Shen  <timshen91@gmail.com>
1828
1829	* include/bits/regex_automaton.h: Add dummy node type. Rewrite
1830	_StateSeq.
1831	* include/bits/regex_automaton.tcc: Implement them.
1832	* include/bits/regex_compiler.h: Rewrite _Compiler to use new
1833	_StateSeq interfaces.
1834	* include/bits/regex_compiler.tcc: Implement them.
1835	* include/bits/regex_scanner.h: Add word boundry assertion token.
1836	* include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1837	Support word boundry.
1838	* testsuite/28_regex/algorithms/regex_match/basic/
1839	string_range_02_03.cc: Remove "xfail".
1840	* testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
1841	Likewise.
1842	* testsuite/28_regex/algorithms/regex_match/extended/
1843	string_range_02_03.cc: Likewise.
1844	* testsuite/28_regex/algorithms/regex_match/extended/
1845	cstring_questionmark.cc: Remove xfail and get correct length of
1846	c-string.
1847	* testsuite/28_regex/algorithms/regex_match/extended/
1848	string_range_00_03.cc: Likewise.
1849	* testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1850	New.
1851	* testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
1852	New.
1853	* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New.
1854
18552013-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
1856
1857	PR libstdc++/58302
1858	* include/bits/random.tcc (negative_binomial_distribution<>::
1859	operator()(_UniformRandomNumberGenerator&, const param_type&)):
1860	Fix typo in template argument.
1861	* testsuite/26_numerics/random/negative_binomial_distribution/
1862	operators/58302.cc: New.
1863
18642013-09-02  Tim Shen  <timshen91@gmail.com>
1865
1866	* regex_automaton.h: Rearrange _NFA's layout.
1867	* include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher.
1868	Rearrange _BracketMatcher's layout.
1869	(_BracketMatcher<>::_M_add_char): Use set instead of vector for
1870	_M_char_set.
1871	(_BracketMatcher<>::_M_add_collating_element): Likewise.
1872	(_BracketMatcher<>::_M_make_range): Likewise.
1873	* include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use
1874	appropriate constructors of matchers above.
1875	* testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
1876	New.
1877	* testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New.
1878	* testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
1879	New.
1880	* testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
1881	New.
1882	* testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New.
1883	* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
1884	New.
1885	* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New.
1886
18872013-08-30  François Dumont  <fdumont@gcc.gnu.org>
1888
1889	PR libstdc++/58148
1890	* include/debug/functions.h (__foreign_iterator_aux4): Use
1891	sequence const_pointer as common type to compare pointers. Add a
1892	fallback overload in case pointers cannot be cast to sequence
1893	const_pointer.
1894	* testsuite/23_containers/vector/modifiers/insert/58148.cc: New.
1895
18962013-08-30  François Dumont  <fdumont@gcc.gnu.org>
1897
1898	PR libstdc++/58191
1899	* include/debug/macros.h (__glibcxx_check_partitioned_lower): Add
1900	__gnu_debug::__base calls on iterators passed to internal debug
1901	check.
1902	(__glibcxx_check_partitioned_lower_pred): Likewise.
1903	(__glibcxx_check_partitioned_upper): Likewise.
1904	(__glibcxx_check_partitioned_upper_pred): Likewise.
1905	(__glibcxx_check_sorted): Likewise.
1906	(__glibcxx_check_sorted_pred): Likewise.
1907	(__glibcxx_check_sorted_set): Likewise.
1908	(__glibcxx_check_sorted_set_pred): Likewise.
1909	* include/debug/functions.h (__check_partitioned_lower):
1910	Remove code to detect safe iterators.
1911	(__check_partitioned_upper): Likewise.
1912	(__check_sorted): Likewise.
1913
19142013-08-29  Tim Shen  <timshen91@gmail.com>
1915
1916	* include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits.
1917	(regex_iterator<>::regex_iterator): Return nullptr when regex_search
1918	failed.
1919	(regex_token_iterator<>::_M_end_of_seq): Should be defined true when
1920	_M_result is(not isn't) nullptr.
1921	* include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference
1922	instead of by value.
1923	* include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add
1924	_M_traits to _DFSExecutor.
1925	* include/bits/regex_executor.tcc (__get_executor<>): Pass traits to
1926	_DFSExecutor too.
1927	* testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
1928	New.
1929	* testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
1930	wstring_02.cc: New.
1931
19322013-08-26  Tim Shen  <timshen91@gmail.com>
1933
1934	* include/Makefile.am: Add regex_scanner.{h,tcc}.
1935	* include/Makefile.in: Regenerate.
1936	* include/bits/regex.h (match_search): Handle the `__first == __last`
1937	situation correctly.
1938	* include/bits/regex_compiler.h: Move _Scanner...
1939	* include/bits/regex_scanner.h: ...to here. New.
1940	* include/bits/regex_compiler.tcc: Move _Scanner...
1941	* include/bits/regex_scanner.tcc: ...to here, too. New.
1942	* include/bits/regex_executor.tcc: Use value instead of reference for
1943	submatch.
1944	* include/std/regex: Add regex_scanner.h
1945	* testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New.
1946	* testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New.
1947	* testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New.
1948	* testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New.
1949	* testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New.
1950
19512013-08-22  Tim Shen  <timshen91@gmail.com>
1952
1953	* include/bits/regex.h: Replace 8 spaces in indentation with a tab.
1954	* include/bits/regex_automaton.h: Same.
1955	* include/bits/regex_automaton.tcc: Same.
1956	* include/bits/regex_compiler.h: Same.
1957	* include/bits/regex_compiler.tcc: Same.
1958	* include/bits/regex_constants.h: Same.
1959	* include/bits/regex_executor.h: Same.
1960	* include/bits/regex_executor.tcc: Same.
1961
19622013-08-22  Tim Shen  <timshen91@gmail.com>
1963
1964	* include/bits/regex.h: Executor caller.
1965	* include/bits/regex_executor.h: Fix empty grouping problem.
1966	* include/bits/regex_executor.tcc: Same.
1967	* testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc:
1968	  New.
1969
19702013-08-20  Phil Muldoon  <pmuldoon@redhat.com>
1971
1972	PR libstdc++/53477
1973	http://sourceware.org/bugzilla/show_bug.cgi?id=15195
1974
1975	* python/libstdcxx/v6/printers.py (Printer.__call__): If a value
1976	is a reference, fetch referenced value.
1977	(RxPrinter.invoke): Ditto.
1978	* testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add -O0
1979	flag. Add referenced value tests.
1980
19812013-08-20  Tim Shen  <timshen91@gmail.com>
1982
1983	* include/bits/regex_constants.h: Add underlying `unsigned int` for
1984	  enum syntax_option_type.
1985
19862013-08-18  Tim Shen  <timshen91@gmail.com>
1987
1988	* include/bits/regex_automaton.h: _S_opcode_backref.
1989	* include/bits/regex_automaton.tcc: Backref automaton support.
1990	* include/bits/regex_compiler.tcc: Parsing support.
1991	* include/bits/regex_executor.h: Add _M_traits for _DFSExecutor.
1992	* include/bits/regex_executor.tcc: Add _S_opcode_backref support.
1993	* testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc: New.
1994
19952013-08-16  Tim Shen  <timshen91@gmail.com>
1996
1997	* include/bits/regex.h (regex_traits<>::transform_primary):
1998	Avoid past-the-end dereferences.
1999
20002013-08-14  Paolo Carlini  <paolo.carlini@oracle.com>
2001
2002	PR libstdc++/58163
2003	* include/bits/basic_string.h (basic_string<>::operator[]): Fix
2004	_GLIBCXX_DEBUG_PEDASSERT check vs C++11.
2005	* include/ext/vstring.h: Likewise.
2006	* testsuite/21_strings/basic_string/element_access/char/58163.cc:
2007	New.
2008	* testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
2009	Likewise.
2010	* testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
2011	* testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
2012
20132013-08-14  Uros Bizjak  <ubizjak@gmail.com>
2014
2015	* src/c++98/compatibility.cc (_ZTIe): Use
2016	reinterpret_cast<const void *> to avoid -Wcast-qual warnings.
2017	(_ZTIPe): Ditto.
2018	(ZTIPKe): Ditto.
2019
20202013-08-09  Tim Shen  <timshen91@gmail.com>
2021
2022	* include/bits/regex_constants.h: Change syntax_option_type to enum
2023	type.
2024
20252013-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2026
2027	* include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp, _Cp, _Rp.
2028
20292013-08-08  François Dumont  <fdumont@gcc.gnu.org>
2030
2031	* include/bits/hashtable_policy.h (_Hashtable_alloc): New.
2032	(_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
2033	_Hashtable.
2034	(_Before_begin<>): Remove.
2035	* include/bits/hashtable.h (_Hashtable): Inherit from
2036	_Hashtable_alloc and adapt. Restore _M_before_begin field.
2037	* src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include.
2038	* python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
2039	access to hashtable before begin.
2040	* testsuite/23_containers/unordered_set/
2041	not_default_constructible_hash_neg.cc: Adapt dg-error line number.
2042	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
2043	Likewise.
2044
20452013-08-07  Tim Shen  <timshen91@gmail.com>
2046
2047	* include/Makefile.am: Adjust to new files.
2048	* include/Makefile.in: Regenerate.
2049	* include/bits/regex.h: Adjust to new interfaces.
2050	* include/bits/regex_automaton.h: New.
2051	* include/bits/regex_automaton.tcc: New.
2052	* include/bits/regex_compiler.h: Adjust to new files.
2053	* include/bits/regex_compiler.tcc: New.
2054	* include/bits/regex_constants.h: Tail spaces.
2055	* include/bits/regex_error.h: Likewise.
2056	* include/bits/regex_executor.h: New.
2057	* include/bits/regex_executor.tcc: New.
2058	* include/std/regex: Adjust to new files.
2059	* testsuite/28_regex/algorithms/regex_match/extended/
2060	string_dispatch_01.cc: Adjust to new interfaces.
2061
20622013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
2063
2064	* include/ext/atomicity.h: Add #pragma GCC system_header.
2065
20662013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
2067
2068	PR libstdc++/58098
2069	* include/bits/random.h (cauchy_distribution<>::min,
2070	extreme_value_distribution<>::min, normal_distribution<>::min,
2071	student_t_distribution<>::min): Fix.
2072	* include/ext/random (normal_mv_distribution<>::min): Likewise.
2073	* testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
2074	Adjust.
2075	testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
2076	Likewise.
2077	* testsuite/26_numerics/random/extreme_value_distribution/cons/
2078	parms.cc: Likewise.
2079	testsuite/26_numerics/random/extreme_value_distribution/cons/
2080	default.cc: Likewise.
2081	* testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
2082	Likewise.
2083	* testsuite/26_numerics/random/normal_distribution/cons/default.cc:
2084	Likewise.
2085	* testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
2086	Likewise.
2087	* testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
2088	Likewise.
2089	* testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
2090	* testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
2091
2092	* testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
2093	Minor tweak.
2094	* testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
2095	Likewise.
2096
2097	* testsuite/ext/von_mises_distribution/*: Move to...
2098	* testsuite/ext/random/von_mises_distribution/*: ... here.
2099	* testsuite/ext/triangular_distribution/*: Move to...
2100	* testsuite/ext/random/triangular_distribution/*: ... here.
2101
21022013-08-06  Caroline Tice  <cmtice@google.com>
2103
2104	* fragment.am: Add XTEMPLATE_FLAGS.
2105	* configure.ac: Add definitions for --enable-vtable-verify.
2106	* acinclude.m4:  Add --enable-vtable-verify and
2107	--disable-vtable-verify; define --enable-vtable-verify; define
2108	VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
2109	* config/abi/pre/gnu.ver: Export symbols for vtable verification.
2110	* libsupc++/Makefile.am: Define vtv_sources and add it to
2111	libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
2112	* libsupc++/vtv_stubs.cc: New file.
2113	* include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
2114	* src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
2115	VTV_CXXLINKFLAGS to CXXLINK.
2116	* src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
2117	to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
2118	* src/C++11/Makefile.am: Ditto.
2119	* doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
2120	* scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
2121	cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
2122	* testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
2123	libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
2124	cxxvtvflags to cxx_final.
2125	* testsuite/18_support/bad_exception/23591_thread-1.c: Add
2126	-fvtable-verify=none to compiler flags.
2127	* testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
2128	to compiler flags.
2129	* configure: Regenerated.
2130	* Makefile.in: Regenerated.
2131	* python/Makefile.in: Regenerated.
2132	* include/Makefile.in: Regenerated.
2133	* libsupc++/Makefile.in: Regenerated.
2134	* config.h.in: Regenerated.
2135	* po/Makefile.in: Regenerated.
2136	* src/Makefile.in: Regenerated.
2137	* src/c++98/Makefile.in: Regenerated.
2138	* src/c++11/Makefile.in: Regenerated.
2139	* doc/Makefile.in: Regenerated.
2140	* testsuite/Makefile.in: Regenerated.
2141
21422013-08-06  Paolo Carlini  <paolo.carlini@oracle.com>
2143
2144	Revert the last commit.
2145
21462013-08-06  François Dumont  <fdumont@gcc.gnu.org>
2147
2148	* include/bits/hashtable_policy.h (_Hashtable_alloc): New.
2149	(_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
2150	_Hashtable.
2151	(_Before_begin<>): Remove.
2152	* include/bits/hashtable.h (_Hashtable): Inherit from
2153	_Hashtable_alloc and adapt. Restore _M_before_begin field.
2154	* python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
2155	access to hashtable before begin.
2156	* testsuite/23_containers/unordered_set/
2157	not_default_constructible_hash_neg.cc: Adapt dg-error line number.
2158	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
2159	Likewise.
2160
21612013-08-03  Tim Shen  <timshen91@gmail.com>
2162
2163	Implement bracket expression.
2164	* include/bits/regex.h: Remove constexpr from "|=", etc.
2165	* include/bits/regex_compiler.h: Parse bracket expression.
2166	* include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old
2167	_RangeMatcher).
2168	* include/bits/regex_nfa.tcc: Implement them.
2169	* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
2170	from regex_search to regex_match.
2171	* testsuite/28_regex/algorithms/regex_match/extended/
2172	cstring_bracket_01.cc: New.
2173
21742013-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
2175
2176	* include/debug/functions.h (__foreign_iterator_aux4):
2177	Initialize __l and __ge.
2178
21792013-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
2180
2181	PR libstdc++/58049
2182	* include/debug/functions.h: Include <bits/move.h>; minor formatting
2183	changes.
2184	(__foreign_iterator_aux4): Declare __l and __ge constexpr.
2185	* include/debug/safe_iterator.h (_Safe_iterator<>::operator->):
2186	Use __addressof.
2187	* include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
2188	operator->): Likewise.
2189
21902013-08-01  François Dumont  <fdumont@gcc.gnu.org>
2191
2192	PR libstdc++/57779
2193	* include/debug/formatter.h (_Debug_msg_id): Add
2194	__msg_insert_itself_range entry.
2195	* include/debug/functions.h (_Insert_range_from_self_is_safe<>):
2196	New, indicate container types supporting self range insertion in
2197	GNU implementation.
2198	(__foreign_iterator): New, check if an iterator points to a given
2199	sequence.
2200	* include/debug/macros.h (__glibcxx_check_insert_range): Add check
2201	using __foreign_iterator.
2202	(__gibcxx_check_insert_range_after): Likewise.
2203	* include/debug/string (_Insert_range_from_self_is_safe<>):
2204	Partially specialized to mark __gnu_debug::basic_string<> as
2205	supporting self range insert.
2206	* include/debug/list (_Insert_range_from_self_is_safe<>):
2207	Partially specialized to mark std::list as supporting self range
2208	insert if _GLIBCXX_DEBUG_PEDANTIC is not defined.
2209	* include/debug/forward_list (_Insert_range_from_self_is_safe<>):
2210	Likewise.
2211	* src/c++11/debug.cc (_S_debug_messages): Add
2212	__msg_insert_itself_range_entry message.
2213	(_Error_formatter::_Parameter::_M_print_description): Display
2214	iterator sequence address rather than sequence address when the
2215	parameter type is an iterator.
2216	(_Error_formatter::_M_print_word): Enhance behavior when
2217	displaying a word with an appended '\n'.
2218	* testsuite/util/debug/checks.h (check_insert4<>): New.
2219	* testsuite/23_containers/deque/debug/insert5_neg.cc: New.
2220	* testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
2221	* testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise.
2222	* testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
2223	* testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
2224	* testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
2225	Likewise.
2226
22272013-08-01  Fabien Chêne  <fabien@gcc.gnu.org>
2228
2229	PR c++/54537
2230	* include/tr1/cmath: Remove pow(double,double) overload, remove a
2231	duplicated comment about DR 550. Add a comment to explain the
2232	issue.
2233	* testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New.
2234
22352013-07-31  Tim Shen  <timshen91@gmail.com>
2236
2237	Thompson matcher refactored. Fix grouping problem.
2238	* include/bits/regex.h: Use a dispatcher _M_get_matcher().
2239	* include/bits/regex_compiler.h: Tweak for auto switching.
2240	* include/bits/regex_grep_matcher.h: Class structure.
2241	* include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
2242	matcher) refactoring.
2243	* include/bits/regex_nfa.h: Change _Results's interfaces.
2244	* include/std/regex: Includes <map> and <queue>.
2245	* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
2246	For both matchers.
2247	* testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
2248	For both matchers.
2249	* testsuite/28_regex/algorithms/regex_match/extended/
2250	string_dispatch_01.cc: New.
2251
22522013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
2253
2254	PR libstdc++/56627
2255	* include/bits/stl_bvector.h: Use friend struct hash intead of
2256	friend class hash to work around useless warnings produced by
2257	some compilers.
2258	* include/std/bitset: Likewise.
2259
22602013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
2261
2262	* src/c++11/functexcept.cc: Do not include the whole <regex>.
2263	* src/c++11/regex.cc: Likewise.
2264
22652013-07-31  Tim Shen  <timshen91@gmail.com>
2266
2267	Revert last commit.
2268
22692013-07-31  Tim Shen  <timshen91@gmail.com>
2270
2271	Thompson matcher refactored. Fix grouping problem.
2272	* include/bits/regex.h: Use a dispatcher _M_get_matcher().
2273	* include/bits/regex_compiler.h: Tweak for auto switching.
2274	* include/bits/regex_grep_matcher.h: Class structure.
2275	* include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
2276	matcher) refactoring.
2277	* include/bits/regex_nfa.h: Change _Results's interfaces.
2278	* include/std/regex: Includes <map> and <queue>.
2279	* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
2280	For both matchers.
2281	* testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
2282	For both matchers.
2283	* testsuite/28_regex/algorithms/regex_match/extended/
2284	string_dispatch_01.cc: New.
2285
22862013-07-30  Paolo Carlini  <paolo.carlini@oracle.com>
2287
2288	Revert last commit.
2289
22902013-07-30  Tim Shen  <timshen91@gmail.com>
2291
2292	Thompson matcher refactored. Fix grouping problem.
2293	* include/bits/regex.h: Use a dispatcher _M_get_matcher().
2294	* include/bits/regex_compiler.h: Tweak for auto switching.
2295	* include/bits/regex_grep_matcher.h: Class structure.
2296	* include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
2297	matcher) refactoring.
2298	* include/bits/regex_nfa.h: Change _Results's interfaces.
2299	* include/std/regex: Includes <map> and <queue>.
2300	* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
2301	For both matchers.
2302	* testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
2303	For both matchers.
2304	* testsuite/28_regex/algorithms/regex_match/extended/
2305	string_dispatch_01.cc: New.
2306
23072013-07-29  Nathan Froyd  <froydnj@gcc.gnu.org>
2308
2309	* include/std/atomic (compare_exchange_weak, compare_exchange_strong):
2310	Add call to __cmpexch_failure_order.
2311	* testsuite/util/testsuite_common_types.h
2312	(compare_exchange_order_lowering): New generator.
2313	* testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
2314	New test.
2315
23162013-07-25  Paolo Carlini  <paolo.carlini@oracle.com>
2317
2318	* include/std/complex (pow(const complex<>&, int)): Enable in
2319	C++11 mode too.
2320	* testsuite/26_numerics/complex/dr844.cc: Adjust.
2321	* doc/xml/manual/intro.xml: Update.
2322
23232013-07-25  Tim Shen  <timshen91@gmail.com>
2324
2325	Add documents and comments.
2326	* include/bits/regex.h: Documents and comments.
2327	* include/bits/regex_grep_matcher.h: Likewise.
2328	* include/bits/regex_grep_matcher.tcc: Likewise.
2329	* testsuite/28_regex/iterators/regex_iterator/char/
2330	string_position_01.cc: New.
2331
23322013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
2333
2334	PR libstdc++/57976
2335	* doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
2336	time_get::do_get.
2337
23382013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
2339
2340	* include/bits/random.h (random_device): Avoid using the FILE type.
2341	* include/std/random: Do not include <cstdio>.
2342	* src/c++11/random.cc: ... include it here.
2343	(random_device::_M_init, random_device::_M_fini,
2344	random_device::_M_getval): Cast back and forth void* and FILE*.
2345
23462013-07-24  Tim Shen  <timshen91@gmail.com>
2347
2348	Reimplment matcher using Depth-first search(backtracking).
2349	PR libstdc++/53622
2350	PR libstdc++/57173
2351	* include/bits/regex.h: regex_match() and regex_search().
2352	* include/bits/regex_cursor.h: Fix _M_set_pos().
2353	* include/bits/regex_grep_matcher.h: add _M_dfs_match().
2354	* include/bits/regex_grep_matcher.tcc: Implement it.
2355	* testsuite/28_regex/algorithms/regex_match/extended/53622.cc: New.
2356	* testsuite/28_regex/algorithms/regex_match/extended/57173.cc: New.
2357	* testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
2358	Remove xfail.
2359
23602013-07-23  Tim Shen  <timshen91@gmail.com>
2361
2362	Implement regex_iterator and regex_token_iterator.
2363	* include/bits/regex.h: regex_iterator and regex_token_iterator.
2364	* testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
2365	New.
2366	* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
2367	New.
2368	* testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
2369	New.
2370	* testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
2371	string_01.cc: New.
2372
23732013-07-23  Paolo Carlini  <paolo.carlini@oracle.com>
2374
2375	* include/std/random: Add back <cstdio> include.
2376	* src/c++11/random.cc: Don't include <cstdio> here.
2377
23782013-07-22  Jason Merrill  <jason@redhat.com>
2379
2380	PR libstdc++/57914
2381	* libsupc++/atexit_thread.cc (run): Delete cleanup elts.
2382
23832013-07-22  Paolo Carlini  <paolo.carlini@oracle.com>
2384
2385	PR c++/57920
2386	* src/c++11/random.cc (random_device::_M_getval): If possible, use
2387	read instead of std::fread.
2388	* include/std/random: Do not include <cstdio> unnecessarily.
2389
23902013-07-21  Tim Shen  <timshen91@gmail.com>
2391
2392	Partially implement regex_search.
2393	* include/bits/regex.h: regex_search.
2394	* include/bits/regex_grep_matcher.h: _M_search_from_first.
2395	* include/bits/regex_grep_matcher.tcc: Implement it.
2396	* testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New.
2397
23982013-07-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
2399
2400	PR libstdc++/54352
2401	* include/std/condition_variable (condition_variable_any): Move into
2402	inline namespace _V2 and replace mutex member with shared_ptr<mutex>.
2403	* src/c++11/condition_variable.cc (condition_variable_any): Move
2404	definitions to ...
2405	* src/c++11/compatibility-condvar.cc (condition_variable_any): Here.
2406	* src/Makefile.am: Add new source file.
2407	* src/Makefile.in: Regenerate.
2408
24092013-07-09  Tim Shen  <timshen91@gmail.com>
2410
2411	Implement class regex_traits.
2412	* include/bits/regex.h: Implement lookup_classname and
2413	lookup_collatename; modify isctype; partially implement
2414	transform_primary.
2415	* testsuite/28_regex/traits/char/isctype.cc: Add more test cases.
2416	* testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
2417	* testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
2418	* testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
2419	* testsuite/28_regex/traits/wchar_t/isctype.cc: New.
2420	* testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New.
2421	* testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New.
2422	* testsuite/28_regex/traits/wchar_t/transform_primary.cc: New.
2423
24242013-07-07  Ed Smith-Rowland  <3dw4rd@verizon.net>
2425
2426	* doc/xml/manual/status_cxx2014.xml: Add links for papers.
2427
24282013-07-05  François Dumont  <fdumont@gcc.gnu.org>
2429
2430	* include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
2431	pattern.
2432	(_MoveReuseOrAllocNode): Remove.
2433	(_Insert_base): Take a functor defining how the node is generated.
2434	* include/bits/hashtable.h: Adapt.
2435	(operator=(initializer_list<value_type>)): Reuse node if any.
2436	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
2437	Adjust dg-error line number.
2438	* testsuite/23_containers/unordered_set/
2439	not_default_constructible_hash_neg.cc: Likewise.
2440
24412013-07-05  Paolo Carlini  <paolo.carlini@oracle.com>
2442
2443	* testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
2444	Tweak, avoid potential undefined behavior.
2445	* testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
2446	Likewise.
2447	* testsuite/23_containers/vector/bool/modifiers/insert/
2448	const_iterator.cc: Likewise.
2449	* testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
2450	Likewise.
2451
24522013-07-04  Veres Lajos  <vlajos@gmail.com>
2453	    Jonathan Wakely  <jwakely.gcc@gmail.com>
2454
2455	* config/locale/generic/codecvt_members.cc: Fix typo.
2456	* configure.host: Likewise.
2457	* doc/html/manual/policy_data_structures_design.html: Likewise.
2458	* doc/xml/manual/policy_data_structures.xml: Likewise.
2459	* include/bits/hashtable.h: Likewise.
2460	* include/bits/random.h: Likewise.
2461	* include/profile/impl/profiler_trace.h: Likewise.
2462	* testsuite/23_containers/deque/cons/2.cc: Likewise.
2463	* testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
2464	* testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
2465	* testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
2466
24672013-07-04  Ray Chason  <chasonr@newsguy.com>
2468	    Paolo Carlini  <paolo.carlini@oracle.com>
2469
2470	PR libstdc++/57808
2471	* include/bits/regex.h (regex_token_iterator<>::operator==,
2472	regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
2473	regex_token_iterator<>::operator->): Declare const.
2474
24752013-07-01  Paolo Carlini  <paolo.carlini@oracle.com>
2476
2477	* include/bits/stl_list.h (list<>::insert(iterator,
2478	size_type, const value_type&), list<>::insert(iterator,
2479	initializer_list<>), list<>::insert(iterator, _InputIterator,
2480	_InputIterator), list<>::splice(iterator, list&&),
2481	list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
2482	iterator), list<>::splice(iterator, list&, iterator),
2483	list<>::splice(iterator, list&&, iterator, iterator),
2484	list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
2485	signatures to take const_iterator(s).
2486	* include/bits/list.tcc (list<>::insert(const_iterator, size_type,
2487	const value_type&), list<>::insert(const_iterator, _InputIterator,
2488	_InputIterator)): Define.
2489	* include/ext/vstring.h (__versa_string<>::insert(iterator,
2490	size_type, _CharT), __versa_string<>::insert(iterator,
2491	_InputIterator, _InputIterator), __versa_string<>::insert(iterator,
2492	std::initializer_list<>), __versa_string<>::replace(iterator,
2493	iterator, _InputIterator, _InputIterator), __versa_string<>::
2494	replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
2495	signatures to take const_iterator(s).
2496	(__versa_string<>::_M_replace_dispatch): Take const_iterators.
2497	* include/ext/vstring.tcc: Likewise.
2498	* include/debug/list: Adjust.
2499	* include/profile/list: Likewise.
2500	* testsuite/23_containers/list/operations/splice/const_iterator.cc:
2501	New.
2502	* testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
2503	Extend.
2504	* testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
2505	Likewise.
2506	* testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
2507	Likewise.
2508	* testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
2509	Likewise.
2510	* testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
2511	Likewise.
2512
2513	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2514	Adjust dg-error line number.
2515	* testsuite/23_containers/list/requirements/dr438/
2516	constructor_1_neg.cc: Likewise.
2517	* testsuite/23_containers/list/requirements/dr438/
2518	constructor_2_neg.cc: Likewise.
2519	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2520	Likewise.
2521
25222013-06-30  Paolo Carlini  <paolo.carlini@oracle.com>
2523
2524	* include/bits/stl_deque.h (deque<>::insert(iterator,
2525	size_type, const value_type&), deque<>::insert(iterator,
2526	initializer_list<>), deque<>::insert(iterator, _InputIterator,
2527	_InputIterator)): Adjust C++11 signatures to take a const_iterator.
2528	* include/bits/stl_vector.h: Likewise.
2529	* include/bits/stl_bvector.h: Likewise.
2530	* include/debug/deque: Adjust.
2531	* include/debug/vector: Likewise.
2532	* include/profile/deque: Likewise.
2533	* include/profile/vector: Likewise.
2534	* testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
2535	Extend.
2536	* testsuite/23_containers/vector/bool/modifiers/insert/
2537	const_iterator.cc: Likewise.
2538	* testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
2539	Likewise.
2540
2541	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2542	Adjust dg-error line number.
2543	* testsuite/23_containers/deque/requirements/dr438/
2544	constructor_1_neg.cc: Likewise.
2545	* testsuite/23_containers/deque/requirements/dr438/
2546	constructor_2_neg.cc: Likewise.
2547	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2548	Likewise.
2549	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2550	Likewise.
2551	* testsuite/23_containers/vector/requirements/dr438/
2552	constructor_1_neg.cc: Likewise.
2553	* testsuite/23_containers/vector/requirements/dr438/
2554	constructor_2_neg.cc: Likewise.
2555	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2556	Likewise.
2557
25582013-06-29  François Dumont  <fdumont@gcc.gnu.org>
2559
2560	* include/bits/hashtable_policy.h (_Insert_base): Consider hint in
2561	insert methods.
2562	* include/bits/hashtable.h: Likewise.
2563	* testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
2564	* testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
2565	New.
2566	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
2567	Adjust dg-error line number.
2568	* testsuite/23_containers/unordered_set/
2569	not_default_constructible_hash_neg.cc: Likewise.
2570	* doc/xml/manual/containers.xml: Document hinting in unordered
2571	containers.
2572
25732013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
2574
2575	* testsuite/21_strings/basic_string/operations/*: Move inside
2576	testsuite/21_strings/basic_string/operations/data/.
2577	* testsuite/21_strings/basic_string/compare/*: Move inside
2578	testsuite/21_strings/basic_string/operations/.
2579	* testsuite/21_strings/basic_string/find/*: Likewise.
2580	* testsuite/21_strings/basic_string/rfind/*: Likewise.
2581	* testsuite/21_strings/basic_string/substr/*: Likewise.
2582
25832013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
2584
2585	* testsuite/21_strings/basic_string/append/*: Move inside
2586	testsuite/21_strings/basic_string/modifiers/.
2587	* testsuite/21_strings/basic_string/assign/*: Likewise.
2588	* testsuite/21_strings/basic_string/insert/*: Likewise.
2589	* testsuite/21_strings/basic_string/replace/*: Likewise.
2590	* testsuite/21_strings/basic_string/modifiers/pop_back/char/
2591	pop_back.cc: Rename to 1.cc.
2592	* testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
2593	pop_back.cc: Likewise.
2594	* testsuite/ext/vstring/assign/*: Move inside
2595	testsuite/ext/vstring/modifiers/.
2596
25972013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
2598
2599	* include/bits/stl_deque.h (deque<>::insert(iterator,
2600	const value_type&), deque<>::insert(iterator, value_type&&),
2601	deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
2602	take a const_iterator.
2603	(deque<>::erase): Simplify.
2604	* include/bits/stl_list.h: Likewise.
2605	(_List_iterator<>::_M_const_cast): Add.
2606	* include/bits/stl_vector.h: Likewise.
2607	* include/bits/stl_bvector.h: Likewise.
2608	(_Bit_iterator::_M_const_cast): Add.
2609	* include/bits/deque.tcc: Adjust definitions.
2610	* include/bits/list.tcc: Likewise.
2611	* include/bits/vector.tcc: Likewise.
2612	* include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
2613	Define trivial version in C++98 mode.
2614	* include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
2615	__versa_string<>::replace(iterator, iterator, const __versa_string&),
2616	__versa_string<>::replace(iterator, iterator, const _CharT*,
2617	size_type), __versa_string<>::replace(iterator, iterator,
2618	const _CharT*), __versa_string<>::replace(iterator, iterator,
2619	size_type, _CharT)): Adjust C++11 signatures to take a pair of
2620	const_iterators.
2621	* include/debug/deque: Adjust.
2622	* include/debug/list: Likewise.
2623	* include/debug/vector: Likewise.
2624	* include/profile/deque: Likewise.
2625	* include/profile/list: Likewise.
2626	* include/profile/vector: Likewise.
2627	(vector<>::emplace): Add.
2628	* testsuite/util/exception/safety.h: Update.
2629	* testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
2630	New.
2631	* testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
2632	Likewise.
2633	* testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
2634	Likewise.
2635	* testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
2636	Likewise.
2637	* testsuite/23_containers/vector/bool/modifiers/insert/
2638	const_iterator.cc: Likewise.
2639	* testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
2640	Likewise.
2641	* testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
2642	Likewise.
2643	* testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
2644	Likewise.
2645	* testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
2646	Likewise.
2647	* testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
2648	Likewise.
2649	* testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
2650	Likewise.
2651
2652	* testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
2653	ext/vstring/modifiers/erase/char/.
2654	* testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
2655	ext/vstring/modifiers/wchar_t/.
2656	* testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
2657	ext/vstring/modifiers/pop_back/char/.
2658	* testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
2659	testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
2660
2661	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2662	Adjust dg-error line number.
2663	* testsuite/23_containers/deque/requirements/dr438/
2664	constructor_1_neg.cc: Likewise.
2665	* testsuite/23_containers/deque/requirements/dr438/
2666	constructor_2_neg.cc: Likewise.
2667	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2668	Likewise.
2669	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2670	Likewise.
2671	* testsuite/23_containers/list/requirements/dr438/
2672	constructor_1_neg.cc: Likewise.
2673	* testsuite/23_containers/list/requirements/dr438/
2674	constructor_2_neg.cc: Likewise.
2675	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2676	Likewise.
2677	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2678	Likewise.
2679	* testsuite/23_containers/vector/requirements/dr438/
2680	constructor_1_neg.cc: Likewise.
2681	* testsuite/23_containers/vector/requirements/dr438/
2682	constructor_2_neg.cc: Likewise.
2683	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2684	Likewise.
2685
26862013-06-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
2687
2688	Status page for C++2014 library features
2689	* doc/xml/faq.xml: Add link to new C++14 status page.
2690	* doc/xml/manual/intro.xml: Ditto.
2691	* doc/xml/manual/status_cxx2014.xml: New.
2692
26932013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
2694
2695	* testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
2696	spurious fails with check-debug.
2697	* testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
2698	Likewise.
2699	* testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
2700	* testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
2701	Likewise.
2702
27032013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
2704
2705	PR libstdc++/57704
2706	* include/bits/char_traits.h (char_traits<char>::lt): Implement
2707	LWG 467.
2708	* testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
2709
27102013-06-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2711
2712	PR libstdc++/57691
2713	* include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
2714	declare per the letter of the C++ standard in terms of void.
2715	* include/c_std/cstdlib: Likewise.
2716
27172013-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
2718
2719	PR libstdc++/57674
2720	* include/bits/random.h (binomial_distribution<>::_M_waiting):
2721	Add double parameter.
2722	* include/bits/random.tcc (binomial_distribution<>::operator()
2723	(_UniformRandomNumberGenerator&, const param_type&)): Pass
2724	__param._M_q to _M_waiting.
2725	(_M_waiting): Adjust.
2726	* testsuite/26_numerics/random/binomial_distribution/
2727	operators/values.cc: Add tests.
2728
27292013-06-21  Paolo Carlini  <paolo.carlini@oracle.com>
2730
2731	PR libstdc++/57666
2732	* include/std/valarray (valarray<>::operator=(const _Expr<>&)):
2733	Implement correctly C++11 26.6.2.3/1.
2734	* testsuite/26_numerics/valarray/dr630-3.C: New.
2735
27362013-06-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2737
2738	PR libstdc++/57641
2739	* include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
2740	functionality to new __timed_mutex_impl mixin. Overload try_lock_until
2741	to handle conversion between different clocks. Replace constrained
2742	__try_lock_for_impl overloads with conditional increment.
2743	* include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
2744	* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
2745
27462013-06-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
2747	    Chris Jefferson  <chris@bubblescope.net>
2748
2749	* include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
2750	dispatch to traditional std::equal for random-access iterators.
2751	(__equal2_aux, __equal2): Remove.
2752	(__equal::equal): Remove unused overloads.
2753	* include/bits/stl_algo.h (is_permutation): Fix typos.
2754
27552013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2756
2757	* include/std/shared_mutex (shared_lock::operator=): Add missing
2758	return statement.
2759
27602013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2761
2762	PR libstdc++/57263
2763	* include/bits/forward_list.h (_Fwd_list_base): Convert to/from
2764	allocator's pointer type.
2765	* include/bits/hashtable.h (_Hashtable): Likewise.
2766	* testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
2767	* testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
2768	* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
2769	* testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
2770
27712013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2772
2773	* include/std/shared_mutex: Implement N3659.
2774	* include/bits/c++14_warning.h: New.
2775	* include/Makefile.am: Add new headers.
2776	* include/Makefile.in: Regenerate.
2777	* testsuite/30_threads/shared_lock/cons/1.cc: New.
2778	* testsuite/30_threads/shared_lock/locking/2.cc: New.
2779	* testsuite/30_threads/shared_lock/cons/2.cc: New.
2780	* testsuite/30_threads/shared_lock/locking/3.cc: New.
2781	* testsuite/30_threads/shared_lock/cons/3.cc: New.
2782	* testsuite/30_threads/shared_lock/locking/4.cc: New.
2783	* testsuite/30_threads/shared_lock/cons/4.cc: New.
2784	* testsuite/30_threads/shared_lock/modifiers/1.cc: New.
2785	* testsuite/30_threads/shared_lock/cons/5.cc: New.
2786	* testsuite/30_threads/shared_lock/modifiers/2.cc: New.
2787	* testsuite/30_threads/shared_lock/cons/6.cc: New.
2788	* testsuite/30_threads/shared_lock/requirements/
2789	explicit_instantiation.cc: New.
2790	* testsuite/30_threads/shared_lock/locking/1.cc: New.
2791	* testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
2792	* testsuite/30_threads/shared_mutex/cons/1.cc: New.
2793	* testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
2794	* testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
2795	* testsuite/30_threads/shared_mutex/requirements/
2796	standard_layout.cc: New.
2797	* testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
2798	* testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
2799
28002013-06-15  Paolo Carlini  <paolo.carlini@oracle.com>
2801
2802	PR libstdc++/57619
2803	* include/bits/unordered_map.h (unordered_map<>::insert,
2804	unordered_multimap<>::insert): Use std::forward, not std::move.
2805	* testsuite/23_containers/unordered_map/insert/57619.C: New.
2806	* testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
2807
28082013-06-14  Alan Modra  <amodra@gmail.com>
2809
2810	* configure.host (abi_baseline_pair): Match powerpc64*.
2811
28122013-06-13  Daniel Krugler  <daniel.kruegler@gmail.com>
2813
2814	* include/std/type_traits (is_function): Support ref-qualified
2815	functions.
2816	(is_copy_constructible, is_move_constructible, is_copy_assignable,
2817	is_move_assignable, is_nothrow_copy_constructible,
2818	is_nothrow_move_constructible, is_nothrow_copy_assignable,
2819	is_nothrow_move_assignable): Implement LWG 2196.
2820	(add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
2821	LWG 2101.
2822	(__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
2823	unused.
2824	* testsuite/20_util/add_lvalue_reference/value.cc: Extend.
2825	* testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
2826	* testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
2827	* testsuite/20_util/is_assignable/value.cc: Likewise.
2828	* testsuite/20_util/is_constructible/value-2.cc: Likewise.
2829	* testsuite/20_util/is_copy_assignable/value.cc: Likewise.
2830	* testsuite/20_util/is_copy_constructible/value.cc: Likewise.
2831	* testsuite/20_util/is_function/value.cc: Likewise.
2832	* testsuite/20_util/is_move_assignable/value.cc: Likewise.
2833	* testsuite/20_util/is_move_constructible/value.cc: Likewise.
2834	* testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
2835	* testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
2836	* testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
2837	* testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
2838
2839	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2840	line number.
2841	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2842	Likewise.
2843	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2844	Likewise.
2845
28462013-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
2847
2848	* include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
2849	__gnu_cxx::__airy_bi()): Remove.
2850	* testsuite/tr1/5_numerical_facilities/special_functions/
2851	10_cyl_bessel_k/airy.cc: Fix.
2852
28532013-06-12  Ed Smith-Rowland  <3dw4rd@verizon.net>
2854
2855	PR libstdc++/56430
2856	* include/tr1/modified_bessel_func.tcc (__airy): Remove return
2857	from void function.
2858	(__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
2859	* testsuite/tr1/5_numerical_facilities/special_functions/
2860	10_cyl_bessel_k/airy.cc: New.
2861
28622013-06-11  Ed Smith-Rowland  <3dw4rd@verizon.net>
2863
2864	Fix library literals error involving namespace __detail.
2865	* include/std/chrono: Rename __detail to __select_type. Reformat.
2866	* include/bits/basic_string.h: Reformat.
2867	* testsuite/20_util/duration/literals/ns_detail.cc: New.
2868
28692013-06-11  Paolo Carlini  <paolo.carlini@oracle.com>
2870
2871	PR libstdc++/56019
2872	* include/c_global/cstddef (max_align_t): Add to namespace std.
2873	* include/c_std/cstddef: Likewise.
2874	* testsuite/18_support/max_align_t/requirements/1.cc: New.
2875	* testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
2876
28772013-06-10  Benjamin Kosnik  <bkoz@redhat.com>
2878
2879	* include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
2880	* include/bits/stl_map.h (erase): Use abi_tag when C++11.
2881	* include/bits/stl_multimap.h: Same.
2882	* include/bits/stl_multiset.h: Same.
2883	* include/bits/stl_set.h: Same.
2884	* include/bits/stl_tree.h: Same.
2885	* include/std/complex (real, imag): Use macro for abi_tag.
2886
2887	* testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
2888	* testsuite/util/testsuite_containers.h (erase_external): New
2889	declarations.
2890	(erase_external_iterators): Same.
2891	(linkage_check_cxx98_cxx11_erase): Same.
2892	(linkage_check_cxx98_cxx11_erase_iterators): Same.
2893	* testsuite/util/testsuite_shared.cc: Define.
2894	* testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
2895	* testsuite/23_containers/map/modifiers/erase/
2896	dr130-linkage-check.cc: New.
2897	* testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
2898	* testsuite/23_containers/multimap/modifiers/erase/
2899	dr130-linkage-check.cc: New.
2900	* testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
2901	* testsuite/23_containers/multiset/modifiers/erase/
2902	dr130-linkage-check.cc: New.
2903	* testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
2904	* testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
2905	New.
2906	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
2907
2908	* testsuite/23_containers/map/dr130.cc: Move...
2909	* testsuite/23_containers/map/modifiers/dr130.cc: ...here.
2910	* testsuite/23_containers/multimap/dr130.cc: Move ...
2911	* testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
2912	* testsuite/23_containers/multiset/dr130.cc: Move...
2913	* testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
2914	* testsuite/23_containers/set/dr130.cc: Move...
2915	* testsuite/23_containers/set/modifiers/dr130.cc: ...here.
2916
29172013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
2918
2919	* testsuite/17_intro/headers/c++1998/49745.cc: Extend current
2920	handling of Linux-based x86 systems to cover all GNU systems.
2921	* testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
2922	* testsuite/18_support/pthread_guard.cc: Likewise.
2923	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
2924	Likewise.
2925	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
2926	Likewise.
2927	* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
2928	* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
2929	* testsuite/22_locale/ctype/is/char/2.cc: Likewise.
2930	* testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
2931	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
2932	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
2933	* testsuite/23_containers/list/pthread1.cc: Likewise.
2934	* testsuite/23_containers/list/pthread5.cc: Likewise.
2935	* testsuite/23_containers/map/pthread6.cc: Likewise.
2936	* testsuite/23_containers/vector/debug/multithreaded_swap.cc:
2937	Likewise.
2938	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
2939	Likewise.
2940	* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
2941	* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
2942	* testsuite/30_threads/async/42819.cc: Likewise.
2943	* testsuite/30_threads/async/49668.cc: Likewise.
2944	* testsuite/30_threads/async/54297.cc: Likewise.
2945	* testsuite/30_threads/async/any.cc: Likewise.
2946	* testsuite/30_threads/async/async.cc: Likewise.
2947	* testsuite/30_threads/async/launch.cc: Likewise.
2948	* testsuite/30_threads/async/sync.cc: Likewise.
2949	* testsuite/30_threads/call_once/39909.cc: Likewise.
2950	* testsuite/30_threads/call_once/49668.cc: Likewise.
2951	* testsuite/30_threads/call_once/call_once1.cc: Likewise.
2952	* testsuite/30_threads/condition_variable/54185.cc: Likewise.
2953	* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2954	* testsuite/30_threads/condition_variable/members/1.cc: Likewise.
2955	* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
2956	* testsuite/30_threads/condition_variable/members/53841.cc:
2957	Likewise.
2958	* testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
2959	Likewise.
2960	* testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
2961	* testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
2962	* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2963	* testsuite/30_threads/condition_variable_any/members/1.cc:
2964	Likewise.
2965	* testsuite/30_threads/condition_variable_any/members/2.cc:
2966	Likewise.
2967	* testsuite/30_threads/future/cons/move.cc: Likewise.
2968	* testsuite/30_threads/future/members/45133.cc: Likewise.
2969	* testsuite/30_threads/future/members/get.cc: Likewise.
2970	* testsuite/30_threads/future/members/get2.cc: Likewise.
2971	* testsuite/30_threads/future/members/share.cc: Likewise.
2972	* testsuite/30_threads/future/members/valid.cc: Likewise.
2973	* testsuite/30_threads/future/members/wait.cc: Likewise.
2974	* testsuite/30_threads/future/members/wait_for.cc: Likewise.
2975	* testsuite/30_threads/future/members/wait_until.cc: Likewise.
2976	* testsuite/30_threads/lock/1.cc: Likewise.
2977	* testsuite/30_threads/lock/2.cc: Likewise.
2978	* testsuite/30_threads/lock/3.cc: Likewise.
2979	* testsuite/30_threads/lock/4.cc: Likewise.
2980	* testsuite/30_threads/mutex/cons/1.cc: Likewise.
2981	* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2982	* testsuite/30_threads/mutex/lock/1.cc: Likewise.
2983	* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2984	* testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
2985	* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2986	* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2987	* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2988	* testsuite/30_threads/packaged_task/49668.cc: Likewise.
2989	* testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
2990	* testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
2991	* testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
2992	* testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
2993	* testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
2994	* testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
2995	* testsuite/30_threads/packaged_task/cons/move_assign.cc:
2996	Likewise.
2997	* testsuite/30_threads/packaged_task/members/get_future.cc:
2998	Likewise.
2999	* testsuite/30_threads/packaged_task/members/get_future2.cc:
3000	Likewise.
3001	* testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
3002	* testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
3003	* testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
3004	* testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
3005	* testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
3006	* testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
3007	* testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
3008	* testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
3009	* testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
3010	* testsuite/30_threads/promise/cons/1.cc: Likewise.
3011	* testsuite/30_threads/promise/cons/alloc.cc: Likewise.
3012	* testsuite/30_threads/promise/cons/move.cc: Likewise.
3013	* testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
3014	* testsuite/30_threads/promise/members/get_future.cc: Likewise.
3015	* testsuite/30_threads/promise/members/get_future2.cc: Likewise.
3016	* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
3017	* testsuite/30_threads/promise/members/set_exception2.cc:
3018	Likewise.
3019	* testsuite/30_threads/promise/members/set_value.cc: Likewise.
3020	* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
3021	* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
3022	* testsuite/30_threads/promise/members/swap.cc: Likewise.
3023	* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
3024	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
3025	Likewise.
3026	* testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
3027	* testsuite/30_threads/recursive_mutex/native_handle/1.cc:
3028	Likewise.
3029	* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
3030	Likewise.
3031	* testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
3032	* testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
3033	* testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
3034	* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
3035	* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
3036	Likewise.
3037	* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
3038	* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
3039	* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
3040	Likewise.
3041	* testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
3042	Likewise.
3043	* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
3044	Likewise.
3045	* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
3046	Likewise.
3047	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
3048	Likewise.
3049	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
3050	Likewise.
3051	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
3052	Likewise.
3053	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
3054	Likewise.
3055	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
3056	Likewise.
3057	* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
3058	Likewise.
3059	* testsuite/30_threads/shared_future/cons/move.cc: Likewise.
3060	* testsuite/30_threads/shared_future/members/45133.cc: Likewise.
3061	* testsuite/30_threads/shared_future/members/get.cc: Likewise.
3062	* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
3063	* testsuite/30_threads/shared_future/members/valid.cc: Likewise.
3064	* testsuite/30_threads/shared_future/members/wait.cc: Likewise.
3065	* testsuite/30_threads/shared_future/members/wait_for.cc:
3066	Likewise.
3067	* testsuite/30_threads/shared_future/members/wait_until.cc:
3068	Likewise.
3069	* testsuite/30_threads/this_thread/1.cc: Likewise.
3070	* testsuite/30_threads/this_thread/2.cc: Likewise.
3071	* testsuite/30_threads/this_thread/3.cc: Likewise.
3072	* testsuite/30_threads/this_thread/4.cc: Likewise.
3073	* testsuite/30_threads/thread/cons/1.cc: Likewise.
3074	* testsuite/30_threads/thread/cons/2.cc: Likewise.
3075	* testsuite/30_threads/thread/cons/3.cc: Likewise.
3076	* testsuite/30_threads/thread/cons/4.cc: Likewise.
3077	* testsuite/30_threads/thread/cons/49668.cc: Likewise.
3078	* testsuite/30_threads/thread/cons/5.cc: Likewise.
3079	* testsuite/30_threads/thread/cons/6.cc: Likewise.
3080	* testsuite/30_threads/thread/cons/7.cc: Likewise.
3081	* testsuite/30_threads/thread/cons/8.cc: Likewise.
3082	* testsuite/30_threads/thread/cons/9.cc: Likewise.
3083	* testsuite/30_threads/thread/cons/moveable.cc: Likewise.
3084	* testsuite/30_threads/thread/members/1.cc: Likewise.
3085	* testsuite/30_threads/thread/members/2.cc: Likewise.
3086	* testsuite/30_threads/thread/members/3.cc: Likewise.
3087	* testsuite/30_threads/thread/members/4.cc: Likewise.
3088	* testsuite/30_threads/thread/members/5.cc: Likewise.
3089	* testsuite/30_threads/thread/members/hardware_concurrency.cc:
3090	Likewise.
3091	* testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
3092	* testsuite/30_threads/thread/native_handle/typesizes.cc:
3093	Likewise.
3094	* testsuite/30_threads/thread/swap/1.cc: Likewise.
3095	* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
3096	* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
3097	Likewise.
3098	* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
3099	* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
3100	* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
3101	Likewise.
3102	* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
3103	* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
3104	* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
3105	* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
3106	* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
3107	* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
3108	* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
3109	* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
3110	* testsuite/30_threads/try_lock/1.cc: Likewise.
3111	* testsuite/30_threads/try_lock/2.cc: Likewise.
3112	* testsuite/30_threads/try_lock/3.cc: Likewise.
3113	* testsuite/30_threads/try_lock/4.cc: Likewise.
3114	* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
3115	* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
3116	* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
3117	* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
3118	* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
3119	* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
3120	* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
3121	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
3122	* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
3123	* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
3124	* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
3125	* testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
3126	* testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
3127	* testsuite/ext/profile/mh.cc: Likewise.
3128	* testsuite/ext/rope/pthread7-rope.cc: Likewise.
3129	* testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
3130	* testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
3131	Likewise.
3132	* testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
3133	Likewise.
3134	* testsuite/util/testsuite_performance.h: Extend current handling
3135	of Linux-based systems to cover all glibc-based systems.
3136
31372013-06-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
3138
3139	* include/std/mutex (call_once): Remove parentheses to fix error in
3140	c++1y and gnu++1y mode.
3141	* testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
3142	thread to avoid undefined behaviour.
3143
31442013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
3145
3146	Simplify and clean up library literals.
3147	* include/std/chrono: Simplify namespace and versioning management.
3148	* include/bits/basic_string.h: Ditto.
3149	* testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
3150	* testsuite/20_util/duration/literals/values.cc: Ditto.
3151	* testsuite/21_strings/basic_string/literals/types.cc: Ditto.
3152	* testsuite/21_strings/basic_string/literals/values.cc: Ditto.
3153
31542013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
3155
3156	Implement N3654 - Quoted Strings Library Proposal
3157	* include/std/iomanip: Add quoted(String, Char delim, Char escape)
3158	manipulators and supporting machinery in c++1y mode.
3159	* testsuite/27_io/manipulators/standard/char/quoted.cc: New.
3160	* testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
3161
31622013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
3163
3164	* include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
3165	2162: Add noexcept.
3166
31672013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
3168
3169	* include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
3170	* include/bits/stl_algobase.h (equal, mismatch): Likewise.
3171	* testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
3172	* testsuite/25_algorithms/equal/2.cc: New.
3173	* testsuite/25_algorithms/equal/check_type2.cc: New.
3174	* testsuite/25_algorithms/is_permutationqual/2.cc: New.
3175	* testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
3176	* testsuite/25_algorithms/mismatch/2.cc: New.
3177	* testsuite/25_algorithms/mismatch/check_type2.cc: New.
3178	* testsuite/util/testsuite_iterators.h: Fix spelling.
3179
31802013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
3181
3182	* include/std/type-traits (integral_constant::operator()): Implement
3183	N3545.
3184	* testsuite/20_util/integral_constant/call_operator.cc: New.
3185	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
3186	line numbers.
3187	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3188	Likewise.
3189	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3190	Likewise.
3191
31922013-06-07  Uros Bizjak  <ubizjak@gmail.com>
3193
3194	* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
3195
31962013-06-05  Tom Tromey  <tromey@redhat.com>
3197
3198	* testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
3199
32002013-06-03  Paolo Carlini  <paolo.carlini@oracle.com>
3201
3202	PR c++/57419
3203	* testsuite/20_util/default_delete/48631_neg.cc: Adjust.
3204
32052013-06-01  Ed Smith-Rowland  <3dw4rd@verizon.net>
3206
3207	* include/std/chrono: Collapse redundant 'inline' from 'inline
3208	constexpr'.
3209	* include/std/tuple: Ditto.
3210	* include/bits/move.h: Ditto.
3211
32122013-05-30  Ed Smith-Rowland  <3dw4rd@verizon.net>
3213
3214	Implement N3642 - User-defined Literals for Standard Library Types
3215	* include/bits/parse_numbers.h: New.
3216	* include/std/chrono: Add duration literal operators.
3217	* include/bits/basic_string.h: Add string literal operators.
3218	* include/Makefile.in: Add parse_numbers.h.
3219	* include/Makefile.am: Ditto.
3220	* testsuite/20_util/duration/literals/values.cc: New.
3221	* testsuite/20_util/duration/literals/types.cc: New.
3222	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
3223	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
3224	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
3225	* testsuite/21_strings/basic_string/literals/values.cc: New.
3226	* testsuite/21_strings/basic_string/literals/types.cc: New.
3227
32282013-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3229
3230	* src/c++11/compatibility-chrono.cc (steady_clock::now()): If
3231	!_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
3232	calling non-existent from_time_t.
3233
32342013-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3235
3236	* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
3237	Regenerate.
3238
32392013-05-24  Benjamin Kosnik  <bkoz@redhat.com>
3240
3241	* include/std/chrono: Wrap clocks in inline namespace _V2.
3242	* src/c++11/chrono.cc: Same.
3243	* src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
3244	file, with default configure macros selected.
3245
3246	* config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
3247	namespace.
3248	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
3249
3250	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
3251	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
3252	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
3253	Regenerated.
3254	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3255	Regenerated.
3256	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
3257	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
3258	Regenerated.
3259	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
3260	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
3261	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
3262	* config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
3263	* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
3264	* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
3265	Regenerated.
3266	* config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
3267	* config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
3268
32692013-05-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3270
3271	* config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
3272	(CLOCK_MONOTONIC): Define.
3273
32742013-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
3275
3276	* include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
3277	overload.
3278
3279	* include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
3280
32812013-05-24  Jakub Jelinek  <jakub@redhat.com>
3282
3283	* src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
3284	include unistd.h and sys/syscall.h.  If _GLIBCXX_COMPATIBILITY_CXX0X,
3285	don't define system_clock::is_steady, system_clock::now() and
3286	steady_clock::is_steady.
3287	(std::chrono::system_clock::now()): If
3288	_GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
3289	syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
3290	(std::chrono::system_clock::now()): Likewise.  Add weak attribute
3291	if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
3292	be non-empty.
3293	* src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
3294	(compatibility-chrono.lo, compatibility-chrono.o): New goals.
3295	* src/c++11/compatibility-chrono.cc: New file.
3296	* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
3297	syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
3298	* testsuite/util/testsuite_abi.cc (check_version): Add
3299	GLIBCXX_3.4.20 version and make it the latest.
3300	* config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
3301	also @@GLIBCXX_3.4.19.  Move all symbols so far added for GCC 4.9 to
3302	@@GLIBCXX_3.4.20 instead.
3303	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
3304	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
3305	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
3306	Regenerated.
3307	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3308	Regenerated.
3309	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
3310	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
3311	Regenerated.
3312	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
3313	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
3314	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
3315	* config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
3316	* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
3317	* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
3318	Regenerated.
3319	* config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
3320	* config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
3321	* config.h.in: Regenerated.
3322	* src/Makefile.in: Regenerated.
3323	* configure: Regenerated.
3324
33252013-05-23  Matthias Klose  <doko@ubuntu.com>
3326
3327	* include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
3328	(ext_headers): Remove ${ext_host_headers}.
3329	(stamp-${host_alias}): Create ${host_builddir}/../ext.
3330	(stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
3331	(install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
3332	* include/Makefile.in: Regenerate.
3333	* include/ext/random: Include ext/opt_random.h.
3334
33352013-05-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
3336
3337	* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
3338	enable features if target OS is known to support them.
3339	* configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
3340	* configure: Regenerate.
3341
33422013-05-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
3343
3344	PR libstdc++/57336
3345	* include/std/functional (__invoke): Do not form function types with
3346	abstract return type.
3347	* testsuite/20_util/reference_wrapper/invoke-3.cc: New.
3348
33492013-05-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
3350
3351	* include/std/tuple (get): Implement N3670.
3352	* include/std/utility (get): Likewise.
3353	* testsuite/20_util/pair/get.cc: Move to ...
3354	* testsuite/20_util/pair/astuple/get.cc: Here.
3355	* testsuite/20_util/pair/astuple/astuple.cc: New.
3356	* testsuite/20_util/pair/astuple/constexpr_get.cc: New.
3357	* testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
3358	* testsuite/20_util/pair/astuple/get_by_type.cc: New.
3359	* testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
3360	* testsuite/20_util/pair/astuple/get_neg.cc: New.
3361	* testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
3362	* testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
3363	* testsuite/20_util/tuple/element_access/get_by_type.cc: New.
3364
33652013-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
3366
3367	* Revert last commit.
3368
33692013-05-19  Matthias Klose  <doko@ubuntu.com>
3370
3371	* include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
3372	(ext_headers): Remove ${ext_host_headers}.
3373	(stamp-${host_alias}): Create ${host_builddir}/../ext.
3374	(stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
3375	(install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
3376	* include/Makefile.in: Regenerate.
3377
33782013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3379
3380	* include/std/system_error (error_category::error_category()): LWG
3381	2145: Declare public and constexpr.
3382	* src/c++11/system_error.cc (error_category::error_category()): Move
3383	definition to ...
3384	* src/c++11/compatibility-c++0x.cc: Here.
3385
33862013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3387
3388	* include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
3389
33902013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3391
3392	* include/bits/unique_ptr.h (make_unique): Declare inline.
3393	(unique_ptr<T[],D>::reset()): Combine two overloads into one.
3394	(default_delete, unique_ptr): Add doxygen comments.
3395	* include/bits/shared_ptr_base.h: Improve doxygen comments.
3396	* include/bits/shared_ptr.h: Likewise.
3397	* testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
3398	number.
3399	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
3400
34012013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3402
3403	* doc/xml/manual/status_cxx2011.xml: Fix markup error.
3404
34052013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3406
3407	* doc/xml/manual/status_cxx2011.xml: Fix markup error.
3408
34092013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3410
3411	* include/std/utility (exchange): Define.
3412	* testsuite/20_util/exchange/1.cc: New.
3413
34142013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3415
3416	* include/bits/unique_ptr.h (make_unique): Define.
3417	* testsuite/20_util/unique_ptr/creation/single.cc: New.
3418	* testsuite/20_util/unique_ptr/creation/array.cc: New.
3419	* testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
3420
34212013-05-15  François Dumont  <fdumont@gcc.gnu.org>
3422
3423	* python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
3424	rendering of std::tr1 unordered containers iterator.
3425	(StdHashtableIterator): New, render std unordered containers iterator.
3426	* testsuite/libstdc++-prettyprinters/tr1.cc: New.
3427
34282013-05-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
3429
3430	* include/bits/basic_string.h (getline): Fix doxygen comments.
3431
34322013-05-14  Paolo Carlini  <paolo.carlini@oracle.com>
3433
3434	* include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
3435	Use std::pointer_traits.
3436
34372013-05-13  Benjamin Kosnik  <bkoz@redhat.com>
3438
3439	* libsupc++/Makefile.am (sources): Add bad_array_length.cc,
3440	bad_array_new.cc.
3441	* libsupc++/Makefile.in: Regenerate.
3442	* libsupc++/bad_array_length.cc: Tweak.
3443	* libsupc++/bad_array_new.cc: Tweak.
3444
34452013-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
3446
3447	PR libstdc++/54577
3448	* include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
3449	(_Deque_iterator<>::_M_const_cast): Add.
3450	(deque<>::_M_erase): Declare.
3451	* include/bits/deque.tcc: ... and define.
3452	* include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
3453	(_List_const_iterator<>::_M_const_cast): Add.
3454	* include/bits/list.tcc (erase (iterator)): Fix.
3455	* include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
3456	Add; include <ext/cast.h>.
3457	* include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
3458	(vector<>::_M_erase): Declare.
3459	* include/bits/stl_bvector.h: Likewise.
3460	* include/bits/vector.tcc (vector<>::_M_erase): Define.
3461	* include/ext/vstring.h (erase): Fix signatures in C++11 mode.
3462	* include/debug/deque: Adjust.
3463	* include/debug/list: Likewise.
3464	* include/debug/vector: Likewise.
3465	* include/profile/deque: Likewise.
3466	* include/profile/list: Likewise.
3467	* include/profile/vector: Likewise.
3468	* testsuite/util/exception/safety.h (erase_base<deque>,
3469	erase_base<deque>, erase_base<vector>): Remove.
3470	(erase_base<__versa_string>): Update.
3471	* testsuite/ext/vstring/modifiers/char/54577.cc: New.
3472	* testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
3473	* testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
3474	* testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
3475	* testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
3476	Likewise.
3477	* testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
3478	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
3479	Adjust dg-error line numbers.
3480	* testsuite/23_containers/deque/requirements/dr438/
3481	constructor_1_neg.cc: Likewise.
3482	* testsuite/23_containers/deque/requirements/dr438/
3483	constructor_2_neg.cc: Likewise.
3484	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
3485	Likewise.
3486	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3487	Likewise.
3488	* testsuite/23_containers/list/requirements/dr438/
3489	constructor_1_neg.cc: Likewise.
3490	* testsuite/23_containers/list/requirements/dr438/
3491	constructor_2_neg.cc: Likewise.
3492	* testsuite/23_containers/list/requirements/dr438/
3493	insert_neg.cc: Likewise.
3494	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3495	Likewise.
3496	* testsuite/23_containers/vector/requirements/dr438/
3497	constructor_1_neg.cc: Likewise.
3498	* testsuite/23_containers/vector/requirements/dr438/
3499	constructor_2_neg.cc: Likewise.
3500	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
3501	Likewise.
3502
35032013-05-09  Uros Bizjak  <ubizjak@gmail.com>
3504
3505	* testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
3506
35072013-05-08  Jason Merrill  <jason@redhat.com>
3508
3509	Add std::bad_array_length (N3639)
3510	* libsupc++/new: Add std::bad_array_length.
3511	* libsupc++/bad_array_length.cc: New.
3512	* libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
3513	* libsupc++/Makefile.in: Build them.
3514	* config/abi/pre/gnu.ver: Add new symbols.
3515	* config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
3516
35172013-05-08  Andi Kleen  <ak@linux.intel.com>
3518
3519	PR target/55947
3520	* libstdc++-v3/include/bits/atomic_base.h
3521	(_GLIBCXX_ALWAYS_INLINE): Add new macro.
3522	(atomic_thread_fence, atomic_signal_fence, test_and_set,
3523	clear, store, load, exchange, compare_exchange_weak)
3524	compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
3525	fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
3526
35272013-05-08  Jason Merrill  <jason@redhat.com>
3528
3529	Add std::bad_array_new_length (N2932)
3530	* libsupc++/new: Add std::bad_array_new_length.
3531	* libsupc++/bad_array_new.cc: New.
3532	* libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
3533	* libsupc++/Makefile.in: Build them.
3534	* config/abi/pre/gnu.ver: Add new symbols.
3535	* config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
3536
35372013-05-08  Andoni Morales Alastruey  <ylatuya@gmail.com>
3538
3539	PR libstdc++/57212
3540	* include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
3541	to __MINGW32__.
3542	* include/Makefile.in: Regenerated.
3543
35442013-05-07  François Dumont  <fdumont@gcc.gnu.org>
3545
3546	* include/profile/unordered_base.h: New.
3547	* include/Makefile.am: Add new profile header.
3548	* include/Makefile.in: Regenerate.
3549	* include/profile/impl/profiler.h
3550	(__profcxx_inefficient_hash_is_on): New macro.
3551	* include/profile/unordered_map (std::profile::unordered_map<>):
3552	Use new _Unordered_profile base class. Use default implementations
3553	for special functions.
3554	(std::profile::unordered_multimap<>): Likewise.
3555	* include/profile/unordered_set (std::profile::unordered_set<>):
3556	Likewise.
3557	(std::profile::unordered_multiset<>): Likewise.
3558	* testsuite/23_containers/unordered_multiset/55043.cc: Fix
3559	MoveOnly equality operator signature.
3560
35612013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
3562
3563	* testsuite/tr1/4_metaprogramming/integral_constant/requirements/
3564	constexpr_data.cc: Move...
3565	* testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
3566	... here.
3567	* testsuite/20_util/integral_constant/requirements/
3568	explicit_instantiation.cc: New.
3569	* testsuite/20_util/integral_constant/requirements/typedefs.cc:
3570	Likewise.
3571	* testsuite/20_util/integral_constant/static_definition.cc: Likewise.
3572	* testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
3573	Likewise.
3574	* testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
3575	* testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
3576
35772013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
3578
3579	* include/std/type_traits (is_null_pointer): Add.
3580	(__is_nullptr_t): Implement in terms of the latter.
3581	(is_fundamental, is_scalar): Adjust.
3582	* testsuite/20_util/is_null_pointer/requirements/
3583	explicit_instantiation.cc: New.
3584	* testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
3585	Likewise.
3586	* testsuite/20_util/is_null_pointer/value.cc: Likewise.
3587	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
3588	line number.
3589	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3590	Likewise.
3591	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3592	Likewise.
3593
35942013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
3595
3596	* include/c_global/cstdio: Add comment about LWG 2249.
3597	* include/c_std/cstdio: Likewise.
3598
35992013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3600
3601	* include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
3602	comment.
3603	* include/std/mutex (__recursive_mutex_base): Likewise.
3604
36052013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3606
3607	PR libstdc++/51365
3608	* include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
3609	implement EBO safely.
3610	(_Sp_counted_base::_M_get_deleter): Add noexcept.
3611	(_Sp_counter_ptr): Use noexcept instead of comments.
3612	(_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
3613	(_Sp_counted_ptr_inplace): Likewise.
3614	* testsuite/20_util/shared_ptr/cons/51365.cc: New.
3615	* testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
3616	custom allocator and test construction with custom allocator.
3617	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
3618	line number.
3619
36202013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
3621
3622	* testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
3623	dialect to -std=gnu++11.
3624
36252013-04-26  François Dumont  <fdumont@gcc.gnu.org>
3626
3627	* include/bits/hashtable_policy.h
3628	(_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
3629	* testsuite/23_containers/unordered_set/insert/move_range.cc: New.
3630
36312013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
3632
3633	* include/c_global/cstdio (gets): Provide only in C++98 and C++11.
3634	* include/c_std/cstdio (gets): Likewise.
3635	* testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
3636
36372013-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
3638
3639	PR libstdc++/57065
3640	* include/debug/unordered_map (unordered_map, unordered_multimap):
3641	Fix default allocator type.
3642	* include/profile/unordered_map (unordered_map, unordered_multimap):
3643	Likewise.
3644	* include/bits/unordered_map.h: Fix comments.
3645
36462013-04-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
3647
3648	PR libstdc++/56905
3649	* libsupc++/exception_ptr.h (copy_exception): Deprecate and
3650	move implementation to make_exception_ptr.
3651	* include/std/future (_State_base::_M_break_promise): Replace
3652	copy_exception with make_exception_ptr.
3653	* testsuite/18_support/exception_ptr/move.cc: Likewise.
3654	* testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
3655	* testsuite/30_threads/future/members/get2.cc: Likewise.
3656	* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
3657	* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
3658	* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
3659	* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
3660
36612013-04-22  Jason Merrill  <jason@redhat.com>
3662
3663	* src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
3664
3665	* testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
3666	substitution" lines.
3667
3668	* testsuite/20_util/is_assignable/value.cc: Comment out tests involving
3669	function-cv-quals.
3670	* testsuite/20_util/is_constructible/value-2.cc: Likewise.
3671	* testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
3672	* testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
3673
36742013-04-22  François Dumont  <fdumont@gcc.gnu.org>
3675
3676	* include/bits/hashtable_policy.h: Add C++11 allocator support.
3677	* include/bits/hashtable.h: Likewise.
3678	* include/bits/unordered_set.h: Likewise.
3679	* include/bits/unordered_map.h: Likewise.
3680	* include/debug/unordered_set: Likewise.
3681	* include/debug/unordered_map: Likewise.
3682	* include/std/unordered_set: Remove bits/algobase.h
3683	include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
3684	* include/std/unordered_map: Likewise.
3685	* include/ext/throw_allocator.h: Add checks on calls to allocator
3686	construct/destroy.
3687	(std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
3688	(std::hash<__gnu_cxx::throw_value_random>): Likewise.
3689	* testsuite/util/regression/rand/priority_queue
3690	/container_rand_regression_test.tcc: Adapt.
3691	* testsuite/util/regression/rand/assoc
3692	/container_rand_regression_test.tcc: Likewise.
3693	* testsuite/util/testsuite_counter_type.h: Add count of destructors.
3694	* testsuite/23_containers/unordered_set
3695	/not_default_constructible_hash_neg.cc: Adjust dg-error line number.
3696	* testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
3697	* testsuite/23_containers/unordered_set/allocator/copy.cc: New.
3698	* testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
3699	* testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
3700	* testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
3701	* testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
3702	* testsuite/23_containers/unordered_set/allocator/swap.cc: New.
3703	* testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
3704	* testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
3705	New.
3706	* testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
3707	* testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
3708	New.
3709	* testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
3710	* testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
3711	* testsuite/23_containers/unordered_map/allocator/copy.cc: New.
3712	* testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
3713	* testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
3714	* testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
3715	* testsuite/23_containers/unordered_map/allocator/noexcept.cc:
3716	New.
3717	* testsuite/23_containers/unordered_map/allocator/swap.cc: New.
3718	* testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
3719	* testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
3720	New.
3721	* testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
3722	* testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
3723	New.
3724	* testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
3725	* testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
3726
37272013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
3728
3729	* include/std/type_traits (is_signed): Simplify.
3730	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3731	Adjust dg-error line numbers.
3732	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3733	Likewise.
3734	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
3735
37362013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
3737
3738	N3669
3739	* include/std/complex (complex<float>::real, complex<float>::imag,
3740	complex<double>::real, complex<double>::imag,
3741	complex<long double>::real, complex<long double>::imag): Declare
3742	as const member functions.
3743	* include/std/type_traits (integral_constant<>::operator value_type):
3744	Likewise.
3745
37462013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
3747
3748	PR libstdc++/57010
3749	* include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
3750	* testsuite/25_algorithms/pop_heap/57010.cc: New.
3751
37522013-04-21  Evgeniy Stepanov  <eugenis@google.com>
3753
3754	* src/c++11/system_error.cc (generic_category_instance): Add
3755	initializer.
3756	(system_category_instance): Likewise.
3757	* src/c++11/future.cc (__fec): Likewise.
3758
37592013-04-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
3760
3761	* doc/xml/manual/extensions.xml: Fix anachronism.
3762
37632013-04-09  Tom Tromey  <tromey@redhat.com>
3764
3765	* configure, config.h.in: Rebuild.
3766	* configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
3767	sys/sdt.h.
3768	* acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
3769
37702013-04-09  Uros Bizjak  <ubizjak@gmail.com>
3771
3772	* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
3773
37742013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>
3775
3776	* testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
3777
37782013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
3779
3780	* include/Makefile.am: Add ext/aligned_buffer.h
3781	* include/Makefile.in: Regenerate.
3782	* include/ext/aligned_buffer.h: New.
3783	* include/std/future (_Result): Use __aligned_buffer.
3784	* include/bits/forward_list.h (_Fwd_list_node): Likewise.
3785	* include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
3786	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
3787	number.
3788
37892013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
3790
3791	* include/bits/forward_list.h: Only include required headers.
3792	(forward_list::reference): Define directly, not using __alloc_traits.
3793	(forward_list::const_reference): Likewise.
3794
37952013-04-07  François Dumont  <fdumont@gcc.gnu.org>
3796
3797	* include/std/functional (_Derives_from_unary_function): Remove.
3798	(_Derives_from_binary_function): Remove.
3799	* include/std/type_traits (__sfinae_types): Remove.
3800	(__is_assignable_helper): Adapt.
3801	(__is_convertible_helper): Adapt.
3802	(_GLIBCXX_HAS_NESTED_TYPE): Adapt.
3803	Remove several explicit instantiations of integral_constant.
3804	* testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
3805	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3806	Adapt dg-error line number.
3807	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3808	Likewise.
3809	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
3810	* testsuite/20_util/bind/ref_neg.cc: Likewise.
3811
38122013-04-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
3813
3814	PR libstdc++/56841
3815	* libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
3816	get_terminate() accessors.
3817	* libsupc++/eh_throw.cc (__cxa_throw): Likewise.
3818	* libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
3819	available.
3820	* libsupc++/new_handler.cc: Likewise.
3821
38222013-04-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
3823
3824	* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
3825
38262013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
3827
3828	PR libstdc++/56834
3829	* include/debug/array (tuple_size, tuple_element): Do not declare.
3830	* include/profile/array: Likewise.
3831	* testsuite/23_containers/array/tuple_interface/
3832	tuple_element_debug_neg.cc: Adjust dg-error line number.
3833
38342013-04-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
3835
3836	* libsupc++/exception (get_terminate(), get_unexpected()): Declare.
3837	* libsupc++/eh_terminate.cc (get_terminate(), get_unexpected()):
3838	Define.
3839	(set_terminate(terminate_handler)): Set atomically.
3840	(set_unexpected(terminate_handler)): Likewise.
3841	* libsupc++/new (get_new_handler()): Declare.
3842	* libsupc++/new_handler.cc (get_new_handler()): Define.
3843	(set_new_handler(new_handler)): Set atomically.
3844	(__new_handler): Use internal linkage.
3845	* libsupc++/new_op.cc (operator new): Use get_new_handler().
3846	* libsupc++/new_opnt.cc (operator new): Likewise.
3847	* acinclude.m4: Bump libtool_VERSION to 6:19:0.
3848	* configure: Regenerate.
3849	* libsupc++/Makefile.am: Compile above files with -std=gnu++11.
3850	* libsupc++/Makefile.in: Regenerate.
3851	* config/abi/pre/gnu.ver: Add new exports.
3852	* doc/xml/manual/status_cxx2011.xml: Update.
3853	* testsuite/18_support/headers/exception/synopsis.cc: Check accessors
3854	for handlers.
3855	* testsuite/18_support/headers/new/synopsis.cc: Likewise.
3856	* testsuite/18_support/new_handler.cc: New.
3857	* testsuite/18_support/terminate_handler.cc: New.
3858	* testsuite/18_support/unexpected_handler.cc: New.
3859
38602013-04-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
3861
3862	* doc/xml/manual/appendix_contributing.xml: Remove broken link and
3863	defer to general documentation on contributing to GCC.
3864	* doc/html/*: Regenerate.
3865
38662013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
3867
3868	* doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
3869
3870	* doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
3871	Coding Standards.
3872
3873	* doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
3874
3875	* doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
3876
3877	* doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
3878
3879	* doc/xml/manual/messages.xml: Adjust link to Java API specs.
3880
3881	* doc/xml/manual/policy_data_structures: Remove direct link to
3882	IBM Haifa Research Labs.
3883
3884	* doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
3885	for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
3886
3887	* doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
3888	papers.
3889
3890	* doc/xml/manual/shared_ptr.xml: Use canonical address for
3891	www.boost.org.
3892
38932013-03-27  Kai Tietz  <ktietz@redhat.com>
3894
3895	* crossconfig.m4: Add support for cygwin x64 target.
3896	* configure: Regenerated.
3897
38982013-03-25  Kai Tietz  <ktietz@redhat.com>
3899
3900	* testsuite/18_support/50594.cc: For mingw-targets use only static
3901	libstdc++-version.
3902	* testsuite/19_diagnostics/error_category/operators/equal.cc
3903	* testsuite/19_diagnostics/error_code/cons/1.cc
3904	* testsuite/19_diagnostics/error_code/operators/bool.cc
3905	* testsuite/19_diagnostics/error_code/operators/equal.cc
3906	* testsuite/19_diagnostics/error_code/operators/not_equal.cc
3907	* testsuite/19_diagnostics/error_condition/cons/1.cc
3908	* testsuite/19_diagnostics/error_condition/operators/bool.cc
3909	* testsuite/19_diagnostics/error_condition/operators/equal.cc
3910	* testsuite/19_diagnostics/error_condition/operators/not_equal.cc
3911	* testsuite/23_containers/set/requirements/exception/basic.cc
3912	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
3913	* testsuite/lib/dg-options.exp (dg-additional-options): New option.
3914
39152013-03-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
3916
3917	PR libstdc++/56170
3918	* include/ext/debug_allocator.h (debug_allocator): Add missing members
3919	to meet allocator requirements.
3920	* testsuite/ext/debug_allocator/56170.cc: New.
3921
39222013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
3923
3924	PR libstdc++/56678
3925	* include/std/chrono (__is_ratio): Uglify T.
3926
39272013-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
3928
3929	PR libstdc++/55977 (partial, std::vector and std::deque bits)
3930	* include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
3931	_InputIterator, std::input_iterator_tag)): Use emplace_back.
3932	* include/bits/deque.tcc (_M_range_initialize(_InputIterator,
3933	_InputIterator, std::input_iterator_tag)): Likewise.
3934	* testsuite/23_containers/vector/cons/55977.cc: New.
3935	* testsuite/23_containers/deque/cons/55977.cc: Likewise.
3936	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3937	Adjust dg-error line number.
3938	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
3939	Likewise.
3940
39412013-03-17  Paolo Carlini  <paolo.carlini@oracle.com>
3942
3943	PR libstdc++/55979
3944	* include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
3945	_InputIterator, __false_type)): Use emplace_back.
3946	* testsuite/23_containers/list/cons/55979.cc: New.
3947	* testsuite/23_containers/list/modifiers/1.h: Adjust.
3948	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3949	Adjust dg-error line number.
3950
39512013-03-16  Jason Merrill  <jason@redhat.com>
3952
3953	PR c++/55017
3954	* testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
3955
39562013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3957
3958	PR libstdc++/56468
3959	* libsupc++/exception_ptr.h (type_info): Declare.
3960
39612013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3962
3963	PR libstdc++/56002
3964	* include/std/mutex (lock_guard, unique_lock, lock): Define without
3965	depending on _GLIBCXX_HAS_GTHREADS.
3966	* testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
3967
39682013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3969
3970	PR libstdc++/56492
3971	* include/std/future (__future_base::_Result): Add result_type
3972	typedef.
3973	(__future_base::_S_allocate_result): Overload for std::allocator.
3974	(__future_base::_Task_setter): Use _Result::result_type instead of
3975	deducing the type from the task.
3976	(__future_base::_Task_state): Store allocator to allow shared state
3977	to be reset.  Replace std::function with member of target object type
3978	accessed via ...
3979	(__future_base::_Task_state_base): New abstract base class.
3980	(__future_base::_Task_state_base::_M_run): New virtual function to
3981	invoke type-erased target object.
3982	(__future_base::_Task_state_base::_M_reset): New virtual function to
3983	create new shared_state using same target object and allocator.
3984	(__future_base::__create_task_state): Allocate a new _Task_state.
3985	(packaged_task::packaged_task): Use __create_task_state.
3986	(packaged_task::reset): Use _Task_state_base::_M_reset.
3987	* testsuite/30_threads/packaged_task/cons/56492.cc: New.
3988
39892013-03-15  Tom Tromey  <tromey@redhat.com>
3990
3991	* libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
3992	(PROBE2): New macro.
3993	* libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
3994	* libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
3995	* configure.ac: Check for sys/sdt.h.
3996	* configure, config.h.in: Rebuild.
3997
39982013-03-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
3999
4000	PR libstdc++/56613
4001	* include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
4002	allocator_traits instead of calling construct directly.
4003	* testsuite/23_containers/map/56613.cc: New.
4004
40052013-03-13  Benjamin Kosnik  <bkoz@redhat.com>
4006
4007	* doc/html/*: Regenerate.
4008
40092013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
4010
4011	PR libstdc++/56609
4012	* include/std/type_traits (is_fundamental): Add std::nullptr_t.
4013	* testsuite/20_util/is_fundamental/value.cc: Extend.
4014	* testsuite/20_util/is_compound/value.cc: Likewise.
4015
40162013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
4017
4018	* testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
4019	-Wunused warnings.
4020
40212013-03-08  Benjamin Kosnik  <bkoz@redhat.com>
4022
4023	* include/bits/memoryfwd.h: New. Centralize forward declarations.
4024	* include/bits/algorithmfwd.h: Consistent comments.
4025	* include/bits/localefwd.h: Same.
4026	* include/ext/vstring_fwd.h: Same.
4027	* include/parallel/algorithmfwd.h: Same.
4028	* include/parallel/numericfwd.h: Same.
4029	* include/std/iosfwd: Same.
4030
4031	* include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
4032	forward decl.
4033	* include/ext/alloc_traits.h: Remove allocator forward decl.
4034	* include/bits/stl_construct.h: Same.
4035	* include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
4036	forward decl. Consistent comments.
4037
4038	* doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
4039
4040	* include/Makefile.am (bits_headers): Add memoryfwd.h.
4041	* include/Makefile.in: Regenerate.
4042	* configure: Same.
4043
40442013-03-08  François Dumont  <fdumont@gcc.gnu.org>
4045
4046	* include/bits/vector.tcc (vector<>operator=(const vector<>&):
4047	Reset pointers after deallocation when memory can be reused.
4048	* testsuite/23_containers/vector/allocator/minimal.cc: Insert
4049	elements to really challenge C++11 allocator integration.
4050	* testsuite/23_containers/vector/allocator/copy.cc: Likewise.
4051	* testsuite/23_containers/vector/allocator/copy_assign.cc:
4052	Likewise.
4053	* testsuite/23_containers/vector/allocator/move_assign.cc:
4054	Likewise.
4055	* testsuite/23_containers/vector/allocator/swap.cc: Likewise and
4056	swap vector back before checks on memory/personality mapping are
4057	performed.
4058	* testsuite/23_containers/forward_list/allocator/minimal.cc:
4059	Insert element to really challenge C++11 allocator integration.
4060	* testsuite/23_containers/forward_list/allocator/copy.cc:
4061	Likewise.
4062	* testsuite/23_containers/forward_list/allocator/copy_assign.cc:
4063	Likewise.
4064	* testsuite/23_containers/forward_list/allocator/move_assign.cc:
4065	Likewise.
4066	* testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
4067	and swap forward_list back before checks on memory/personality
4068	mapping are performed.
4069
40702013-03-07  Jakub Jelinek  <jakub@redhat.com>
4071
4072	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
4073	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
4074	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
4075	Likewise.
4076	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
4077	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
4078	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
4079	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
4080	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
4081	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
4082
40832013-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4084
4085	* scripts/extract_symvers.pl: Omit symbols bound to base
4086	versions.
4087	* scripts/extract_symvers.in: Likewise.
4088	* config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
4089	* config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
4090	* config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
4091	* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
4092	* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
4093
40942013-03-04  Ulrich Drepper  <drepper@gmail.com>
4095
4096	* include/ext/random (__gnu_cxx::von_mises_distribution<>):
4097	Optimize generation function by pulling computation of __r into the
4098	constructor for param_type.  Also compare _M_mu in operator==.
4099	Fix comment.
4100
41012013-03-02  Ulrich Drepper  <drepper@gmail.com>
4102
4103	Add triangular and von Mises distributions.
4104	* include/ext/random: Include <ext/cmath>.
4105	Add __gnu_cxx::triangular_distribution<> and
4106	__gnu_cxx::von_mises_distribution<> classes.
4107	* include/ext/random.tcc: Add out-of-line functions for
4108	__gnu_cxx::triangular_distribution<> and
4109	__gnu_cxx::von_mises_distribution<>.
4110	* testsuite/ext/triangular_distribution/cons/default.cc: New file.
4111	* testsuite/ext/triangular_distribution/cons/parms.cc: New file.
4112	* testsuite/ext/triangular_distribution/operators/serialize.cc:
4113	New file.
4114	* testsuite/ext/triangular_distribution/operators/equal.cc:
4115	New file.
4116	* testsuite/ext/triangular_distribution/operators/inequal.cc:
4117	New file.
4118	* testsuite/ext/triangular_distribution/requirements/typedefs.cc:
4119	New file.
4120	* testsuite/ext/triangular_distribution/requirements/
4121	explicit_instantiation/1.cc: New file.
4122	* testsuite/ext/von_mises_distribution/cons/default.cc: New file.
4123	* testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
4124	* testsuite/ext/von_mises_distribution/operators/serialize.cc:
4125	New file.
4126	* testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
4127	* testsuite/ext/von_mises_distribution/operators/inequal.cc:
4128	New file.
4129	* testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
4130	New file.
4131	* testsuite/ext/von_mises_distribution/requirements/
4132	explicit_instantiation/1.cc: New file.
4133
4134	Add math constants.
4135	* include/Makefile.am (ext_headers): Add cmath.
4136	* include/Makefile.in: Regenerated.
4137	* include/ext/cmath: New file.
4138
41392013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4140
4141	* config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
4142	* config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
4143	* config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
4144	* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
4145	* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
4146
41472013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
4148
4149	PR libstdc++/56012
4150	* include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
4151	* testsuite/29_atomics/atomic/operators/56012.cc: New.
4152
4153	PR libstdc++/56011
4154	* include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
4155	missing overload.
4156	* testsuite/29_atomics/atomic/operators/56011.cc: New.
4157
41582013-02-25  Jason Merrill  <jason@redhat.com>
4159
4160	* configure.ac: Check for __cxa_thread_atexit_impl.
4161	* libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
4162	to it if available.
4163	* config.h.in, configure: Regenerate.
4164
41652013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
4166
4167	* include/std/streambuf (basic_streambuf): Use injected class name
4168	instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
4169	group.
4170
41712013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
4172
4173	* doc/html/faq.html: Fix spelling.
4174	* doc/xml/faq.xml: Likewise.
4175	* include/bits/basic_ios.h: Likewise.
4176	* include/bits/regex.h: Likewise.
4177	* include/std/istream: Likewise.
4178	* include/std/streambuf: Likewise.
4179
41802013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
4181
4182	* testsuite/23_containers/unordered_set/55043.cc: Add missing
4183	namespace qualification.
4184	* testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
4185
41862013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
4187
4188	* doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
4189	_GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
4190	AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
4191	* include/bits/stl_pair.h: Add to utilities group.
4192	* include/std/tuple: Same.
4193	* include/std/typeindex: Same.
4194
4195	* include/bits/stringfwd.h: Fix markup.
4196	* include/std/limits: Same.
4197	* include/std/type_traits: Same.
4198	* include/tr1/memory: Same.
4199	* include/tr1/regex: Same.
4200	* scripts/run_doxygen: Comment.
4201	* testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
4202
42032013-02-14  Jason Merrill  <jason@redhat.com>
4204
4205	* testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
4206	test if unsupported.
4207
42082013-02-13  Marc Glisse  <marc.glisse@inria.fr>
4209
4210	PR libstdc++/56111
4211	* include/std/complex (complex): Undefine.
4212	* include/c_compatibility/complex.h (complex): Only undefine if
4213	<complex> has been included.
4214	* testsuite/26_numerics/complex/56111.cc: New testcase.
4215
42162013-02-13  François Dumont  <fdumont@gcc.gnu.org>
4217
4218	* include/bits/hashtable_policy.h (_Hash_code_base): Restore
4219	default constructor protected.
4220	* include/bits/hashtable.h: static assert that _Hash_code_base has
4221	a default constructor available through inheritance.
4222
42232013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
4224
4225	* include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
4226	C++11 mode.
4227
42282013-02-12  Julian Brown  <julian@codesourcery.com>
4229
4230	* testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
4231	Don't expect dots after abbreviated weekday names for ru_RU for
4232	glibc versions >= 2.17.
4233	* testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
4234	Likewise.
4235
42362013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
4237
4238	* include/bits/random.tcc (__transform): Remove.
4239	(__normalize): Add.
4240	(discrete_distribution<>::param_type::_M_initialize): Adjust.
4241	(piecewise_constant_distribution<>::param_type::_M_initialize):
4242	Likewise.
4243	(piecewise_linear_distribution<>::param_type::_M_initialize):
4244	Likewise.
4245
42462013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
4247
4248	* src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
4249	Use -fimplicit-templates.
4250	* src/c++11/Makefile.in: Regenerate.
4251	* src/c++11/hashtable_c++0x.cc: Remove instantiation for
4252	std::lower_bound template.
4253
42542013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
4255
4256	* include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
4257	* include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
4258	in C++11 mode and if available in the underlying C library.
4259	* testsuite/18_support/quick_exit/quick_exit.cc: Compile with
4260	-std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
4261	_GLIBCXX_HAVE_QUICK_EXIT.
4262
42632013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
4264
4265	* doc/html/*: Regenerate.
4266
42672013-02-11  Jason Merrill  <jason@redhat.com>
4268
4269	* linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
4270	(GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
4271	* config.h.in, configure: Regenerate.
4272	* include/c_std/cstdlib: Add atexit and at_quick_exit.
4273	* include/c_global/cstdlib: Add atexit and at_quick_exit.
4274	* testsuite/18_support/quick_exit/quick_exit.cc: New.
4275
42762013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
4277
4278	PR libstdc++/56282
4279	Revert:
4280	2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
4281
4282	PR libstdc++/56193
4283	* include/bits/basic_ios.h: Replace operator void*() const
4284	with explicit operator bool() const in C++11 and greater.
4285	* testsuite/27_io/basic_ios/pr56193.cc: New file.
4286
42872013-02-10  François Dumont  <fdumont@gcc.gnu.org>
4288	    Jonathan Wakely  <jwakely.gcc@gmail.com>
4289
4290	* doc/xml/manual/containers.xml: Add section on unordered containers.
4291	* doc/xml/manual/using.xml: Fix incomplete sentence.
4292
42932013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
4294
4295	PR libstdc++/56267
4296	* include/bits/hashtable.h (__cache_default): Check if hash function
4297	is copy assignable.
4298	* testsuite/23_containers/unordered_set/56267.cc: New.
4299	* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
4300	dg-error line number.
4301	* testsuite/23_containers/unordered_set/
4302	not_default_constructible_hash_neg.cc: Likewise.
4303
4304	PR libstdc++/56278
4305	* include/bits/hashtable_policy.h (_Hash_code_base): Make default
4306	constructor public.
4307	* testsuite/23_containers/unordered_set/56278.cc: New.
4308
43092013-02-09  François Dumont  <fdumont@gcc.gnu.org>
4310
4311	* include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
4312	simplification.
4313
43142013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
4315
4316	PR libstdc++/56216
4317	* include/tr1/special_function_util.h: Remove spurious const
4318	from numeric arguments.
4319	* include/tr1/riemann_zeta.tcc: Likewise.
4320	* include/tr1/exp_integral.tcc: Likewise.
4321	* include/tr1/bessel_function.tcc: Likewise.
4322	* include/tr1/hypergeometric.tcc: Likewise.
4323	* include/tr1/modified_bessel_func.tcc: Likewise.
4324	* include/tr1/poly_laguerre.tcc: Likewise.
4325	* include/tr1/gamma.tcc: Likewise.
4326	* include/tr1/legendre_function.tcc: Likewise.
4327	* include/tr1/poly_hermite.tcc: Likewise.
4328	* include/tr1/ell_integral.tcc: Likewise.
4329	* include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
4330	If argument is zero return function value.
4331	* testsuite/tr1/5_numerical_facilities/special_functions/
4332	08_cyl_bessel_i/pr56216.cc: New.
4333
43342013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
4335
4336	* testsuite/27_io/basic_ios/pr56193.cc: Tweak.
4337
43382013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
4339
4340	PR libstdc++/56193
4341	* include/bits/basic_ios.h: Replace operator void*() const
4342	with explicit operator bool() const in C++11 and greater.
4343	* testsuite/27_io/basic_ios/pr56193.cc: New file.
4344
43452013-02-04  Dodji Seketeli  <dodji@redhat.com>
4346
4347	Add missing explicit instantiation for std::lower_bound template
4348	* libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
4349	missing instantiation for std::lower_bound template.
4350
43512013-02-04  François Dumont  <fdumont@gcc.gnu.org>
4352
4353	* include/bits/functional_hash.h (std::__is_fast_hash<>): New.
4354	* include/bits/basic_string.h: Specialize previous to mark
4355	std::hash for string types as slow.
4356	* include/bits/hashtable.h (__cache_default): Replace is_integral
4357	with __is_fast_hash.
4358	* src/c++11/hash_c++0x.cc: Add type_traits include.
4359	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
4360	Adapt dg-error line number.
4361	* testsuite/23_containers/unordered_set/
4362	not_default_constructible_hash_neg.cc: Likewise.
4363
43642013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4365	    Paolo Carlini  <paolo.carlini@oracle.com>
4366
4367	PR libstdc++/56202 (again)
4368	* include/bits/random.tcc (binomial_distribution<>::
4369	_M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
4370	in previous commit.
4371
4372	* include/bits/random.h: Fix comment typo.
4373
43742013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4375	    Paolo Carlini  <paolo.carlini@oracle.com>
4376
4377	PR libstdc++/56202
4378	* include/bits/random.tcc (binomial_distribution<>::
4379	_M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
4380	division by zero.
4381
43822013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
4383
4384	Update copyright years.
4385	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
4386	testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
4387	testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
4388	testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
4389	testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
4390	testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
4391	testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
4392	testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
4393	testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
4394	testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
4395	testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
4396	testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
4397	testsuite/29_atomics/atomic/cons/assign_neg.cc,
4398	testsuite/29_atomics/atomic/cons/copy_neg.cc,
4399	testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
4400	testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
4401	testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
4402	testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
4403	testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
4404	Update lines in dg error matches.
4405
44062013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
4407
4408	* config/os/mingw32/ctype_inline.h: Fix copyright typo.
4409
44102013-02-01  François Dumont  <fdumont@gcc.gnu.org>
4411
4412	* include/bits/hashtable_policy.h
4413	(_Prime_rehash_policy::_M_next_bkt)
4414	(_Prime_rehash_policy::_M_need_rehash): Move definition...
4415	* src/c++11/hashtable_c++0x.cc: ... here.
4416	* src/shared/hashtable-aux.cc: Remove c++config.h include.
4417	* config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
4418	symbols.
4419
44202013-01-29  Jason Merrill  <jason@redhat.com>
4421
4422	PR libstdc++/54314
4423	* config/abi/pre/gnu.ver: Don't export construction vtables.
4424	* config/abi/pre/gnu-versioned-namespace.ver: Likewise.
4425
44262013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
4427
4428	PR libstdc++/56112
4429	* include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
4430	to construct value_type explicitly before trying to extract the key.
4431	* testsuite/23_containers/unordered_map/cons/56112.cc: New.
4432
44332013-01-28  François Dumont  <fdumont@gcc.gnu.org>
4434
4435	* include/bits/hashtable_policy.h (_Local_iterator_base): Use
4436	_Hashtable_ebo_helper to embed functors into the local_iterator
4437	when necessary. Pass information about functors involved in hash
4438	code by copy.
4439	* include/bits/hashtable.h (__cache_default): Do not cache for
4440	builtin integral types unless the hash functor is not noexcept
4441	qualified or is not default constructible. Adapt static assertions
4442	and local iterator instantiations.
4443	* include/debug/unordered_set
4444	(std::__debug::unordered_set<>::erase): Detect local iterators to
4445	invalidate using contained node rather than generating a dummy
4446	local_iterator instance.
4447	(std::__debug::unordered_multiset<>::erase): Likewise.
4448	* include/debug/unordered_map
4449	(std::__debug::unordered_map<>::erase): Likewise.
4450	(std::__debug::unordered_multimap<>::erase): Likewise.
4451	* testsuite/performance/23_containers/insert_erase/41975.cc: Test
4452	std::tr1 and std versions of unordered_set regardless of any
4453	macro. Add test on default cache behavior.
4454	* testsuite/performance/23_containers/insert/54075.cc: Likewise.
4455	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
4456	Adapt line number.
4457	* testsuite/23_containers/unordered_set/
4458	not_default_constructible_hash_neg.cc: New.
4459	* testsuite/23_containers/unordered_set/buckets/swap.cc: New.
4460
44612013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
4462
4463	PR libstdc++/56085
4464	* include/std/complex (pow(const complex<>&, int)): Avoid __n
4465	signed overflow.
4466
44672013-01-22  Jakub Jelinek  <jakub@redhat.com>
4468
4469	* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
4470	Tightten scan-assembler-times regexps, add dg-additional-options for
4471	ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
4472	dg-options.
4473
44742013-01-12  Andi Kleen  <ak@linux.intel.com>
4475	    Jonathan Wakely  <jwakely.gcc@gmail.com>
4476
4477	PR libstdc++/55233
4478	* include/bits/atomic_base.h (__memory_order_modifier): Add
4479	__memory_order_mask, __memory_order_modifier_mask,
4480	__memory_order_hle_acquire, __memory_order_hle_release.
4481	(operator|,operator&): Add.
4482	(__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
4483	(__cmpexch_failure_order): Add.
4484	(clear, store, load, compare_exchange_weak, compare_exchange_strong):
4485	Handle flags.
4486	* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
4487	Add.
4488
44892013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
4490
4491	PR libstdc++/55861
4492	* include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
4493	Fix return type.
4494	(__basic_future::_M_get_result()): Const qualify.
4495	(shared_future::get()): Likewise.
4496	* testsuite/30_threads/shared_future/members/get.cc: Use const
4497	objects.
4498
44992013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
4500
4501	PR libstdc++/55043 (again)
4502	* include/bits/alloc_traits.h (allocator_traits::construct): Disable
4503	unless construction would be well-formed.
4504	(__allow_copy_cons, __check_copy_constructible): Define.
4505	* include/bits/unordered_map.h (__check_copy_constructible): Use as
4506	base class so copy constructor will be deleted if appropriate.
4507	(is_copy_constructible): Remove specialization.
4508	* include/bits/unordered_set.h: Likewise.
4509	* include/debug/unordered_map.h: Undo previous commit. Default copy
4510	and move constructors.
4511	* include/debug/unordered_set.h: Likewise.
4512	* include/profile/unordered_map.h: Undo previous commit.
4513	* include/profile/unordered_set.h: Likewise.
4514	* testsuite/23_containers/unordered_map/55043.cc: Fix test.
4515	* testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
4516	* testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
4517	* testsuite/23_containers/unordered_set/55043.cc: Likewise.
4518	* testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
4519	cannot support incomplete types.
4520	* testsuite/23_containers/unordered_multimap/requirements/53339.cc:
4521	Likewise.
4522
45232013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
4524
4525	PR libstdc++/55043
4526	* include/std/unordered_map: Include alloc_traits.h
4527	* include/std/unordered_set: Likewise.
4528	* include/bits/alloc_traits.h: Define __is_copy_insertable.
4529	* include/bits/unordered_map.h: Use it.
4530	* include/bits/unordered_set.h: Likewise.
4531	* include/debug/unordered_map.h: Likewise.
4532	* include/debug/unordered_set.h: Likewise.
4533	* include/profile/unordered_map.h: Likewise.
4534	* include/profile/unordered_set.h: Likewise.
4535	* include/bits/hashtable.h: Fix comment typos.
4536	* testsuite/23_containers/unordered_map/55043.cc: New.
4537	* testsuite/23_containers/unordered_multimap/55043.cc: New.
4538	* testsuite/23_containers/unordered_multiset/55043.cc: New.
4539	* testsuite/23_containers/unordered_set/55043.cc: New.
4540
45412013-01-03  Janis Johnson  <janisjo@codesourcery.com>
4542
4543	* testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
4544	gdb command.
4545
45462013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
4547
4548	* doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
4549
45502013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
4551
4552	PR libstdc++/55908
4553	* include/std/functional (_Mem_fn::operator()): Fix constraints to
4554	avoid ambiguity.
4555	* testsuite/20_util/function_objects/mem_fn/55908.cc: New.
4556	* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
4557
45582013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4559
4560	PR libstdc++/55594
4561	* acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
4562	Solaris targets.
4563	* configure: Regenerate.
4564
45652013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
4566
4567	PR libstdc++/55847
4568	* src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
4569	* testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
4570	string.
4571
4572	PR libstdc++/55728
4573	* include/std/functional (bad_function_call::what()): Declare.
4574	* src/c++11/functional.cc (bad_function_call::what()): Define.
4575	* config/abi/pre/gnu.ver (bad_function_call::what()): Export.
4576	* testsuite/20_util/bad_function_call/what.cc: New.
4577
45782013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
4579
4580	* include/bits/unordered_map.h: Fix typo in comments.
4581	* doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
4582	counts for unordered associative containers.
4583
45842013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
4585
4586	* doc/xml/manual/abi.xml: Update library and symbol versions.
4587
45882013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
4589
4590	* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
4591	in copyright years.
4592	* testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
4593
4594
4595Copyright (C) 2013 Free Software Foundation, Inc.
4596
4597Copying and distribution of this file, with or without modification,
4598are permitted in any medium without royalty provided the copyright
4599notice and this notice are preserved.
4600