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