xref: /netbsd-src/external/gpl3/gcc/dist/libstdc++-v3/ChangeLog-2015 (revision f9a78e0e885f664fa1b5fd1637673b39c1aa53b3)
1*f9a78e0eSmrg2015-12-27  Edward Smith-Rowland  <3dw4rd@verizon.net>
2*f9a78e0eSmrg
3*f9a78e0eSmrg	* include/bits/c++0x_warning.h Remove experimental language.
4*f9a78e0eSmrg
5*f9a78e0eSmrg2015-12-24  Jason Merrill  <jason@redhat.com>
6*f9a78e0eSmrg
7*f9a78e0eSmrg	* testsuite/ext/bitmap_allocator/check_deallocate_null.cc
8*f9a78e0eSmrg	* testsuite/ext/bitmap_allocator/check_allocate_max_size.cc:
9*f9a78e0eSmrg	Correct use of __GXX_WEAK__ macro.
10*f9a78e0eSmrg
11*f9a78e0eSmrg2015-12-22  Jonathan Wakely  <jwakely@redhat.com>
12*f9a78e0eSmrg
13*f9a78e0eSmrg	PR libstdc++/59768
14*f9a78e0eSmrg	* include/std/functional (__invfwd): Add inline specifier.
15*f9a78e0eSmrg
16*f9a78e0eSmrg2015-12-21  Jonathan Wakely  <jwakely@redhat.com>
17*f9a78e0eSmrg
18*f9a78e0eSmrg	PR libstdc++/68982
19*f9a78e0eSmrg	testsuite/20_util/function_objects/mem_fn/68276.cc: Rename to ...
20*f9a78e0eSmrg	testsuite/20_util/function_objects/mem_fn/68982.cc: Correct bug number.
21*f9a78e0eSmrg
22*f9a78e0eSmrg	PR libstdc++/68995
23*f9a78e0eSmrg	* include/std/functional (_function_handler, function): Qualify
24*f9a78e0eSmrg	__callable_functor.
25*f9a78e0eSmrg	* testsuite/20_util/function/68995.cc: New.
26*f9a78e0eSmrg
27*f9a78e0eSmrg	PR libstdc++/68276
28*f9a78e0eSmrg	* include/std/functional (__invoke_impl, _Mem_fn::operator()): Qualify
29*f9a78e0eSmrg	std::forward.
30*f9a78e0eSmrg	testsuite/20_util/function_objects/mem_fn/68276.cc: New.
31*f9a78e0eSmrg
32*f9a78e0eSmrg2015-12-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
33*f9a78e0eSmrg
34*f9a78e0eSmrg	PR libstdc++/66693
35*f9a78e0eSmrg	* include/std/tuple (tuple_element, tuple_size, tuple_element_t,
36*f9a78e0eSmrg	__tuple_element_t): Move to...
37*f9a78e0eSmrg	* include/std/utility: ...here.
38*f9a78e0eSmrg	* testsuite/20_util/pair/astuple/astuple.cc: Adjust.
39*f9a78e0eSmrg	* testsuite/20_util/pair/astuple/astuple_cpp14.cc: New.
40*f9a78e0eSmrg	* testsuite/20_util/tuple/tuple_element.cc: Adjust.
41*f9a78e0eSmrg	* testsuite/20_util/tuple/tuple_element_t.cc: Likewise.
42*f9a78e0eSmrg	* testsuite/20_util/tuple/tuple_size.cc: Likewise.
43*f9a78e0eSmrg	* testsuite/23_containers/array/tuple_interface/tuple_element.cc:
44*f9a78e0eSmrg	Likewise.
45*f9a78e0eSmrg	* testsuite/23_containers/array/tuple_interface/tuple_element_cpp14.cc:
46*f9a78e0eSmrg	New.
47*f9a78e0eSmrg	* testsuite/23_containers/array/tuple_interface/tuple_size.cc: Adjust.
48*f9a78e0eSmrg
49*f9a78e0eSmrg2015-12-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
50*f9a78e0eSmrg
51*f9a78e0eSmrg	Fix a regression introduced by the fix of libstdc++/68276.
52*f9a78e0eSmrg	* src/c++11/ios.cc (_M_grow_words): Catch bad_alloc again so that
53*f9a78e0eSmrg	bad_array_new_length is handled properly.
54*f9a78e0eSmrg
55*f9a78e0eSmrg2015-12-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
56*f9a78e0eSmrg
57*f9a78e0eSmrg	PR libstdc++/68276
58*f9a78e0eSmrg
59*f9a78e0eSmrg	* src/c++11/ios.cc (_M_grow_words): Use nothrow new.
60*f9a78e0eSmrg	* testsuite/27_io/ios_base/storage/11584.cc: Adjust.
61*f9a78e0eSmrg
62*f9a78e0eSmrg2015-12-18  Andris Pavenis  <andris.pavenis@iki.fi>
63*f9a78e0eSmrg
64*f9a78e0eSmrg	* config/os/djgpp/error_constants.h: update according to DJGPP errno
65*f9a78e0eSmrg	macros.
66*f9a78e0eSmrg
67*f9a78e0eSmrg2015-12-15  Jonathan Wakely  <jwakely@redhat.com>
68*f9a78e0eSmrg
69*f9a78e0eSmrg	PR libstdc++/68921
70*f9a78e0eSmrg	* src/c++11/futex.cc
71*f9a78e0eSmrg	(__atomic_futex_unsigned_base::_M_futex_wait_until): Use null pointer
72*f9a78e0eSmrg	as timeout argument.
73*f9a78e0eSmrg
74*f9a78e0eSmrg	* include/std/functional (_Mu<_Arg, false, false>::operator()): Restore
75*f9a78e0eSmrg	accidentally-removed volatile qualifier.
76*f9a78e0eSmrg
77*f9a78e0eSmrg	* include/std/functional (is_placeholder, is_bind_expression): Update
78*f9a78e0eSmrg	comments.
79*f9a78e0eSmrg	(_Safe_tuple_element): Replace with _Safe_tuple_element_t alias
80*f9a78e0eSmrg	template.
81*f9a78e0eSmrg	(_Mu): Remove vestigial TR1 return types and update coments.
82*f9a78e0eSmrg
83*f9a78e0eSmrg	PR libstdc++/68912
84*f9a78e0eSmrg	* include/std/functional (_Bind::operator()): Use lvalue functor to
85*f9a78e0eSmrg	deduce return type.
86*f9a78e0eSmrg	* testsuite/20_util/bind/68912.cc: New.
87*f9a78e0eSmrg
88*f9a78e0eSmrg2015-12-15  Tim Shen  <timshen@google.com>
89*f9a78e0eSmrg
90*f9a78e0eSmrg	PR libstdc++/68863
91*f9a78e0eSmrg	* include/bits/regex_executor.tcc (_Executor::_M_lookahead):
92*f9a78e0eSmrg	Copy the captured content for lookahead, so that the backreferences
93*f9a78e0eSmrg	inside can refer to them.
94*f9a78e0eSmrg	* testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
95*f9a78e0eSmrg	New testcase.
96*f9a78e0eSmrg
97*f9a78e0eSmrg2015-12-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
98*f9a78e0eSmrg
99*f9a78e0eSmrg	Document the implementation of Logical Operator Type Traits.
100*f9a78e0eSmrg
101*f9a78e0eSmrg	* doc/html/index.html: Regenerate.
102*f9a78e0eSmrg	* doc/html/manual/status.html: Likewise.
103*f9a78e0eSmrg	* doc/xml/manual/status_cxx2017.xml: Add P0013R1 to C++ 201z
104*f9a78e0eSmrg	and to Library Fundamentals 2 TS.
105*f9a78e0eSmrg
106*f9a78e0eSmrg2015-12-11  Jonathan Wakely  <jwakely@redhat.com>
107*f9a78e0eSmrg
108*f9a78e0eSmrg	PR libstdc++/59768
109*f9a78e0eSmrg	* include/std/functional (_Unwrap, __invfwd): Define.
110*f9a78e0eSmrg	(__invoke_impl): Remove reference_wrapper overloads and use __invfwd.
111*f9a78e0eSmrg	* include/std/type_traits (__result_of_memobj, __result_of_memfun):
112*f9a78e0eSmrg	Add partial specializations for const reference_wrappers and simplify.
113*f9a78e0eSmrg	* testsuite/20_util/bind/ref_neg.cc: Use dg-excess-errors.
114*f9a78e0eSmrg	* testsuite/20_util/function_objects/invoke/59768.cc: New.
115*f9a78e0eSmrg
116*f9a78e0eSmrg2015-12-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
117*f9a78e0eSmrg
118*f9a78e0eSmrg	PR libstdc++/68139
119*f9a78e0eSmrg
120*f9a78e0eSmrg	* libsupc++/nested_exception.h (_S_rethrow): Use std::__addressof.
121*f9a78e0eSmrg	* testsuite/18_support/nested_exception/68139.cc: New.
122*f9a78e0eSmrg
123*f9a78e0eSmrg2015-12-10  Jonathan Wakely  <jwakely@redhat.com>
124*f9a78e0eSmrg
125*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/assign/assign.cc: Replace
126*f9a78e0eSmrg	-std=gnu++1y with -std=gnu++14.
127*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cast/cast.cc: Likewise.
128*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
129*f9a78e0eSmrg	Likewise.
130*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc:
131*f9a78e0eSmrg	Likewise.
132*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc:
133*f9a78e0eSmrg	Likewise.
134*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc:
135*f9a78e0eSmrg	Likewise.
136*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
137*f9a78e0eSmrg	Likewise.
138*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
139*f9a78e0eSmrg	Likewise.
140*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc:
141*f9a78e0eSmrg	Likewise.
142*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
143*f9a78e0eSmrg	Likewise.
144*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
145*f9a78e0eSmrg	Likewise.
146*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
147*f9a78e0eSmrg	Likewise.
148*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
149*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/modifiers/reset.cc:
150*f9a78e0eSmrg	Likewise.
151*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/modifiers/swap.cc:
152*f9a78e0eSmrg	Likewise.
153*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
154*f9a78e0eSmrg	Likewise.
155*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/observers/operators.cc:
156*f9a78e0eSmrg	Likewise.
157*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
158*f9a78e0eSmrg	Likewise.
159*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
160*f9a78e0eSmrg	Likewise.
161*f9a78e0eSmrg
162*f9a78e0eSmrg	PR libstdc++/68825
163*f9a78e0eSmrg	* include/experimental/bits/shared_ptr.h (__shared_ptr, __weak_ptr,
164*f9a78e0eSmrg	experimental::shared_ptr, experimental::weak_ptr): Constrain
165*f9a78e0eSmrg	assignment operators.
166*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
167*f9a78e0eSmrg	Change to a compile-only test and change dg-excess-errors to dg-error.
168*f9a78e0eSmrg
169*f9a78e0eSmrg	* doc/doxygen/user.cfg.in: Use EXTENSION_MAPPING tag. Add new headers
170*f9a78e0eSmrg	to INPUT. Remove obsolete XML_SCHEMA and XML_DTD tags. Update
171*f9a78e0eSmrg	PREDEFINED macros. Set BRIEF_MEMBER_DESC for man-pages.
172*f9a78e0eSmrg	* include/backward/strstream: Correct @file comment.
173*f9a78e0eSmrg	* include/bits/forward_list.h: Improve Doxygen comments.
174*f9a78e0eSmrg	* include/bits/locale_facets_nonio.h: Likewise.
175*f9a78e0eSmrg	* include/bits/mutex.h: Likewise.
176*f9a78e0eSmrg	* include/bits/shared_ptr.h: Likewise.
177*f9a78e0eSmrg	* include/bits/stl_deque.h: Likewise.
178*f9a78e0eSmrg	* include/debug/vector (_Safe_vector): Add @brief section to comment.
179*f9a78e0eSmrg	* include/experimental/bits/fs_dir.h: Correct @file comment.
180*f9a78e0eSmrg	* include/experimental/bits/fs_fwd.h: Likewise.
181*f9a78e0eSmrg	* include/experimental/bits/fs_ops.h: Likewise.
182*f9a78e0eSmrg	* include/experimental/bits/fs_path.h: Likewise.
183*f9a78e0eSmrg	* include/experimental/bits/string_view.tcc: Likewise.
184*f9a78e0eSmrg	* include/experimental/optional: Document experimental status.
185*f9a78e0eSmrg	* include/experimental/string_view: Correct @file comment.
186*f9a78e0eSmrg	* include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Reduce
187*f9a78e0eSmrg	whitespace to avoid Doxygen bug.
188*f9a78e0eSmrg	* include/std/bitset: Remove redundant @class Doxygen command. Add
189*f9a78e0eSmrg	parentheses to avoid Doxygen bug.
190*f9a78e0eSmrg	* include/std/mutex: Improve Doxygen comments.
191*f9a78e0eSmrg	* include/tr2/dynamic_bitset: Add missing @param documentation.
192*f9a78e0eSmrg	* scripts/run_doxygen: Rename man pages for std::experimental types.
193*f9a78e0eSmrg
194*f9a78e0eSmrg2015-12-04  Jonathan Wakely  <jwakely@redhat.com>
195*f9a78e0eSmrg
196*f9a78e0eSmrg	PR libstdc++/57060
197*f9a78e0eSmrg	* include/std/thread (operator==(thread::id, thread::id)): Do not use
198*f9a78e0eSmrg	__gthread_equal.
199*f9a78e0eSmrg	(operator<(thread::id, thread::id)): Add comment.
200*f9a78e0eSmrg	(this_thread::get_id()): Do not use __gthread_self for single-threaded
201*f9a78e0eSmrg	programs using glibc.
202*f9a78e0eSmrg	* testsuite/30_threads/this_thread/57060.cc: New.
203*f9a78e0eSmrg
204*f9a78e0eSmrg2015-12-02  Jonathan Wakely  <jwakely@redhat.com>
205*f9a78e0eSmrg
206*f9a78e0eSmrg	PR libstdc++/56383
207*f9a78e0eSmrg	* testsuite/20_util/enable_shared_from_this/56383.cc: New.
208*f9a78e0eSmrg	* include/bits/shared_ptr_base.h (__enable_shared_from_this): Make
209*f9a78e0eSmrg	friend declaration match previous declaration of
210*f9a78e0eSmrg	__enable_shared_from_this_helper.
211*f9a78e0eSmrg	* include/bits/shared_ptr.h (enable_shared_from_this): Likewise.
212*f9a78e0eSmrg
213*f9a78e0eSmrg2015-12-01  Jonathan Wakely  <jwakely@redhat.com>
214*f9a78e0eSmrg
215*f9a78e0eSmrg	* include/experimental/bits/fs_path.h (path::_Cmpt): Move definition
216*f9a78e0eSmrg	after __is_encoded_char explicit specializations.
217*f9a78e0eSmrg
218*f9a78e0eSmrg2015-11-26  Jonathan Wakely  <jwakely@redhat.com>
219*f9a78e0eSmrg
220*f9a78e0eSmrg	* testsuite/libstdc++-prettyprinters/debug.cc: Add -std=gnu++98 to
221*f9a78e0eSmrg	dg-options and avoid use of uniform-init.
222*f9a78e0eSmrg
223*f9a78e0eSmrg	* testsuite/libstdc++-prettyprinters/simple.cc: Add -std=gnu++98 to
224*f9a78e0eSmrg	dg-options and avoid use of uniform-init.
225*f9a78e0eSmrg
226*f9a78e0eSmrg2015-11-26  David Edelsohn  <dje.gcc@gmail.com>
227*f9a78e0eSmrg
228*f9a78e0eSmrg	* configure: Regenerate.
229*f9a78e0eSmrg
230*f9a78e0eSmrg2015-11-25  Jonathan Wakely  <jwakely@redhat.com>
231*f9a78e0eSmrg
232*f9a78e0eSmrg	* testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Explicitly
233*f9a78e0eSmrg	check minimum and maximum values, and size of underlying type.
234*f9a78e0eSmrg	* testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
235*f9a78e0eSmrg	* testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
236*f9a78e0eSmrg
237*f9a78e0eSmrg2015-11-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
238*f9a78e0eSmrg
239*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY) <solaris2*>: Use
240*f9a78e0eSmrg	-Wl,-R in VTV_CXXLINKFLAGS.
241*f9a78e0eSmrg	* configure: Regenerate.
242*f9a78e0eSmrg
243*f9a78e0eSmrg	* testsuite/18_support/bad_exception/23591_thread-1.c: Use
244*f9a78e0eSmrg	-fvtable-verify=none on Solaris 12+.
245*f9a78e0eSmrg
246*f9a78e0eSmrg2015-11-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
247*f9a78e0eSmrg
248*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test.
249*f9a78e0eSmrg	* configure.ac: Use it.
250*f9a78e0eSmrg	* configure: Regenerate.
251*f9a78e0eSmrg	* config.h.in: Regenerate.
252*f9a78e0eSmrg
253*f9a78e0eSmrg	* include/c_global/cmath [__cplusplus >= 201103L]
254*f9a78e0eSmrg	(std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
255*f9a78e0eSmrg	(std::isfinite): Likewise.
256*f9a78e0eSmrg	(std::isinf): Likewise.
257*f9a78e0eSmrg	(std::isnan): Likewise.
258*f9a78e0eSmrg	(std::isnormal): Likewise.
259*f9a78e0eSmrg	(std::signbit): Likewise.
260*f9a78e0eSmrg	(std::isgreater): Likewise.
261*f9a78e0eSmrg	(std::isgreaterequal): Likewise.
262*f9a78e0eSmrg	(std::isless): Likewise.
263*f9a78e0eSmrg	(std::islessequal): Likewise.
264*f9a78e0eSmrg	(std::islessgreater): Likewise.
265*f9a78e0eSmrg	(std::isunordered): Likewise.
266*f9a78e0eSmrg	(std::acosh): Likewise.
267*f9a78e0eSmrg	(std::asinh): Likewise.
268*f9a78e0eSmrg	(std::atanh): Likewise.
269*f9a78e0eSmrg	(std::cbrt): Likewise.
270*f9a78e0eSmrg	(std::copysign): Likewise.
271*f9a78e0eSmrg	(std::erf): Likewise.
272*f9a78e0eSmrg	(std::erfc): Likewise.
273*f9a78e0eSmrg	(std::exp2): Likewise.
274*f9a78e0eSmrg	(std::expm1): Likewise.
275*f9a78e0eSmrg	(std::fdim): Likewise.
276*f9a78e0eSmrg	(std::fma): Likewise.
277*f9a78e0eSmrg	(std::fmax): Likewise.
278*f9a78e0eSmrg	(std::fmin): Likewise.
279*f9a78e0eSmrg	(std::hypot): Likewise.
280*f9a78e0eSmrg	(std::ilogb): Likewise.
281*f9a78e0eSmrg	(std::lgamma): Likewise.
282*f9a78e0eSmrg	(std::llrint): Likewise.
283*f9a78e0eSmrg	(std::llround): Likewise.
284*f9a78e0eSmrg	(std::log1p): Likewise.
285*f9a78e0eSmrg	(std::log2): Likewise.
286*f9a78e0eSmrg	(std::logb): Likewise.
287*f9a78e0eSmrg	(std::lrint): Likewise.
288*f9a78e0eSmrg	(std::lround): Likewise.
289*f9a78e0eSmrg	(std::nearbyint): Likewise.
290*f9a78e0eSmrg	(std::nextafter): Likewise.
291*f9a78e0eSmrg	(std::nexttoward): Likewise.
292*f9a78e0eSmrg	(std::remainder): Likewise.
293*f9a78e0eSmrg	(std::remquo): Likewise.
294*f9a78e0eSmrg	(std::rint): Likewise.
295*f9a78e0eSmrg	(std::round): Likewise.
296*f9a78e0eSmrg	(std::scalbln): Likewise.
297*f9a78e0eSmrg	(std::scalbn): Likewise.
298*f9a78e0eSmrg	(std::tgamma): Likewise.
299*f9a78e0eSmrg	(std::trunc): Likewise.
300*f9a78e0eSmrg	* include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh):
301*f9a78e0eSmrg	Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
302*f9a78e0eSmrg	(std::tr1::asinh): Likewise.
303*f9a78e0eSmrg	(std::tr1::atanh): Likewise.
304*f9a78e0eSmrg	(std::tr1::cbrt): Likewise.
305*f9a78e0eSmrg	(std::tr1::copysign): Likewise.
306*f9a78e0eSmrg	(std::tr1::erf): Likewise.
307*f9a78e0eSmrg	(std::tr1::erfc): Likewise.
308*f9a78e0eSmrg	(std::tr1::exp2): Likewise.
309*f9a78e0eSmrg	(std::tr1::expm1): Likewise.
310*f9a78e0eSmrg	(std::tr1::fabs): Likewise.
311*f9a78e0eSmrg	(std::tr1::fdim): Likewise.
312*f9a78e0eSmrg	(std::tr1::fma): Likewise.
313*f9a78e0eSmrg	(std::tr1::fmax): Likewise.
314*f9a78e0eSmrg	(std::tr1::fmin): Likewise.
315*f9a78e0eSmrg	(std::tr1::hypot): Likewise.
316*f9a78e0eSmrg	(std::tr1::ilogb): Likewise.
317*f9a78e0eSmrg	(std::tr1::lgamma): Likewise.
318*f9a78e0eSmrg	(std::tr1::llrint): Likewise.
319*f9a78e0eSmrg	(std::tr1::llround): Likewise.
320*f9a78e0eSmrg	(std::tr1::log1p): Likewise.
321*f9a78e0eSmrg	(std::tr1::log2): Likewise.
322*f9a78e0eSmrg	(std::tr1::logb): Likewise.
323*f9a78e0eSmrg	(std::tr1::lrint): Likewise.
324*f9a78e0eSmrg	(std::tr1::lround): Likewise.
325*f9a78e0eSmrg	(std::tr1::nearbyint): Likewise.
326*f9a78e0eSmrg	(std::tr1::nextafter): Likewise.
327*f9a78e0eSmrg	(std::tr1::nexttoward): Likewise.
328*f9a78e0eSmrg	(std::tr1::remainder): Likewise.
329*f9a78e0eSmrg	(std::tr1::remquo): Likewise.
330*f9a78e0eSmrg	(std::tr1::rint): Likewise.
331*f9a78e0eSmrg	(std::tr1::scalbln): Likewise.
332*f9a78e0eSmrg	(std::tr1::scalbn): Likewise.
333*f9a78e0eSmrg	(std::tr1::tgamma): Likewise.
334*f9a78e0eSmrg	(std::tr1::trunc): Likewise.
335*f9a78e0eSmrg	(std::tr1::pow): Likewise.
336*f9a78e0eSmrg
337*f9a78e0eSmrg	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
338*f9a78e0eSmrg	Restrict dg-xfail-if, dg-excess-errors to *-*-solaris2.1[01]*.
339*f9a78e0eSmrg
340*f9a78e0eSmrg2015-11-21  David Edelsohn  <dje.gcc@gmail.com>
341*f9a78e0eSmrg
342*f9a78e0eSmrg	* testsuite/23_containers/vector/profile/vector.cc: Add maxdata
343*f9a78e0eSmrg	option on AIX.
344*f9a78e0eSmrg
345*f9a78e0eSmrg2015-11-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
346*f9a78e0eSmrg
347*f9a78e0eSmrg	PR libstdc++/68448
348*f9a78e0eSmrg	* python/hook.in: Call register_libstdcxx_printers.
349*f9a78e0eSmrg	* python/libstdcxx/v6/__init__.py: Wrap it to
350*f9a78e0eSmrg	register_libstdcxx_printers.
351*f9a78e0eSmrg
352*f9a78e0eSmrg2015-11-17  Jonathan Wakely  <jwakely@redhat.com>
353*f9a78e0eSmrg
354*f9a78e0eSmrg	PR libstdc++/66059
355*f9a78e0eSmrg	* include/std/utility (_Build_index_tuple): Optimise.
356*f9a78e0eSmrg
357*f9a78e0eSmrg2015-11-16  Doug Evans  <dje@google.com>
358*f9a78e0eSmrg
359*f9a78e0eSmrg	PR libstdc++/67440
360*f9a78e0eSmrg	* python/libstdcxx/v6/printers.py (find_type): Handle "const" in
361*f9a78e0eSmrg	type name.
362*f9a78e0eSmrg	* testsuite/libstdc++-prettyprinters/debug.cc: Add test for
363*f9a78e0eSmrg	const set<int>.
364*f9a78e0eSmrg	* testsuite/libstdc++-prettyprinters/simple.cc: Ditto.
365*f9a78e0eSmrg	* testsuite/libstdc++-prettyprinters/simple11.cc: Ditto.
366*f9a78e0eSmrg
367*f9a78e0eSmrg2015-11-15  Jonathan Wakely  <jwakely@redhat.com>
368*f9a78e0eSmrg
369*f9a78e0eSmrg	PR libstdc++/68353
370*f9a78e0eSmrg	* include/bits/basic_string.h: Test value of _GLIBCXX_USE_C99_WCHAR
371*f9a78e0eSmrg	not whether it is defined.
372*f9a78e0eSmrg	* include/ext/vstring.h: Likewise.
373*f9a78e0eSmrg
374*f9a78e0eSmrg2015-11-14  Andreas Tobler  <andreast@gcc.gnu.org>
375*f9a78e0eSmrg
376*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Change locale implementation
377*f9a78e0eSmrg	from darwin to DragonFly.
378*f9a78e0eSmrg	* configure: Regenerate.
379*f9a78e0eSmrg	* config/os/bsd/freebsd/ctype_configure_char.cc: Improve locale
380*f9a78e0eSmrg	support, do it the same as DragonFly.
381*f9a78e0eSmrg	* config/os/bsd/freebsd/os_defines.h: Add fine grained C99 defines.
382*f9a78e0eSmrg
383*f9a78e0eSmrg2015-11-14  Jonathan Wakely  <jwakely@redhat.com>
384*f9a78e0eSmrg
385*f9a78e0eSmrg	* testsuite/21_strings/basic_string/capacity/char/18654.cc: Use
386*f9a78e0eSmrg	real minimum capacity.
387*f9a78e0eSmrg	* testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
388*f9a78e0eSmrg	Likewise.
389*f9a78e0eSmrg
390*f9a78e0eSmrg2015-11-13  David Edelsohn  <dje.gcc@gmail.com>
391*f9a78e0eSmrg
392*f9a78e0eSmrg	* testsuite/experimental/random/randint.cc: Add dg-add-options tls.
393*f9a78e0eSmrg
394*f9a78e0eSmrg2015-11-13  Jonathan Wakely  <jwakely@redhat.com>
395*f9a78e0eSmrg
396*f9a78e0eSmrg	* include/Makefile.am: Add new header.
397*f9a78e0eSmrg	* include/Makefile.in: Regenerate.
398*f9a78e0eSmrg	* include/experimental/random: New.
399*f9a78e0eSmrg	* testsuite/experimental/random/randint.cc: New.
400*f9a78e0eSmrg
401*f9a78e0eSmrg2015-11-13  John Marino  <gnugcc@marino.st>
402*f9a78e0eSmrg
403*f9a78e0eSmrg	* testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc:
404*f9a78e0eSmrg	Use portable locale name
405*f9a78e0eSmrg	* testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc:
406*f9a78e0eSmrg	Likewise.
407*f9a78e0eSmrg	* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
408*f9a78e0eSmrg	* testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
409*f9a78e0eSmrg	* testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc:
410*f9a78e0eSmrg	Likewise.
411*f9a78e0eSmrg	* testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc:
412*f9a78e0eSmrg	Likewise.
413*f9a78e0eSmrg	* testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc: Likewise.
414*f9a78e0eSmrg	* testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc:
415*f9a78e0eSmrg	Likewise.
416*f9a78e0eSmrg	* testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
417*f9a78e0eSmrg	* testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
418*f9a78e0eSmrg	* testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc:
419*f9a78e0eSmrg	Likewise.
420*f9a78e0eSmrg	* testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc:
421*f9a78e0eSmrg	Likewise.
422*f9a78e0eSmrg	* testsuite/22_locale/codecvt/in/char/wrapped_env.cc: Likewise.
423*f9a78e0eSmrg	* testsuite/22_locale/codecvt/in/char/wrapped_locale.cc: Likewise.
424*f9a78e0eSmrg	* testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
425*f9a78e0eSmrg	* testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc: Likewise.
426*f9a78e0eSmrg	* testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc: Likewise.
427*f9a78e0eSmrg	* testsuite/22_locale/codecvt/length/char/wrapped_env.cc: Likewise.
428*f9a78e0eSmrg	* testsuite/22_locale/codecvt/length/char/wrapped_locale.cc: Likewise.
429*f9a78e0eSmrg	* testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
430*f9a78e0eSmrg	* testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
431*f9a78e0eSmrg	* testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc: Likewise.
432*f9a78e0eSmrg	* testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc:
433*f9a78e0eSmrg	Likewise.
434*f9a78e0eSmrg	* testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc: Likewise.
435*f9a78e0eSmrg	* testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc:
436*f9a78e0eSmrg	Likewise.
437*f9a78e0eSmrg	* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
438*f9a78e0eSmrg	* testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
439*f9a78e0eSmrg	* testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc:
440*f9a78e0eSmrg	Likewise.
441*f9a78e0eSmrg	* testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc:
442*f9a78e0eSmrg	Likewise.
443*f9a78e0eSmrg	* testsuite/22_locale/codecvt/out/char/wrapped_env.cc: Likewise.
444*f9a78e0eSmrg	* testsuite/22_locale/codecvt/out/char/wrapped_locale.cc: Likewise.
445*f9a78e0eSmrg	* testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
446*f9a78e0eSmrg	* testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
447*f9a78e0eSmrg	* testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc: Likewise.
448*f9a78e0eSmrg	* testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc: Likewise.
449*f9a78e0eSmrg	* testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc: Likewise.
450*f9a78e0eSmrg	* testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc: Likewise.
451*f9a78e0eSmrg	* testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
452*f9a78e0eSmrg	* testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
453*f9a78e0eSmrg	* testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: Likewise.
454*f9a78e0eSmrg	* testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc:
455*f9a78e0eSmrg	Likewise.
456*f9a78e0eSmrg	* testsuite/22_locale/codecvt_byname/50714.cc: Likewise.
457*f9a78e0eSmrg	* testsuite/22_locale/collate/compare/char/1.cc: Likewise.
458*f9a78e0eSmrg	* testsuite/22_locale/collate/compare/char/2.cc: Likewise.
459*f9a78e0eSmrg	* testsuite/22_locale/collate/compare/char/3.cc: Likewise.
460*f9a78e0eSmrg	* testsuite/22_locale/collate/compare/char/wrapped_env.cc: Likewise.
461*f9a78e0eSmrg	* testsuite/22_locale/collate/compare/char/wrapped_locale.cc: Likewise.
462*f9a78e0eSmrg	* testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
463*f9a78e0eSmrg	* testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
464*f9a78e0eSmrg	* testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
465*f9a78e0eSmrg	* testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Likewise.
466*f9a78e0eSmrg	* testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc:
467*f9a78e0eSmrg	Likewise.
468*f9a78e0eSmrg	* testsuite/22_locale/collate/hash/char/2.cc: Likewise.
469*f9a78e0eSmrg	* testsuite/22_locale/collate/hash/char/wrapped_env.cc: Likewise.
470*f9a78e0eSmrg	* testsuite/22_locale/collate/hash/char/wrapped_locale.cc: Likewise.
471*f9a78e0eSmrg	* testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
472*f9a78e0eSmrg	* testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Likewise.
473*f9a78e0eSmrg	* testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Likewise.
474*f9a78e0eSmrg	* testsuite/22_locale/collate/transform/char/2.cc: Likewise.
475*f9a78e0eSmrg	* testsuite/22_locale/collate/transform/char/3.cc: Likewise.
476*f9a78e0eSmrg	* testsuite/22_locale/collate/transform/char/wrapped_env.cc: Likewise.
477*f9a78e0eSmrg	* testsuite/22_locale/collate/transform/char/wrapped_locale.cc:
478*f9a78e0eSmrg	Likewise.
479*f9a78e0eSmrg	* testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
480*f9a78e0eSmrg	* testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
481*f9a78e0eSmrg	* testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc:
482*f9a78e0eSmrg	Likewise.
483*f9a78e0eSmrg	* testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
484*f9a78e0eSmrg	Likewise.
485*f9a78e0eSmrg	* testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
486*f9a78e0eSmrg	* testsuite/22_locale/ctype/cons/char/wrapped_env.cc: Likewise.
487*f9a78e0eSmrg	* testsuite/22_locale/ctype/cons/char/wrapped_locale.cc: Likewise.
488*f9a78e0eSmrg	* testsuite/22_locale/ctype/is/char/2.cc: Likewise.
489*f9a78e0eSmrg	* testsuite/22_locale/ctype/is/char/wrapped_env.cc: Likewise.
490*f9a78e0eSmrg	* testsuite/22_locale/ctype/is/char/wrapped_locale.cc: Likewise.
491*f9a78e0eSmrg	* testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
492*f9a78e0eSmrg	* testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc: Likewise.
493*f9a78e0eSmrg	* testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc: Likewise.
494*f9a78e0eSmrg	* testsuite/22_locale/ctype/narrow/char/wrapped_env.cc: Likewise.
495*f9a78e0eSmrg	* testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc: Likewise.
496*f9a78e0eSmrg	* testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc: Likewise.
497*f9a78e0eSmrg	* testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: Likewise.
498*f9a78e0eSmrg	* testsuite/22_locale/ctype/scan/char/wrapped_env.cc: Likewise.
499*f9a78e0eSmrg	* testsuite/22_locale/ctype/scan/char/wrapped_locale.cc: Likewise.
500*f9a78e0eSmrg	* testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc: Likewise.
501*f9a78e0eSmrg	* testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc: Likewise.
502*f9a78e0eSmrg	* testsuite/22_locale/ctype/to/char/wrapped_env.cc: Likewise.
503*f9a78e0eSmrg	* testsuite/22_locale/ctype/to/char/wrapped_locale.cc: Likewise.
504*f9a78e0eSmrg	* testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc: Likewise.
505*f9a78e0eSmrg	* testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc: Likewise.
506*f9a78e0eSmrg	* testsuite/22_locale/ctype/widen/char/wrapped_env.cc: Likewise.
507*f9a78e0eSmrg	* testsuite/22_locale/ctype/widen/char/wrapped_locale.cc: Likewise.
508*f9a78e0eSmrg	* testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
509*f9a78e0eSmrg	* testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc: Likewise.
510*f9a78e0eSmrg	* testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc: Likewise.
511*f9a78e0eSmrg	* testsuite/22_locale/facet/2.cc: Likewise.
512*f9a78e0eSmrg	* testsuite/22_locale/locale/cons/12352.cc: Likewise.
513*f9a78e0eSmrg	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
514*f9a78e0eSmrg	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
515*f9a78e0eSmrg	* testsuite/22_locale/locale/cons/2.cc: Likewise.
516*f9a78e0eSmrg	* testsuite/22_locale/locale/cons/38365.cc: Likewise.
517*f9a78e0eSmrg	* testsuite/22_locale/locale/cons/38368.cc: Likewise.
518*f9a78e0eSmrg	* testsuite/22_locale/locale/cons/4.cc: Likewise.
519*f9a78e0eSmrg	* testsuite/22_locale/locale/cons/40184.cc: Likewise.
520*f9a78e0eSmrg	* testsuite/22_locale/locale/cons/7.cc: Likewise.
521*f9a78e0eSmrg	* testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
522*f9a78e0eSmrg	* testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
523*f9a78e0eSmrg	* testsuite/22_locale/messages/13631.cc: Likewise.
524*f9a78e0eSmrg	* testsuite/22_locale/messages/members/char/1.cc: Likewise.
525*f9a78e0eSmrg	* testsuite/22_locale/messages/members/char/2.cc: Likewise.
526*f9a78e0eSmrg	* testsuite/22_locale/messages/members/char/3.cc: Likewise.
527*f9a78e0eSmrg	* testsuite/22_locale/messages/members/char/wrapped_env.cc: Likewise.
528*f9a78e0eSmrg	* testsuite/22_locale/messages/members/char/wrapped_locale.cc:
529*f9a78e0eSmrg	Likewise.
530*f9a78e0eSmrg	* testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
531*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/char/1.cc: Likewise.
532*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/char/10.cc: Likewise.
533*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/char/11.cc: Likewise.
534*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
535*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/char/12.cc: Likewise.
536*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/char/13.cc: Likewise.
537*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/char/15.cc: Likewise.
538*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/char/16.cc: Likewise.
539*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/char/17.cc: Likewise.
540*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/char/18.cc: Likewise.
541*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/char/2.cc: Likewise.
542*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/char/3.cc: Likewise.
543*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/char/4.cc: Likewise.
544*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/char/wrapped_env.cc: Likewise.
545*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/char/wrapped_locale.cc: Likewise.
546*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
547*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
548*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
549*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
550*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
551*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
552*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
553*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
554*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
555*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
556*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
557*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
558*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
559*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc: Likewise.
560*f9a78e0eSmrg	* testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc:
561*f9a78e0eSmrg	Likewise.
562*f9a78e0eSmrg	* testsuite/22_locale/money_put/put/char/1.cc: Likewise.
563*f9a78e0eSmrg	* testsuite/22_locale/money_put/put/char/2.cc: Likewise.
564*f9a78e0eSmrg	* testsuite/22_locale/money_put/put/char/3.cc: Likewise.
565*f9a78e0eSmrg	* testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
566*f9a78e0eSmrg	* testsuite/22_locale/money_put/put/char/wrapped_env.cc: Likewise.
567*f9a78e0eSmrg	* testsuite/22_locale/money_put/put/char/wrapped_locale.cc: Likewise.
568*f9a78e0eSmrg	* testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
569*f9a78e0eSmrg	* testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
570*f9a78e0eSmrg	* testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
571*f9a78e0eSmrg	* testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc: Likewise.
572*f9a78e0eSmrg	* testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc:
573*f9a78e0eSmrg	Likewise.
574*f9a78e0eSmrg	* testsuite/22_locale/moneypunct/40712.cc: Likewise.
575*f9a78e0eSmrg	* testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
576*f9a78e0eSmrg	* testsuite/22_locale/moneypunct/members/char/wrapped_env.cc:
577*f9a78e0eSmrg	Likewise.
578*f9a78e0eSmrg	* testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc:
579*f9a78e0eSmrg	Likewise.
580*f9a78e0eSmrg	* testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
581*f9a78e0eSmrg	* testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc:
582*f9a78e0eSmrg	Likewise.
583*f9a78e0eSmrg	* testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc:
584*f9a78e0eSmrg	Likewise.
585*f9a78e0eSmrg	* testsuite/22_locale/moneypunct_byname/named_equivalence.cc:
586*f9a78e0eSmrg	Likewise.
587*f9a78e0eSmrg	* testsuite/22_locale/num_get/get/char/1.cc: Likewise.
588*f9a78e0eSmrg	* testsuite/22_locale/num_get/get/char/3.cc: Likewise.
589*f9a78e0eSmrg	* testsuite/22_locale/num_get/get/char/5.cc: Likewise.
590*f9a78e0eSmrg	* testsuite/22_locale/num_get/get/char/6.cc: Likewise.
591*f9a78e0eSmrg	* testsuite/22_locale/num_get/get/char/9.cc: Likewise.
592*f9a78e0eSmrg	* testsuite/22_locale/num_get/get/char/wrapped_env.cc: Likewise.
593*f9a78e0eSmrg	* testsuite/22_locale/num_get/get/char/wrapped_locale.cc: Likewise.
594*f9a78e0eSmrg	* testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
595*f9a78e0eSmrg	* testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
596*f9a78e0eSmrg	* testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
597*f9a78e0eSmrg	* testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
598*f9a78e0eSmrg	* testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
599*f9a78e0eSmrg	* testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc: Likewise.
600*f9a78e0eSmrg	* testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc: Likewise.
601*f9a78e0eSmrg	* testsuite/22_locale/num_put/put/char/1.cc: Likewise.
602*f9a78e0eSmrg	* testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
603*f9a78e0eSmrg	* testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
604*f9a78e0eSmrg	* testsuite/22_locale/num_put/put/char/3.cc: Likewise.
605*f9a78e0eSmrg	* testsuite/22_locale/num_put/put/char/5.cc: Likewise.
606*f9a78e0eSmrg	* testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
607*f9a78e0eSmrg	* testsuite/22_locale/num_put/put/char/wrapped_env.cc: Likewise.
608*f9a78e0eSmrg	* testsuite/22_locale/num_put/put/char/wrapped_locale.cc: Likewise.
609*f9a78e0eSmrg	* testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
610*f9a78e0eSmrg	* testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
611*f9a78e0eSmrg	* testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
612*f9a78e0eSmrg	* testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
613*f9a78e0eSmrg	* testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
614*f9a78e0eSmrg	* testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc: Likewise.
615*f9a78e0eSmrg	* testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc: Likewise.
616*f9a78e0eSmrg	* testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
617*f9a78e0eSmrg	* testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
618*f9a78e0eSmrg	* testsuite/22_locale/numpunct/members/char/wrapped_env.cc: Likewise.
619*f9a78e0eSmrg	* testsuite/22_locale/numpunct/members/char/wrapped_locale.cc:
620*f9a78e0eSmrg	Likewise.
621*f9a78e0eSmrg	* testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
622*f9a78e0eSmrg	* testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc:
623*f9a78e0eSmrg	Likewise.
624*f9a78e0eSmrg	* testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc:
625*f9a78e0eSmrg	Likewise.
626*f9a78e0eSmrg	* testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
627*f9a78e0eSmrg	* testsuite/22_locale/time_get/date_order/char/wrapped_env.cc:
628*f9a78e0eSmrg	Likewise.
629*f9a78e0eSmrg	* testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc:
630*f9a78e0eSmrg	Likewise.
631*f9a78e0eSmrg	* testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc:
632*f9a78e0eSmrg	Likewise.
633*f9a78e0eSmrg	* testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc:
634*f9a78e0eSmrg	Likewise.
635*f9a78e0eSmrg	* testsuite/22_locale/time_get/get/char/2.cc: Likewise.
636*f9a78e0eSmrg	* testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
637*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
638*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
639*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
640*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_date/char/wrapped_env.cc: Likewise.
641*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc:
642*f9a78e0eSmrg	Likewise.
643*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
644*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
645*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
646*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
647*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc:
648*f9a78e0eSmrg	Likewise.
649*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc:
650*f9a78e0eSmrg	Likewise.
651*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
652*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc:
653*f9a78e0eSmrg	Likewise.
654*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc:
655*f9a78e0eSmrg	Likewise.
656*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
657*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc:
658*f9a78e0eSmrg	Likewise.
659*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc:
660*f9a78e0eSmrg	Likewise.
661*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
662*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
663*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_time/char/wrapped_env.cc:
664*f9a78e0eSmrg	Likewise.
665*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc:
666*f9a78e0eSmrg	Likewise.
667*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
668*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
669*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc:
670*f9a78e0eSmrg	Likewise.
671*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc:
672*f9a78e0eSmrg	Likewise.
673*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
674*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
675*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
676*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc:
677*f9a78e0eSmrg	Likewise.
678*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc:
679*f9a78e0eSmrg	Likewise.
680*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
681*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc:
682*f9a78e0eSmrg	Likewise.
683*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc:
684*f9a78e0eSmrg	Likewise.
685*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_year/char/wrapped_env.cc: Likewise.
686*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc:
687*f9a78e0eSmrg	Likewise.
688*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc:
689*f9a78e0eSmrg	Likewise.
690*f9a78e0eSmrg	* testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc:
691*f9a78e0eSmrg	Likewise.
692*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
693*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/char/2.cc: Likewise.
694*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/char/3.cc: Likewise.
695*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/char/4.cc: Likewise.
696*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/char/6.cc: Likewise.
697*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/char/7.cc: Likewise.
698*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/char/8.cc: Likewise.
699*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
700*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/char/wrapped_env.cc: Likewise.
701*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/char/wrapped_locale.cc: Likewise.
702*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
703*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
704*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
705*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
706*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
707*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
708*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
709*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc: Likewise.
710*f9a78e0eSmrg	* testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc: Likewise.
711*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
712*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
713*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
714*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
715*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
716*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
717*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
718*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
719*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
720*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
721*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
722*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
723*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
724*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
725*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
726*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
727*f9a78e0eSmrg	* testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
728*f9a78e0eSmrg	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
729*f9a78e0eSmrg	Likewise.
730*f9a78e0eSmrg	* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
731*f9a78e0eSmrg	Likewise.
732*f9a78e0eSmrg	* testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
733*f9a78e0eSmrg	* testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
734*f9a78e0eSmrg	* testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
735*f9a78e0eSmrg	* testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
736*f9a78e0eSmrg	* testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
737*f9a78e0eSmrg	* testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
738*f9a78e0eSmrg	* testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
739*f9a78e0eSmrg	* testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
740*f9a78e0eSmrg	* testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
741*f9a78e0eSmrg	Likewise.
742*f9a78e0eSmrg	* testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
743*f9a78e0eSmrg	* testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc:
744*f9a78e0eSmrg	Likewise.
745*f9a78e0eSmrg	* testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
746*f9a78e0eSmrg	* testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
747*f9a78e0eSmrg	Likewise.
748*f9a78e0eSmrg	* testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
749*f9a78e0eSmrg	* testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc:
750*f9a78e0eSmrg	Likewise.
751*f9a78e0eSmrg	* testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
752*f9a78e0eSmrg	* testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
753*f9a78e0eSmrg	* testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Check
754*f9a78e0eSmrg	for named locale as appropriate for target.
755*f9a78e0eSmrg	* testsuite/util/testsuite_hooks.h (ISO_8859): Define macro to form
756*f9a78e0eSmrg	target's preferred form of locale name.
757*f9a78e0eSmrg
758*f9a78e0eSmrg2015-11-13  Jennifer Yao  <jenny.hyphen.fa@gmail.com>
759*f9a78e0eSmrg	    Jonathan Wakely  <jwakely@redhat.com>
760*f9a78e0eSmrg
761*f9a78e0eSmrg	PR libstdc++/58393
762*f9a78e0eSmrg	PR libstdc++/61580
763*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_ENABLE_C99): Perform tests twice, with
764*f9a78e0eSmrg	-std=c++11 as well as -std=c++98, and define separate macros for each.
765*f9a78e0eSmrg	Cache the results of checking for complex math and wide character
766*f9a78e0eSmrg	functions. Reformat for readability.
767*f9a78e0eSmrg	* config.h.in: Regenerate.
768*f9a78e0eSmrg	* include/bits/c++config: Define _GLIBCXX_USE_C99_XXX macros to
769*f9a78e0eSmrg	either _GLIBCXX98_USE_C99_XXX or _GLIBCXX11_USE_C99_XXX according to
770*f9a78e0eSmrg	language standard in use.
771*f9a78e0eSmrg	* config/locale/dragonfly/c_locale.h (std::__convert_from_v): Replace
772*f9a78e0eSmrg	_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
773*f9a78e0eSmrg	* config/locale/generic/c_locale.h (std::__convert_from_v): Likewise.
774*f9a78e0eSmrg	* config/locale/gnu/c_locale.h (std::__convert_from_v): Likewise.
775*f9a78e0eSmrg	* config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99_STDIO,
776*f9a78e0eSmrg	_GLIBCXX_USE_C99_STDLIB, and _GLIBCXX_USE_C99_WCHAR.
777*f9a78e0eSmrg	* configure: Regenerate.
778*f9a78e0eSmrg	* include/bits/basic_string.h: Make numeric conversion functions
779*f9a78e0eSmrg	depend on _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, or
780*f9a78e0eSmrg	_GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99.
781*f9a78e0eSmrg	* include/ext/vstring.h: Likewise.
782*f9a78e0eSmrg	* include/bits/locale_facets.tcc (std::num_put::_M_insert_float):
783*f9a78e0eSmrg	Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
784*f9a78e0eSmrg	* include/bits/locale_facets_nonio.tcc (std::money_put::do_put):
785*f9a78e0eSmrg	Likewise.
786*f9a78e0eSmrg	* include/c_compatibility/math.h: Replace _GLIBCXX_USE_C99 with
787*f9a78e0eSmrg	_GLIBCXX_USE_C99_MATH.
788*f9a78e0eSmrg	* include/c_compatibility/wchar.h: Replace _GLIBCXX_USE_C99 with
789*f9a78e0eSmrg	_GLIBCXX_USE_C99_WCHAR.
790*f9a78e0eSmrg	* include/c_global/cstdio: Replace _GLIBCXX_USE_C99 with
791*f9a78e0eSmrg	_GLIBCXX_USE_C99_STDIO.
792*f9a78e0eSmrg	* include/c_global/cstdlib: Replace _GLIBCXX_USE_C99 with
793*f9a78e0eSmrg	_GLIBCXX_USE_C99_STDLIB.
794*f9a78e0eSmrg	* include/c_global/cwchar: Replace _GLIBCXX_USE_C99 with
795*f9a78e0eSmrg	_GLIBCXX_USE_C99_WCHAR.
796*f9a78e0eSmrg	* include/c_std/cstdio: Replace _GLIBCXX_USE_C99 with
797*f9a78e0eSmrg	_GLIBCXX_USE_C99_STDIO.
798*f9a78e0eSmrg	* include/c_std/cstdlib: Replace _GLIBCXX_USE_C99 with
799*f9a78e0eSmrg	_GLIBCXX_USE_C99_STDLIB.
800*f9a78e0eSmrg	* include/c_std/cwchar: Replace _GLIBCXX_USE_C99 with
801*f9a78e0eSmrg	_GLIBCXX_USE_C99_WCHAR.
802*f9a78e0eSmrg	* include/tr1/cstdio: Replace _GLIBCXX_USE_C99 with
803*f9a78e0eSmrg	_GLIBCXX_USE_C99_STDIO.
804*f9a78e0eSmrg	* include/tr1/cstdlib: Replace _GLIBCXX_USE_C99 with
805*f9a78e0eSmrg	_GLIBCXX_USE_C99_STDLIB.
806*f9a78e0eSmrg	* include/tr1/cwchar: Replace _GLIBCXX_USE_C99 with
807*f9a78e0eSmrg	_GLIBCXX_USE_C99_WCHAR.
808*f9a78e0eSmrg	* include/tr1/stdlib.h: Replace _GLIBCXX_USE_C99 with
809*f9a78e0eSmrg	_GLIBCXX_USE_C99_STDLIB.
810*f9a78e0eSmrg	* src/c++98/locale_facets.cc (std::__num_base::_S_format_float):
811*f9a78e0eSmrg	Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
812*f9a78e0eSmrg	* testsuite/18_support/exception_ptr/60612-terminate.cc: Replace
813*f9a78e0eSmrg	_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
814*f9a78e0eSmrg	* testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
815*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc
816*f9a78e0eSmrg	(test01): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR.
817*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
818*f9a78e0eSmrg	stof.cc: Likewise.
819*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
820*f9a78e0eSmrg	stoi.cc: Likewise.
821*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
822*f9a78e0eSmrg	stol.cc: Likewise.
823*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
824*f9a78e0eSmrg	stold.cc: Likewise.
825*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
826*f9a78e0eSmrg	stoll.cc: Likewise.
827*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
828*f9a78e0eSmrg	stoul.cc: Likewise.
829*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
830*f9a78e0eSmrg	stoull.cc: Likewise.
831*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
832*f9a78e0eSmrg	to_wstring.cc: Likewise.
833*f9a78e0eSmrg	* testsuite/26_numerics/headers/cstdlib/13943.cc: Replace
834*f9a78e0eSmrg	_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
835*f9a78e0eSmrg	* testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Likewise.
836*f9a78e0eSmrg	* testsuite/lib/libstdc++.exp (check_v3_target_string_conversions):
837*f9a78e0eSmrg	Change preprocessor #if conditional so that it uses
838*f9a78e0eSmrg	_GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, and
839*f9a78e0eSmrg	_GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99.
840*f9a78e0eSmrg	* testsuite/tr1/8_c_compatibility/cmath/templates.cc: Replace
841*f9a78e0eSmrg	_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_MATH.
842*f9a78e0eSmrg	* testsuite/tr1/8_c_compatibility/cstdio/functions.cc: Replace
843*f9a78e0eSmrg	_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
844*f9a78e0eSmrg	* testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Replace
845*f9a78e0eSmrg	_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
846*f9a78e0eSmrg	* testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Likewise.
847*f9a78e0eSmrg	* testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Replace
848*f9a78e0eSmrg	_GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR.
849*f9a78e0eSmrg	* testsuite/util/testsuite_fs.h: Replace _GLIBCXX_USE_C99 with
850*f9a78e0eSmrg	_GLIBCXX_USE_C99_STDIO.
851*f9a78e0eSmrg
852*f9a78e0eSmrg2015-11-13  Jonathan Wakely  <jwakely@redhat.com>
853*f9a78e0eSmrg
854*f9a78e0eSmrg	* include/experimental/bits/shared_ptr.h: Tweak comments.
855*f9a78e0eSmrg
856*f9a78e0eSmrg2015-11-13  Fan You  <youfan.noey@gmail.com>
857*f9a78e0eSmrg	    Jonathan Wakely  <jwakely@redhat.com>
858*f9a78e0eSmrg
859*f9a78e0eSmrg	* include/Makefile.am: Add new header.
860*f9a78e0eSmrg	* include/Makefile.in: Regenerate.
861*f9a78e0eSmrg	* include/experimental/bits/shared_ptr.h: New.
862*f9a78e0eSmrg	* include/experimental/memory: Include new header.
863*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/assign/assign.cc: New.
864*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cast/cast.cc: New.
865*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
866*f9a78e0eSmrg	New.
867*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: New.
868*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: New.
869*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: New.
870*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: New.
871*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc: New.
872*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: New.
873*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc: New.
874*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
875*f9a78e0eSmrg	New.
876*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc: New.
877*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/dest/dest.cc: New.
878*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: New.
879*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: New.
880*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
881*f9a78e0eSmrg	New.
882*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/observers/operators.cc:
883*f9a78e0eSmrg	New.
884*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
885*f9a78e0eSmrg	New.
886*f9a78e0eSmrg	* testsuite/experimental/memory/shared_ptr/observers/use_count.cc: New.
887*f9a78e0eSmrg
888*f9a78e0eSmrg2015-11-13  Jonathan Wakely  <jwakely@redhat.com>
889*f9a78e0eSmrg
890*f9a78e0eSmrg	* include/Makefile.am: Add new header.
891*f9a78e0eSmrg	* include/Makefile.in: Regenerate.
892*f9a78e0eSmrg	* include/experimental/memory_resource: Add feature-test macro.
893*f9a78e0eSmrg	* include/experimental/regex: New.
894*f9a78e0eSmrg	* include/experimental/deque: Add alias template using PMR.
895*f9a78e0eSmrg	* include/experimental/forward_list: Likewise.
896*f9a78e0eSmrg	* include/experimental/list: Likewise.
897*f9a78e0eSmrg	* include/experimental/map: Likewise.
898*f9a78e0eSmrg	* include/experimental/set: Likewise.
899*f9a78e0eSmrg	* include/experimental/string: Likewise.
900*f9a78e0eSmrg	* include/experimental/unordered_map: Likewise.
901*f9a78e0eSmrg	* include/experimental/unordered_set: Likewise.
902*f9a78e0eSmrg	* include/experimental/vector: Likewise.
903*f9a78e0eSmrg
904*f9a78e0eSmrg2015-11-13  Fan You  <youfan.noey@gmail.com>
905*f9a78e0eSmrg
906*f9a78e0eSmrg	* include/Makefile.am: Add new headers.
907*f9a78e0eSmrg	* include/Makefile.in: Regenerate.
908*f9a78e0eSmrg	* include/bits/uses_allocator.h (__erased_type): Define.
909*f9a78e0eSmrg	(__uses_allocator_helper): Check for __erased_type.
910*f9a78e0eSmrg	* include/experimental/memory_resource: New.
911*f9a78e0eSmrg	* include/experimental/utlity: New.
912*f9a78e0eSmrg	* testsuite/experimental/type_erased_allocator/1.cc: New.
913*f9a78e0eSmrg	* testsuite/experimental/type_erased_allocator/1_neg.cc: New.
914*f9a78e0eSmrg	* testsuite/experimental/type_erased_allocator/2.cc: New.
915*f9a78e0eSmrg	* testsuite/experimental/type_erased_allocator/uses_allocator.cc: New.
916*f9a78e0eSmrg
917*f9a78e0eSmrg2015-11-12  Jonathan Wakely  <jwakely@redhat.com>
918*f9a78e0eSmrg
919*f9a78e0eSmrg	PR libstdc++/56158
920*f9a78e0eSmrg	* include/bits/ios_base.h (_Ios_Fmtflags, _Ios_Openmode, _Ios_Iostate):
921*f9a78e0eSmrg	Define enumerators to ensure all values of type int are valid values
922*f9a78e0eSmrg	of the enumeration type.
923*f9a78e0eSmrg	* testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Add new cases.
924*f9a78e0eSmrg	* testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
925*f9a78e0eSmrg	* testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
926*f9a78e0eSmrg
927*f9a78e0eSmrg	* include/std/thread: Include <cerrno> for EINTR.
928*f9a78e0eSmrg
929*f9a78e0eSmrg2015-11-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
930*f9a78e0eSmrg
931*f9a78e0eSmrg	Implement D0013R2, logical type traits.
932*f9a78e0eSmrg
933*f9a78e0eSmrg	* include/experimental/type_traits (conjunction, disjunction,
934*f9a78e0eSmrg	negation, conjunction_v, disjunction_v,	negation_v): New.
935*f9a78e0eSmrg	* include/std/type_traits (conjunction, disjunction, negation):
936*f9a78e0eSmrg	Likewise.
937*f9a78e0eSmrg	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
938*f9a78e0eSmrg	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
939*f9a78e0eSmrg	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
940*f9a78e0eSmrg	Likewise.
941*f9a78e0eSmrg	* testsuite/experimental/type_traits/value.cc: Likewise.
942*f9a78e0eSmrg	* testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc: New.
943*f9a78e0eSmrg	* testsuite/20_util/logical_traits/requirements/typedefs.cc: Likewise.
944*f9a78e0eSmrg	* testsuite/20_util/logical_traits/value.cc: Likewise.
945*f9a78e0eSmrg
946*f9a78e0eSmrg2015-11-12  Jonathan Wakely  <jwakely@redhat.com>
947*f9a78e0eSmrg
948*f9a78e0eSmrg	* include/experimental/bits/string_view.tcc: Fix doxygen @file.
949*f9a78e0eSmrg
950*f9a78e0eSmrg2015-11-11  Jonathan Wakely  <jwakely@redhat.com>
951*f9a78e0eSmrg
952*f9a78e0eSmrg	* libsupc++/new_handler.cc: Fix for explicit constructor change.
953*f9a78e0eSmrg
954*f9a78e0eSmrg	PR libstdc++/60421
955*f9a78e0eSmrg	* include/std/thread (this_thread::sleep_for): Retry on EINTR.
956*f9a78e0eSmrg	(this_thread::sleep_until): Retry if time not reached.
957*f9a78e0eSmrg	* src/c++11/thread.cc (__sleep_for): Retry on EINTR.
958*f9a78e0eSmrg	* testsuite/30_threads/this_thread/60421.cc: Test interruption and
959*f9a78e0eSmrg	non-steady clocks.
960*f9a78e0eSmrg
961*f9a78e0eSmrg2015-11-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
962*f9a78e0eSmrg
963*f9a78e0eSmrg	LWG 2510, make the default constructors of library tag types
964*f9a78e0eSmrg	explicit.
965*f9a78e0eSmrg	* include/bits/mutex.h (defer_lock_t, try_lock_t,
966*f9a78e0eSmrg	adopt_lock_t): Add an explicit default constructor.
967*f9a78e0eSmrg	* include/bits/stl_pair.h (piecewise_construct_t): Likewise.
968*f9a78e0eSmrg	* include/bits/uses_allocator.h (allocator_arg_t): Likewise.
969*f9a78e0eSmrg	* libsupc++/new (nothrow_t): Likewise.
970*f9a78e0eSmrg	* testsuite/17_intro/tag_type_explicit_ctor.cc: New.
971*f9a78e0eSmrg
972*f9a78e0eSmrg2015-11-11  Jonathan Wakely  <jwakely@redhat.com>
973*f9a78e0eSmrg
974*f9a78e0eSmrg	PR libstdc++/64651
975*f9a78e0eSmrg	* libsupc++/exception_ptr.h (rethrow_exception): Add using-declaration
976*f9a78e0eSmrg	to __exception_ptr namespace.
977*f9a78e0eSmrg	* testsuite/18_support/exception_ptr/rethrow_exception.cc: Test ADL.
978*f9a78e0eSmrg	Remove unnecessary test variables.
979*f9a78e0eSmrg
980*f9a78e0eSmrg2015-11-10  Jonathan Wakely  <jwakely@redhat.com>
981*f9a78e0eSmrg
982*f9a78e0eSmrg	PR libstdc++/68190
983*f9a78e0eSmrg	* include/bits/stl_multiset.h (multiset::find): Fix return types.
984*f9a78e0eSmrg	* include/bits/stl_set.h (set::find): Likewise.
985*f9a78e0eSmrg	* testsuite/23_containers/map/operations/2.cc: Test find return types.
986*f9a78e0eSmrg	* testsuite/23_containers/multimap/operations/2.cc: Likewise.
987*f9a78e0eSmrg	* testsuite/23_containers/multiset/operations/2.cc: Likewise.
988*f9a78e0eSmrg	* testsuite/23_containers/set/operations/2.cc: Likewise.
989*f9a78e0eSmrg
990*f9a78e0eSmrg	* doc/xml/manual/status_cxx2017.xml: Update.
991*f9a78e0eSmrg	* doc/html/*: Regenerate.
992*f9a78e0eSmrg
993*f9a78e0eSmrg	* include/bits/functional_hash.h: Fix grammar in comment.
994*f9a78e0eSmrg
995*f9a78e0eSmrg2015-11-09  François Dumont  <fdumont@gcc.gnu.org>
996*f9a78e0eSmrg
997*f9a78e0eSmrg	* include/bits/stl_algo.h
998*f9a78e0eSmrg	(partial_sort_copy): Instantiate std::iterator_traits only if concept
999*f9a78e0eSmrg	checks.
1000*f9a78e0eSmrg	(lower_bound): Likewise.
1001*f9a78e0eSmrg	(upper_bound): Likewise.
1002*f9a78e0eSmrg	(equal_range): Likewise.
1003*f9a78e0eSmrg	(binary_search): Likewise.
1004*f9a78e0eSmrg	* include/bits/stl_heap.h (pop_heap): Likewise.
1005*f9a78e0eSmrg
1006*f9a78e0eSmrg2015-11-06  Kai Tietz  <ktietz70@googlemail.com>
1007*f9a78e0eSmrg
1008*f9a78e0eSmrg	* testsuite/26_numerics/complex/requirements/constexpr.cc
1009*f9a78e0eSmrg	* testsuite/26_numerics/complex/requirements/constexpr_functions.cc:
1010*f9a78e0eSmrg	Use constexpr where needed.
1011*f9a78e0eSmrg
1012*f9a78e0eSmrg2015-11-06  David Malcolm  <dmalcolm@redhat.com>
1013*f9a78e0eSmrg
1014*f9a78e0eSmrg	* testsuite/lib/libstdc++.exp (v3_target_compile): Add
1015*f9a78e0eSmrg	-fno-diagnostics-show-caret -fdiagnostics-color=never to
1016*f9a78e0eSmrg	option's additional_flags.
1017*f9a78e0eSmrg
1018*f9a78e0eSmrg2015-11-03  Jason Merrill  <jason@redhat.com>
1019*f9a78e0eSmrg
1020*f9a78e0eSmrg	* libsupc++/new: Declare sized deletes.
1021*f9a78e0eSmrg
1022*f9a78e0eSmrg2015-11-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
1023*f9a78e0eSmrg
1024*f9a78e0eSmrg	Make the default constructors of tuple and pair conditionally explicit.
1025*f9a78e0eSmrg	* include/std/type_traits (is_unsigned, __is_array_unknown_bounds,
1026*f9a78e0eSmrg	__is_default_constructible_atom, __is_default_constructible_safe,
1027*f9a78e0eSmrg	__is_direct_constructible_new_safe, __is_direct_constructible_ref_cast,
1028*f9a78e0eSmrg	__is_nt_default_constructible_impl, is_nothrow_default_constructible,
1029*f9a78e0eSmrg	is_nothrow_constructible, is_nothrow_assignable,
1030*f9a78e0eSmrg	is_trivially_constructible, is_trivially_copy_constructible,
1031*f9a78e0eSmrg	is_trivially_move_constructible, is_trivially_assignable,
1032*f9a78e0eSmrg	is_trivially_copy_assignable, is_trivially_move_assignable,
1033*f9a78e0eSmrg	is_trivially_destructible): Simplify.
1034*f9a78e0eSmrg	* include/std/type_traits (
1035*f9a78e0eSmrg	__do_is_implicitly_default_constructible_impl,
1036*f9a78e0eSmrg	__is_implicitly_default_constructible_impl,
1037*f9a78e0eSmrg	__is_implicitly_default_constructible_safe,
1038*f9a78e0eSmrg	__is_implicitly_default_constructible): New.
1039*f9a78e0eSmrg	* include/bits/stl_pair.h (pair::pair()): Use it.
1040*f9a78e0eSmrg	* include/std/tuple (tuple<_T1, _T2>::tuple): Use it.
1041*f9a78e0eSmrg	* include/std/tuple (_ImplicitlyDefaultConstructibleTuple): New.
1042*f9a78e0eSmrg	* include/std/tuple (tuple<_Types...>::tuple()): Use it.
1043*f9a78e0eSmrg	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
1044*f9a78e0eSmrg	* testsuite/20_util/is_implicitly_default_constructible/
1045*f9a78e0eSmrg	requirements/explicit_instantiation.cc: New.
1046*f9a78e0eSmrg	* testsuite/20_util/is_implicitly_default_constructible/requirements/
1047*f9a78e0eSmrg	typedefs.cc: Likewise.
1048*f9a78e0eSmrg	* testsuite/20_util/is_implicitly_default_constructible/value.cc:
1049*f9a78e0eSmrg	Likewise.
1050*f9a78e0eSmrg	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
1051*f9a78e0eSmrg	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1052*f9a78e0eSmrg	Likewise.
1053*f9a78e0eSmrg	* testsuite/20_util/pair/cons/explicit_construct.cc: Likewise.
1054*f9a78e0eSmrg	* testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
1055*f9a78e0eSmrg
1056*f9a78e0eSmrg2015-10-24  Jonathan Wakely  <jwakely@redhat.com>
1057*f9a78e0eSmrg
1058*f9a78e0eSmrg	* include/std/functional (__invoke_impl): New overloads.
1059*f9a78e0eSmrg	(__invoke): Replace with a single function calling __invoke_impl.
1060*f9a78e0eSmrg	(invoke): Add C++17 std::invoke.
1061*f9a78e0eSmrg	(reference_wrapper::operator()): Qualify call to __invoke.
1062*f9a78e0eSmrg	(_Mem_fn_traits_base, _Mem_fn_traits): Remove unused typedefs.
1063*f9a78e0eSmrg	(_Mem_fn_base): Remove unused typedefs and implement call operator in
1064*f9a78e0eSmrg	terms of __invoke.
1065*f9a78e0eSmrg	* include/std/future (__future_base::_Async_state_commonV2): Do not
1066*f9a78e0eSmrg	pass reference_wrapper as object argument to call_once.
1067*f9a78e0eSmrg	* include/std/type_traits (result_of): Define nested __invoke_type.
1068*f9a78e0eSmrg	Handle reference_wrapper as per LWG 2219.
1069*f9a78e0eSmrg	* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error directives.
1070*f9a78e0eSmrg	* testsuite/20_util/function_objects/mem_fn/55463.cc: Remove tests
1071*f9a78e0eSmrg	using member functions of reference_wrapper.
1072*f9a78e0eSmrg
1073*f9a78e0eSmrg2015-10-24  Jonathan Wakely  <jwakely@redhat.com>
1074*f9a78e0eSmrg
1075*f9a78e0eSmrg	* include/std/future (async): Use deferred function on exception.
1076*f9a78e0eSmrg	* testsuite/30_threads/async/except.cc: New.
1077*f9a78e0eSmrg
1078*f9a78e0eSmrg2015-10-21  Jonathan Wakely  <jwakely@redhat.com>
1079*f9a78e0eSmrg
1080*f9a78e0eSmrg	* include/std/type_traits (__cpp_lib_bool_constant): Define.
1081*f9a78e0eSmrg
1082*f9a78e0eSmrg2015-10-16  Jonathan Wakely  <jwakely@redhat.com>
1083*f9a78e0eSmrg
1084*f9a78e0eSmrg	* doc/xml/manual/configure.xml: Document
1085*f9a78e0eSmrg	--enable-libstdcxx-filesystem-ts option.
1086*f9a78e0eSmrg	* doc/xml/manual/status_cxx2014.xml: Document libstdc++fs.a.
1087*f9a78e0eSmrg	* doc/xml/manual/using.xml: Likewise.
1088*f9a78e0eSmrg	* doc/html/*: Regenerate.
1089*f9a78e0eSmrg
1090*f9a78e0eSmrg2015-10-16  Aurelio Remonda  <aurelio.remonda@tallertechnologies.com>
1091*f9a78e0eSmrg
1092*f9a78e0eSmrg	* testsuite/25_algorithms/random_shuffle/moveable.cc: Change variable
1093*f9a78e0eSmrg	N from const int N = 200000 to const unsigned int N = 10000.
1094*f9a78e0eSmrg	Delete useless fill_ascending function call.
1095*f9a78e0eSmrg
1096*f9a78e0eSmrg2015-10-15  Szabolcs Nagy  <szabolcs.nagy@arm.com>
1097*f9a78e0eSmrg
1098*f9a78e0eSmrg	* testsuite/lib/libstdc++.exp (libstdc++-dg-test): Check for
1099*f9a78e0eSmrg	unsupported compiler output.
1100*f9a78e0eSmrg
1101*f9a78e0eSmrg2015-10-13  Nathan Froyd  <froydnj@gcc.gnu.org>
1102*f9a78e0eSmrg
1103*f9a78e0eSmrg	* config/cpu/i486/opt/bits/opt_random.h: Include pmmintrin.h instead
1104*f9a78e0eSmrg	of x86intrin.h, and only do so when __SSE3__
1105*f9a78e0eSmrg	* include/ext/random: Include emmintrin.h instead of x86intrin.h
1106*f9a78e0eSmrg
1107*f9a78e0eSmrg2015-10-11  Joseph Myers  <joseph@codesourcery.com>
1108*f9a78e0eSmrg
1109*f9a78e0eSmrg	* crossconfig.m4 (GLIBCXX_CROSSCONFIG) <*-linux* | *-uclinux* |
1110*f9a78e0eSmrg	*-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu | *-cygwin*>: Check for
1111*f9a78e0eSmrg	__cxa_thread_atexit_impl.
1112*f9a78e0eSmrg	* configure: Regenerate.
1113*f9a78e0eSmrg
1114*f9a78e0eSmrg2015-10-09  Jonathan Wakely  <jwakely@redhat.com>
1115*f9a78e0eSmrg
1116*f9a78e0eSmrg	* include/experimental/erase_if.h: Move to ...
1117*f9a78e0eSmrg	* include/experimental/bits/erase_if.h: New.
1118*f9a78e0eSmrg	* include/experimental/fs_dir.h: Move to ...
1119*f9a78e0eSmrg	* include/experimental/bits/fs_dir.h: New.
1120*f9a78e0eSmrg	* include/experimental/fs_fwd.h: Move to ...
1121*f9a78e0eSmrg	* include/experimental/bits/fs_fwd.h: New.
1122*f9a78e0eSmrg	* include/experimental/fs_ops.h: Move to ...
1123*f9a78e0eSmrg	* include/experimental/bits/fs_ops.h: New.
1124*f9a78e0eSmrg	* include/experimental/fs_path.h: Move to ...
1125*f9a78e0eSmrg	* include/experimental/bits/fs_path.h: New.
1126*f9a78e0eSmrg	* include/experimental/string_view.tcc: Move to ...
1127*f9a78e0eSmrg	* include/experimental/bits/string_view.tcc: New.
1128*f9a78e0eSmrg	* include/Makefile.am: Add include/experimental/bits sub-directory.
1129*f9a78e0eSmrg	* include/Makefile.in: Regenerate.
1130*f9a78e0eSmrg	* include/experimental/filesystem: Adjust includes.
1131*f9a78e0eSmrg	* include/experimental/map: Likewise.
1132*f9a78e0eSmrg	* include/experimental/set: Likewise.
1133*f9a78e0eSmrg	* include/experimental/string_view: Likewise.
1134*f9a78e0eSmrg	* include/experimental/unordered_map: Likewise.
1135*f9a78e0eSmrg	* include/experimental/unordered_set: Likewise.
1136*f9a78e0eSmrg
1137*f9a78e0eSmrg2015-10-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
1138*f9a78e0eSmrg
1139*f9a78e0eSmrg	PR 67844.
1140*f9a78e0eSmrg	* include/std/tuple (_TC::_NonNestedTuple): Eagerly reject
1141*f9a78e0eSmrg	conversions from tuple types same as the target tuple.
1142*f9a78e0eSmrg	* testsuite/20_util/tuple/67844.cc: New.
1143*f9a78e0eSmrg	* testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Add
1144*f9a78e0eSmrg	a missing copyright header.
1145*f9a78e0eSmrg
1146*f9a78e0eSmrg2015-10-03  Jonathan Wakely  <jwakely@redhat.com>
1147*f9a78e0eSmrg
1148*f9a78e0eSmrg	* python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Remove support
1149*f9a78e0eSmrg	for _Manager_alloc.
1150*f9a78e0eSmrg
1151*f9a78e0eSmrg	* src/c++98/locale.cc: Fix comment.
1152*f9a78e0eSmrg	* src/c++98/locale_init.cc: Likewise.
1153*f9a78e0eSmrg
1154*f9a78e0eSmrg	* testsuite/21_strings/basic_string/literals/types.cc: Guard use of
1155*f9a78e0eSmrg	wchar_t with _GLIBCXX_USE_WCHAR_T.
1156*f9a78e0eSmrg	* testsuite/21_strings/basic_string/literals/values.cc: Likewise.
1157*f9a78e0eSmrg	* testsuite/21_strings/basic_string/requirements/citerators.cc:
1158*f9a78e0eSmrg	Likewise.
1159*f9a78e0eSmrg	* testsuite/22_locale/messages/13631.cc: Likewise.
1160*f9a78e0eSmrg	* testsuite/experimental/string_view/literals/types.cc: Likewise.
1161*f9a78e0eSmrg	* testsuite/experimental/string_view/literals/values.cc: Likewise.
1162*f9a78e0eSmrg
1163*f9a78e0eSmrg	* src/filesystem/Makefile.am: Add cxx11_abi_sources.
1164*f9a78e0eSmrg	* src/filesystem/Makefile.in: Regenerate.
1165*f9a78e0eSmrg	* src/filesystem/cow-dir.cc: New.
1166*f9a78e0eSmrg	* src/filesystem/cow-ops.cc: New.
1167*f9a78e0eSmrg	* src/filesystem/cow-path.cc: New.
1168*f9a78e0eSmrg	* src/filesystem/dir.cc: Define macro for new ABI.
1169*f9a78e0eSmrg	* src/filesystem/ops.cc: Likewise.
1170*f9a78e0eSmrg	* src/filesystem/path.cc: Likewise.
1171*f9a78e0eSmrg
1172*f9a78e0eSmrg2015-10-02  Jonathan Wakely  <jwakely@redhat.com>
1173*f9a78e0eSmrg
1174*f9a78e0eSmrg	* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
1175*f9a78e0eSmrg	Minor tweaks to match narrow char version.
1176*f9a78e0eSmrg
1177*f9a78e0eSmrg	* testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard
1178*f9a78e0eSmrg	explicit instantiation with check for new ABI.
1179*f9a78e0eSmrg	* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
1180*f9a78e0eSmrg	Likewise. Use wchar_t as char_type.
1181*f9a78e0eSmrg
1182*f9a78e0eSmrg	* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
1183*f9a78e0eSmrg	(basic_string::front() const, basic_string::back() const): Use
1184*f9a78e0eSmrg	noexcept instead of _GLIBCXX_NOEXCEPT macro.
1185*f9a78e0eSmrg	(__versa_string::front, __versa_string::back): Likewise.
1186*f9a78e0eSmrg
1187*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment.
1188*f9a78e0eSmrg
1189*f9a78e0eSmrg	* include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T]
1190*f9a78e0eSmrg	(__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable.
1191*f9a78e0eSmrg	* include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T]
1192*f9a78e0eSmrg	(path::wstring, path::generic_wstring): Disable.
1193*f9a78e0eSmrg	* src/filesystem/path.cc (path::_S_convert_loc)
1194*f9a78e0eSmrg	[!_GLIBCXX_USE_WCHAR_T]: Skip conversion.
1195*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/assign/assign.cc: Check for
1196*f9a78e0eSmrg	wchar_t support.
1197*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
1198*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
1199*f9a78e0eSmrg
1200*f9a78e0eSmrg	* testsuite/util/testsuite_fs.h (nonexistent_path): Use less generic
1201*f9a78e0eSmrg	name for paths. Prefer snprintf to sprintf.
1202*f9a78e0eSmrg
1203*f9a78e0eSmrg	PR libstdc++/67747
1204*f9a78e0eSmrg	* src/filesystem/dir.cc (native_readdir): Remove.
1205*f9a78e0eSmrg	(_Dir::advance): Use readdir instead of native_readdir.
1206*f9a78e0eSmrg	(recursive_directory_iterator(const path&, directory_options,
1207*f9a78e0eSmrg	error_code*)): Use swap instead of reset.
1208*f9a78e0eSmrg
1209*f9a78e0eSmrg2015-10-01  Jonathan Wakely  <jwakely@redhat.com>
1210*f9a78e0eSmrg
1211*f9a78e0eSmrg	* doc/html/manual/errno.html: Add new file.
1212*f9a78e0eSmrg
1213*f9a78e0eSmrg	* doc/xml/manual/diagnostics.xml: Document use of errno.
1214*f9a78e0eSmrg	* doc/html/*: Regenerate.
1215*f9a78e0eSmrg	* config/locale/generic/c_locale.cc (_Save_errno): New helper.
1216*f9a78e0eSmrg	(__convert_to_v): Use _Save_errno.
1217*f9a78e0eSmrg	* include/ext/string_conversions.h (__stoa): Only restore errno when
1218*f9a78e0eSmrg	it isn't set to non-zero.
1219*f9a78e0eSmrg
1220*f9a78e0eSmrg2015-09-30  François Dumont  <fdumont@gcc.gnu.org>
1221*f9a78e0eSmrg	    Jonathan Wakely  <jwakely@redhat.com>
1222*f9a78e0eSmrg
1223*f9a78e0eSmrg	* config/locale/gnu/messages_members.cc (Catalog_info, Catalogs):
1224*f9a78e0eSmrg	Move...
1225*f9a78e0eSmrg	* config/locale/gnu/c++locale_internal.h: ...here in std namespace.
1226*f9a78e0eSmrg	* config/locale/gnu/c_locale.cc: Move implementation of latter here.
1227*f9a78e0eSmrg	* src/c++98/Makefile.am: Compile c++locale.cc with -fimplicit-templates.
1228*f9a78e0eSmrg	* src/c++98/Makefile.in: Regenerate.
1229*f9a78e0eSmrg	* config/abi/pre/gnu.ver: Adjust.
1230*f9a78e0eSmrg
1231*f9a78e0eSmrg2015-09-30  Matthias Klose  <doko@ubuntu.com>
1232*f9a78e0eSmrg
1233*f9a78e0eSmrg	* config/cpu/alpha, config/cpu/ia64: Remove empty directories.
1234*f9a78e0eSmrg
1235*f9a78e0eSmrg2015-09-29  Jonathan Wakely  <jwakely@redhat.com>
1236*f9a78e0eSmrg
1237*f9a78e0eSmrg	* include/ext/string_conversions.h (__stoa): Save and restore errno.
1238*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc:
1239*f9a78e0eSmrg	New.
1240*f9a78e0eSmrg
1241*f9a78e0eSmrg	PR libstdc++/67583
1242*f9a78e0eSmrg	* testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Fix sputn call
1243*f9a78e0eSmrg	with mismatched arguments.
1244*f9a78e0eSmrg	* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
1245*f9a78e0eSmrg
1246*f9a78e0eSmrg	PR libstdc++/65393
1247*f9a78e0eSmrg	* config/abi/pre/gnu.ver: Export new symbols.
1248*f9a78e0eSmrg	* include/std/thread (thread::_State, thread::_State_impl): New types.
1249*f9a78e0eSmrg	(thread::_M_start_thread): Add overload taking unique_ptr<_State>.
1250*f9a78e0eSmrg	(thread::_M_make_routine): Remove.
1251*f9a78e0eSmrg	(thread::_S_make_state): Add.
1252*f9a78e0eSmrg	(thread::_Impl_base, thread::_Impl, thread::_M_start_thread)
1253*f9a78e0eSmrg	[_GLIBCXX_THREAD_ABI_COMPAT] Only declare conditionally.
1254*f9a78e0eSmrg	* src/c++11/thread.cc (execute_native_thread_routine): Rename to
1255*f9a78e0eSmrg	execute_native_thread_routine_compat and re-define to use _State.
1256*f9a78e0eSmrg	(thread::_State::~_State()): Define.
1257*f9a78e0eSmrg	(thread::_M_make_thread): Define new overload.
1258*f9a78e0eSmrg	(thread::_M_make_thread) [_GLIBCXX_THREAD_ABI_COMPAT]: Only define old
1259*f9a78e0eSmrg	overloads conditionally.
1260*f9a78e0eSmrg
1261*f9a78e0eSmrg2015-09-28  Jonathan Wakely  <jwakely@redhat.com>
1262*f9a78e0eSmrg
1263*f9a78e0eSmrg	* include/std/condition_variable (condition_variable::wait): Add
1264*f9a78e0eSmrg	noexcept.
1265*f9a78e0eSmrg	* src/c++11/condition_variable.cc (condition_variable::wait): Call
1266*f9a78e0eSmrg	std::terminate on error (DR 2135).
1267*f9a78e0eSmrg
1268*f9a78e0eSmrg2015-09-25  Ville Voutilainen  <ville.voutilainen@gmail.com>
1269*f9a78e0eSmrg
1270*f9a78e0eSmrg	Avoid creating dangling references in case of nested tuples
1271*f9a78e0eSmrg	for tuple constructors that construct from other tuples.
1272*f9a78e0eSmrg	* include/std/tuple (_TC::_NonNestedTuple): New.
1273*f9a78e0eSmrg	* include/std/tuple (tuple::_TNTC): New.
1274*f9a78e0eSmrg	* include/std/tuple (tuple(const tuple<_UElements...>&),
1275*f9a78e0eSmrg	tuple(tuple<_UElements...>&&): Use _TNTC.
1276*f9a78e0eSmrg	* testsuite/20_util/tuple/cons/nested_tuple_construct.cc: New.
1277*f9a78e0eSmrg
1278*f9a78e0eSmrg2015-09-24  Jonathan Wakely  <jwakely@redhat.com>
1279*f9a78e0eSmrg
1280*f9a78e0eSmrg	PR libstdc++/67707
1281*f9a78e0eSmrg	* include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize
1282*f9a78e0eSmrg	empty object.
1283*f9a78e0eSmrg	* testsuite/23_containers/deque/allocator/move.cc: Check moved-from
1284*f9a78e0eSmrg	deque.
1285*f9a78e0eSmrg
1286*f9a78e0eSmrg2015-09-23  Jonathan Wakely  <jwakely@redhat.com>
1287*f9a78e0eSmrg
1288*f9a78e0eSmrg	* src/filesystem/ops.cc (canonical): Simplify error handling and
1289*f9a78e0eSmrg	limit number of symlinks that can be resolved.
1290*f9a78e0eSmrg
1291*f9a78e0eSmrg2015-09-23  Jonathan Wakely  <jwakely@redhat.com>
1292*f9a78e0eSmrg
1293*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Remove _GLIBCXX_
1294*f9a78e0eSmrg	prefix from HAVE_STRUCT_DIRENT_D_TYPE.
1295*f9a78e0eSmrg	* config.h.in: Regenerate.
1296*f9a78e0eSmrg	* configure: Regenerate.
1297*f9a78e0eSmrg	* include/experimental/fs_dir.h (operator==, operator==):
1298*f9a78e0eSmrg	Use owner_before instead of pointer equality.
1299*f9a78e0eSmrg	(directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
1300*f9a78e0eSmrg	* src/filesystem/dir.cc (ErrorCode): Remove.
1301*f9a78e0eSmrg	(_Dir::advance): Change ErrorCode parameter to error_code*, add
1302*f9a78e0eSmrg	directory_options parameter and check it on error.
1303*f9a78e0eSmrg	(opendir): Rename to open_dir to avoid clashing with macro. Change
1304*f9a78e0eSmrg	ErrorCode parameter to error_code*.
1305*f9a78e0eSmrg	(make_shared_dir): Remove.
1306*f9a78e0eSmrg	(native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno.
1307*f9a78e0eSmrg	(directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
1308*f9a78e0eSmrg	(directory_iterator(const path&, directory_options, error_code*)):
1309*f9a78e0eSmrg	Pass options to _Dir::advance and create non-end iterator on error.
1310*f9a78e0eSmrg	(recursive_directory_iterator(const path&, directory_options,
1311*f9a78e0eSmrg	error_code*)): Clear error_code on ignored error, create non-end
1312*f9a78e0eSmrg	iterator otherwise.
1313*f9a78e0eSmrg	(recursive_directory_iterator::increment): Pass _M_options to
1314*f9a78e0eSmrg	_Dir::advance.
1315*f9a78e0eSmrg	(recursive_directory_iterator::pop): Likewise.
1316*f9a78e0eSmrg	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1317*f9a78e0eSmrg	New.
1318*f9a78e0eSmrg	* testsuite/experimental/filesystem/iterators/
1319*f9a78e0eSmrg	recursive_directory_iterator.cc: New.
1320*f9a78e0eSmrg
1321*f9a78e0eSmrg	* src/filesystem/ops.cc (is_dot, is_dotdot): Define new helpers.
1322*f9a78e0eSmrg	(create_directories): Fix error handling.
1323*f9a78e0eSmrg	* testsuite/experimental/filesystem/operations/create_directories.cc:
1324*f9a78e0eSmrg	New.
1325*f9a78e0eSmrg
1326*f9a78e0eSmrg2015-09-21  Jonathan Wakely  <jwakely@redhat.com>
1327*f9a78e0eSmrg
1328*f9a78e0eSmrg	PR libstdc++/67647
1329*f9a78e0eSmrg	* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
1330*f9a78e0eSmrg	(basic_string::shrink_to_fit): Fix #endif placement.
1331*f9a78e0eSmrg
1332*f9a78e0eSmrg2015-09-19  Tim Shen  <timshen@google.com>
1333*f9a78e0eSmrg
1334*f9a78e0eSmrg	PR libstdc++/67361
1335*f9a78e0eSmrg	* include/bits/regex_error.h: Add __throw_regex_error that
1336*f9a78e0eSmrg	supports string.
1337*f9a78e0eSmrg	* include/bits/regex_automaton.h: Add more specific exception
1338*f9a78e0eSmrg	messages.
1339*f9a78e0eSmrg	* include/bits/regex_automaton.tcc: Likewise.
1340*f9a78e0eSmrg	* include/bits/regex_compiler.h: Likewise.
1341*f9a78e0eSmrg	* include/bits/regex_compiler.tcc: Likewise.
1342*f9a78e0eSmrg	* include/bits/regex_scanner.h: Likewise.
1343*f9a78e0eSmrg	* include/bits/regex_scanner.tcc: Likewise.
1344*f9a78e0eSmrg
1345*f9a78e0eSmrg2015-09-18  Jonathan Wakely  <jwakely@redhat.com>
1346*f9a78e0eSmrg
1347*f9a78e0eSmrg	* include/precompiled/extc++.h: Fix bootstrap error due to
1348*f9a78e0eSmrg	unconditional inclusion of <ext/enc_filebuf.h>.
1349*f9a78e0eSmrg	* include/ext/random: Check for definition of UINT32_C.
1350*f9a78e0eSmrg
1351*f9a78e0eSmrg2015-09-17  Catherine Moore  <clm@codesourcery.com>
1352*f9a78e0eSmrg
1353*f9a78e0eSmrg	* src/c++11/debug.cc: Include <cstdio>.
1354*f9a78e0eSmrg
1355*f9a78e0eSmrg2015-09-17  Gerald Pfeifer  <gerald@pfeifer.com>
1356*f9a78e0eSmrg
1357*f9a78e0eSmrg	* src/c++11/random.cc: Include <cerrno>.
1358*f9a78e0eSmrg
1359*f9a78e0eSmrg2015-09-17  François Dumont  <fdumont@gcc.gnu.org>
1360*f9a78e0eSmrg
1361*f9a78e0eSmrg	* include/debug/formatter.h
1362*f9a78e0eSmrg	(_Error_formatter::_Parameter::_M_print_field): Deprecate.
1363*f9a78e0eSmrg	(_Error_formatter::_Parameter::_M_print_description): Likewise.
1364*f9a78e0eSmrg	(_Error_formatter::_M_format_word): Likewise.
1365*f9a78e0eSmrg	(_Error_formatter::_M_print_word): Likewise.
1366*f9a78e0eSmrg	(_Error_formatter::_M_print_string): Likewise.
1367*f9a78e0eSmrg	(_Error_formatter::_M_get_max_length): Likewise.
1368*f9a78e0eSmrg	(_Error_formatter::_M_max_length): Delete.
1369*f9a78e0eSmrg	(_Error_formatter::_M_indent): Likewise.
1370*f9a78e0eSmrg	(_Error_formatter::_M_column): Likewise.
1371*f9a78e0eSmrg	(_Error_formatter::_M_first_line): Likewise.
1372*f9a78e0eSmrg	(_Error_formatter::_M_wordwrap): Likewise.
1373*f9a78e0eSmrg	* src/c++11/debug.cc: Adapt.
1374*f9a78e0eSmrg
1375*f9a78e0eSmrg2015-09-17  Jonathan Wakely  <jwakely@redhat.com>
1376*f9a78e0eSmrg
1377*f9a78e0eSmrg	PR libstdc++/65913
1378*f9a78e0eSmrg	* include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(),
1379*f9a78e0eSmrg	__atomic_base<_PTp*>::is_lock_free()): Call the built-in with the
1380*f9a78e0eSmrg	immediate pointer value, not a variable.
1381*f9a78e0eSmrg	* include/std/atomic (atomic<T>::is_lock_free()): Likewise.
1382*f9a78e0eSmrg	* testsuite/29_atomics/atomic/65913.cc: New.
1383*f9a78e0eSmrg
1384*f9a78e0eSmrg	* testsuite/experimental/filesystem/operations/canonical.cc: Remove
1385*f9a78e0eSmrg	non-deterministic part of the test.
1386*f9a78e0eSmrg
1387*f9a78e0eSmrg	PR libstdc++/65142
1388*f9a78e0eSmrg	* src/c++11/random.cc (random_device::_M_getval()): Retry after short
1389*f9a78e0eSmrg	reads.
1390*f9a78e0eSmrg
1391*f9a78e0eSmrg	* include/std/system_error (error_code::operator bool(),
1392*f9a78e0eSmrg	error_condition::operator bool()): Remove redundant conditional
1393*f9a78e0eSmrg	expression.
1394*f9a78e0eSmrg
1395*f9a78e0eSmrg	* include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it):
1396*f9a78e0eSmrg	Do nothing if exceptions are disabled.
1397*f9a78e0eSmrg	* include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise.
1398*f9a78e0eSmrg
1399*f9a78e0eSmrg2015-09-16  Jonathan Wakely  <jwakely@redhat.com>
1400*f9a78e0eSmrg
1401*f9a78e0eSmrg	PR libstdc++/67173
1402*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION
1403*f9a78e0eSmrg	and PATH_MAX for _GLIBCXX_USE_REALPATH.
1404*f9a78e0eSmrg	* config.h.in: Regenerate.
1405*f9a78e0eSmrg	* configure: Regenerate.
1406*f9a78e0eSmrg	* src/filesystem/ops.cc: (canonical) [!_GLIBCXX_USE_REALPATH]: Add
1407*f9a78e0eSmrg	alternative implementation.
1408*f9a78e0eSmrg	* testsuite/experimental/filesystem/operations/canonical.cc: New.
1409*f9a78e0eSmrg	* testsuite/experimental/filesystem/operations/exists.cc: Add more
1410*f9a78e0eSmrg	tests.
1411*f9a78e0eSmrg	* testsuite/experimental/filesystem/operations/absolute.cc: Add test
1412*f9a78e0eSmrg	variables.
1413*f9a78e0eSmrg	* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
1414*f9a78e0eSmrg	* testsuite/experimental/filesystem/operations/current_path.cc:
1415*f9a78e0eSmrg	Likewise.
1416*f9a78e0eSmrg	* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
1417*f9a78e0eSmrg	* testsuite/experimental/filesystem/operations/status.cc: Likewise.
1418*f9a78e0eSmrg	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
1419*f9a78e0eSmrg	Likewise.
1420*f9a78e0eSmrg
1421*f9a78e0eSmrg2015-09-11  Jonathan Wakely  <jwakely@redhat.com>
1422*f9a78e0eSmrg
1423*f9a78e0eSmrg	PR libstdc++/67173
1424*f9a78e0eSmrg	* src/filesystem/ops.cc (filesystem::canonical): Allocate buffer for
1425*f9a78e0eSmrg	realpath on Solaris 10.
1426*f9a78e0eSmrg
1427*f9a78e0eSmrg	PR libstdc++/65142
1428*f9a78e0eSmrg	* src/c++11/random.cc (random_device::_M_getval()): Check read result.
1429*f9a78e0eSmrg
1430*f9a78e0eSmrg2015-09-11  John Marino  <gnugcc@marino.st>
1431*f9a78e0eSmrg	    Jonathan Wakely  <jwakely@redhat.com>
1432*f9a78e0eSmrg
1433*f9a78e0eSmrg	PR libstdc++/67096
1434*f9a78e0eSmrg	* testsuite/22_locale/codecvt/in/wchar_t/4.cc: Do not test code points
1435*f9a78e0eSmrg	above U+10FFFF.
1436*f9a78e0eSmrg	* testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
1437*f9a78e0eSmrg	* testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
1438*f9a78e0eSmrg	* testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
1439*f9a78e0eSmrg	* testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
1440*f9a78e0eSmrg	* testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
1441*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
1442*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
1443*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
1444*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
1445*f9a78e0eSmrg	* testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
1446*f9a78e0eSmrg	* testsuite/27_io/objects/wchar_t/10.cc: Likewise.
1447*f9a78e0eSmrg	* testsuite/27_io/objects/wchar_t/11.cc: Likewise.
1448*f9a78e0eSmrg	* testsuite/27_io/objects/wchar_t/12.cc: Likewise.
1449*f9a78e0eSmrg	* testsuite/27_io/objects/wchar_t/13.cc: Likewise.
1450*f9a78e0eSmrg
1451*f9a78e0eSmrg2015-09-11  Jonathan Wakely  <jwakely@redhat.com>
1452*f9a78e0eSmrg
1453*f9a78e0eSmrg	PR libstdc++/64857
1454*f9a78e0eSmrg	* doc/xml/manual/using.xml: Improve aggregate header documentation.
1455*f9a78e0eSmrg	* doc/html/manual/*: Regenerate.
1456*f9a78e0eSmrg	* include/precompiled/extc++.h: Include <bits/stdc++.h> for C++11
1457*f9a78e0eSmrg	and later and include more extension headers.
1458*f9a78e0eSmrg	* testsuite/17_intro/headers/c++1998/all_attributes.cc: Remove
1459*f9a78e0eSmrg	redundant header.
1460*f9a78e0eSmrg	* testsuite/17_intro/headers/c++200x/: Rename to c++2011.
1461*f9a78e0eSmrg	* testsuite/17_intro/headers/c++2014/all_attributes.cc: Remove
1462*f9a78e0eSmrg	redundant headers.
1463*f9a78e0eSmrg	* testsuite/17_intro/headers/c++2014/all_no_exceptions.cc: New.
1464*f9a78e0eSmrg	* testsuite/17_intro/headers/c++2014/all_no_rtti.cc: New.
1465*f9a78e0eSmrg	* testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc: New.
1466*f9a78e0eSmrg	* testsuite/17_intro/headers/c++2014/operator_names.cc: New.
1467*f9a78e0eSmrg	* testsuite/17_intro/headers/c++2014/stdc++.cc: New.
1468*f9a78e0eSmrg	* testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
1469*f9a78e0eSmrg	New.
1470*f9a78e0eSmrg
1471*f9a78e0eSmrg	PR libstdc++/58265
1472*f9a78e0eSmrg	* doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions.
1473*f9a78e0eSmrg	* doc/html/manual/bugs.html: Regenerate.
1474*f9a78e0eSmrg	* include/bits/basic_string.h (basic_string): Implement N4258. Add
1475*f9a78e0eSmrg	correct exception-specifications and propagate allocators correctly.
1476*f9a78e0eSmrg	* include/bits/basic_string.tcc (basic_string::swap): Propagate
1477*f9a78e0eSmrg	allocators correctly.
1478*f9a78e0eSmrg	* include/debug/string (__gnu_debug::basic_string): Add correct
1479*f9a78e0eSmrg	exceptions-specifications and allcoator-extended constructors.
1480*f9a78e0eSmrg	* testsuite/21_strings/basic_string/allocator/char/copy.cc: New.
1481*f9a78e0eSmrg	* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
1482*f9a78e0eSmrg	New.
1483*f9a78e0eSmrg	* testsuite/21_strings/basic_string/allocator/char/minimal.cc: New.
1484*f9a78e0eSmrg	* testsuite/21_strings/basic_string/allocator/char/move.cc: New.
1485*f9a78e0eSmrg	* testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
1486*f9a78e0eSmrg	New.
1487*f9a78e0eSmrg	* testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New.
1488*f9a78e0eSmrg	* testsuite/21_strings/basic_string/allocator/char/swap.cc: New.
1489*f9a78e0eSmrg	* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New.
1490*f9a78e0eSmrg	* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
1491*f9a78e0eSmrg	New.
1492*f9a78e0eSmrg	* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New.
1493*f9a78e0eSmrg	* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New.
1494*f9a78e0eSmrg	* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
1495*f9a78e0eSmrg	New.
1496*f9a78e0eSmrg	* testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New.
1497*f9a78e0eSmrg	* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New.
1498*f9a78e0eSmrg	* testsuite/util/testsuite_allocator.h (tracker_allocator): Define
1499*f9a78e0eSmrg	defaulted assignment operators.
1500*f9a78e0eSmrg
1501*f9a78e0eSmrg	PR libstdc++/65092
1502*f9a78e0eSmrg	* include/bits/stl_queue.h (queue, priority_queue): Add
1503*f9a78e0eSmrg	allocator-extended constructors.
1504*f9a78e0eSmrg	* include/bits/stl_stack.h (stack): Likewise.
1505*f9a78e0eSmrg	* testsuite/23_containers/priority_queue/requirements/
1506*f9a78e0eSmrg	uses_allocator.cc: Test allocator-extended constructors.
1507*f9a78e0eSmrg	* testsuite/23_containers/queue/requirements/uses_allocator.cc:
1508*f9a78e0eSmrg	Likewise.
1509*f9a78e0eSmrg	* testsuite/23_containers/stack/requirements/uses_allocator.cc:
1510*f9a78e0eSmrg	Likewise.
1511*f9a78e0eSmrg
1512*f9a78e0eSmrg2015-09-10  Jonathan Wakely  <jwakely@redhat.com>
1513*f9a78e0eSmrg
1514*f9a78e0eSmrg	* testsuite/util/testsuite_allocator.h (PointerBase::operator[]): Add.
1515*f9a78e0eSmrg
1516*f9a78e0eSmrg	* testsuite/21_strings/basic_string/operators/char/1.cc: Verify the
1517*f9a78e0eSmrg	string contents.
1518*f9a78e0eSmrg
1519*f9a78e0eSmrg2015-09-09  Jonathan Wakely  <jwakely@redhat.com>
1520*f9a78e0eSmrg
1521*f9a78e0eSmrg	* doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document.
1522*f9a78e0eSmrg	* doc/html/manual/using_macros.html: Regenerate.
1523*f9a78e0eSmrg	* include/bits/c++config: Define _GLIBCXX_ASSERTIONS when
1524*f9a78e0eSmrg	_GLIBCXX_DEBUG is defined. Disable std::string extern templates when
1525*f9a78e0eSmrg	(_GLIBCXX_EXTERN_TEMPLATE, __glibcxx_assert): Depend on
1526*f9a78e0eSmrg	_GLIBCXX_ASSERTIONS instead of _GLIBCXX_DEBUG.
1527*f9a78e0eSmrg	* include/debug/debug.h [!_GLIBCXX_DEBUG]: Define
1528*f9a78e0eSmrg	__glibcxx_requires_non_empty_range and __glibcxx_requires_nonempty.
1529*f9a78e0eSmrg	* include/backward/auto_ptr.h (auto_ptr::operator*,
1530*f9a78e0eSmrg	auto_ptr::operator->): Replace _GLIBCXX_DEBUG_ASSERT with
1531*f9a78e0eSmrg	__glibcxx_assert.
1532*f9a78e0eSmrg	* include/bits/basic_string.h (basic_string::operator[],
1533*f9a78e0eSmrg	basic_string::front, basic_string::back, basic_string::pop_back):
1534*f9a78e0eSmrg	Likewise.
1535*f9a78e0eSmrg	* include/bits/random.h
1536*f9a78e0eSmrg	(uniform_int_distribution::param_type::param_type,
1537*f9a78e0eSmrg	uniform_real_distribution::param_type::param_type,
1538*f9a78e0eSmrg	normal_distribution::param_type::param_type,
1539*f9a78e0eSmrg	gamma_distribution::param_type::param_type,
1540*f9a78e0eSmrg	bernoulli_distribution::param_type::param_type,
1541*f9a78e0eSmrg	binomial_distribution::param_type::param_type,
1542*f9a78e0eSmrg	geometric_distribution::param_type::param_type,
1543*f9a78e0eSmrg	negative_binomial_distribution::param_type::param_type,
1544*f9a78e0eSmrg	poisson_distribution::param_type::param_type,
1545*f9a78e0eSmrg	exponential_distribution::param_type::param_type): Likewise.
1546*f9a78e0eSmrg	* include/bits/regex.h (match_results::operator[],
1547*f9a78e0eSmrg	match_results::prefix, match_results::suffix): Likewise.
1548*f9a78e0eSmrg	* include/bits/regex.tcc (format, regex_iterator::operator++):
1549*f9a78e0eSmrg	Likewise.
1550*f9a78e0eSmrg	* include/bits/regex_automaton.tcc (_StateSeq::_M_clone): Likewise.
1551*f9a78e0eSmrg	* include/bits/regex_compiler.tcc (_Compiler::_Compiler,
1552*f9a78e0eSmrg	_Compiler::_M_insert_character_class_matcher): Likewise.
1553*f9a78e0eSmrg	* include/bits/regex_executor.tcc (_Executor::_M_dfs): Likewise.
1554*f9a78e0eSmrg	* include/bits/regex_scanner.tcc (_Scanner::_M_advance,
1555*f9a78e0eSmrg	_Scanner::_M_scan_normal): Likewise.
1556*f9a78e0eSmrg	* include/bits/shared_ptr_base.h (__shared_ptr::_M_reset,
1557*f9a78e0eSmrg	__shared_ptr::operator*): Likewise.
1558*f9a78e0eSmrg	* include/bits/stl_iterator_base_funcs.h (__advance): Likewise.
1559*f9a78e0eSmrg	* include/bits/unique_ptr.h (unique_ptr::operator*,
1560*f9a78e0eSmrg	unique_ptr::operator[]): Likewise.
1561*f9a78e0eSmrg	* include/experimental/fs_path.h (path::path(string_type, _Type),
1562*f9a78e0eSmrg	path::iterator::operator++, path::iterator::operator--,
1563*f9a78e0eSmrg	path::iterator::operator*): Likewise.
1564*f9a78e0eSmrg	* include/experimental/string_view (basic_string_view::operator[],
1565*f9a78e0eSmrg	basic_string_view::front, basic_string_view::back,
1566*f9a78e0eSmrg	basic_string_view::remove_prefix): Likewise.
1567*f9a78e0eSmrg	* include/ext/random (beta_distribution::param_type::param_type,
1568*f9a78e0eSmrg	normal_mv_distribution::param_type::param_type,
1569*f9a78e0eSmrg	rice_distribution::param_type::param_type,
1570*f9a78e0eSmrg	pareto_distribution::param_type::param_type,
1571*f9a78e0eSmrg	k_distribution::param_type::param_type,
1572*f9a78e0eSmrg	arcsine_distribution::param_type::param_type,
1573*f9a78e0eSmrg	hoyt_distribution::param_type::param_type,
1574*f9a78e0eSmrg	triangular_distribution::param_type::param_type,
1575*f9a78e0eSmrg	von_mises_distribution::param_type::param_type,
1576*f9a78e0eSmrg	hypergeometric_distribution::param_type::param_type,
1577*f9a78e0eSmrg	logistic_distribution::param_type::param_type): Likewise.
1578*f9a78e0eSmrg	* include/ext/vstring.h (__versa_string::operator[]): Likewise.
1579*f9a78e0eSmrg	* include/std/complex (polar): Likewise.
1580*f9a78e0eSmrg	* include/std/mutex [!_GTHREAD_USE_MUTEX_TIMEDLOCK]
1581*f9a78e0eSmrg	(timed_mutex::~timed_mutex, timed_mutex::unlock,
1582*f9a78e0eSmrg	(recursive_timed_mutex::~timed_mutex, recursive_timed_mutex::unlock):
1583*f9a78e0eSmrg	Likewise.
1584*f9a78e0eSmrg	* include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER]
1585*f9a78e0eSmrg	(__shared_mutex_pthread::__shared_mutex_pthread,
1586*f9a78e0eSmrg	__shared_mutex_pthread::~__shared_mutex_pthread): Likewise.
1587*f9a78e0eSmrg	(__shared_mutex_pthread::lock, __shared_mutex_pthread::try_lock,
1588*f9a78e0eSmrg	__shared_mutex_pthread::unlock, __shared_mutex_pthread::lock_shared,
1589*f9a78e0eSmrg	__shared_mutex_pthread::try_lock_shared): Likewise.
1590*f9a78e0eSmrg	(__shared_mutex_cv::~__shared_mutex_cv, __shared_mutex_cv::unlock,
1591*f9a78e0eSmrg	__shared_mutex_cv::unlock_shared): Likewise.
1592*f9a78e0eSmrg	(shared_timed_mutex::try_lock_until,
1593*f9a78e0eSmrg	shared_timed_mutex::try_lock_shared_until): Likewise.
1594*f9a78e0eSmrg	* include/std/valarray (valarray::valarray(const _Tp*, size_t),
1595*f9a78e0eSmrg	valarray::operator=, valarray::sum, valarray::min, valarray::max,
1596*f9a78e0eSmrg	_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT, _DEFINE_BINARY_OPERATOR):
1597*f9a78e0eSmrg	Likewise.
1598*f9a78e0eSmrg
1599*f9a78e0eSmrg2015-09-07  Jonathan Wakely  <jwakely@redhat.com>
1600*f9a78e0eSmrg
1601*f9a78e0eSmrg	* include/bits/shared_ptr_base.h (__shared_ptr::operator->): Change
1602*f9a78e0eSmrg	_GLIBCXX_DEBUG_ASSERT to _GLIBCXX_DEBUG_PEDASSERT.
1603*f9a78e0eSmrg	* include/bits/unique_ptr.h (unique_ptr::operator->): Likewise.
1604*f9a78e0eSmrg	* testsuite/20_util/shared_ptr/observers/get.cc: Test operator-> on
1605*f9a78e0eSmrg	empty shared_ptr.
1606*f9a78e0eSmrg
1607*f9a78e0eSmrg	* include/bits/regex_compiler.h (_BracketMatcher::_M_is_ready):
1608*f9a78e0eSmrg	Initialize using NSDMI and set using _GLIBCXX_DEBUG_ONLY.
1609*f9a78e0eSmrg
1610*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Rename
1611*f9a78e0eSmrg	shadowed variable.
1612*f9a78e0eSmrg
1613*f9a78e0eSmrg	* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Run on
1614*f9a78e0eSmrg	darwin.
1615*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/unlock/2.cc: Run on darwin.
1616*f9a78e0eSmrg
1617*f9a78e0eSmrg2015-09-04  Jonathan Wakely  <jwakely@redhat.com>
1618*f9a78e0eSmrg
1619*f9a78e0eSmrg	PR libstdc++/65704
1620*f9a78e0eSmrg	* include/std/mutex (recursive_timed_mutex): Fix uses of _Can_lock.
1621*f9a78e0eSmrg
1622*f9a78e0eSmrg	PR libstdc++/65704
1623*f9a78e0eSmrg	* include/Makefile.am: Add <bits/mutex.h>.
1624*f9a78e0eSmrg	* include/Makefile.in: Regenerate.
1625*f9a78e0eSmrg	* include/bits/mutex.h (__mutex_base, mutex, lock_guard, unique_lock):
1626*f9a78e0eSmrg	New file containing types moved from <mutex>.
1627*f9a78e0eSmrg	* include/std/condition_variable: Include <bits/mutex.h> instead of
1628*f9a78e0eSmrg	<mutex>.
1629*f9a78e0eSmrg	* include/std/mutex (__mutex_base, mutex, lock_guard, unique_lock):
1630*f9a78e0eSmrg	Move to <bits/mutex.h>.
1631*f9a78e0eSmrg	*  testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Remove
1632*f9a78e0eSmrg	dg-require-gthreads-timed.
1633*f9a78e0eSmrg	*  testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
1634*f9a78e0eSmrg	Likewise.
1635*f9a78e0eSmrg	*  testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
1636*f9a78e0eSmrg	Likewise.
1637*f9a78e0eSmrg	*  testsuite/30_threads/recursive_timed_mutex/dest/
1638*f9a78e0eSmrg	destructor_locked.cc: Likewise.
1639*f9a78e0eSmrg	*  testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
1640*f9a78e0eSmrg	*  testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
1641*f9a78e0eSmrg	*  testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
1642*f9a78e0eSmrg	*  testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
1643*f9a78e0eSmrg	*  testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
1644*f9a78e0eSmrg	Likewise.
1645*f9a78e0eSmrg	*  testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
1646*f9a78e0eSmrg	Likewise.
1647*f9a78e0eSmrg	*  testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
1648*f9a78e0eSmrg	Likewise.
1649*f9a78e0eSmrg	*  testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
1650*f9a78e0eSmrg	Likewise.
1651*f9a78e0eSmrg	*  testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
1652*f9a78e0eSmrg	Likewise.
1653*f9a78e0eSmrg	*  testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
1654*f9a78e0eSmrg	*  testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
1655*f9a78e0eSmrg	*  testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
1656*f9a78e0eSmrg	*  testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
1657*f9a78e0eSmrg	*  testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
1658*f9a78e0eSmrg	Likewise.
1659*f9a78e0eSmrg	*  testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
1660*f9a78e0eSmrg	*  testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
1661*f9a78e0eSmrg	Likewise.
1662*f9a78e0eSmrg	*  testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
1663*f9a78e0eSmrg	*  testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
1664*f9a78e0eSmrg	*  testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
1665*f9a78e0eSmrg	*  testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
1666*f9a78e0eSmrg	*  testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
1667*f9a78e0eSmrg	*  testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
1668*f9a78e0eSmrg	*  testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
1669*f9a78e0eSmrg	*  testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
1670*f9a78e0eSmrg	*  testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
1671*f9a78e0eSmrg	*  testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
1672*f9a78e0eSmrg	*  testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
1673*f9a78e0eSmrg	*  testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
1674*f9a78e0eSmrg	*  testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
1675*f9a78e0eSmrg
1676*f9a78e0eSmrg2015-09-04  Edward Smith-Rowland  <3dw4rd@verizon.net>
1677*f9a78e0eSmrg	    Jonathan Wakely  <jwakely@redhat.com>
1678*f9a78e0eSmrg
1679*f9a78e0eSmrg	Add C++11 header <cuchar>.
1680*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Define.
1681*f9a78e0eSmrg	* config.h.in: Regenerate.
1682*f9a78e0eSmrg	* configure: Regenerate.
1683*f9a78e0eSmrg	* configure.ac: Check for <uchar.h>.
1684*f9a78e0eSmrg	* include/Makefile.am: Add new headers.
1685*f9a78e0eSmrg	* include/Makefile.in: Regenerate.
1686*f9a78e0eSmrg	* include/c/cuchar: New.
1687*f9a78e0eSmrg	* include/c_compatibility/uchar.h: New.
1688*f9a78e0eSmrg	* include/c_global/cuchar: New.
1689*f9a78e0eSmrg	* include/c_std/cuchar: New.
1690*f9a78e0eSmrg	* include/precompiled/stdc++.h: Include <cuchar>.
1691*f9a78e0eSmrg	* testsuite/17_intro/headers/c++200x/stdc++.cc: Include <uchar.h>.
1692*f9a78e0eSmrg	* testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc:
1693*f9a78e0eSmrg	Include <uchar.h>.
1694*f9a78e0eSmrg
1695*f9a78e0eSmrg2015-09-04  Jonathan Wakely  <jwakely@redhat.com>
1696*f9a78e0eSmrg
1697*f9a78e0eSmrg	PR libstdc++/65473
1698*f9a78e0eSmrg	* include/c/cassert: Include <bits/c++config.h>.
1699*f9a78e0eSmrg	* include/c/cerrno: Likewise.
1700*f9a78e0eSmrg	* include/c/cfloat: Likewise.
1701*f9a78e0eSmrg	* include/c/ciso646: Likewise.
1702*f9a78e0eSmrg	* include/c/climits: Likewise.
1703*f9a78e0eSmrg	* include/c_global/cassert: Likewise.
1704*f9a78e0eSmrg	* include/c_global/cerrno: Likewise.
1705*f9a78e0eSmrg	* include/c_global/cfloat: Likewise.
1706*f9a78e0eSmrg	* include/c_global/ciso646: Likewise.
1707*f9a78e0eSmrg	* include/c_global/climits: Likewise.
1708*f9a78e0eSmrg	* include/c_std/cassert: Likewise.
1709*f9a78e0eSmrg	* include/c_std/cerrno: Likewise.
1710*f9a78e0eSmrg	* include/c_std/cfloat: Likewise.
1711*f9a78e0eSmrg	* include/c_std/ciso646: Likewise.
1712*f9a78e0eSmrg	* include/c_std/climits: Likewise.
1713*f9a78e0eSmrg
1714*f9a78e0eSmrg2015-09-03  Jonathan Wakely  <jwakely@redhat.com>
1715*f9a78e0eSmrg
1716*f9a78e0eSmrg	* include/bits/shared_ptr_base.h: Add required header.
1717*f9a78e0eSmrg	* include/std/condition_variable: Likewise.
1718*f9a78e0eSmrg	* include/std/mutex: Remove unused header.
1719*f9a78e0eSmrg	* include/std/shared_mutex: Remove redundant header.
1720*f9a78e0eSmrg	(shared_mutex::shared_mutex()): Replace throw with __throw_bad_alloc.
1721*f9a78e0eSmrg
1722*f9a78e0eSmrg	PR libstdc++/66902
1723*f9a78e0eSmrg	* src/c++11/debug.cc (_S_debug_messages): Make array const.
1724*f9a78e0eSmrg
1725*f9a78e0eSmrg	PR libstdc++/66998
1726*f9a78e0eSmrg	* include/experimental/functional (_Not_fn): Add exception
1727*f9a78e0eSmrg	specifications and non-deduced return types.
1728*f9a78e0eSmrg	(not_fn): Add exception specification and wrap pointer-to-member.
1729*f9a78e0eSmrg	* testsuite/experimental/functional/not_fn.cc: Test in SFINAE context
1730*f9a78e0eSmrg	and test pointer-to-member.
1731*f9a78e0eSmrg
1732*f9a78e0eSmrg	PR libstdc++/62039
1733*f9a78e0eSmrg	* include/bits/stl_iterator_base_funcs.h (next, prev): Add concept
1734*f9a78e0eSmrg	checks.
1735*f9a78e0eSmrg	* testsuite/24_iterators/operations/prev_neg.cc: New.
1736*f9a78e0eSmrg	* testsuite/24_iterators/operations/next_neg.cc: New.
1737*f9a78e0eSmrg
1738*f9a78e0eSmrg2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1739*f9a78e0eSmrg
1740*f9a78e0eSmrg	* testsuite/18_support/pthread_guard.cc: Add *-*-rtems* target
1741*f9a78e0eSmrg	selector to all lines which contain a *-*-cygwin target selector.
1742*f9a78e0eSmrg	* testsuite/20_util/shared_ptr/atomic/3.cc: Likewise.
1743*f9a78e0eSmrg	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise.
1744*f9a78e0eSmrg	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
1745*f9a78e0eSmrg	* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
1746*f9a78e0eSmrg	* testsuite/21_strings/basic_string/pthread33394.cc: Likewise.
1747*f9a78e0eSmrg	* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
1748*f9a78e0eSmrg	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
1749*f9a78e0eSmrg	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
1750*f9a78e0eSmrg	* testsuite/23_containers/list/pthread1.cc: Likewise.
1751*f9a78e0eSmrg	* testsuite/23_containers/list/pthread5.cc: Likewise.
1752*f9a78e0eSmrg	* testsuite/23_containers/map/pthread6.cc: Likewise.
1753*f9a78e0eSmrg	* testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
1754*f9a78e0eSmrg	* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
1755*f9a78e0eSmrg	* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
1756*f9a78e0eSmrg	* testsuite/30_threads/async/42819.cc: Likewise.
1757*f9a78e0eSmrg	* testsuite/30_threads/async/49668.cc: Likewise.
1758*f9a78e0eSmrg	* testsuite/30_threads/async/54297.cc: Likewise.
1759*f9a78e0eSmrg	* testsuite/30_threads/async/any.cc: Likewise.
1760*f9a78e0eSmrg	* testsuite/30_threads/async/async.cc: Likewise.
1761*f9a78e0eSmrg	* testsuite/30_threads/async/launch.cc: Likewise.
1762*f9a78e0eSmrg	* testsuite/30_threads/async/lwg2021.cc: Likewise.
1763*f9a78e0eSmrg	* testsuite/30_threads/async/sync.cc: Likewise.
1764*f9a78e0eSmrg	* testsuite/30_threads/call_once/39909.cc: Likewise.
1765*f9a78e0eSmrg	* testsuite/30_threads/call_once/49668.cc: Likewise.
1766*f9a78e0eSmrg	* testsuite/30_threads/call_once/60497.cc: Likewise.
1767*f9a78e0eSmrg	* testsuite/30_threads/call_once/call_once1.cc: Likewise.
1768*f9a78e0eSmrg	* testsuite/30_threads/condition_variable/54185.cc: Likewise.
1769*f9a78e0eSmrg	* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
1770*f9a78e0eSmrg	* testsuite/30_threads/condition_variable/members/1.cc: Likewise.
1771*f9a78e0eSmrg	* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
1772*f9a78e0eSmrg	* testsuite/30_threads/condition_variable/members/3.cc: Likewise.
1773*f9a78e0eSmrg	* testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
1774*f9a78e0eSmrg	* testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
1775*f9a78e0eSmrg	Likewise.
1776*f9a78e0eSmrg	* testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
1777*f9a78e0eSmrg	* testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
1778*f9a78e0eSmrg	* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
1779*f9a78e0eSmrg	* testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
1780*f9a78e0eSmrg	* testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
1781*f9a78e0eSmrg	* testsuite/30_threads/future/cons/move.cc: Likewise.
1782*f9a78e0eSmrg	* testsuite/30_threads/future/members/45133.cc: Likewise.
1783*f9a78e0eSmrg	* testsuite/30_threads/future/members/get.cc: Likewise.
1784*f9a78e0eSmrg	* testsuite/30_threads/future/members/get2.cc: Likewise.
1785*f9a78e0eSmrg	* testsuite/30_threads/future/members/share.cc: Likewise.
1786*f9a78e0eSmrg	* testsuite/30_threads/future/members/valid.cc: Likewise.
1787*f9a78e0eSmrg	* testsuite/30_threads/future/members/wait.cc: Likewise.
1788*f9a78e0eSmrg	* testsuite/30_threads/future/members/wait_for.cc: Likewise.
1789*f9a78e0eSmrg	* testsuite/30_threads/future/members/wait_until.cc: Likewise.
1790*f9a78e0eSmrg	* testsuite/30_threads/lock/1.cc: Likewise.
1791*f9a78e0eSmrg	* testsuite/30_threads/lock/2.cc: Likewise.
1792*f9a78e0eSmrg	* testsuite/30_threads/lock/3.cc: Likewise.
1793*f9a78e0eSmrg	* testsuite/30_threads/lock/4.cc: Likewise.
1794*f9a78e0eSmrg	* testsuite/30_threads/mutex/cons/1.cc: Likewise.
1795*f9a78e0eSmrg	* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
1796*f9a78e0eSmrg	* testsuite/30_threads/mutex/lock/1.cc: Likewise.
1797*f9a78e0eSmrg	* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
1798*f9a78e0eSmrg	* testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
1799*f9a78e0eSmrg	* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
1800*f9a78e0eSmrg	* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
1801*f9a78e0eSmrg	* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
1802*f9a78e0eSmrg	* testsuite/30_threads/mutex/unlock/2.cc: Likewise.
1803*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/49668.cc: Likewise.
1804*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/60564.cc: Likewise.
1805*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
1806*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
1807*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
1808*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
1809*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
1810*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
1811*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
1812*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
1813*f9a78e0eSmrg	Likewise.
1814*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
1815*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
1816*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
1817*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
1818*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
1819*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
1820*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
1821*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
1822*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
1823*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
1824*f9a78e0eSmrg	* testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
1825*f9a78e0eSmrg	* testsuite/30_threads/promise/60966.cc: Likewise.
1826*f9a78e0eSmrg	* testsuite/30_threads/promise/cons/1.cc: Likewise.
1827*f9a78e0eSmrg	* testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1828*f9a78e0eSmrg	* testsuite/30_threads/promise/cons/move.cc: Likewise.
1829*f9a78e0eSmrg	* testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
1830*f9a78e0eSmrg	* testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
1831*f9a78e0eSmrg	* testsuite/30_threads/promise/members/get_future.cc: Likewise.
1832*f9a78e0eSmrg	* testsuite/30_threads/promise/members/get_future2.cc: Likewise.
1833*f9a78e0eSmrg	* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
1834*f9a78e0eSmrg	* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
1835*f9a78e0eSmrg	* testsuite/30_threads/promise/members/set_value.cc: Likewise.
1836*f9a78e0eSmrg	* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
1837*f9a78e0eSmrg	* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
1838*f9a78e0eSmrg	* testsuite/30_threads/promise/members/swap.cc: Likewise.
1839*f9a78e0eSmrg	* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
1840*f9a78e0eSmrg	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
1841*f9a78e0eSmrg	Likewise.
1842*f9a78e0eSmrg	* testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
1843*f9a78e0eSmrg	* testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
1844*f9a78e0eSmrg	* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
1845*f9a78e0eSmrg	Likewise.
1846*f9a78e0eSmrg	* testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
1847*f9a78e0eSmrg	* testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
1848*f9a78e0eSmrg	* testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
1849*f9a78e0eSmrg	* testsuite/30_threads/recursive_mutex/unlock/2.cc: Likewise.
1850*f9a78e0eSmrg	* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
1851*f9a78e0eSmrg	* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
1852*f9a78e0eSmrg	Likewise.
1853*f9a78e0eSmrg	* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
1854*f9a78e0eSmrg	* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
1855*f9a78e0eSmrg	* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
1856*f9a78e0eSmrg	Likewise.
1857*f9a78e0eSmrg	* testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
1858*f9a78e0eSmrg	Likewise.
1859*f9a78e0eSmrg	* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
1860*f9a78e0eSmrg	* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
1861*f9a78e0eSmrg	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
1862*f9a78e0eSmrg	Likewise.
1863*f9a78e0eSmrg	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
1864*f9a78e0eSmrg	Likewise.
1865*f9a78e0eSmrg	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
1866*f9a78e0eSmrg	Likewise.
1867*f9a78e0eSmrg	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
1868*f9a78e0eSmrg	Likewise.
1869*f9a78e0eSmrg	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
1870*f9a78e0eSmrg	Likewise.
1871*f9a78e0eSmrg	* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
1872*f9a78e0eSmrg	* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Likewise.
1873*f9a78e0eSmrg	* testsuite/30_threads/shared_future/cons/move.cc: Likewise.
1874*f9a78e0eSmrg	* testsuite/30_threads/shared_future/members/45133.cc: Likewise.
1875*f9a78e0eSmrg	* testsuite/30_threads/shared_future/members/get.cc: Likewise.
1876*f9a78e0eSmrg	* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
1877*f9a78e0eSmrg	* testsuite/30_threads/shared_future/members/valid.cc: Likewise.
1878*f9a78e0eSmrg	* testsuite/30_threads/shared_future/members/wait.cc: Likewise.
1879*f9a78e0eSmrg	* testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
1880*f9a78e0eSmrg	* testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
1881*f9a78e0eSmrg	* testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
1882*f9a78e0eSmrg	* testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
1883*f9a78e0eSmrg	* testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
1884*f9a78e0eSmrg	* testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
1885*f9a78e0eSmrg	* testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
1886*f9a78e0eSmrg	* testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
1887*f9a78e0eSmrg	* testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
1888*f9a78e0eSmrg	* testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
1889*f9a78e0eSmrg	* testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
1890*f9a78e0eSmrg	* testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
1891*f9a78e0eSmrg	* testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
1892*f9a78e0eSmrg	* testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
1893*f9a78e0eSmrg	* testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
1894*f9a78e0eSmrg	* testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
1895*f9a78e0eSmrg	* testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
1896*f9a78e0eSmrg	* testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
1897*f9a78e0eSmrg	* testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
1898*f9a78e0eSmrg	* testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
1899*f9a78e0eSmrg	* testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
1900*f9a78e0eSmrg	* testsuite/30_threads/shared_timed_mutex/unlock/1.cc: Likewise.
1901*f9a78e0eSmrg	* testsuite/30_threads/this_thread/1.cc: Likewise.
1902*f9a78e0eSmrg	* testsuite/30_threads/this_thread/2.cc: Likewise.
1903*f9a78e0eSmrg	* testsuite/30_threads/this_thread/3.cc: Likewise.
1904*f9a78e0eSmrg	* testsuite/30_threads/this_thread/4.cc: Likewise.
1905*f9a78e0eSmrg	* testsuite/30_threads/thread/cons/1.cc: Likewise.
1906*f9a78e0eSmrg	* testsuite/30_threads/thread/cons/2.cc: Likewise.
1907*f9a78e0eSmrg	* testsuite/30_threads/thread/cons/3.cc: Likewise.
1908*f9a78e0eSmrg	* testsuite/30_threads/thread/cons/4.cc: Likewise.
1909*f9a78e0eSmrg	* testsuite/30_threads/thread/cons/49668.cc: Likewise.
1910*f9a78e0eSmrg	* testsuite/30_threads/thread/cons/5.cc: Likewise.
1911*f9a78e0eSmrg	* testsuite/30_threads/thread/cons/6.cc: Likewise.
1912*f9a78e0eSmrg	* testsuite/30_threads/thread/cons/7.cc: Likewise.
1913*f9a78e0eSmrg	* testsuite/30_threads/thread/cons/8.cc: Likewise.
1914*f9a78e0eSmrg	* testsuite/30_threads/thread/cons/9.cc: Likewise.
1915*f9a78e0eSmrg	* testsuite/30_threads/thread/cons/moveable.cc: Likewise.
1916*f9a78e0eSmrg	* testsuite/30_threads/thread/members/1.cc: Likewise.
1917*f9a78e0eSmrg	* testsuite/30_threads/thread/members/2.cc: Likewise.
1918*f9a78e0eSmrg	* testsuite/30_threads/thread/members/3.cc: Likewise.
1919*f9a78e0eSmrg	* testsuite/30_threads/thread/members/4.cc: Likewise.
1920*f9a78e0eSmrg	* testsuite/30_threads/thread/members/5.cc: Likewise.
1921*f9a78e0eSmrg	* testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
1922*f9a78e0eSmrg	* testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1923*f9a78e0eSmrg	* testsuite/30_threads/thread/swap/1.cc: Likewise.
1924*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
1925*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
1926*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
1927*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
1928*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
1929*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
1930*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
1931*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
1932*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
1933*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
1934*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
1935*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
1936*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
1937*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
1938*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
1939*f9a78e0eSmrg	* testsuite/30_threads/try_lock/1.cc: Likewise.
1940*f9a78e0eSmrg	* testsuite/30_threads/try_lock/2.cc: Likewise.
1941*f9a78e0eSmrg	* testsuite/30_threads/try_lock/3.cc: Likewise.
1942*f9a78e0eSmrg	* testsuite/30_threads/try_lock/4.cc: Likewise.
1943*f9a78e0eSmrg	* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
1944*f9a78e0eSmrg	* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
1945*f9a78e0eSmrg	* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
1946*f9a78e0eSmrg	* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
1947*f9a78e0eSmrg	* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
1948*f9a78e0eSmrg	* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
1949*f9a78e0eSmrg	* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
1950*f9a78e0eSmrg	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
1951*f9a78e0eSmrg	* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
1952*f9a78e0eSmrg	* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
1953*f9a78e0eSmrg	* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
1954*f9a78e0eSmrg	* testsuite/ext/rope/pthread7-rope.cc: Likewise.
1955*f9a78e0eSmrg	* testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
1956*f9a78e0eSmrg	Likewise.
1957*f9a78e0eSmrg	* testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
1958*f9a78e0eSmrg	Likewise.
1959*f9a78e0eSmrg
1960*f9a78e0eSmrg2015-09-02  Dmitry Vyukov  <dvyukov@google.com>
1961*f9a78e0eSmrg
1962*f9a78e0eSmrg	* include/bits/basic_string.h: Fix data races on _M_refcount.
1963*f9a78e0eSmrg
1964*f9a78e0eSmrg2015-09-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1965*f9a78e0eSmrg
1966*f9a78e0eSmrg	PR libstdc++/67408
1967*f9a78e0eSmrg	* include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Use
1968*f9a78e0eSmrg	_Derived::_M_timedlock().
1969*f9a78e0eSmrg	(timed_mutex): Add _M_timedlock() and make base class a friend.
1970*f9a78e0eSmrg	(recursive_timed_mutex): Likewise.
1971*f9a78e0eSmrg
1972*f9a78e0eSmrg2015-08-28  Tim Shen  <timshen@google.com>
1973*f9a78e0eSmrg
1974*f9a78e0eSmrg	PR libstdc++/67362
1975*f9a78e0eSmrg	* include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal):
1976*f9a78e0eSmrg	Always returns ordinary char token if the char isn't
1977*f9a78e0eSmrg	considered a special char.
1978*f9a78e0eSmrg	* testsuite/28_regex/regression.cc: New test file for collecting
1979*f9a78e0eSmrg	regression testcases from, typically, bugzilla.
1980*f9a78e0eSmrg
1981*f9a78e0eSmrg2015-08-27  Jonathan Wakely  <jwakely@redhat.com>
1982*f9a78e0eSmrg
1983*f9a78e0eSmrg	PR libstdc++/67374
1984*f9a78e0eSmrg	* include/bits/range_access.h (valarray, begin, end): Declare.
1985*f9a78e0eSmrg	* testsuite/26_numerics/valarray/range_access.cc: Test const
1986*f9a78e0eSmrg	overloads.
1987*f9a78e0eSmrg	* testsuite/26_numerics/valarray/range_access2.cc: New.
1988*f9a78e0eSmrg
1989*f9a78e0eSmrg2015-08-27  John Marino  <gnugcc@marino.st>
1990*f9a78e0eSmrg
1991*f9a78e0eSmrg	* acinclude.m4 (*-*-dragonfly*): Change 7 locale support files
1992*f9a78e0eSmrg	from generic to new DragonFly versions.
1993*f9a78e0eSmrg	* configure: Regenerate.
1994*f9a78e0eSmrg	* config/locale/dragonfly/c_locale.cc: Improve locale support.
1995*f9a78e0eSmrg	* config/locale/dragonfly/ctype_members.cc: Likewise.
1996*f9a78e0eSmrg	* config/os/bsd/dragonfly/ctype_configure_char.cc: Likewise.
1997*f9a78e0eSmrg	* config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99.
1998*f9a78e0eSmrg	* config/locale/dragonfly/c_locale.h: New.
1999*f9a78e0eSmrg	* config/locale/dragonfly/codecvt_members.cc: New.
2000*f9a78e0eSmrg	* config/locale/dragonfly/collate_members.cc: New.
2001*f9a78e0eSmrg	* config/locale/dragonfly/monetary_members.cc: New.
2002*f9a78e0eSmrg	* config/locale/dragonfly/numeric_members.cc: New.
2003*f9a78e0eSmrg	* config/locale/dragonfly/time_members.cc: New.
2004*f9a78e0eSmrg	* config/locale/dragonfly/time_members.h: New.
2005*f9a78e0eSmrg
2006*f9a78e0eSmrg2015-08-27  Jonathan Wakely  <jwakely@redhat.com>
2007*f9a78e0eSmrg
2008*f9a78e0eSmrg	* configure: Regenerate.
2009*f9a78e0eSmrg
2010*f9a78e0eSmrg2015-08-26  Edward Smith-Rowland  <3dw4rd@verizon.net>
2011*f9a78e0eSmrg	    Jonathan Wakely  <jwakely@redhat.com>
2012*f9a78e0eSmrg
2013*f9a78e0eSmrg	PR libstdc++/64351
2014*f9a78e0eSmrg	PR libstdc++/63176
2015*f9a78e0eSmrg	* include/bits/random.tcc (generate_canonical): Loop until we get a
2016*f9a78e0eSmrg	result less than one.
2017*f9a78e0eSmrg	* testsuite/26_numerics/random/uniform_real_distribution/operators/
2018*f9a78e0eSmrg	64351.cc: New.
2019*f9a78e0eSmrg
2020*f9a78e0eSmrg2015-08-26  Jonathan Wakely  <jwakely@redhat.com>
2021*f9a78e0eSmrg
2022*f9a78e0eSmrg	* include/bits/shared_ptr.h (__enable_shared_from_this_helper): Use
2023*f9a78e0eSmrg	nullptr.
2024*f9a78e0eSmrg	* include/bits/shared_ptr_base.h (weak_ptr::_M_assign): Don't assign
2025*f9a78e0eSmrg	if ownership is already shared with a shared_ptr object.
2026*f9a78e0eSmrg	(__enable_shared_from_this_helper): Use nullptr.
2027*f9a78e0eSmrg	* testsuite/20_util/enable_shared_from_this/members/const.cc: New.
2028*f9a78e0eSmrg	* testsuite/20_util/enable_shared_from_this/members/reinit.cc: New.
2029*f9a78e0eSmrg	* testsuite/20_util/enable_shared_from_this/requirements/
2030*f9a78e0eSmrg	explicit_instantiation.cc: Instantiate with const and incomplete types.
2031*f9a78e0eSmrg
2032*f9a78e0eSmrg	* include/debug/map.h (map::try_emplace, map::insert_or_assign):
2033*f9a78e0eSmrg	Define.
2034*f9a78e0eSmrg	* include/debug/unordered_map (unordered_map::try_emplace,
2035*f9a78e0eSmrg	unordered_map::insert_or_assign): Define.
2036*f9a78e0eSmrg
2037*f9a78e0eSmrg	PR libstdc++/66902
2038*f9a78e0eSmrg	* src/c++11/debug.cc (_S_debug_messages): Give internal linkage.
2039*f9a78e0eSmrg
2040*f9a78e0eSmrg2015-08-24  François Dumont  <fdumont@gcc.gnu.org>
2041*f9a78e0eSmrg
2042*f9a78e0eSmrg	PR libstdc++/60519
2043*f9a78e0eSmrg	* include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
2044*f9a78e0eSmrg	New enum entry.
2045*f9a78e0eSmrg	* include/debug/functions.h (_Irreflexive_checker): New.
2046*f9a78e0eSmrg	(__is_irreflexive, __is_irreflexive_pred): New.
2047*f9a78e0eSmrg	* include/debug/macros.h
2048*f9a78e0eSmrg	(__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
2049*f9a78e0eSmrg	macros.
2050*f9a78e0eSmrg	(__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
2051*f9a78e0eSmrg	macros limited to post-C++11 mode.
2052*f9a78e0eSmrg	* include/debug/debug.h
2053*f9a78e0eSmrg	(__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
2054*f9a78e0eSmrg	New macros, use latter.
2055*f9a78e0eSmrg	(__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
2056*f9a78e0eSmrg	Likewise.
2057*f9a78e0eSmrg	* include/bits/stl_algo.h
2058*f9a78e0eSmrg	(partial_sort_copy): Add irreflexive debug check.
2059*f9a78e0eSmrg	(partial_sort_copy): Likewise.
2060*f9a78e0eSmrg	(lower_bound): Likewise.
2061*f9a78e0eSmrg	(upper_bound): Likewise.
2062*f9a78e0eSmrg	(equal_range): Likewise.
2063*f9a78e0eSmrg	(binary_search): Likewise.
2064*f9a78e0eSmrg	(inplace_merge): Likewise.
2065*f9a78e0eSmrg	(includes): Likewise.
2066*f9a78e0eSmrg	(next_permutation): Likewise.
2067*f9a78e0eSmrg	(prev_permutation): Likewise.
2068*f9a78e0eSmrg	(is_sorted_until): Likewise.
2069*f9a78e0eSmrg	(minmax_element): Likewise.
2070*f9a78e0eSmrg	(partial_sort): Likewise.
2071*f9a78e0eSmrg	(nth_element): Likewise.
2072*f9a78e0eSmrg	(sort): Likewise.
2073*f9a78e0eSmrg	(merge): Likewise.
2074*f9a78e0eSmrg	(stable_sort): Likewise.
2075*f9a78e0eSmrg	(set_union): Likewise.
2076*f9a78e0eSmrg	(set_intersection): Likewise.
2077*f9a78e0eSmrg	(set_difference): Likewise.
2078*f9a78e0eSmrg	(set_symmetric_difference): Likewise.
2079*f9a78e0eSmrg	(min_element): Likewise.
2080*f9a78e0eSmrg	(max_element): Likewise.
2081*f9a78e0eSmrg	* include/bits/stl_algobase.h
2082*f9a78e0eSmrg	(lower_bound): Likewise.
2083*f9a78e0eSmrg	(lexicographical_compare): Likewise.
2084*f9a78e0eSmrg	* include/bits/stl_heap.h
2085*f9a78e0eSmrg	(push_heap): Likewise.
2086*f9a78e0eSmrg	(pop_heap): Likewise.
2087*f9a78e0eSmrg	(make_heap): Likewise.
2088*f9a78e0eSmrg	(sort_heap): Likewise.
2089*f9a78e0eSmrg	(is_heap_until): Likewise.
2090*f9a78e0eSmrg	* testsuite/25_algorithms/lexicographical_compare/debug/
2091*f9a78e0eSmrg	irreflexive_neg.cc: New.
2092*f9a78e0eSmrg	* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
2093*f9a78e0eSmrg	* testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
2094*f9a78e0eSmrg	New.
2095*f9a78e0eSmrg
2096*f9a78e0eSmrg2015-08-24  Jonathan Wakely  <jwakely@redhat.com>
2097*f9a78e0eSmrg
2098*f9a78e0eSmrg	PR libstdc++/65049
2099*f9a78e0eSmrg	* include/bits/char_traits.h (char_traits<char>::compare,
2100*f9a78e0eSmrg	char_traits<char>::find, char_traits<char>::move,
2101*f9a78e0eSmrg	char_traits<char>::copy, char_traits<char>::assign): Check for zero
2102*f9a78e0eSmrg	length.
2103*f9a78e0eSmrg	(char_traits<wchar_t>::compare, char_traits<wchar_t>::find,
2104*f9a78e0eSmrg	char_traits<wchar_t>::move, char_traits<wchar_t>::copy,
2105*f9a78e0eSmrg	char_traits<wchar_t>::assign): Likewise.
2106*f9a78e0eSmrg	(char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise.
2107*f9a78e0eSmrg	(char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise.
2108*f9a78e0eSmrg	* include/ext/pod_char_traits.h (char_traits<character<>>::move,
2109*f9a78e0eSmrg	char_traits<character<>>::copy): Likewise.
2110*f9a78e0eSmrg	* testsuite/21_strings/char_traits/requirements/char/65049.cc: New.
2111*f9a78e0eSmrg	* testsuite/21_strings/char_traits/requirements/char16_t/65049.cc:
2112*f9a78e0eSmrg	New.
2113*f9a78e0eSmrg	* testsuite/21_strings/char_traits/requirements/char32_t/65049.cc:
2114*f9a78e0eSmrg	New.
2115*f9a78e0eSmrg	* testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc:
2116*f9a78e0eSmrg	New.
2117*f9a78e0eSmrg
2118*f9a78e0eSmrg	PR libstdc++/67309
2119*f9a78e0eSmrg	* include/bits/random.tcc
2120*f9a78e0eSmrg	(poisson_distribution::param_type::_M_initialize): Use max<double>.
2121*f9a78e0eSmrg	(binomial_distribution::param_type::_M_initialize): Likewise.
2122*f9a78e0eSmrg	* testsuite/17_intro/headers/c++200x/67309.cc: New.
2123*f9a78e0eSmrg	* testsuite/17_intro/headers/c++200x/all_attributes.cc: Remove
2124*f9a78e0eSmrg	redundant header.
2125*f9a78e0eSmrg
2126*f9a78e0eSmrg2015-08-20  Jonathan Wakely  <jwakely@redhat.com>
2127*f9a78e0eSmrg
2128*f9a78e0eSmrg	PR libstdc++/67294
2129*f9a78e0eSmrg	* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Do not run
2130*f9a78e0eSmrg	on Darwin.
2131*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
2132*f9a78e0eSmrg
2133*f9a78e0eSmrg	* include/experimental/any (__any_caster): Define at namespace scope
2134*f9a78e0eSmrg	so the name is visible to name lookup.
2135*f9a78e0eSmrg	* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
2136*f9a78e0eSmrg
2137*f9a78e0eSmrg	* python/Makefile.am: Ensure gdb.py is installed for libstdc++ not
2138*f9a78e0eSmrg	libstdc++fs.
2139*f9a78e0eSmrg	* python/Makefile.in: Regenerate.
2140*f9a78e0eSmrg
2141*f9a78e0eSmrg2015-08-19  Paolo Carlini  <paolo.carlini@oracle.com>
2142*f9a78e0eSmrg
2143*f9a78e0eSmrg	* include/c_global/cmath: Fix typo in comment.
2144*f9a78e0eSmrg
2145*f9a78e0eSmrg2015-08-19  Paolo Carlini  <paolo.carlini@oracle.com>
2146*f9a78e0eSmrg
2147*f9a78e0eSmrg	* include/c_global/cmath: Revert fix for libstdc++/58625, no
2148*f9a78e0eSmrg	longer necessary (__builtin_signbit is now type-generic).
2149*f9a78e0eSmrg
2150*f9a78e0eSmrg2015-08-18  Jonathan Wakely  <jwakely@redhat.com>
2151*f9a78e0eSmrg
2152*f9a78e0eSmrg	PR c++/67216
2153*f9a78e0eSmrg	* testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
2154*f9a78e0eSmrg	Fix use of safe-bool idiom that isn't valid in C++11.
2155*f9a78e0eSmrg
2156*f9a78e0eSmrg	* include/bits/ptr_traits.h: Include <bits/move.h> for addressof.
2157*f9a78e0eSmrg
2158*f9a78e0eSmrg	PR libstdc++/67066
2159*f9a78e0eSmrg	* doc/xml/manual/configure.xml (manual.intro.setup.configure): Add
2160*f9a78e0eSmrg	caveats for --enable-concept-checks. Improve link text.
2161*f9a78e0eSmrg	* doc/xml/manual/diagnostics.xml (std.diagnostics.concept_checking):
2162*f9a78e0eSmrg	Clarify caveats.
2163*f9a78e0eSmrg	* doc/html/*: Regenerate.
2164*f9a78e0eSmrg	* include/bits/stl_deque.h (deque): Only use concept checks in C++03.
2165*f9a78e0eSmrg	* include/bits/stl_stack.h (stack): Likewise.
2166*f9a78e0eSmrg	* include/bits/stl_vector.h (vector): Likewise.
2167*f9a78e0eSmrg
2168*f9a78e0eSmrg2015-08-14  Jonathan Wakely  <jwakely@redhat.com>
2169*f9a78e0eSmrg
2170*f9a78e0eSmrg	* include/experimental/any (any::operator=(const any&)): Move check
2171*f9a78e0eSmrg	for self-assignment.
2172*f9a78e0eSmrg	(any::operator=(any&&)): Add check for self-assignment.
2173*f9a78e0eSmrg	(any::operator=(_ValueType&&)): Constrain template argument.
2174*f9a78e0eSmrg	(any::swap(any&)): Add check for self-swap.
2175*f9a78e0eSmrg	* testsuite/experimental/any/assign/self.cc: Test move and swap.
2176*f9a78e0eSmrg	* testsuite/experimental/any/misc/any_cast_neg.cc: Update dg-error.
2177*f9a78e0eSmrg
2178*f9a78e0eSmrg2015-08-14  Jonathan Wakely  <jwakely@redhat.com>
2179*f9a78e0eSmrg
2180*f9a78e0eSmrg	* include/experimental/array: Add feature-test macro.
2181*f9a78e0eSmrg	* testsuite/experimental/array/neg.cc: Update dg-error.
2182*f9a78e0eSmrg
2183*f9a78e0eSmrg2015-08-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
2184*f9a78e0eSmrg
2185*f9a78e0eSmrg	* testsuite/experimental/array/neg.s: Remove.
2186*f9a78e0eSmrg	* testsuite/experimental/array/neg.ii.gz: Remove.
2187*f9a78e0eSmrg
2188*f9a78e0eSmrg2015-08-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
2189*f9a78e0eSmrg
2190*f9a78e0eSmrg	Implement std::experimental::fundamentals_v2::make_array and
2191*f9a78e0eSmrg	std::experimental::fundamentals_v2::to_array.
2192*f9a78e0eSmrg	* include/Makefile.am: Add array.
2193*f9a78e0eSmrg	* include/Makefile.in: Add array.
2194*f9a78e0eSmrg	* include/experimental/array: New.
2195*f9a78e0eSmrg	* testsuite/experimental/array/make_array.cc: Likewise.
2196*f9a78e0eSmrg	* testsuite/experimental/array/neg.cc: Likewise.
2197*f9a78e0eSmrg	* doc/html/manual/status.html: Mark make_array as Y.
2198*f9a78e0eSmrg	* doc/xml/manual/status_cxx2017.xml: Likewise.
2199*f9a78e0eSmrg
2200*f9a78e0eSmrg2015-08-13  Jonathan Wakely  <jwakely@redhat.com>
2201*f9a78e0eSmrg
2202*f9a78e0eSmrg	* include/bits/alloc_traits.h: Add feature-test macro.
2203*f9a78e0eSmrg	* include/bits/allocator.h: Likewise.
2204*f9a78e0eSmrg	* include/bits/range_access.h: Likewise.
2205*f9a78e0eSmrg	* include/bits/stl_map.h: Likewise.
2206*f9a78e0eSmrg	* include/bits/unordered_map.h: Likewise.
2207*f9a78e0eSmrg
2208*f9a78e0eSmrg2015-08-13  Jonathan Wakely  <jwakely@redhat.com>
2209*f9a78e0eSmrg
2210*f9a78e0eSmrg	* testsuite/30_threads/mutex/unlock/2.cc: New.
2211*f9a78e0eSmrg	* testsuite/30_threads/recursive_mutex/unlock/2.cc: New.
2212*f9a78e0eSmrg	* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: New.
2213*f9a78e0eSmrg	* testsuite/30_threads/shared_mutex/unlock/1.cc: New.
2214*f9a78e0eSmrg	* testsuite/30_threads/shared_timed_mutex/unlock/1.cc: New.
2215*f9a78e0eSmrg	* testsuite/30_threads/timed_mutex/unlock/2.cc: New.
2216*f9a78e0eSmrg
2217*f9a78e0eSmrg2015-08-13  Eelis van der Weegen  <eelis@eelis.net>
2218*f9a78e0eSmrg
2219*f9a78e0eSmrg	* include/std/shared_mutex (shared_mutex::unlock()): Fix typo.
2220*f9a78e0eSmrg
2221*f9a78e0eSmrg2015-08-12  Caroline Tice <cmtice@google.com>
2222*f9a78e0eSmrg
2223*f9a78e0eSmrg	PR 66521, Contributed by Eric Gallager
2224*f9a78e0eSmrg	* acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and
2225*f9a78e0eSmrg	fix the rpath flag to work properly for darwin.
2226*f9a78e0eSmrg	* configure: Regenerated.
2227*f9a78e0eSmrg
2228*f9a78e0eSmrg2015-08-12  Jonathan Wakely  <jwakely@redhat.com>
2229*f9a78e0eSmrg
2230*f9a78e0eSmrg	* doc/xml/manual/appendix_contributing.xml: Update patch email policy.
2231*f9a78e0eSmrg	* doc/xml/manual/status_cxx2017.xml: Update status table.
2232*f9a78e0eSmrg	* doc/html/manual/*: Regenerate.
2233*f9a78e0eSmrg
2234*f9a78e0eSmrg2015-08-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
2235*f9a78e0eSmrg
2236*f9a78e0eSmrg	Implement N4279, Improved insertion interface for unique-key maps.
2237*f9a78e0eSmrg	* include/bits/stl_map.h (try_emplace, insert_or_assign): New.
2238*f9a78e0eSmrg	* include/bits/stl_tree.h (_M_get_insert_unique_pos,
2239*f9a78e0eSmrg	_M_get_insert_equal_pos, _M_get_insert_hint_unique_pos,
2240*f9a78e0eSmrg	_M_get_insert_hint_equal_pos): Make public.
2241*f9a78e0eSmrg	* include/bits/unordered_map.h (try_emplace, insert_or_assign): New.
2242*f9a78e0eSmrg	* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
2243*f9a78e0eSmrg	Likewise.
2244*f9a78e0eSmrg	* testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
2245*f9a78e0eSmrg	* testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
2246*f9a78e0eSmrg	Likewise.
2247*f9a78e0eSmrg	* testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
2248*f9a78e0eSmrg	Likewise.
2249*f9a78e0eSmrg
2250*f9a78e0eSmrg2015-08-08  Ville Voutilainen  <ville.voutilainen@gmail.com>
2251*f9a78e0eSmrg
2252*f9a78e0eSmrg	Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118)
2253*f9a78e0eSmrg	and N4366 LWG 2228: Missing SFINAE rule in unique_ptr
2254*f9a78e0eSmrg	templated assignment
2255*f9a78e0eSmrg	* include/bits/unique_ptr.h
2256*f9a78e0eSmrg	(__remove_cv, __is_derived_Tp): Remove.
2257*f9a78e0eSmrg	(default_delete::default_delete(const default_delete<_Up[]>)):
2258*f9a78e0eSmrg	Constrain with array convertibility.
2259*f9a78e0eSmrg	(default_delete::operator(_Up*)): Turn into a template,
2260*f9a78e0eSmrg	constrain with array convertibility.
2261*f9a78e0eSmrg	(__safe_conversion_up): New, single object version.
2262*f9a78e0eSmrg	(unique_ptr(unique_ptr<_Up, _Ep>&&)): Constrain with deleter
2263*f9a78e0eSmrg	convertibility.
2264*f9a78e0eSmrg	(unique_ptr::operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
2265*f9a78e0eSmrg	is_assignable as a constraint.
2266*f9a78e0eSmrg	(__safe_conversion_up): Array version, renamed from __safe_conversion,
2267*f9a78e0eSmrg	updated to implement N4089.
2268*f9a78e0eSmrg	(__safe_conversion_raw): New.
2269*f9a78e0eSmrg	(unique_ptr(_Up)): Turn into a template, constrain with array
2270*f9a78e0eSmrg	convertibility.
2271*f9a78e0eSmrg	(unique_ptr(_Up,
2272*f9a78e0eSmrg	typename conditional<is_reference<deleter_type>::value,
2273*f9a78e0eSmrg	deleter_type, const deleter_type&>::type)): Likewise.
2274*f9a78e0eSmrg	(unique_ptr(_Up, typename
2275*f9a78e0eSmrg	remove_reference<deleter_type>::type&&)): Likewise.
2276*f9a78e0eSmrg	(unique_ptr(unique_ptr<_Up, _Ep>&&)): Likewise.
2277*f9a78e0eSmrg	(operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
2278*f9a78e0eSmrg	is_assignable as a constraint (array version).
2279*f9a78e0eSmrg	(reset(_Up)): Turn into a template, constrain with array
2280*f9a78e0eSmrg	convertibility.
2281*f9a78e0eSmrg	(reset(nullptr_t)): New.
2282*f9a78e0eSmrg	* testsuite/20_util/default_delete/48631_neg.cc: Adjust.
2283*f9a78e0eSmrg	* testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
2284*f9a78e0eSmrg	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
2285*f9a78e0eSmrg	* testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
2286*f9a78e0eSmrg	* testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
2287*f9a78e0eSmrg	* testsuite/20_util/unique_ptr/dr2228.cc: New.
2288*f9a78e0eSmrg	* testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Adjust.
2289*f9a78e0eSmrg
2290*f9a78e0eSmrg2015-08-05  Nikolai Bozhenov  <n.bozhenov@samsung.com>
2291*f9a78e0eSmrg
2292*f9a78e0eSmrg	* testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Remove
2293*f9a78e0eSmrg	redundant -save-temps option.
2294*f9a78e0eSmrg	* testsuite/20_util/shared_ptr/cons/constexpr.cc: Likewise.
2295*f9a78e0eSmrg	* testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise.
2296*f9a78e0eSmrg	* testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise.
2297*f9a78e0eSmrg	* testsuite/30_threads/future/cons/constexpr.cc: Likewise.
2298*f9a78e0eSmrg	* testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.
2299*f9a78e0eSmrg
2300*f9a78e0eSmrg2015-08-03  Jonathan Wakely  <jwakely@redhat.com>
2301*f9a78e0eSmrg
2302*f9a78e0eSmrg	PR libstdc++/67078
2303*f9a78e0eSmrg	* include/bits/range_access.h (size, empty, data): Fix _N bad name.
2304*f9a78e0eSmrg
2305*f9a78e0eSmrg2015-07-30  Jonathan Wakely  <jwakely@redhat.com>
2306*f9a78e0eSmrg
2307*f9a78e0eSmrg	* testsuite/experimental/filesystem/operations/current_path.cc: Use
2308*f9a78e0eSmrg	canonical paths for comparisons.
2309*f9a78e0eSmrg
2310*f9a78e0eSmrg2015-07-30  Tim Shen  <timshen@google.com>
2311*f9a78e0eSmrg
2312*f9a78e0eSmrg	* include/bits/regex_automaton.h (_State_base, _State<>):
2313*f9a78e0eSmrg	Remove _TraitsT dependency from _State<>; Make matcher member
2314*f9a78e0eSmrg	into the union to reduce struct size.
2315*f9a78e0eSmrg	* include/bits/regex_automaton.tcc (_State_base<>::_M_print,
2316*f9a78e0eSmrg	_State_base<>::_M_dot, _StateSeq<>::_M_clone):
2317*f9a78e0eSmrg	Adjust to fit the interface. Factor out common parts in
2318*f9a78e0eSmrg	_M_clone as _State<>::_M_has_alt.
2319*f9a78e0eSmrg	* include/bits/regex_executor.h (_Executer<>::_M_lookahead):
2320*f9a78e0eSmrg	Only pass state id instead of the whole state.
2321*f9a78e0eSmrg	* include/bits/regex_executor.tcc (_Executer<>::_M_dfs,
2322*f9a78e0eSmrg	_Executer<>::_M_lookahead): Adjust to fit the interface.
2323*f9a78e0eSmrg	* include/std/regex: Include <ext/aligned_buffer.h>
2324*f9a78e0eSmrg
2325*f9a78e0eSmrg2015-07-30  Jonathan Wakely  <jwakely@redhat.com>
2326*f9a78e0eSmrg
2327*f9a78e0eSmrg	* include/experimental/any (any::operator=(const any&)): Check for
2328*f9a78e0eSmrg	self-assignment.
2329*f9a78e0eSmrg	* testsuite/experimental/any/assign/self.cc: New.
2330*f9a78e0eSmrg	* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
2331*f9a78e0eSmrg
2332*f9a78e0eSmrg2015-07-29  Jonathan Wakely  <jwakely@redhat.com>
2333*f9a78e0eSmrg
2334*f9a78e0eSmrg	PR libstdc++/66829
2335*f9a78e0eSmrg	* testsuite/lib/libstdc++.exp (v3-build_support): Compile
2336*f9a78e0eSmrg	testsuite_shared.cc with -std=gnu++98.
2337*f9a78e0eSmrg
2338*f9a78e0eSmrg2015-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
2339*f9a78e0eSmrg
2340*f9a78e0eSmrg	* include/bits/range_access.h: Change class to typename in every
2341*f9a78e0eSmrg	template.
2342*f9a78e0eSmrg	(size, empty, data): New functions from N4280.
2343*f9a78e0eSmrg	* testsuite/24_iterators/container_access.cc: New.
2344*f9a78e0eSmrg
2345*f9a78e0eSmrg	PR libstdc++/60970
2346*f9a78e0eSmrg	* include/bits/functional_hash.h (__hash_enum): New.
2347*f9a78e0eSmrg	(hash): Derive from __hash_enum.
2348*f9a78e0eSmrg	* testsuite/20_util/hash/60970.cc: New.
2349*f9a78e0eSmrg
2350*f9a78e0eSmrg2015-07-29  Tim Shen  <timshen@google.com>
2351*f9a78e0eSmrg
2352*f9a78e0eSmrg	PR libstdc++/67015
2353*f9a78e0eSmrg	* include/bits/regex_compiler.h (_Compiler<>::_M_expression_term,
2354*f9a78e0eSmrg	_BracketMatcher<>::_M_add_collating_element): Change signature
2355*f9a78e0eSmrg	to make checking the and of bracket expression easier.
2356*f9a78e0eSmrg	* include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term):
2357*f9a78e0eSmrg	Treat '-' as a valid literal if it's at the end of bracket expression.
2358*f9a78e0eSmrg	* testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
2359*f9a78e0eSmrg	New testcases.
2360*f9a78e0eSmrg
2361*f9a78e0eSmrg2015-07-24  Jonathan Wakely  <jwakely@redhat.com>
2362*f9a78e0eSmrg
2363*f9a78e0eSmrg	* include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX]
2364*f9a78e0eSmrg	(_M_load_and_test_until): Whitespace.
2365*f9a78e0eSmrg	(_M_load_and_test): Value-initialize the unused durations.
2366*f9a78e0eSmrg	(_M_load_when_equal): Add missing return value.
2367*f9a78e0eSmrg
2368*f9a78e0eSmrg2015-07-24  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
2369*f9a78e0eSmrg
2370*f9a78e0eSmrg	* fragment.am (AM_CPPFLAGS): Add CPPFLAGS.
2371*f9a78e0eSmrg	* Makefile.in: Regenerate.
2372*f9a78e0eSmrg	* doc/Makefile.in: Regenerate.
2373*f9a78e0eSmrg	* include/Makefile.in: Regenerate.
2374*f9a78e0eSmrg	* libsupc++/Makefile.in: Regenerate.
2375*f9a78e0eSmrg	* po/Makefile.in: Regenerate.
2376*f9a78e0eSmrg	* python/Makefile.in: Regenerate.
2377*f9a78e0eSmrg	* src/Makefile.in: Regenerate.
2378*f9a78e0eSmrg	* src/c++11/Makefile.in: Regenerate.
2379*f9a78e0eSmrg	* src/c++98/Makefile.in: Regenerate.
2380*f9a78e0eSmrg	* src/filesystem/Makefile.in: Regenerate.
2381*f9a78e0eSmrg	* testsuite/Makefile.in: Regenerate.
2382*f9a78e0eSmrg
2383*f9a78e0eSmrg2015-07-23  DJ Delorie  <dj@redhat.com>
2384*f9a78e0eSmrg
2385*f9a78e0eSmrg	* include/bits/functional_hash.h: Add specializations for __intN
2386*f9a78e0eSmrg	types.
2387*f9a78e0eSmrg
2388*f9a78e0eSmrg	* include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp (__gnu_pbds):
2389*f9a78e0eSmrg	Guard against values that might exceed size_t's precision.
2390*f9a78e0eSmrg
2391*f9a78e0eSmrg2015-07-20  Jason Merrill  <jason@redhat.com>
2392*f9a78e0eSmrg
2393*f9a78e0eSmrg	* include/bits/c++config: Fix abi_tag in special modes.
2394*f9a78e0eSmrg
2395*f9a78e0eSmrg2015-07-19  Jonathan Wakely  <jwakely@redhat.com>
2396*f9a78e0eSmrg
2397*f9a78e0eSmrg	* doc/xml/manual/status_cxx2017.xml: Fix URL for N4279.
2398*f9a78e0eSmrg	* doc/html/manual/status.html: Regenerate.
2399*f9a78e0eSmrg
2400*f9a78e0eSmrg2015-07-17  Jonathan Wakely  <jwakely@redhat.com>
2401*f9a78e0eSmrg
2402*f9a78e0eSmrg	* doc/xml/manual/status_cxx2011.xml: Add caveats for native_handle.
2403*f9a78e0eSmrg	* doc/html/manual/status.html: Regenerate.
2404*f9a78e0eSmrg
2405*f9a78e0eSmrg2015-07-16  François Dumont  <fdumont@gcc.gnu.org>
2406*f9a78e0eSmrg
2407*f9a78e0eSmrg	* include/bits/stl_algobase.h (__miter_base): Move...
2408*f9a78e0eSmrg	* include/bits/cpp_type_traits.h: ...here.
2409*f9a78e0eSmrg	* include/debug/functions.h (__foreign_iterator_aux): Use latter.
2410*f9a78e0eSmrg	* testsuite/23_containers/vector/debug/insert7_neg.cc: New.
2411*f9a78e0eSmrg
2412*f9a78e0eSmrg2015-07-13  Jonathan Wakely  <jwakely@redhat.com>
2413*f9a78e0eSmrg
2414*f9a78e0eSmrg	PR libstdc++/66855
2415*f9a78e0eSmrg	* src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override
2416*f9a78e0eSmrg	endianness bit in mode.
2417*f9a78e0eSmrg	* testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New.
2418*f9a78e0eSmrg
2419*f9a78e0eSmrg	* include/bits/c++config (_GLIBCXX_NOEXCEPT_IF): Define.
2420*f9a78e0eSmrg	* include/bits/forward_list.h (forward_list::swap): Make noexcept
2421*f9a78e0eSmrg	unconditional.
2422*f9a78e0eSmrg	* include/bits/hashtable.h (_Hashtable::swap): Do not use
2423*f9a78e0eSmrg	_S_nothrow_swap().
2424*f9a78e0eSmrg	* include/bits/stl_bvector.h (vector<bool>::swap): Make noexcept
2425*f9a78e0eSmrg	unconditional.
2426*f9a78e0eSmrg	* include/bits/stl_deque.h (deque::swap): Likewise.
2427*f9a78e0eSmrg	(swap(deque&, deque&)): Use _GLIBCXX_NOEXCEPT_IF.
2428*f9a78e0eSmrg	* include/bits/stl_list.h (list::swap): Make noexcept unconditional.
2429*f9a78e0eSmrg	(swap(list&, list&)): Use _GLIBCXX_NOEXCEPT_IF.
2430*f9a78e0eSmrg	* include/bits/stl_map.h (map::swap, swap(map&, map&)): Use
2431*f9a78e0eSmrg	_GLIBCXX_NOEXCEPT_IF, do not depend on _S_nothrow_swap.
2432*f9a78e0eSmrg	* include/bits/stl_multimap.h (multimap::swap,
2433*f9a78e0eSmrg	swap(multimap&, multimap&)): Likewise.
2434*f9a78e0eSmrg	* include/bits/stl_multiset.h (multiset::swap,
2435*f9a78e0eSmrg	swap(multiset&, multiset&)): Likewise.
2436*f9a78e0eSmrg	* include/bits/stl_set.h (set::swap, swap(set&, set&)): Likewise.
2437*f9a78e0eSmrg	* include/bits/stl_tree.h (_Rb_tree::swap,
2438*f9a78e0eSmrg	swap(_Rb_tree&, _Rb_tree&)): Likewise.
2439*f9a78e0eSmrg	* include/bits/stl_vector.h (vector::swap): Make noexcept
2440*f9a78e0eSmrg	unconditional.
2441*f9a78e0eSmrg	(swap(vector&, vector&)): Use _GLIBCXX_NOEXCEPT_IF.
2442*f9a78e0eSmrg	* include/debug/deque (deque::swap, swap): Likewise.
2443*f9a78e0eSmrg	* include/debug/forward_list (swap): Add noexcept.
2444*f9a78e0eSmrg	* include/debug/list (list::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
2445*f9a78e0eSmrg	* include/debug/map.h (map::swap, swap): Likewise.
2446*f9a78e0eSmrg	* include/debug/multimap.h (multimap::swap, swap): Likewise.
2447*f9a78e0eSmrg	* include/debug/multiset.h (multiset::Swap, swap): Likewise.
2448*f9a78e0eSmrg	* include/debug/set.h (set::swap, swap): Likewise.
2449*f9a78e0eSmrg	* include/debug/unordered_map (unordered_map::swap,
2450*f9a78e0eSmrg	unordered_multimap::swap, swap): Likewise.
2451*f9a78e0eSmrg	* include/debug/unordered_set (unordered_set::swap,
2452*f9a78e0eSmrg	unordered_multiset::swap, swap): Likewise.
2453*f9a78e0eSmrg	* include/debug/vector (vector::swap, swap): Likewise.
2454*f9a78e0eSmrg	* include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()):
2455*f9a78e0eSmrg	Remove.
2456*f9a78e0eSmrg	* include/profile/deque (deque::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
2457*f9a78e0eSmrg	* include/profile/forward_list (swap): Add noexcept.
2458*f9a78e0eSmrg	* include/profile/list (list::swap, swap) : Use _GLIBCXX_NOEXCEPT_IF.
2459*f9a78e0eSmrg	* include/profile/map.h (map::swap, swap): Likewise.
2460*f9a78e0eSmrg	* include/profile/multimap.h (multimap::swap, swap): Likewise.
2461*f9a78e0eSmrg	* include/profile/multiset.h (multiset::swap, swap): Likewise.
2462*f9a78e0eSmrg	* include/profile/set.h (set::swap, swap): Likewise.
2463*f9a78e0eSmrg	* include/profile/unordered_map (swap): Likewise.
2464*f9a78e0eSmrg	* include/profile/unordered_set (swap): Likewise.
2465*f9a78e0eSmrg	* include/profile/vector (vector::swap, swap): Likewise. Remove
2466*f9a78e0eSmrg	overloads for swapping rvalues.
2467*f9a78e0eSmrg	* testsuite/23_containers/deque/allocator/noexcept.cc: Update tests
2468*f9a78e0eSmrg	for noexcept on swap.
2469*f9a78e0eSmrg	* testsuite/23_containers/forward_list/allocator/noexcept.cc:
2470*f9a78e0eSmrg	Likewise.
2471*f9a78e0eSmrg	* testsuite/23_containers/list/allocator/noexcept.cc: Likewise.
2472*f9a78e0eSmrg	* testsuite/23_containers/map/allocator/noexcept.cc: Likewise.
2473*f9a78e0eSmrg	* testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise.
2474*f9a78e0eSmrg	* testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise.
2475*f9a78e0eSmrg	* testsuite/23_containers/set/allocator/noexcept.cc: Likewise.
2476*f9a78e0eSmrg	* testsuite/23_containers/unordered_map/allocator/noexcept.cc:
2477*f9a78e0eSmrg	Likewise.
2478*f9a78e0eSmrg	* testsuite/23_containers/unordered_multimap/allocator/noexcept.cc:
2479*f9a78e0eSmrg	Likewise.
2480*f9a78e0eSmrg	* testsuite/23_containers/unordered_multiset/allocator/noexcept.cc:
2481*f9a78e0eSmrg	Likewise.
2482*f9a78e0eSmrg	* testsuite/23_containers/unordered_set/allocator/noexcept.cc:
2483*f9a78e0eSmrg	Likewise.
2484*f9a78e0eSmrg	* testsuite/23_containers/vector/allocator/noexcept.cc: Likewise.
2485*f9a78e0eSmrg	* testsuite/23_containers/vector/bool/allocator/noexcept.cc: Likewise.
2486*f9a78e0eSmrg	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
2487*f9a78e0eSmrg	number.
2488*f9a78e0eSmrg
2489*f9a78e0eSmrg2015-07-13  John Marino  <gnugcc@marino.st>
2490*f9a78e0eSmrg
2491*f9a78e0eSmrg	* config/os/bsd/dragonfly/os_defines.h (_GLIBCXX_USE_C99_CHECK,
2492*f9a78e0eSmrg	_GLIBCXX_USE_C99_DYNAMIC, _GLIBCXX_USE_C99_LONG_LONG_CHECK,
2493*f9a78e0eSmrg	_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Define.
2494*f9a78e0eSmrg
2495*f9a78e0eSmrg2015-07-05  François Dumont  <fdumont@gcc.gnu.org>
2496*f9a78e0eSmrg
2497*f9a78e0eSmrg	* include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not
2498*f9a78e0eSmrg	rehash container.
2499*f9a78e0eSmrg	* testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
2500*f9a78e0eSmrg	Adapt.
2501*f9a78e0eSmrg
2502*f9a78e0eSmrg2015-07-03  Jonathan Wakely  <jwakely@redhat.com>
2503*f9a78e0eSmrg
2504*f9a78e0eSmrg	* doc/xml/manual/status_cxx2017.xml: Update status table.
2505*f9a78e0eSmrg	* doc/html/manual/*: Regenerate.
2506*f9a78e0eSmrg
2507*f9a78e0eSmrg2015-07-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
2508*f9a78e0eSmrg
2509*f9a78e0eSmrg	Implement std::experimental::fundamentals_v2::propagate_const.
2510*f9a78e0eSmrg	* include/Makefile.am: Add propagate_const.
2511*f9a78e0eSmrg	* include/Makefile.in: Regenerate.
2512*f9a78e0eSmrg	* include/experimental/propagate_const: New.
2513*f9a78e0eSmrg	* testsuite/experimental/propagate_const/assignment/copy.cc: Likewise.
2514*f9a78e0eSmrg	* testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
2515*f9a78e0eSmrg	* testsuite/experimental/propagate_const/assignment/move_neg.cc:
2516*f9a78e0eSmrg	Likewise.
2517*f9a78e0eSmrg	* testsuite/experimental/propagate_const/cons/copy.cc: Likewise.
2518*f9a78e0eSmrg	* testsuite/experimental/propagate_const/cons/default.cc: Likewise.
2519*f9a78e0eSmrg	* testsuite/experimental/propagate_const/cons/move.cc: Likewise.
2520*f9a78e0eSmrg	* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
2521*f9a78e0eSmrg	* testsuite/experimental/propagate_const/hash/1.cc: Likewise.
2522*f9a78e0eSmrg	* testsuite/experimental/propagate_const/observers/1.cc: Likewise.
2523*f9a78e0eSmrg	* testsuite/experimental/propagate_const/relops/1.cc: Likewise.
2524*f9a78e0eSmrg	* testsuite/experimental/propagate_const/requirements1.cc: Likewise.
2525*f9a78e0eSmrg	* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
2526*f9a78e0eSmrg	* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
2527*f9a78e0eSmrg	* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
2528*f9a78e0eSmrg	* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
2529*f9a78e0eSmrg	* testsuite/experimental/propagate_const/swap/1.cc: Likewise.
2530*f9a78e0eSmrg	* testsuite/experimental/propagate_const/typedefs.cc: Likewise.
2531*f9a78e0eSmrg
2532*f9a78e0eSmrg2015-07-02  Jonathan Wakely  <jwakely@redhat.com>
2533*f9a78e0eSmrg
2534*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for
2535*f9a78e0eSmrg	--with-default-libstdcxx-abi
2536*f9a78e0eSmrg	* configure: Regenerate.
2537*f9a78e0eSmrg	* doc/xml/manual/configure.xml: Document valid arguments.
2538*f9a78e0eSmrg
2539*f9a78e0eSmrg2015-07-02  Uros Bizjak  <ubizjak@gmail.com>
2540*f9a78e0eSmrg
2541*f9a78e0eSmrg	* libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load
2542*f9a78e0eSmrg	to avoid unused variable warning.
2543*f9a78e0eSmrg	(__set_and_release): Use __p after __atomic_store to avoid unused
2544*f9a78e0eSmrg	variable warning.
2545*f9a78e0eSmrg
2546*f9a78e0eSmrg2015-07-01  Jonathan Wakely  <jwakely@redhat.com>
2547*f9a78e0eSmrg
2548*f9a78e0eSmrg	* include/bits/alloc_traits.h (__alloctr_rebind): Remove.
2549*f9a78e0eSmrg	(__allocator_traits_base): New base class.
2550*f9a78e0eSmrg	(__alloc_rebind): Reimplement in terms of detection idiom.
2551*f9a78e0eSmrg	(allocator_traits): Derive from __allocator_traits_base. Reimplement
2552*f9a78e0eSmrg	nested types in terms of detection idiom. Simplify SFINAE constraints
2553*f9a78e0eSmrg	on overloaded static member functions.
2554*f9a78e0eSmrg	* include/bits/hashtable.h (_Hashtable): Use __alloc_rebind instead
2555*f9a78e0eSmrg	of __alloctr_rebind.
2556*f9a78e0eSmrg	* testsuite/20_util/scoped_allocator/propagation.cc: Define rebind.
2557*f9a78e0eSmrg	* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2558*f9a78e0eSmrg	dg-error line number.
2559*f9a78e0eSmrg
2560*f9a78e0eSmrg	* include/bits/ptr_traits.h (__ptrtr_elt_type, __ptrtr_diff_type,
2561*f9a78e0eSmrg	__ptrtr_rebind, __ptrtr_not_void): Remove
2562*f9a78e0eSmrg	(__get_first_arg, __replace_first_arg, __make_not_void): Define new
2563*f9a78e0eSmrg	transformations.
2564*f9a78e0eSmrg	(__detected_or_): New detection trait.
2565*f9a78e0eSmrg	(pointer_traits): Use new traits.
2566*f9a78e0eSmrg	* testsuite/20_util/pointer_traits/pointer_to.cc: Add rebind member.
2567*f9a78e0eSmrg	* testsuite/20_util/pointer_traits/requirements/
2568*f9a78e0eSmrg	explicit_instantiation.cc: Use valid arguments to pointer_traits.
2569*f9a78e0eSmrg
2570*f9a78e0eSmrg	* doc/xml/manual/status_cxx2017.xml: Update status table.
2571*f9a78e0eSmrg	* include/experimental/type_traits (void_t, is_detected,
2572*f9a78e0eSmrg	is_detected_v, detected_t, detected_or, detected_or_t,
2573*f9a78e0eSmrg	is_detected_exact, is_detected_exact_v, is_detected_convertible,
2574*f9a78e0eSmrg	is_detected_convertible_v): Define.
2575*f9a78e0eSmrg	* include/std/type_traits (__detector, __detected_or, __detected_or_t,
2576*f9a78e0eSmrg	__detected_or_t_): Define.
2577*f9a78e0eSmrg	* testsuite/experimental/type_traits/detection.cc: New.
2578*f9a78e0eSmrg
2579*f9a78e0eSmrg2015-06-30  Jonathan Wakely  <jwakely@redhat.com>
2580*f9a78e0eSmrg
2581*f9a78e0eSmrg	* doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log.
2582*f9a78e0eSmrg	* doc/Makefile.in: Regenerate.
2583*f9a78e0eSmrg
2584*f9a78e0eSmrg	* include/bits/stl_pair.h: Replace class keyword with typename.
2585*f9a78e0eSmrg
2586*f9a78e0eSmrg2015-06-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
2587*f9a78e0eSmrg
2588*f9a78e0eSmrg	Implement N4387, "Improving pair and tuple", and LWG 2367.
2589*f9a78e0eSmrg
2590*f9a78e0eSmrg	* include/bits/stl_pair.h (_ConstructiblePair,
2591*f9a78e0eSmrg	_ImplicitlyConvertiblePair, _MoveConstructiblePair,
2592*f9a78e0eSmrg	_ImplicitlyMoveConvertiblePair): New.
2593*f9a78e0eSmrg	(pair()): Constrain it.
2594*f9a78e0eSmrg	(pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&),
2595*f9a78e0eSmrg	pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&),
2596*f9a78e0eSmrg	pair(pair<_U1, _U2>&&)): Make conditionally explicit.
2597*f9a78e0eSmrg	* include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New.
2598*f9a78e0eSmrg	(tuple()): Constrain it.
2599*f9a78e0eSmrg	(tuple(const _UElements&...), tuple(_UElements&&...),
2600*f9a78e0eSmrg	tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&),
2601*f9a78e0eSmrg	tuple(allocator_arg_t, const _Alloc&, const _UElements&...),
2602*f9a78e0eSmrg	tuple(allocator_arg_t, const _Alloc&, _UElements&&...),
2603*f9a78e0eSmrg	tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&),
2604*f9a78e0eSmrg	tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&),
2605*f9a78e0eSmrg	tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&),
2606*f9a78e0eSmrg	tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&),
2607*f9a78e0eSmrg	tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make
2608*f9a78e0eSmrg	conditionally explicit.
2609*f9a78e0eSmrg	* include/experimental/functional (__boyer_moore_array_base): Name
2610*f9a78e0eSmrg	array type explicitly instead of using an empty braced-init-list.
2611*f9a78e0eSmrg	* testsuite/20_util/pair/cons/explicit_construct.cc: New.
2612*f9a78e0eSmrg	* testsuite/20_util/pair/piecewise.cc: Use piecewise_construct.
2613*f9a78e0eSmrg	* testsuite/20_util/pair/requirements/dr2367.cc: New.
2614*f9a78e0eSmrg	* testsuite/20_util/tuple/cons/explicit_construct.cc: New.
2615*f9a78e0eSmrg	* testsuite/20_util/tuple/requirements/dr2367.cc: New.
2616*f9a78e0eSmrg
2617*f9a78e0eSmrg2015-06-30  Jonathan Wakely  <jwakely@redhat.com>
2618*f9a78e0eSmrg
2619*f9a78e0eSmrg	* configure: Regenerate.
2620*f9a78e0eSmrg
2621*f9a78e0eSmrg2015-06-29  François Dumont  <fdumont@gcc.gnu.org>
2622*f9a78e0eSmrg
2623*f9a78e0eSmrg	* include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition
2624*f9a78e0eSmrg	to pre-C++11 mode.
2625*f9a78e0eSmrg	* include/debug/functions.h
2626*f9a78e0eSmrg	(__gnu_debug::__valid_range, __gnu_debug::__base): Move...
2627*f9a78e0eSmrg	* include/debug/safe_iterator.h
2628*f9a78e0eSmrg	(__gnu_debug::_Sequence_traits): New.
2629*f9a78e0eSmrg	(__gnu_debug::__get_distance_from_begin): New.
2630*f9a78e0eSmrg	(__gnu_debug::__get_distance_to_end): New.
2631*f9a78e0eSmrg	(__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range
2632*f9a78e0eSmrg	distance information. Add optional check_dereferenceable parameter,
2633*f9a78e0eSmrg	default true.
2634*f9a78e0eSmrg	(__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move
2635*f9a78e0eSmrg	default definition...
2636*f9a78e0eSmrg	(__gnu_debug::__get_distance): New overload for _Safe_iterator.
2637*f9a78e0eSmrg	(__gnu_debug::__unsafe): Likewise.
2638*f9a78e0eSmrg	* include/debug/helper_functions.h: ...here. New.
2639*f9a78e0eSmrg	(__gnu_debug::__unsafe): New helper function to remove safe iterator
2640*f9a78e0eSmrg	layer.
2641*f9a78e0eSmrg	* include/debug/stl_iterator.h: New. Include latter.
2642*f9a78e0eSmrg	* include/bits/stl_iterator.h: Include latter in debug mode.
2643*f9a78e0eSmrg	* include/debug/stl_iterator.tcc: Adapt.
2644*f9a78e0eSmrg	* include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add
2645*f9a78e0eSmrg	overload for _Safe_local_iterator.
2646*f9a78e0eSmrg	(__gnu_debug::__unsafe): Likewise.
2647*f9a78e0eSmrg	* include/debug/safe_local_iterator.tcc: Adapt.
2648*f9a78e0eSmrg	* include/debug/macros.h (__glibcxx_check_valid_range2): New.
2649*f9a78e0eSmrg	(__glibcxx_check_insert_range): Add _Dist parameter.
2650*f9a78e0eSmrg	(__glibcxx_check_insert_range_after): Likewise.
2651*f9a78e0eSmrg	(__glibcxx_check_string, __glibcxx_check_string_len): Implement using
2652*f9a78e0eSmrg	_GLIBCXX_DEBUG_PEDASSERT.
2653*f9a78e0eSmrg	* include/debug/deque (deque<>::assign): Remove iterator debug layer
2654*f9a78e0eSmrg	when possible.
2655*f9a78e0eSmrg	(deque<>::insert): Likewise.
2656*f9a78e0eSmrg	* include/debug/forward_list (__glibcxx_check_valid_fl_range): New.
2657*f9a78e0eSmrg	(forward_list<>::splice_after): Use latter.
2658*f9a78e0eSmrg	(forward_list<>::assign): Remove iterator debug layer when possible.
2659*f9a78e0eSmrg	(forward_list<>::insert_after): Likewise.
2660*f9a78e0eSmrg	(__gnu_debug::_Sequence_traits<>): Partial specialization.
2661*f9a78e0eSmrg	* include/debug/list (list<>::assign): Remove iterator debug layer when
2662*f9a78e0eSmrg	possible.
2663*f9a78e0eSmrg	(list<>::insert): Likewise.
2664*f9a78e0eSmrg	[__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI.
2665*f9a78e0eSmrg	* include/debug/map.h (map<>::insert): Remove iterator debug layer when
2666*f9a78e0eSmrg	possible.
2667*f9a78e0eSmrg	* include/debug/multimap.h (multimap<>::insert): Likewise.
2668*f9a78e0eSmrg	* include/debug/set.h (set<>::insert): Likewise.
2669*f9a78e0eSmrg	* include/debug/multiset.h (multiset<>::insert): Likewise.
2670*f9a78e0eSmrg	* include/debug/string (basic_string<>::append, basic_string<>::assign,
2671*f9a78e0eSmrg	basic_string<>::insert, basic_string<>::replace): Likewise.
2672*f9a78e0eSmrg	* include/debug/unordered_map
2673*f9a78e0eSmrg	(unordered_map<>::insert, unordered_multimap<>::insert): Likewise.
2674*f9a78e0eSmrg	* include/debug/unordered_set
2675*f9a78e0eSmrg	(unordered_set<>::insert, unordered_multiset<>insert): Likewise.
2676*f9a78e0eSmrg	* include/debug/vector
2677*f9a78e0eSmrg	(vector<>::assign, vector<>::insert): Likewise.
2678*f9a78e0eSmrg	* include/Makefile.am: Add new debug headers.
2679*f9a78e0eSmrg	* include/Makefile.in: Regenerate.
2680*f9a78e0eSmrg
2681*f9a78e0eSmrg2015-06-26  Jonathan Wakely  <jwakely@redhat.com>
2682*f9a78e0eSmrg
2683*f9a78e0eSmrg	* doc/xml/manual/intro.xml: Document LWG 2108 status.
2684*f9a78e0eSmrg	* include/bits/alloc_traits.h (allocator_traits::is_always_equal):
2685*f9a78e0eSmrg	Define.
2686*f9a78e0eSmrg	* include/bits/allocator.h (allocator::is_always_equal): Likewise.
2687*f9a78e0eSmrg	* include/bits/forward_list.h
2688*f9a78e0eSmrg	(forward_list::operator=(forward_list&&)): Use __bool_constant.
2689*f9a78e0eSmrg	(forward_list::swap(forward_list&)): Add noexcept.
2690*f9a78e0eSmrg	* include/bits/hashtable.h (_Hashtable::operator=(_Hashtable&&)):
2691*f9a78e0eSmrg	Likewise.
2692*f9a78e0eSmrg	(_Hashtable::swap(_Hashtable&)): Likewise.
2693*f9a78e0eSmrg	* include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)):
2694*f9a78e0eSmrg	Use _Alloc_traits::is_always_equal.
2695*f9a78e0eSmrg	(deque::operator=(deque&&)): Likewise.
2696*f9a78e0eSmrg	(deque::_M_move_assign1(deque&&, false_type)): Add comment and use
2697*f9a78e0eSmrg	__bool_constant.
2698*f9a78e0eSmrg	(swap(deque&, deque&)): Add noexcept.
2699*f9a78e0eSmrg	* include/bits/stl_list.h (list::operator=(list&&)): Use
2700*f9a78e0eSmrg	__bool_constant.
2701*f9a78e0eSmrg	(swap(list&, list&)): Add noexcept.
2702*f9a78e0eSmrg	* include/bits/stl_map.h (map::swap(map&)): Include _Compare in
2703*f9a78e0eSmrg	noexcept.
2704*f9a78e0eSmrg	(swap(map&, map&)): Add noexcept.
2705*f9a78e0eSmrg	* include/bits/stl_multimap.h (multimap::swap(multimap&)): Include
2706*f9a78e0eSmrg	_Compare in noexcept.
2707*f9a78e0eSmrg	(swap(multimap&, multimap&)): Add noexcept.
2708*f9a78e0eSmrg	* include/bits/stl_multiset.h (multiset::swap(multiset&)): Include
2709*f9a78e0eSmrg	_Compare in noexcept.
2710*f9a78e0eSmrg	(swap(multiset&, multiset&)): Add noexcept.
2711*f9a78e0eSmrg	* include/bits/stl_set.h (set::swap(set&)): Include _Compare in
2712*f9a78e0eSmrg	noexcept.
2713*f9a78e0eSmrg	(swap(set&, set&)): Add noexcept.
2714*f9a78e0eSmrg	* include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Include
2715*f9a78e0eSmrg	_Compare in noexcept.
2716*f9a78e0eSmrg	(_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_alloc_type&&)): Use
2717*f9a78e0eSmrg	is_always_equal.
2718*f9a78e0eSmrg	* include/bits/stl_vector.h (vector::operator=(vector&&)): Use
2719*f9a78e0eSmrg	__bool_constant.
2720*f9a78e0eSmrg	(swap(vector&, vector&)): Add noexcept.
2721*f9a78e0eSmrg	* include/bits/unordered_map.h (swap(unordered_map&, unordered_map&),
2722*f9a78e0eSmrg	swap(unordered_multimap& unordered_multimap&)): Add noexcept.
2723*f9a78e0eSmrg	* include/bits/unordered_set.h (swap(unordered_set&, unordered_set&),
2724*f9a78e0eSmrg	swap(unordered_multiset& unordered_multiset&)): Add noexcept.
2725*f9a78e0eSmrg	* include/ext/alloc_traits.h (__allocator_always_compares_equal):
2726*f9a78e0eSmrg	Remove.
2727*f9a78e0eSmrg	(__alloc_traits::_S_always_equal()): Use is_always_equal instead of
2728*f9a78e0eSmrg	__allocator_always_compares_equal.
2729*f9a78e0eSmrg	* include/ext/array_allocator.h (array_allocator::is_always_equal):
2730*f9a78e0eSmrg	Define.
2731*f9a78e0eSmrg	* include/std/scoped_allocator (__any_of, __propagate_on_copy,
2732*f9a78e0eSmrg	__propagate_on_move, __propagate_on_swap): Remove.
2733*f9a78e0eSmrg	(scoped_allocator_adaptor::propagate_on_container_copy_assignment,
2734*f9a78e0eSmrg	scoped_allocator_adaptor::propagate_on_container_move_assignment,
2735*f9a78e0eSmrg	scoped_allocator_adaptor::propagate_on_container_swap): Define with
2736*f9a78e0eSmrg	__and_ instead of __any_of.
2737*f9a78e0eSmrg	(scoped_allocator_adaptor::is_always_equal): Define.
2738*f9a78e0eSmrg	* testsuite/20_util/allocator_traits/members/is_always_equal.cc: New.
2739*f9a78e0eSmrg	* testsuite/20_util/scoped_allocator/propagation.cc: Make traits
2740*f9a78e0eSmrg	derive from true_type or false_type.
2741*f9a78e0eSmrg	* testsuite/23_containers/deque/allocator/move_assign-2.cc: Add
2742*f9a78e0eSmrg	is_always_equal member and remove the trait specialization.
2743*f9a78e0eSmrg	* testsuite/23_containers/vector/52591.cc: Likewise.
2744*f9a78e0eSmrg	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2745*f9a78e0eSmrg	Adjust dg-error line number.
2746*f9a78e0eSmrg	* testsuite/23_containers/deque/requirements/dr438/
2747*f9a78e0eSmrg	constructor_1_neg.cc: Likewise.
2748*f9a78e0eSmrg	* testsuite/23_containers/deque/requirements/dr438/
2749*f9a78e0eSmrg	constructor_2_neg.cc: Likewise.
2750*f9a78e0eSmrg	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2751*f9a78e0eSmrg	Likewise.
2752*f9a78e0eSmrg	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2753*f9a78e0eSmrg	Likewise.
2754*f9a78e0eSmrg	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2755*f9a78e0eSmrg	Likewise.
2756*f9a78e0eSmrg	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2757*f9a78e0eSmrg	Likewise.
2758*f9a78e0eSmrg	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2759*f9a78e0eSmrg	Likewise.
2760*f9a78e0eSmrg	* testsuite/23_containers/vector/requirements/dr438/
2761*f9a78e0eSmrg	constructor_1_neg.cc: Likewise.
2762*f9a78e0eSmrg	* testsuite/23_containers/vector/requirements/dr438/
2763*f9a78e0eSmrg	constructor_2_neg.cc: Likewise.
2764*f9a78e0eSmrg	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2765*f9a78e0eSmrg	Likewise.
2766*f9a78e0eSmrg
2767*f9a78e0eSmrg	* include/bits/stl_bvector.h (vector<bool>::vector()): Add noexcept.
2768*f9a78e0eSmrg	* include/bits/stl_map.h (map::map()): Likewise.
2769*f9a78e0eSmrg	* include/bits/stl_multimap.h (multimap::multimap()): Likewise.
2770*f9a78e0eSmrg	* include/bits/stl_multiset.h (multiset::multiset()): Likewise.
2771*f9a78e0eSmrg	* include/bits/stl_set.h (set::set()): Likewise.
2772*f9a78e0eSmrg
2773*f9a78e0eSmrg2015-06-25  Jonathan Wakely  <jwakely@redhat.com>
2774*f9a78e0eSmrg
2775*f9a78e0eSmrg	* include/bits/locale_conv.h (__do_str_codecvt): Set __count.
2776*f9a78e0eSmrg
2777*f9a78e0eSmrg2015-06-24  François Dumont  <fdumont@gcc.gnu.org>
2778*f9a78e0eSmrg
2779*f9a78e0eSmrg	* include/bits/basic_string.h (basic_string<>::front()): Add !empty
2780*f9a78e0eSmrg	debug check.
2781*f9a78e0eSmrg	(basic_string<>::back()): Likewise.
2782*f9a78e0eSmrg	(basic_string<>::pop_back()): Likewise.
2783*f9a78e0eSmrg
2784*f9a78e0eSmrg2015-06-24  Paolo Carlini  <paolo.carlini@oracle.com>
2785*f9a78e0eSmrg
2786*f9a78e0eSmrg	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
2787*f9a78e0eSmrg	dg-error line numbers.
2788*f9a78e0eSmrg	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
2789*f9a78e0eSmrg	Likewise.
2790*f9a78e0eSmrg
2791*f9a78e0eSmrg2015-06-23  François Dumont  <fdumont@gcc.gnu.org>
2792*f9a78e0eSmrg
2793*f9a78e0eSmrg	* include/debug/array: Include <array>. Add version namespace when
2794*f9a78e0eSmrg	specializing tuple interface to array. Add specialization for
2795*f9a78e0eSmrg	__is_tuple_like_impl.
2796*f9a78e0eSmrg	* include/profile/array: Likewise.
2797*f9a78e0eSmrg	* include/std/array: Include <utility>. Add specialization for
2798*f9a78e0eSmrg	__is_tuple_like_impl.
2799*f9a78e0eSmrg	* include/std/tuple
2800*f9a78e0eSmrg	(__is_tuple_like_impl<>, __is_tuple_like_impl<pair>): Move...
2801*f9a78e0eSmrg	* include/std/utility: ... here. Include <type_traits>.
2802*f9a78e0eSmrg	* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
2803*f9a78e0eSmrg	dg-error line number.
2804*f9a78e0eSmrg	* testsuite/23_containers/array/tuple_interface/
2805*f9a78e0eSmrg	tuple_element_debug_neg.cc: Likewise.
2806*f9a78e0eSmrg
2807*f9a78e0eSmrg2015-06-22  Jonathan Wakely  <jwakely@redhat.com>
2808*f9a78e0eSmrg
2809*f9a78e0eSmrg	* testsuite/26_numerics/complex/value_operations/1.cc: Use
2810*f9a78e0eSmrg	non-negative rho argument.
2811*f9a78e0eSmrg
2812*f9a78e0eSmrg	* include/debug/list (__gnu_debug::list): Use allocator-aware
2813*f9a78e0eSmrg	_Safe_container base.
2814*f9a78e0eSmrg	* include/debug/string (__gnu_debug::basic_string): Use
2815*f9a78e0eSmrg	allocator-aware _Safe_container base for cxx11 ABI.
2816*f9a78e0eSmrg
2817*f9a78e0eSmrg	* include/bits/locale_conv.h (__do_str_codecvt): Handle empty range.
2818*f9a78e0eSmrg	(wstring_convert): Move into __cxx11 namespace.
2819*f9a78e0eSmrg	(wbuffer_convert(streambuf*, _Codecvt*, state_type)): Fix exception
2820*f9a78e0eSmrg	message.
2821*f9a78e0eSmrg
2822*f9a78e0eSmrg	PR libstdc++/64657
2823*f9a78e0eSmrg	* include/bits/stl_uninitialized.h
2824*f9a78e0eSmrg	(__uninitialized_copy::__uninit_copy): Cast expression to void.
2825*f9a78e0eSmrg
2826*f9a78e0eSmrg2015-06-17  Jonathan Wakely  <jwakely@redhat.com>
2827*f9a78e0eSmrg
2828*f9a78e0eSmrg	PR libstdc++/55409
2829*f9a78e0eSmrg	* include/bits/list.tcc (_List_base::_M_clear()): Use allocator traits.
2830*f9a78e0eSmrg	(list::list(const list&)): Use allocator propagation trait. Use
2831*f9a78e0eSmrg	_M_assign_dispatch to copy elements.
2832*f9a78e0eSmrg	* include/bits/stl_list.h (_List_node): Use __aligned_membuf in C++11.
2833*f9a78e0eSmrg	(_List_node::_M_valptr()): Add accessor for stored value.
2834*f9a78e0eSmrg	(_List_iterator, _List_const_iterator, _List_base): Use _M_valptr().
2835*f9a78e0eSmrg	(_List_base, list): Use allocator traits.
2836*f9a78e0eSmrg	(_List_base::_M_get_Tp_allocator, _List_base::get_allocator): Remove.
2837*f9a78e0eSmrg	(_List_base::_M_move_nodes): New function.
2838*f9a78e0eSmrg	(_List_base(_List_base&&)): Use _M_move_nodes.
2839*f9a78e0eSmrg	(_List_base(_List_base&&, _Node_alloc_type&&)): New constructor.
2840*f9a78e0eSmrg	(list::_M_create_node, list::_M_erase, list::max_size): Use allocator
2841*f9a78e0eSmrg	traits.
2842*f9a78e0eSmrg	(list(size_type)): Add allocator parameter.
2843*f9a78e0eSmrg	(list(const list&)): Use allocator propagation trait.
2844*f9a78e0eSmrg	(list(const list&, const allocator_type&)): New constructor.
2845*f9a78e0eSmrg	(list(list&&, const allocator_type&)): Likewise.
2846*f9a78e0eSmrg	(list::operator=(list&&), list::swap(list&)): Use allocator
2847*f9a78e0eSmrg	propagation traits.
2848*f9a78e0eSmrg	(list::_M_move_assign): New functions.
2849*f9a78e0eSmrg	* include/debug/list: Add allocator-extended constructors.
2850*f9a78e0eSmrg	* include/profile/list: Likewise.
2851*f9a78e0eSmrg	* python/libstdcxx/v6/printers.py (get_value_from_list_node): New
2852*f9a78e0eSmrg	function to get value from _List_node.
2853*f9a78e0eSmrg	(StdListPrinter): Use get_value_from_list_node.
2854*f9a78e0eSmrg	* testsuite/23_containers/list/allocator/copy.cc: New.
2855*f9a78e0eSmrg	* testsuite/23_containers/list/allocator/copy_assign.cc: New.
2856*f9a78e0eSmrg	* testsuite/23_containers/list/allocator/minimal.cc: New.
2857*f9a78e0eSmrg	* testsuite/23_containers/list/allocator/move.cc: New.
2858*f9a78e0eSmrg	* testsuite/23_containers/list/allocator/move_assign.cc: New.
2859*f9a78e0eSmrg	* testsuite/23_containers/list/allocator/noexcept.cc: New.
2860*f9a78e0eSmrg	* testsuite/23_containers/list/allocator/swap.cc: New.
2861*f9a78e0eSmrg	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2862*f9a78e0eSmrg	Adjust dg-prune-output line number.
2863*f9a78e0eSmrg	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2864*f9a78e0eSmrg	Likewise.
2865*f9a78e0eSmrg	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2866*f9a78e0eSmrg	Likewise.
2867*f9a78e0eSmrg
2868*f9a78e0eSmrg	* include/bits/forward_list.h
2869*f9a78e0eSmrg	(_Fwd_list_base(const _Node_alloc_type&)): Change parameter to
2870*f9a78e0eSmrg	rvalue-reference.
2871*f9a78e0eSmrg	(_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Likewise.
2872*f9a78e0eSmrg	(forward_list(const _Alloc&)): Split default constructor out to
2873*f9a78e0eSmrg	separate function.
2874*f9a78e0eSmrg	(forward_list(forward_list&&, const _Alloc&)): Move elements if base
2875*f9a78e0eSmrg	class didn't do so.
2876*f9a78e0eSmrg	(forward_list::_M_move_assign(forward_list&&, true_type)): Replace
2877*f9a78e0eSmrg	swap call with two assignments.
2878*f9a78e0eSmrg	* include/bits/forward_list.tcc
2879*f9a78e0eSmrg	(_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Don't
2880*f9a78e0eSmrg	move elements when allocators are not equal.
2881*f9a78e0eSmrg	* include/debug/forward_list (forward_list(const allocator_type&)):
2882*f9a78e0eSmrg	Split default constructor out to separate function.
2883*f9a78e0eSmrg	* include/profile/forward_list (forward_list(const _Alloc&)):
2884*f9a78e0eSmrg	Likewise.
2885*f9a78e0eSmrg
2886*f9a78e0eSmrg	* include/bits/forward_list.h (forward_list::_M_get_Node_allocator):
2887*f9a78e0eSmrg	Remove unnecessary uses of operator& and static_cast.
2888*f9a78e0eSmrg	* include/bits/forward_list.tcc
2889*f9a78e0eSmrg	(forward_list::operator=(const forward_list&)): Use __addressof
2890*f9a78e0eSmrg	instead of operator&.
2891*f9a78e0eSmrg	(forward_list::remove(const _Tp&), forward_list::remove(_Pred)):
2892*f9a78e0eSmrg	Remove invalid static_casts.
2893*f9a78e0eSmrg	* include/debug/forward_list: Use __addressof instead of operator&.
2894*f9a78e0eSmrg	* testsuite/23_containers/forward_list/modifiers/addressof.cc: New.
2895*f9a78e0eSmrg
2896*f9a78e0eSmrg	* include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use
2897*f9a78e0eSmrg	__is_nothrow_swappable.
2898*f9a78e0eSmrg
2899*f9a78e0eSmrg2015-06-16  Jonathan Wakely  <jwakely@redhat.com>
2900*f9a78e0eSmrg
2901*f9a78e0eSmrg	* include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof.
2902*f9a78e0eSmrg
2903*f9a78e0eSmrg	* include/bits/list.tcc (list::operator=(const list&), list::merge):
2904*f9a78e0eSmrg	Use __addressof instead of operator&.
2905*f9a78e0eSmrg	(list::sort): Use array-to-pointer decay instead of operator&.
2906*f9a78e0eSmrg	* include/bits/stl_list.h (list::splice): Use __addressof instead of
2907*f9a78e0eSmrg	operator&.
2908*f9a78e0eSmrg	* include/debug/formatter.h (_Error_formatter::_Parameter::_Parameter):
2909*f9a78e0eSmrg	Likewise.
2910*f9a78e0eSmrg	* include/debug/functions.h (__check_singular): Likewise.
2911*f9a78e0eSmrg	* include/debug/list (list::splice, list::merge): Likewise.
2912*f9a78e0eSmrg	* testsuite/23_containers/list/modifiers/addressof.cc: New.
2913*f9a78e0eSmrg
2914*f9a78e0eSmrg	PR libstdc++/65393
2915*f9a78e0eSmrg	* src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr
2916*f9a78e0eSmrg	copies with moves.
2917*f9a78e0eSmrg
2918*f9a78e0eSmrg2015-06-12  Jonathan Wakely  <jwakely@redhat.com>
2919*f9a78e0eSmrg
2920*f9a78e0eSmrg	* include/precompiled/stdc++.h: Include <codecvt> and <shared_mutex>.
2921*f9a78e0eSmrg
2922*f9a78e0eSmrg	PR libstdc++/66464
2923*f9a78e0eSmrg	* src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length):
2924*f9a78e0eSmrg	Return 4 not 3.
2925*f9a78e0eSmrg
2926*f9a78e0eSmrg2015-06-12  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2927*f9a78e0eSmrg
2928*f9a78e0eSmrg	PR c++/66192
2929*f9a78e0eSmrg	PR target/66200
2930*f9a78e0eSmrg	* config/cpu/alpha/atomic_word.h: Remove.
2931*f9a78e0eSmrg	* config/cpu/ia64/atomic_word.h: Remove.
2932*f9a78e0eSmrg	* config/cpu/powerpc/atomic_word.h: Remove.
2933*f9a78e0eSmrg	* config/os/aix/atomic_word.h: Remove.
2934*f9a78e0eSmrg	* configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]:
2935*f9a78e0eSmrg	Use generic definition.
2936*f9a78e0eSmrg
2937*f9a78e0eSmrg2015-06-12  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2938*f9a78e0eSmrg
2939*f9a78e0eSmrg	PR target/66200
2940*f9a78e0eSmrg	PR c++/66192
2941*f9a78e0eSmrg	* * config/cpu/generic/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Define
2942*f9a78e0eSmrg	(_GLIBCXX_WRITE_MEM_BARRIER): Likewise
2943*f9a78e0eSmrg	* include/bits/shared_ptr_base.h: Use ACQ_REL barrier.
2944*f9a78e0eSmrg	* include/ext/atomicity.h: Likewise.
2945*f9a78e0eSmrg	* include/tr1/shared_ptr.h: Likewise.
2946*f9a78e0eSmrg	* libsupc++/guard.cc (__test_and_acquire): Rewrite with atomics.
2947*f9a78e0eSmrg	Update comment.
2948*f9a78e0eSmrg	(__set_and_release): Likewise.
2949*f9a78e0eSmrg	* testsuite/20_util/shared_ptr/cons/43820_neg.cc (test01): Adjust for
2950*f9a78e0eSmrg	line numbers.
2951*f9a78e0eSmrg	* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2952*f9a78e0eSmrg	* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
2953*f9a78e0eSmrg	Likewise.
2954*f9a78e0eSmrg
2955*f9a78e0eSmrg2015-06-12  Jonathan Wakely  <jwakely@redhat.com>
2956*f9a78e0eSmrg
2957*f9a78e0eSmrg	* include/std/tuple (__is_tuple_like_impl): Disambiguate array in
2958*f9a78e0eSmrg	debug and profile modes.
2959*f9a78e0eSmrg	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust tests
2960*f9a78e0eSmrg	for swap in C++11 and later.
2961*f9a78e0eSmrg
2962*f9a78e0eSmrg2015-06-09  Jonathan Wakely  <jwakely@redhat.com>
2963*f9a78e0eSmrg
2964*f9a78e0eSmrg	PR libstdc++/66030
2965*f9a78e0eSmrg	* config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols
2966*f9a78e0eSmrg	for mingw32.
2967*f9a78e0eSmrg
2968*f9a78e0eSmrg2015-06-08  Jonathan Wakely  <jwakely@redhat.com>
2969*f9a78e0eSmrg
2970*f9a78e0eSmrg	PR libstdc++/66441
2971*f9a78e0eSmrg	* testsuite/22_locale/conversions/string/66441.cc: New.
2972*f9a78e0eSmrg	* include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space
2973*f9a78e0eSmrg	in the output string for BOM and complete result.
2974*f9a78e0eSmrg
2975*f9a78e0eSmrg	PR libstdc++/66417
2976*f9a78e0eSmrg	* src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order
2977*f9a78e0eSmrg	for single UTF-16 units.
2978*f9a78e0eSmrg	* testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New.
2979*f9a78e0eSmrg
2980*f9a78e0eSmrg2015-06-07  François Dumont  <fdumont@gcc.gnu.org>
2981*f9a78e0eSmrg
2982*f9a78e0eSmrg	* include/bits/stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to
2983*f9a78e0eSmrg	outer scope and rename to ...
2984*f9a78e0eSmrg	(std::__hash_is_transparent<>): ... this.
2985*f9a78e0eSmrg	* include/debug/stl_map.h (map::find<>,
2986*f9a78e0eSmrg	map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
2987*f9a78e0eSmrg	member function templates to perform heterogeneous lookup.
2988*f9a78e0eSmrg	* include/debug/stl_multimap.h (multimap::find<>,
2989*f9a78e0eSmrg	multimap::lower_bound<>, multimap::upper_bound<>,
2990*f9a78e0eSmrg	multimap::equal_range<>): Likewise.
2991*f9a78e0eSmrg	* include/debug/stl_multiset.h (multiset::find<>,
2992*f9a78e0eSmrg	multiset::lower_bound<>, multiset::upper_bound<>,
2993*f9a78e0eSmrg	multiset::equal_range<>): Likewise.
2994*f9a78e0eSmrg	* include/debug/stl_set.h (set::find<>,
2995*f9a78e0eSmrg	set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
2996*f9a78e0eSmrg	* include/profile/stl_map.h (map::find<>, map::count<>,
2997*f9a78e0eSmrg	map::lower_bound<>, map::upper_bound<>, map::equal_range<>): Likewise.
2998*f9a78e0eSmrg	* include/profile/stl_multimap.h (multimap::find<>, multimap::count<>,
2999*f9a78e0eSmrg	multimap::lower_bound<>, multimap::upper_bound<>,
3000*f9a78e0eSmrg	multimap::equal_range<>): Likewise.
3001*f9a78e0eSmrg	* include/profile/stl_multiset.h (multiset::find<>, multiset::count<>,
3002*f9a78e0eSmrg	multiset::lower_bound<>, multiset::upper_bound<>,
3003*f9a78e0eSmrg	multiset::equal_range<>): Likewise.
3004*f9a78e0eSmrg	* include/profile/stl_set.h (set::find<>, set::count<>,
3005*f9a78e0eSmrg	set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
3006*f9a78e0eSmrg	* testsuite/23_containers/map/operations/1.cc: Check const variants.
3007*f9a78e0eSmrg	* testsuite/23_containers/multimap/operations/1.cc: Likewise.
3008*f9a78e0eSmrg	* testsuite/23_containers/multiset/operations/1.cc: Likewise.
3009*f9a78e0eSmrg	* testsuite/23_containers/set/operations/1.cc: Likewise.
3010*f9a78e0eSmrg
3011*f9a78e0eSmrg2015-06-05  Jonathan Wakely  <jwakely@redhat.com>
3012*f9a78e0eSmrg
3013*f9a78e0eSmrg	* doc/xml/manual/status_cxx2017.xml: Update status tables.
3014*f9a78e0eSmrg	* doc/html/manual/*: Regenerate.
3015*f9a78e0eSmrg	* include/std/type_traits (bool_constant): Define.
3016*f9a78e0eSmrg	* testsuite/20_util/bool_constant/requirements.cc: New.
3017*f9a78e0eSmrg	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
3018*f9a78e0eSmrg	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3019*f9a78e0eSmrg	Likewise.
3020*f9a78e0eSmrg	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3021*f9a78e0eSmrg	Likewise.
3022*f9a78e0eSmrg
3023*f9a78e0eSmrg	* include/std/shared_mutex (__shared_mutex_pthread,
3024*f9a78e0eSmrg	__shared_mutex_cv): New helper types implementing the shared mutex
3025*f9a78e0eSmrg	requirements.
3026*f9a78e0eSmrg	(shared_mutex): New type for C++17.
3027*f9a78e0eSmrg	(shared_timed_mutex): Derive from one of the new helper types.
3028*f9a78e0eSmrg	* testsuite/30_threads/shared_mutex/cons/1.cc: New.
3029*f9a78e0eSmrg	* testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
3030*f9a78e0eSmrg	* testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
3031*f9a78e0eSmrg	* testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
3032*f9a78e0eSmrg	New.
3033*f9a78e0eSmrg	* testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
3034*f9a78e0eSmrg	* testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
3035*f9a78e0eSmrg
3036*f9a78e0eSmrg2015-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
3037*f9a78e0eSmrg
3038*f9a78e0eSmrg	Add __is_nothrow_swappable and take it into use.
3039*f9a78e0eSmrg	* include/bits/algorithmfwd.h (swap): Only declare for C++98 mode.
3040*f9a78e0eSmrg	* include/bits/move.h (swap): Add constraints in C++11 and later.
3041*f9a78e0eSmrg	* include/bits/stl_pair.h (swap): Use __is_nothrow_swappable
3042*f9a78e0eSmrg	for the free swap function for pair.
3043*f9a78e0eSmrg	* include/bits/stl_queue.h (swap): Use __is_nothrow_swappable
3044*f9a78e0eSmrg	for the free swap functions for queue and priority_queue.
3045*f9a78e0eSmrg	* include/bits/stl_stack.h (swap): Use __is_nothrow_swappable
3046*f9a78e0eSmrg	for the free swap function for stack.
3047*f9a78e0eSmrg	* include/debug/array (swap): Use __is_nothrow_swappable
3048*f9a78e0eSmrg	for the free swap function for array.
3049*f9a78e0eSmrg	* include/profile/array (swap): Likewise.
3050*f9a78e0eSmrg	* include/std/array (swap): Likewise.
3051*f9a78e0eSmrg	* include/std/tuple (_Tuple_impl::_M_swap): Use __is_nothrow_swappable.
3052*f9a78e0eSmrg	* include/std/type_traits (__is_swappable_impl::__is_swappable,
3053*f9a78e0eSmrg	__is_nothrow_swappable_impl, __is_nothrow_swappable): New.
3054*f9a78e0eSmrg	* testsuite/20_util/is_nothrow_swappable/requirements/
3055*f9a78e0eSmrg	explicit_instantiation.cc: New.
3056*f9a78e0eSmrg	* testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
3057*f9a78e0eSmrg	New.
3058*f9a78e0eSmrg	* testsuite/20_util/is_nothrow_swappable/value.cc: New.
3059*f9a78e0eSmrg
3060*f9a78e0eSmrg2015-06-03  François Dumont  fdumont@gcc.gnu.org>
3061*f9a78e0eSmrg
3062*f9a78e0eSmrg	* testsuite/23_containers/list/61347.cc: Add dg-require-normal-mode.
3063*f9a78e0eSmrg
3064*f9a78e0eSmrg2015-06-02  Jonathan Wakely  <jwakely@redhat.com>
3065*f9a78e0eSmrg
3066*f9a78e0eSmrg	* doc/xml/manual/abi.xml: Document versioning for 5.1.0 release.
3067*f9a78e0eSmrg	* doc/html/manual/*: Regenerate.
3068*f9a78e0eSmrg
3069*f9a78e0eSmrg	* doc/html/ext/lwg-active.html: Update to R93.
3070*f9a78e0eSmrg	* doc/html/ext/lwg-closed.html: Likewise.
3071*f9a78e0eSmrg	* doc/html/ext/lwg-defects.html: Likewise.
3072*f9a78e0eSmrg	* doc/html/manual/*: Regenerate.
3073*f9a78e0eSmrg	* doc/xml/manual/intro.xml: Document status of several DRs.
3074*f9a78e0eSmrg
3075*f9a78e0eSmrg2015-06-02  Renlin Li  <renlin.li@arm.com>
3076*f9a78e0eSmrg
3077*f9a78e0eSmrg	* testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check.
3078*f9a78e0eSmrg
3079*f9a78e0eSmrg2015-06-01  Jonathan Wakely  <jwakely@redhat.com>
3080*f9a78e0eSmrg
3081*f9a78e0eSmrg	* testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE
3082*f9a78e0eSmrg	environment variable.
3083*f9a78e0eSmrg
3084*f9a78e0eSmrg2015-05-31  Jonathan Wakely  <jwakely@redhat.com>
3085*f9a78e0eSmrg
3086*f9a78e0eSmrg	PR libstdc++/66354
3087*f9a78e0eSmrg	* include/bits/stl_algobase.h (__fill_a): Check length before calling
3088*f9a78e0eSmrg	memset.
3089*f9a78e0eSmrg
3090*f9a78e0eSmrg2015-05-30  Jonathan Wakely  <jwakely@redhat.com>
3091*f9a78e0eSmrg
3092*f9a78e0eSmrg	* include/bits/stl_algobase.h (__equal<true>::equal): Check length
3093*f9a78e0eSmrg	instead of checking for null pointers.
3094*f9a78e0eSmrg	(__lexicographical_compare<true>::__lc): Only check shorter length.
3095*f9a78e0eSmrg
3096*f9a78e0eSmrg2015-05-29  François Dumont  fdumont@gcc.gnu.org>
3097*f9a78e0eSmrg
3098*f9a78e0eSmrg	* include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT,
3099*f9a78e0eSmrg	_GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition...
3100*f9a78e0eSmrg	* include/debug/assertions.h: ...here, new.
3101*f9a78e0eSmrg	* include/debug/formatter.h
3102*f9a78e0eSmrg	(_Error_formatter::_Is_iterator_value_type): New.
3103*f9a78e0eSmrg	(_Error_formatter::_Is_instance): New.
3104*f9a78e0eSmrg	(_Error_formatter::_Parameter): Make public and not friend anymore.
3105*f9a78e0eSmrg	(_Error_formatter::_Parameter::__instance): New _M_kind enum entry.
3106*f9a78e0eSmrg	(_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum
3107*f9a78e0eSmrg	entry.
3108*f9a78e0eSmrg	(_Error_formatter::_Parameter::_Type): New.
3109*f9a78e0eSmrg	(_Error_formatter::_Parameter::_Instance): New, inherit from
3110*f9a78e0eSmrg	latter.
3111*f9a78e0eSmrg	(union _Error_formatter::_Parameter::_M_variant): Reorganize.
3112*f9a78e0eSmrg	(_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all
3113*f9a78e0eSmrg	overloads take iterator through a const reference.
3114*f9a78e0eSmrg	(_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)):
3115*f9a78e0eSmrg	New.
3116*f9a78e0eSmrg	(_Parameter(const _Type&, const char*, _Is_instance)): New.
3117*f9a78e0eSmrg	(_Error_formatter::_M_print_type): Delete.
3118*f9a78e0eSmrg	(_Error_formatter::_M_iterator_value_type): New.
3119*f9a78e0eSmrg	(_Error_formatter::_M_instance): New.
3120*f9a78e0eSmrg	* include/Makefile.am: Add new above debug file.
3121*f9a78e0eSmrg	* include/Makefile.in: Regenerate.
3122*f9a78e0eSmrg	* include/debug/functions.h
3123*f9a78e0eSmrg	(__check_dereferenceable(const _Safe_iterator<>&),
3124*f9a78e0eSmrg	__valid_range(const _Safe_iterator<>&),
3125*f9a78e0eSmrg	__is_safe_random_iterator<_Safe_iterator<>>): Move...
3126*f9a78e0eSmrg	* include/debug/safe_iterator.h: ... here.
3127*f9a78e0eSmrg	Replace debug.h include with assertions.h.
3128*f9a78e0eSmrg	(__check_singular_aux): Move...
3129*f9a78e0eSmrg	* include/debug/safe_base.h: ... here.
3130*f9a78e0eSmrg	* include/debug/functions.h
3131*f9a78e0eSmrg	(__check_dereferenceable(const _Safe_local_iterator<>&),
3132*f9a78e0eSmrg	__valid_range(const _Safe_local_iterator<>&): Move...
3133*f9a78e0eSmrg	* include/debug/safe_local_iterator.h: ...here.
3134*f9a78e0eSmrg	* include/debug/safe_sequence.h: Replace debug.h with assertions.h.
3135*f9a78e0eSmrg	Remove _Safe_iterator declaration.
3136*f9a78e0eSmrg	* include/debug/safe_unordered_container.h: Replace debug.h with
3137*f9a78e0eSmrg	assertions.h.
3138*f9a78e0eSmrg	* include/debug/array: Replace safe_sequence.h include with
3139*f9a78e0eSmrg	formatter.h and macros.h.
3140*f9a78e0eSmrg	* include/debug/deque: Include functions.tcc.
3141*f9a78e0eSmrg	* include/debug/forward_list: Likewise.
3142*f9a78e0eSmrg	* include/debug/list: Likewise.
3143*f9a78e0eSmrg	* include/debug/string: Likewise.
3144*f9a78e0eSmrg	* include/debug/vector: Likewise.
3145*f9a78e0eSmrg	* include/bits/unique_ptr.h: Replace debug.h include with new
3146*f9a78e0eSmrg	assertions.h.
3147*f9a78e0eSmrg	* include/bits/stl_iterator_base_funcs.h: Likewise.
3148*f9a78e0eSmrg	* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
3149*f9a78e0eSmrg	Adjust dg-error line number.
3150*f9a78e0eSmrg	* testsuite/23_containers/array/tuple_interface/
3151*f9a78e0eSmrg	tuple_element_debug_neg.cc: Likewise.
3152*f9a78e0eSmrg	* src/c++11/debug.cc: Adapt.
3153*f9a78e0eSmrg
3154*f9a78e0eSmrg2015-05-29  Jonathan Wakely  <jwakely@redhat.com>
3155*f9a78e0eSmrg
3156*f9a78e0eSmrg	* doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute.
3157*f9a78e0eSmrg	* doc/html/manual/*: Regenerate.
3158*f9a78e0eSmrg
3159*f9a78e0eSmrg	* include/std/future (__async_result_of): New alias template.
3160*f9a78e0eSmrg	(async): Use __async_result_of to pass decayed types to result_of.
3161*f9a78e0eSmrg	* testsuite/30_threads/async/lwg2021.cc: New.
3162*f9a78e0eSmrg	* doc/xml/manual/intro.xml: Document LWG 2021 status.
3163*f9a78e0eSmrg
3164*f9a78e0eSmrg	PR libstdc++/66327
3165*f9a78e0eSmrg	* include/bits/stl_algobase.h (__equal<true>::equal): Do not call
3166*f9a78e0eSmrg	memcmp with null pointers.
3167*f9a78e0eSmrg	(__lexicographical_compare<true>::__lc): Do not call memcmp for empty
3168*f9a78e0eSmrg	ranges.
3169*f9a78e0eSmrg
3170*f9a78e0eSmrg2015-05-28  Jonathan Wakely  <jwakely@redhat.com>
3171*f9a78e0eSmrg
3172*f9a78e0eSmrg	PR libstdc++/65352
3173*f9a78e0eSmrg	* include/profile/array (array::data): Use _S_ptr.
3174*f9a78e0eSmrg	* include/debug/array (array::data): Likewise.
3175*f9a78e0eSmrg
3176*f9a78e0eSmrg	PR libstdc++/65352
3177*f9a78e0eSmrg	* include/std/array (__array_traits::_S_ptr): New function.
3178*f9a78e0eSmrg	(array::data): Use _S_ptr to avoid creating invalid reference.
3179*f9a78e0eSmrg	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
3180*f9a78e0eSmrg	dg-error line numbers.
3181*f9a78e0eSmrg	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
3182*f9a78e0eSmrg	likewise.
3183*f9a78e0eSmrg
3184*f9a78e0eSmrg2015-05-27  Jonathan Wakely  <jwakely@redhat.com>
3185*f9a78e0eSmrg
3186*f9a78e0eSmrg	* include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr
3187*f9a78e0eSmrg	instead of downcasting.
3188*f9a78e0eSmrg	(_Rb_tree::_M_copy): Change second parameter to _Base_ptr.
3189*f9a78e0eSmrg	(_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise.
3190*f9a78e0eSmrg	(_Rb_tree::_S_iter): Remove.
3191*f9a78e0eSmrg	(_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove.
3192*f9a78e0eSmrg	(_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr
3193*f9a78e0eSmrg	instead of _S_lower_bound_tr
3194*f9a78e0eSmrg	(_Rb_tree::_M_find_tr(const _Kt&)): Call const overload.
3195*f9a78e0eSmrg	(_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here
3196*f9a78e0eSmrg	instead of calling _S_lower_bound_tr.
3197*f9a78e0eSmrg	(_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload.
3198*f9a78e0eSmrg	(_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here
3199*f9a78e0eSmrg	instead of calling _S_upper_bound_tr.
3200*f9a78e0eSmrg	(_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload.
3201*f9a78e0eSmrg	(_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise.
3202*f9a78e0eSmrg	(_Rb_tree::equal_range): Use _Base_ptr for end pointer.
3203*f9a78e0eSmrg	(_Rb_tree::_M_get_insert_unique_pos): Likewise.
3204*f9a78e0eSmrg	(_Rb_tree::_M_get_insert_equal_pos): Likewise.
3205*f9a78e0eSmrg	(_Rb_tree::_M_insert_equal_lower_node): Likewise.
3206*f9a78e0eSmrg	(_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique,
3207*f9a78e0eSmrg	_Rb_tree::_M_emplace_hint_unique): Remove static_cast.
3208*f9a78e0eSmrg
3209*f9a78e0eSmrg	PR libstdc++/66017
3210*f9a78e0eSmrg	* include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
3211*f9a78e0eSmrg	(_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
3212*f9a78e0eSmrg	from _Base_ptr.
3213*f9a78e0eSmrg	(_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
3214*f9a78e0eSmrg	(_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
3215*f9a78e0eSmrg	* include/ext/aligned_buffer.h (__aligned_membuf): New type using
3216*f9a78e0eSmrg	alignment of _Tp as a member subobject, not as a complete object.
3217*f9a78e0eSmrg	* python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
3218*f9a78e0eSmrg	_Link_type manually as it might not be in the debug info.
3219*f9a78e0eSmrg
3220*f9a78e0eSmrg2015-05-26  Doug Evans  <dje@google.com>
3221*f9a78e0eSmrg
3222*f9a78e0eSmrg	* python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
3223*f9a78e0eSmrg	operator-> support.
3224*f9a78e0eSmrg	* testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
3225*f9a78e0eSmrg	operator->.
3226*f9a78e0eSmrg
3227*f9a78e0eSmrg2015-05-26  Jonathan Wakely  <jwakely@redhat.com>
3228*f9a78e0eSmrg
3229*f9a78e0eSmrg	* include/bits/locale_conv.h: Fix copyright years.
3230*f9a78e0eSmrg	* include/bits/quoted_string.h: Likewise.
3231*f9a78e0eSmrg	* src/filesystem/Makefile.am: Likewise.
3232*f9a78e0eSmrg	* testsuite/22_locale/conversions/buffer/1.cc: Likewise.
3233*f9a78e0eSmrg	* testsuite/22_locale/conversions/buffer/requirements/typedefs.cc:
3234*f9a78e0eSmrg	Likewise.
3235*f9a78e0eSmrg	* testsuite/22_locale/conversions/string/1.cc: Likewise.
3236*f9a78e0eSmrg	* testsuite/22_locale/conversions/string/2.cc: Likewise.
3237*f9a78e0eSmrg	* testsuite/22_locale/conversions/string/3.cc: Likewise.
3238*f9a78e0eSmrg	* testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
3239*f9a78e0eSmrg	Likewise.
3240*f9a78e0eSmrg	* testsuite/22_locale/conversions/string/requirements/typedefs.cc:
3241*f9a78e0eSmrg	Likewise.
3242*f9a78e0eSmrg	* testsuite/util/testsuite_fs.h: Likewise.
3243*f9a78e0eSmrg
3244*f9a78e0eSmrg2015-05-23  François Dumont  fdumont@gcc.gnu.org>
3245*f9a78e0eSmrg
3246*f9a78e0eSmrg	PR libstdc++/64657
3247*f9a78e0eSmrg	* include/debug/functions.h (__check_sorted_aux): Cast expression to
3248*f9a78e0eSmrg	void.
3249*f9a78e0eSmrg
3250*f9a78e0eSmrg2015-05-21  David Edelsohn  <dje.gcc@gmail.com>
3251*f9a78e0eSmrg
3252*f9a78e0eSmrg	PR target/66224
3253*f9a78e0eSmrg	* config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER):
3254*f9a78e0eSmrg	Don't use isync. Use lwsync if available.
3255*f9a78e0eSmrg	* configure.host (atomic_word_dir) [aix[56789]*]: Delete to use
3256*f9a78e0eSmrg	powerpc cpu definition.
3257*f9a78e0eSmrg
3258*f9a78e0eSmrg2015-05-21  Jason Merrill  <jason@redhat.com>
3259*f9a78e0eSmrg
3260*f9a78e0eSmrg	* libsupc++/del_opv.cc: Suppress -Wsized-deallocation.
3261*f9a78e0eSmrg	* libsupc++/del_op.cc: Likewise.
3262*f9a78e0eSmrg
3263*f9a78e0eSmrg2015-05-20  François Dumont  fdumont@gcc.gnu.org>
3264*f9a78e0eSmrg
3265*f9a78e0eSmrg	* include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify
3266*f9a78e0eSmrg	usage of typeid.
3267*f9a78e0eSmrg	(_Error_formatter::_M_print_type): New.
3268*f9a78e0eSmrg	* src/c++11/debug.cc
3269*f9a78e0eSmrg	(_Error_formatter::_Parameter::_M_print_field): Use latter.
3270*f9a78e0eSmrg	(_Error_formatter::_M_print_type): Implement latter using
3271*f9a78e0eSmrg	__cxaabiv1::__cxa_demangle to print demangled type name.
3272*f9a78e0eSmrg
3273*f9a78e0eSmrg	* include/bits/cpp_type_traits.h
3274*f9a78e0eSmrg	(std::move_iterator): Delete declaration.
3275*f9a78e0eSmrg	(std::__is_move_iterator<move_iterator>): Move partial specialization...
3276*f9a78e0eSmrg	* include/bits/stl_iterator.h: ... here.
3277*f9a78e0eSmrg	(std::__miter_base): Overloads for std::reverse_iterator and
3278*f9a78e0eSmrg	std::move_iterator.
3279*f9a78e0eSmrg	* include/bits/stl_algobase.h (std::__miter_base): Provide default
3280*f9a78e0eSmrg	implementation.
3281*f9a78e0eSmrg
3282*f9a78e0eSmrg2015-05-20  Jonathan Wakely  <jwakely@redhat.com>
3283*f9a78e0eSmrg
3284*f9a78e0eSmrg	* testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam.
3285*f9a78e0eSmrg
3286*f9a78e0eSmrg	PR libstdc++/66078
3287*f9a78e0eSmrg	* include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add
3288*f9a78e0eSmrg	overload for pointers.
3289*f9a78e0eSmrg	* testsuite/20_util/specialized_algorithms/uninitialized_copy/
3290*f9a78e0eSmrg	808590.cc: Add -std=gnu++03 switch.
3291*f9a78e0eSmrg	* testsuite/20_util/specialized_algorithms/uninitialized_copy/
3292*f9a78e0eSmrg	808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11.
3293*f9a78e0eSmrg	* testsuite/23_containers/vector/modifiers/push_back/
3294*f9a78e0eSmrg	strong_guarantee.cc: New.
3295*f9a78e0eSmrg
3296*f9a78e0eSmrg2015-05-19  Jonathan Wakely  <jwakely@redhat.com>
3297*f9a78e0eSmrg
3298*f9a78e0eSmrg	* include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare.
3299*f9a78e0eSmrg	(operator==(const list&, const list&)): If size() is O(1) compare
3300*f9a78e0eSmrg	sizes before comparing each element.
3301*f9a78e0eSmrg	* include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define.
3302*f9a78e0eSmrg	(list::resize): Use _M_resize_pos.
3303*f9a78e0eSmrg
3304*f9a78e0eSmrg2015-05-19  François Dumont  <fdumont@gcc.gnu.org>
3305*f9a78e0eSmrg
3306*f9a78e0eSmrg	* testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor
3307*f9a78e0eSmrg	invocations.
3308*f9a78e0eSmrg	* testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise.
3309*f9a78e0eSmrg	* testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise.
3310*f9a78e0eSmrg	* testsuite/23_containers/unordered_set/cons/66055.cc: Likewise.
3311*f9a78e0eSmrg
3312*f9a78e0eSmrg2015-05-17  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3313*f9a78e0eSmrg
3314*f9a78e0eSmrg	* configure.host: Define cpu_defines_dir for ARM.
3315*f9a78e0eSmrg	* config/cpu/arm/cpu_defines.h: New file.
3316*f9a78e0eSmrg
3317*f9a78e0eSmrg2015-05-17  François Dumont  <fdumont@gcc.gnu.org>
3318*f9a78e0eSmrg
3319*f9a78e0eSmrg	* include/bits/unordered_map.h (unordered_map, unordered_multimap): Add
3320*f9a78e0eSmrg	missing constructors.
3321*f9a78e0eSmrg	* include/bits/unordered_set.h (unordered_set, unordered_multiset):
3322*f9a78e0eSmrg	Likewise.
3323*f9a78e0eSmrg	* include/debug/unordered_map (unordered_map, unordered_multimap): Add
3324*f9a78e0eSmrg	missing constructors.
3325*f9a78e0eSmrg	* include/debug/unordered_set (unordered_set, unordered_multiset):
3326*f9a78e0eSmrg	Likewise.
3327*f9a78e0eSmrg	* include/profile/unordered_map (unordered_map, unordered_multimap): Add
3328*f9a78e0eSmrg	missing constructors.
3329*f9a78e0eSmrg	* include/profile/unordered_set (unordered_set, unordered_multiset):
3330*f9a78e0eSmrg	Likewise.
3331*f9a78e0eSmrg
3332*f9a78e0eSmrg2015-05-15  Jonathan Wakely  <jwakely@redhat.com>
3333*f9a78e0eSmrg
3334*f9a78e0eSmrg	* src/filesystem/ops.cc (stat_type): Define alias for struct stat and
3335*f9a78e0eSmrg	use throughout the file.
3336*f9a78e0eSmrg	(make_file_type): New function.
3337*f9a78e0eSmrg	(file_size(const path&, error_code&)): Report an error for anything
3338*f9a78e0eSmrg	that isn't a regular file.
3339*f9a78e0eSmrg	(status(const path&), symlink_status(const path&)): Do not throw for
3340*f9a78e0eSmrg	file_type::not_found.
3341*f9a78e0eSmrg	(temp_directory_path()): Check additional environment variables.
3342*f9a78e0eSmrg	* testsuite/experimental/filesystem/operations/exists.cc: New.
3343*f9a78e0eSmrg	* testsuite/experimental/filesystem/operations/file_size.cc: New.
3344*f9a78e0eSmrg	* testsuite/experimental/filesystem/operations/status.cc: New.
3345*f9a78e0eSmrg	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
3346*f9a78e0eSmrg	New.
3347*f9a78e0eSmrg
3348*f9a78e0eSmrg2015-05-14  Nathan Myers  <ncm@cantrip.org>
3349*f9a78e0eSmrg	    Jonathan Wakely  <jwakely@redhat.com>
3350*f9a78e0eSmrg
3351*f9a78e0eSmrg	PR libstdc++/66055
3352*f9a78e0eSmrg	* include/std/unordered_map (unordered_map, unordered_multimap): Add
3353*f9a78e0eSmrg	missing constructors.
3354*f9a78e0eSmrg	* include/std/unordered_set (unordered_set, unordered_multiset):
3355*f9a78e0eSmrg	Likewise.
3356*f9a78e0eSmrg	* testsuite/23_containers/unordered_map/cons/66055.cc: New.
3357*f9a78e0eSmrg	* testsuite/23_containers/unordered_multimap/cons/66055.cc: New.
3358*f9a78e0eSmrg	* testsuite/23_containers/unordered_multiset/cons/66055.cc: New.
3359*f9a78e0eSmrg	* testsuite/23_containers/unordered_set/cons/66055.cc: New.
3360*f9a78e0eSmrg
3361*f9a78e0eSmrg2015-05-14  Jonathan Wakely  <jwakely@redhat.com>
3362*f9a78e0eSmrg
3363*f9a78e0eSmrg	PR libstdc++/66011
3364*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and
3365*f9a78e0eSmrg	sendfile.
3366*f9a78e0eSmrg	* config.h.in: Regenerate.
3367*f9a78e0eSmrg	* configure: Regenerate.
3368*f9a78e0eSmrg	* src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do
3369*f9a78e0eSmrg	not return after copying contents. Use fchmod, fchmodat, and sendfile
3370*f9a78e0eSmrg	when available.
3371*f9a78e0eSmrg	(current_path, permissions, space): Use errno not return value.
3372*f9a78e0eSmrg
3373*f9a78e0eSmrg	PR libstdc++/66018
3374*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct
3375*f9a78e0eSmrg	dirent.d_type.
3376*f9a78e0eSmrg	* config.h.in: Regenerate.
3377*f9a78e0eSmrg	* configure: Regenerate.
3378*f9a78e0eSmrg	* configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove.
3379*f9a78e0eSmrg
3380*f9a78e0eSmrg2015-05-13  Eric Botcazou  <ebotcazou@adacore.com>
3381*f9a78e0eSmrg
3382*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete.
3383*f9a78e0eSmrg	* configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS.
3384*f9a78e0eSmrg	* config.h.in: Regenerate.
3385*f9a78e0eSmrg	* configure: Likewise.
3386*f9a78e0eSmrg	* libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by
3387*f9a78e0eSmrg	__USING_SJLJ_EXCEPTIONS__.
3388*f9a78e0eSmrg	* libsupc++/eh_throw.cc: Likewise.
3389*f9a78e0eSmrg	* libsupc++/eh_ptr.cc: Likewise.
3390*f9a78e0eSmrg	* doc/html/manual/appendix_porting.html: Remove
3391*f9a78e0eSmrg	GLIBCXX_ENABLE_SJLJ_EXCEPTIONS
3392*f9a78e0eSmrg	* doc/xml/manual/build_hacking.xml: Likewise.
3393*f9a78e0eSmrg	* doc/html/manual/configure.html: Remove --enable-sjlj-exceptions.
3394*f9a78e0eSmrg	* doc/xml/manual/configure.xml: Likewise.
3395*f9a78e0eSmrg
3396*f9a78e0eSmrg2015-05-13  Jonathan Wakely  <jwakely@redhat.com>
3397*f9a78e0eSmrg
3398*f9a78e0eSmrg	* include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check
3399*f9a78e0eSmrg	for nullptr (LWG 2415).
3400*f9a78e0eSmrg	* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test
3401*f9a78e0eSmrg	construction from empty unique_ptr.
3402*f9a78e0eSmrg	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
3403*f9a78e0eSmrg	* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
3404*f9a78e0eSmrg
3405*f9a78e0eSmrg	* include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()):
3406*f9a78e0eSmrg	Define (LWG 2454).
3407*f9a78e0eSmrg	* testsuite/20_util/raw_storage_iterator/base.cc: New.
3408*f9a78e0eSmrg
3409*f9a78e0eSmrg	* include/std/future (packaged_task(allocator_arg_t, const A&, F&&):
3410*f9a78e0eSmrg	Remove explicit (LWG 2407).
3411*f9a78e0eSmrg
3412*f9a78e0eSmrg	* include/bits/basic_string.h (basic_string::basic_string()): Make
3413*f9a78e0eSmrg	noexcept conditional on allocator (LWG 2455).
3414*f9a78e0eSmrg
3415*f9a78e0eSmrg	* include/std/complex (polar): Check for negative rho (LWG 2459).
3416*f9a78e0eSmrg
3417*f9a78e0eSmrg	* include/experimental/tuple (apply): Handle pointers to member (LWG
3418*f9a78e0eSmrg	2418).
3419*f9a78e0eSmrg	* include/std/functional (_Mem_fn_base): Make constructors constexpr.
3420*f9a78e0eSmrg	(_Maybe_wrap_member_pointer::__do_wrap): Make constexpr.
3421*f9a78e0eSmrg	* testsuite/experimental/tuple/apply.cc: Test pointer to member.
3422*f9a78e0eSmrg
3423*f9a78e0eSmrg	* include/bits/random.h (seed_seq): More noexcept (LWG 2440).
3424*f9a78e0eSmrg
3425*f9a78e0eSmrg	* include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466.
3426*f9a78e0eSmrg	* testsuite/20_util/allocator_traits/members/max_size.cc: Adjust.
3427*f9a78e0eSmrg	* testsuite/23_containers/forward_list/allocator/minimal.cc:
3428*f9a78e0eSmrg	Likewise.
3429*f9a78e0eSmrg	* testsuite/23_containers/map/allocator/minimal.cc: Likewise.
3430*f9a78e0eSmrg	* testsuite/23_containers/multimap/allocator/minimal.cc: Likewise.
3431*f9a78e0eSmrg	* testsuite/23_containers/multiset/allocator/minimal.cc: Likewise.
3432*f9a78e0eSmrg	* testsuite/23_containers/set/allocator/minimal.cc: Likewise.
3433*f9a78e0eSmrg	* testsuite/23_containers/unordered_map/allocator/minimal.cc:
3434*f9a78e0eSmrg	Likewise.
3435*f9a78e0eSmrg	* testsuite/23_containers/unordered_multimap/allocator/minimal.cc:
3436*f9a78e0eSmrg	Likewise.
3437*f9a78e0eSmrg	* testsuite/23_containers/unordered_multiset/allocator/minimal.cc:
3438*f9a78e0eSmrg	Likewise.
3439*f9a78e0eSmrg	* testsuite/23_containers/unordered_set/allocator/minimal.cc:
3440*f9a78e0eSmrg	Likewise.
3441*f9a78e0eSmrg	* testsuite/util/testsuite_allocator.h: Remove unused parameter.
3442*f9a78e0eSmrg
3443*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris.
3444*f9a78e0eSmrg	* configure: Regenerate.
3445*f9a78e0eSmrg
3446*f9a78e0eSmrg2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
3447*f9a78e0eSmrg
3448*f9a78e0eSmrg	* Makefile.in: Regenerated with automake-1.11.6.
3449*f9a78e0eSmrg	* aclocal.m4: Likewise.
3450*f9a78e0eSmrg	* configure: Likewise.
3451*f9a78e0eSmrg	* doc/Makefile.in: Likewise.
3452*f9a78e0eSmrg	* include/Makefile.in: Likewise.
3453*f9a78e0eSmrg	* libsupc++/Makefile.in: Likewise.
3454*f9a78e0eSmrg	* po/Makefile.in: Likewise.
3455*f9a78e0eSmrg	* python/Makefile.in: Likewise.
3456*f9a78e0eSmrg	* src/Makefile.in: Likewise.
3457*f9a78e0eSmrg	* src/c++11/Makefile.in: Likewise.
3458*f9a78e0eSmrg	* src/c++98/Makefile.in: Likewise.
3459*f9a78e0eSmrg	* src/filesystem/Makefile.in: Likewise.
3460*f9a78e0eSmrg	* testsuite/Makefile.in: Likewise.
3461*f9a78e0eSmrg
3462*f9a78e0eSmrg2015-05-09  Jason Merrill  <jason@redhat.com>
3463*f9a78e0eSmrg
3464*f9a78e0eSmrg	* testsuite/20_util/headers/functional/synopsis.cc: Add
3465*f9a78e0eSmrg	_GLIBCXX14_CONSTEXPR.
3466*f9a78e0eSmrg	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
3467*f9a78e0eSmrg
3468*f9a78e0eSmrg2015-05-08  Jason Merrill  <jason@redhat.com>
3469*f9a78e0eSmrg
3470*f9a78e0eSmrg	* testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98.
3471*f9a78e0eSmrg	* testsuite/20_util/auto_ptr/1.cc: Add -std=c++98.
3472*f9a78e0eSmrg	* testsuite/20_util/auto_ptr/2.cc: Add -std=c++98.
3473*f9a78e0eSmrg	* testsuite/20_util/auto_ptr/3.cc: Add -std=c++98.
3474*f9a78e0eSmrg	* testsuite/20_util/auto_ptr/4.cc: Add -std=c++98.
3475*f9a78e0eSmrg	* testsuite/20_util/auto_ptr/5.cc: Add -std=c++98.
3476*f9a78e0eSmrg	* testsuite/20_util/auto_ptr/6.cc: Add -std=c++98.
3477*f9a78e0eSmrg	* testsuite/20_util/auto_ptr/7.cc: Add -std=c++98.
3478*f9a78e0eSmrg	* testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98.
3479*f9a78e0eSmrg	* testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98.
3480*f9a78e0eSmrg	* testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
3481*f9a78e0eSmrg	Likewise.
3482*f9a78e0eSmrg	* testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated.
3483*f9a78e0eSmrg	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
3484*f9a78e0eSmrg	Adjust expected errors.
3485*f9a78e0eSmrg	* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
3486*f9a78e0eSmrg	Likewise.
3487*f9a78e0eSmrg	* testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
3488*f9a78e0eSmrg	Likewise.
3489*f9a78e0eSmrg	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
3490*f9a78e0eSmrg	Likewise.
3491*f9a78e0eSmrg	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3492*f9a78e0eSmrg	Likewise.
3493*f9a78e0eSmrg	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
3494*f9a78e0eSmrg	Likewise.
3495*f9a78e0eSmrg	* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
3496*f9a78e0eSmrg	Likewise.
3497*f9a78e0eSmrg	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
3498*f9a78e0eSmrg	Likewise.
3499*f9a78e0eSmrg	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3500*f9a78e0eSmrg	Likewise.
3501*f9a78e0eSmrg	* testsuite/23_containers/vector/requirements/dr438
3502*f9a78e0eSmrg	/constructor_1_neg.cc: Likewise.
3503*f9a78e0eSmrg	* testsuite/23_containers/vector/requirements/dr438
3504*f9a78e0eSmrg	/constructor_2_neg.cc: Likewise.
3505*f9a78e0eSmrg	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
3506*f9a78e0eSmrg	Likewise.
3507*f9a78e0eSmrg	* testsuite/ext/array_allocator/1.cc: Add -Wno-deprecated.
3508*f9a78e0eSmrg	* testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated.
3509*f9a78e0eSmrg	* testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated.
3510*f9a78e0eSmrg	* testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated.
3511*f9a78e0eSmrg	* testsuite/ext/array_allocator/check_allocate_max_size.cc:
3512*f9a78e0eSmrg	Add -Wno-deprecated.
3513*f9a78e0eSmrg	* testsuite/ext/array_allocator/check_deallocate_null.cc:
3514*f9a78e0eSmrg	Add -Wno-deprecated.
3515*f9a78e0eSmrg	* testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated.
3516*f9a78e0eSmrg	* testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated.
3517*f9a78e0eSmrg	* testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error.
3518*f9a78e0eSmrg	* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
3519*f9a78e0eSmrg	Add -std=c++98.
3520*f9a78e0eSmrg	* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
3521*f9a78e0eSmrg	Add -std=c++98.
3522*f9a78e0eSmrg	* testsuite/tr1/2_general_utilities/shared_ptr/assign
3523*f9a78e0eSmrg	/auto_ptr_rvalue_neg.cc: Add -std=c++98.
3524*f9a78e0eSmrg	* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
3525*f9a78e0eSmrg	Add -std=c++98 -fno-show-column.
3526*f9a78e0eSmrg	* testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
3527*f9a78e0eSmrg	Add -std=c++98.
3528*f9a78e0eSmrg	* testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
3529*f9a78e0eSmrg	Add -std=c++98.
3530*f9a78e0eSmrg	* testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98.
3531*f9a78e0eSmrg	* testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98.
3532*f9a78e0eSmrg
3533*f9a78e0eSmrg	* src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
3534*f9a78e0eSmrg	* src/c++98/Makefile.in: Regenerate.
3535*f9a78e0eSmrg	* src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
3536*f9a78e0eSmrg	* src/Makefile.in: Regenerate.
3537*f9a78e0eSmrg
3538*f9a78e0eSmrg2015-05-02  Jonathan Wakely  <jwakely@redhat.com>
3539*f9a78e0eSmrg
3540*f9a78e0eSmrg	PR libstdc++/51617
3541*f9a78e0eSmrg	* include/std/future (async): Change default policy to launch::async.
3542*f9a78e0eSmrg
3543*f9a78e0eSmrg	* include/experimental/any (any::_Storage): Fix alignment of buffer.
3544*f9a78e0eSmrg	(any::_Internal): Check alignment of type.
3545*f9a78e0eSmrg	* testsuite/experimental/any/cons/aligned.cc: New.
3546*f9a78e0eSmrg	* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
3547*f9a78e0eSmrg
3548*f9a78e0eSmrg	* include/experimental/iterator (ostream_joiner): Simplify by using
3549*f9a78e0eSmrg	the injected-class-name and the ostream_type typedef.
3550*f9a78e0eSmrg
3551*f9a78e0eSmrg	* include/experimental/iterator: New. Define ostream_joiner.
3552*f9a78e0eSmrg	* include/Makefile.am: Add new header.
3553*f9a78e0eSmrg	* include/Makefile.in: Regenerate.
3554*f9a78e0eSmrg	* testsuite/experimental/iterator/make_ostream_joiner.cc: New.
3555*f9a78e0eSmrg	* testsuite/experimental/iterator/ostream_joiner.cc: New.
3556*f9a78e0eSmrg	* testsuite/experimental/iterator/requirements.cc: New.
3557*f9a78e0eSmrg	* doc/xml/manual/status_cxx2017.xml: Update status.
3558*f9a78e0eSmrg	* doc/html/manual/status.html: Regenerate.
3559*f9a78e0eSmrg
3560*f9a78e0eSmrg	* include/experimental/numeric: New. Define gcd and lcm.
3561*f9a78e0eSmrg	* include/Makefile.am: Add new header.
3562*f9a78e0eSmrg	* include/Makefile.in: Regenerate.
3563*f9a78e0eSmrg	* testsuite/experimental/numeric/gcd.cc: New.
3564*f9a78e0eSmrg	* testsuite/experimental/numeric/lcm.cc: New.
3565*f9a78e0eSmrg	* doc/xml/manual/status_cxx2017.xml: Update status.
3566*f9a78e0eSmrg	* doc/html/manual/status.html: Regenerate.
3567*f9a78e0eSmrg
3568*f9a78e0eSmrg2015-05-02  Edward Smith-Rowland  <3dw4rd@verizon.net>
3569*f9a78e0eSmrg
3570*f9a78e0eSmrg	Revert addition of feature macros from other headers per latest SD-6.
3571*f9a78e0eSmrg	* include/experimental/deque: Remove feature-test macro.
3572*f9a78e0eSmrg	* include/experimental/forward_list: Ditto.
3573*f9a78e0eSmrg	* include/experimental/list: Ditto.
3574*f9a78e0eSmrg	* include/experimental/map: Ditto.
3575*f9a78e0eSmrg	* include/experimental/set: Ditto.
3576*f9a78e0eSmrg	* include/experimental/string: Ditto.
3577*f9a78e0eSmrg	* include/experimental/unordered_map: Ditto.
3578*f9a78e0eSmrg	* include/experimental/unordered_set: Ditto.
3579*f9a78e0eSmrg
3580*f9a78e0eSmrg2015-05-02  Jonathan Wakely  <jwakely@redhat.com>
3581*f9a78e0eSmrg
3582*f9a78e0eSmrg	* include/experimental/any (any::_Storage): Make non-copyable.
3583*f9a78e0eSmrg	(any::any): Do not copy _Storage object.
3584*f9a78e0eSmrg	(any::operator=): Implement more efficiently than swapping.
3585*f9a78e0eSmrg	(any::swap): Use new _Op_xfer operation.
3586*f9a78e0eSmrg	(any::_Op::_Op_xfer): New enumerator.
3587*f9a78e0eSmrg	(_Manager_internal::_S_alloc): Remove unused function.
3588*f9a78e0eSmrg	(_Manager_internal::_S_create, _Manager_external::_S_create): Use out
3589*f9a78e0eSmrg	parameter instead of returning a _Storage object.
3590*f9a78e0eSmrg	(_Manager_internal::_S_manage, _Manager_external::_S_manage): Add
3591*f9a78e0eSmrg	_Op_xfer operation for moving and swapping.
3592*f9a78e0eSmrg	* testsuite/experimental/any/cons/nontrivial.cc: New.
3593*f9a78e0eSmrg	* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
3594*f9a78e0eSmrg
3595*f9a78e0eSmrg	* include/experimental/fs_path.h (filesystem_error::~filesystem_error):
3596*f9a78e0eSmrg	Declare.
3597*f9a78e0eSmrg	* src/filesystem/path.cc (filesystem_error::~filesystem_error):
3598*f9a78e0eSmrg	Define.
3599*f9a78e0eSmrg
3600*f9a78e0eSmrg	PR libstdc++/65978
3601*f9a78e0eSmrg	* include/std/tuple (forward_as_tuple, tie): Add constexpr.
3602*f9a78e0eSmrg	* testsuite/20_util/tuple/creation_functions/constexpr.cc: Uncomment
3603*f9a78e0eSmrg	and fix tests for forward_as_tuple and tie.
3604*f9a78e0eSmrg
3605*f9a78e0eSmrg	* src/filesystem/ops.cc (last_write_time) [_GLIBCXX_USE_UTIMENSAT]:
3606*f9a78e0eSmrg	Set timespec members explicitly instead of with a braced-init-list.
3607*f9a78e0eSmrg	[_GLIBCXX_HAVE_UTIME_H]: Use lambda to handle st_atime being a macro.
3608*f9a78e0eSmrg
3609*f9a78e0eSmrg2015-05-02  Edward Smith-Rowland  <3dw4rd@verizon.net>
3610*f9a78e0eSmrg
3611*f9a78e0eSmrg	* include/experimental/deque: Add feature-test macro.
3612*f9a78e0eSmrg	* include/experimental/forward_list: Ditto.
3613*f9a78e0eSmrg	* include/experimental/list: Ditto.
3614*f9a78e0eSmrg	* include/experimental/map: Ditto.
3615*f9a78e0eSmrg	* include/experimental/set: Ditto.
3616*f9a78e0eSmrg	* include/experimental/string: Ditto.
3617*f9a78e0eSmrg	* include/experimental/unordered_map: Ditto.
3618*f9a78e0eSmrg	* include/experimental/unordered_set: Ditto.
3619*f9a78e0eSmrg
3620*f9a78e0eSmrg2015-05-01  Jonathan Wakely  <jwakely@redhat.com>
3621*f9a78e0eSmrg
3622*f9a78e0eSmrg	* include/experimental/memory: Correct feature-test macro.
3623*f9a78e0eSmrg
3624*f9a78e0eSmrg	* include/experimental/memory: Add feature-test macro.
3625*f9a78e0eSmrg	* include/experimental/vector: Likewise.
3626*f9a78e0eSmrg	* doc/xml/manual/status_cxx2017.xml: Update status.
3627*f9a78e0eSmrg	* doc/html/manual/status.html: Regenerate.
3628*f9a78e0eSmrg
3629*f9a78e0eSmrg2015-05-01  Ville Voutilainen  <ville.voutilainen@gmail.com>
3630*f9a78e0eSmrg
3631*f9a78e0eSmrg	Implement observer_ptr.
3632*f9a78e0eSmrg	* include/Makefile.am: Add new header.
3633*f9a78e0eSmrg	* include/Makefile.in: Regenerate.
3634*f9a78e0eSmrg	* include/experimental/memory: New.
3635*f9a78e0eSmrg	* testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New.
3636*f9a78e0eSmrg	* testsuite/experimental/memory/observer_ptr/cons/cons.cc: New.
3637*f9a78e0eSmrg	* testsuite/experimental/memory/observer_ptr/hash/hash.cc: New.
3638*f9a78e0eSmrg	* testsuite/experimental/memory/observer_ptr/make_observer.cc: New.
3639*f9a78e0eSmrg	* testsuite/experimental/memory/observer_ptr/relops/relops.cc: New.
3640*f9a78e0eSmrg	* testsuite/experimental/memory/observer_ptr/requirements.cc: New.
3641*f9a78e0eSmrg	* testsuite/experimental/memory/observer_ptr/swap/swap.cc: New.
3642*f9a78e0eSmrg	* testsuite/experimental/memory/observer_ptr/typedefs.cc: New.
3643*f9a78e0eSmrg
3644*f9a78e0eSmrg2015-05-01  Jonathan Wakely  <jwakely@redhat.com>
3645*f9a78e0eSmrg
3646*f9a78e0eSmrg	* src/filesystem/path.cc (path::compare): Do not copy strings.
3647*f9a78e0eSmrg
3648*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h>
3649*f9a78e0eSmrg	is not available.
3650*f9a78e0eSmrg	(GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat.
3651*f9a78e0eSmrg	* configure: Regenerate.
3652*f9a78e0eSmrg	* config.h.in: Regenerate.
3653*f9a78e0eSmrg	* configure.ac: Check for utime.h
3654*f9a78e0eSmrg	* include/experimental/fs_path.h (path::string<>)
3655*f9a78e0eSmrg	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword.
3656*f9a78e0eSmrg	* src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir,
3657*f9a78e0eSmrg	closedir, dirent, readdir_r): Replace dummy functions with #error.
3658*f9a78e0eSmrg	(native_readdir, _Dir::advance): Use readdir when readdir_r is missing.
3659*f9a78e0eSmrg	* src/filesystem/ops.cc (do_stat, is_set): Make inline.
3660*f9a78e0eSmrg	(last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime.
3661*f9a78e0eSmrg	(permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod.
3662*f9a78e0eSmrg	(space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set
3663*f9a78e0eSmrg	error_code.
3664*f9a78e0eSmrg
3665*f9a78e0eSmrg	* include/experimental/fs_path.h (path::_List): Use vector instead of
3666*f9a78e0eSmrg	list.
3667*f9a78e0eSmrg	* python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt.
3668*f9a78e0eSmrg	* src/filesystem/path.cc: Use std::prev instead of decrementing
3669*f9a78e0eSmrg	rvalues. Fix whitespace.
3670*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/decompose/parent_path.cc:
3671*f9a78e0eSmrg	Do not decrement iterators before begin.
3672*f9a78e0eSmrg
3673*f9a78e0eSmrg	* include/experimental/fs_dir.h: Fix use of non-reserved names.
3674*f9a78e0eSmrg	* include/experimental/fs_ops.h: Likewise.
3675*f9a78e0eSmrg	* include/experimental/fs_path.h: Likewise.
3676*f9a78e0eSmrg	* testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use
3677*f9a78e0eSmrg	C++11 when checking for support.
3678*f9a78e0eSmrg
3679*f9a78e0eSmrg	* include/bits/locale_classes.h (locale::facet): Delete copy
3680*f9a78e0eSmrg	operations in C++11 mode.
3681*f9a78e0eSmrg
3682*f9a78e0eSmrg	* include/bits/alloc_traits.h (__alloc_rebind): Change parameter name.
3683*f9a78e0eSmrg
3684*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris.
3685*f9a78e0eSmrg	* configure: Regenerate.
3686*f9a78e0eSmrg
3687*f9a78e0eSmrg2015-05-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
3688*f9a78e0eSmrg
3689*f9a78e0eSmrg	Inline one-line erasure dispatch functions.
3690*f9a78e0eSmrg	* include/experimental/forward_list (erase_if(), erase()): Inline.
3691*f9a78e0eSmrg	* include/experimental/list (erase_if(), erase()): Inline.
3692*f9a78e0eSmrg	* include/experimental/map (erase_if(*)): Inline.
3693*f9a78e0eSmrg	* include/experimental/set (erase_if(*)): Inline.
3694*f9a78e0eSmrg	* include/experimental/string (erase_if(), erase()): Inline.
3695*f9a78e0eSmrg	* include/experimental/unordered_map (erase_if(*)): Inline.
3696*f9a78e0eSmrg	* include/experimental/unordered_set (erase_if(*)): Inline.
3697*f9a78e0eSmrg
3698*f9a78e0eSmrg2015-05-01  Jonathan Wakely  <jwakely@redhat.com>
3699*f9a78e0eSmrg
3700*f9a78e0eSmrg	* doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file.
3701*f9a78e0eSmrg	* doc/xml/manual/status_cxx2011.xml: Update status tables.
3702*f9a78e0eSmrg	* doc/xml/manual/status_cxx2014.xml: Likewise.
3703*f9a78e0eSmrg	* doc/xml/manual/status_cxx2017.xml: New.
3704*f9a78e0eSmrg	* doc/xml/manual/using.xml: Fix typo.
3705*f9a78e0eSmrg	* doc/html/*: Regenerate.
3706*f9a78e0eSmrg
3707*f9a78e0eSmrg	* include/std/memory (pointer_safety, declare_reachable,
3708*f9a78e0eSmrg	undeclare_reachable, declare_no_pointers, undeclare_no_pointers,
3709*f9a78e0eSmrg	get_pointer_safety): Define.
3710*f9a78e0eSmrg	* testsuite/20_util/pointer_safety/1.cc: New.
3711*f9a78e0eSmrg
3712*f9a78e0eSmrg2015-04-30  Jonathan Wakely  <jwakely@redhat.com>
3713*f9a78e0eSmrg
3714*f9a78e0eSmrg	Implement N4100 File System TS
3715*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define.
3716*f9a78e0eSmrg	(GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
3717*f9a78e0eSmrg	* config.h.in: Regenerate.
3718*f9a78e0eSmrg	* configure: Regenerate.
3719*f9a78e0eSmrg	* configure.ac: Enable filesystem TS and check its dependencies.
3720*f9a78e0eSmrg	* include/Makefile.am: Add new headers.
3721*f9a78e0eSmrg	* include/Makefile.in: Regenerate.
3722*f9a78e0eSmrg	* include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in,
3723*f9a78e0eSmrg	__str_codecvt_out): Move code conversion logic from wstring_convert
3724*f9a78e0eSmrg	into new global functions.
3725*f9a78e0eSmrg	(wstring_convert::to_bytes, wstring_convert::from_bytes): Use new
3726*f9a78e0eSmrg	functions.
3727*f9a78e0eSmrg	(wstring_convert::_M_conv): Remove.
3728*f9a78e0eSmrg	* include/bits/quoted_string.h (_Quoted_string): Split out of iomanip.
3729*f9a78e0eSmrg	* include/experimental/filesystem: New.
3730*f9a78e0eSmrg	* include/experimental/fs_dir.h: New.
3731*f9a78e0eSmrg	* include/experimental/fs_fwd.h: New.
3732*f9a78e0eSmrg	* include/experimental/fs_ops.h: New.
3733*f9a78e0eSmrg	* include/experimental/fs_path.h: New.
3734*f9a78e0eSmrg	* include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h.
3735*f9a78e0eSmrg	* python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add.
3736*f9a78e0eSmrg	* src/Makefile.am (SUBDIRS): Add filesystem.
3737*f9a78e0eSmrg	* src/Makefile.in: Regenerate.
3738*f9a78e0eSmrg	* src/filesystem/Makefile.am: New.
3739*f9a78e0eSmrg	* src/filesystem/Makefile.in: New.
3740*f9a78e0eSmrg	* src/filesystem/dir.cc: New.
3741*f9a78e0eSmrg	* src/filesystem/ops.cc: New.
3742*f9a78e0eSmrg	* src/filesystem/path.cc: New.
3743*f9a78e0eSmrg	* testsuite/experimental/filesystem/operations/absolute.cc: New.
3744*f9a78e0eSmrg	* testsuite/experimental/filesystem/operations/copy.cc: New.
3745*f9a78e0eSmrg	* testsuite/experimental/filesystem/operations/current_path.cc: New.
3746*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/append/path.cc: New.
3747*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/assign/assign.cc: New.
3748*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/assign/copy.cc: New.
3749*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/compare/compare.cc: New.
3750*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/compare/path.cc: New.
3751*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/compare/strings.cc: New.
3752*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/concat/path.cc: New.
3753*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/concat/strings.cc: New.
3754*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/construct/copy.cc: New.
3755*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/construct/default.cc: New.
3756*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/construct/locale.cc: New.
3757*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/construct/range.cc: New.
3758*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/decompose/extension.cc: New.
3759*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/decompose/filename.cc: New.
3760*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/decompose/parent_path.cc:
3761*f9a78e0eSmrg	New.
3762*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/decompose/relative_path.cc:
3763*f9a78e0eSmrg	New.
3764*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/decompose/root_directory.cc:
3765*f9a78e0eSmrg	New.
3766*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/decompose/root_name.cc:
3767*f9a78e0eSmrg	New.
3768*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/decompose/root_path.cc:
3769*f9a78e0eSmrg	New.
3770*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/decompose/stem.cc: New.
3771*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/generic/generic_string.cc:
3772*f9a78e0eSmrg	New.
3773*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/itr/traversal.cc: New.
3774*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/modifiers/clear.cc: New.
3775*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
3776*f9a78e0eSmrg	New.
3777*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
3778*f9a78e0eSmrg	New.
3779*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
3780*f9a78e0eSmrg	New.
3781*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
3782*f9a78e0eSmrg	New.
3783*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
3784*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New.
3785*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/query/empty.cc: New.
3786*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/query/has_extension.cc: New.
3787*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/query/has_filename.cc: New.
3788*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
3789*f9a78e0eSmrg	New.
3790*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
3791*f9a78e0eSmrg	New.
3792*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
3793*f9a78e0eSmrg	New.
3794*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/query/has_root_name.cc:
3795*f9a78e0eSmrg	New.
3796*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/query/has_root_path.cc:
3797*f9a78e0eSmrg	New.
3798*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/query/has_stem.cc: New.
3799*f9a78e0eSmrg	* testsuite/experimental/filesystem/path/query/is_relative.cc: New.
3800*f9a78e0eSmrg	* testsuite/util/testsuite_fs.h: New.
3801*f9a78e0eSmrg
3802*f9a78e0eSmrg2015-04-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
3803*f9a78e0eSmrg
3804*f9a78e0eSmrg	Add fundamentals TR container erasure.
3805*f9a78e0eSmrg	* include/Makefile.am: Add new headers.
3806*f9a78e0eSmrg	* include/Makefile.in: Add new headers.
3807*f9a78e0eSmrg	* include/experimental/array: New.
3808*f9a78e0eSmrg	* include/experimental/deque: New.
3809*f9a78e0eSmrg	* include/experimental/erase_if.tcc: New.
3810*f9a78e0eSmrg	* include/experimental/forward_list: New.
3811*f9a78e0eSmrg	* include/experimental/list: New.
3812*f9a78e0eSmrg	* include/experimental/map: New.
3813*f9a78e0eSmrg	* include/experimental/set: New.
3814*f9a78e0eSmrg	* include/experimental/string: New.
3815*f9a78e0eSmrg	* include/experimental/unordered_map: New.
3816*f9a78e0eSmrg	* include/experimental/unordered_set: New.
3817*f9a78e0eSmrg	* include/experimental/vector: New.
3818*f9a78e0eSmrg	* testsuite/experimental/deque/erasure.cc: New.
3819*f9a78e0eSmrg	* testsuite/experimental/forward_list/erasure.cc: New.
3820*f9a78e0eSmrg	* testsuite/experimental/list/erasure.cc: New.
3821*f9a78e0eSmrg	* testsuite/experimental/map/erasure.cc: New.
3822*f9a78e0eSmrg	* testsuite/experimental/set/erasure.cc: New.
3823*f9a78e0eSmrg	* testsuite/experimental/string/erasure.cc: New.
3824*f9a78e0eSmrg	* testsuite/experimental/unordered_map/erasure.cc: New.
3825*f9a78e0eSmrg	* testsuite/experimental/unordered_set/erasure.cc: New.
3826*f9a78e0eSmrg	* testsuite/experimental/vector/erasure.cc: New.
3827*f9a78e0eSmrg
3828*f9a78e0eSmrg2015-04-30  François Dumont  <fdumont@gcc.gnu.org>
3829*f9a78e0eSmrg
3830*f9a78e0eSmrg	* include/bits/cpp_type_traits.h
3831*f9a78e0eSmrg	(__gnu_cxx::__is_normal_iterator): Delete.
3832*f9a78e0eSmrg	* include/bits/stl_algobase.h (std::__niter_base): Adapt.
3833*f9a78e0eSmrg	* include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11.
3834*f9a78e0eSmrg	(std::__niter_base): Overloads for std::reverse_iterator,
3835*f9a78e0eSmrg	__gnu_cxx::__normal_iterator and std::move_iterator.
3836*f9a78e0eSmrg
3837*f9a78e0eSmrg2015-04-30  François Dumont  <fdumont@gcc.gnu.org>
3838*f9a78e0eSmrg
3839*f9a78e0eSmrg	* include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes):
3840*f9a78e0eSmrg	Delete.
3841*f9a78e0eSmrg	* src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
3842*f9a78e0eSmrg	Remove usage of latter and compute size of the prime numbers array
3843*f9a78e0eSmrg	locally.
3844*f9a78e0eSmrg
3845*f9a78e0eSmrg2015-04-29  Doug Evans  <dje@google.com>
3846*f9a78e0eSmrg
3847*f9a78e0eSmrg	PR libstdc++/65839
3848*f9a78e0eSmrg	* python/libstdcxx/v6/xmethods.py (get_bool_type): New function.
3849*f9a78e0eSmrg	Replace all lookups of "bool" with this.
3850*f9a78e0eSmrg	(get_std_size_type): New function.  Replace all lookups of std::size_t
3851*f9a78e0eSmrg	with this.
3852*f9a78e0eSmrg	(*Worker): New method get_result_type.
3853*f9a78e0eSmrg	(DequeWorkerBase.__init__): New arg val_type.  All callers updated.
3854*f9a78e0eSmrg	(ListWorkerBase.__init__): New arg val_type.  All callers updated.
3855*f9a78e0eSmrg	(UniquePtrGetWorker.__init__): New arg elem_type.  All callers updated.
3856*f9a78e0eSmrg	Delete setting of name, enabled.
3857*f9a78e0eSmrg	(UniquePtrDerefWorker.__init__): New arg elem_type.  All callers
3858*f9a78e0eSmrg	updated.  Delete setting of name.
3859*f9a78e0eSmrg	(UniquePtrMethodsMatcher): Rewrite for consistency with all other
3860*f9a78e0eSmrg	libstdc++ xmethod matchers.
3861*f9a78e0eSmrg	* testsuite/libstdc++-xmethods/array.cc: Add whatis tests.
3862*f9a78e0eSmrg	* testsuite/libstdc++-xmethods/associative-containers.cc: Ditto.
3863*f9a78e0eSmrg	* testsuite/libstdc++-xmethods/deque.cc: Ditto.
3864*f9a78e0eSmrg	* testsuite/libstdc++-xmethods/forwardlist.cc: Ditto.
3865*f9a78e0eSmrg	* testsuite/libstdc++-xmethods/list.cc: Ditto.
3866*f9a78e0eSmrg	* testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto.
3867*f9a78e0eSmrg	* testsuite/libstdc++-xmethods/vector.cc: Ditto.
3868*f9a78e0eSmrg
3869*f9a78e0eSmrg2015-04-29  Doug Evans  <dje@google.com>
3870*f9a78e0eSmrg
3871*f9a78e0eSmrg	Use consistent naming for value type attributes.
3872*f9a78e0eSmrg	* python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
3873*f9a78e0eSmrg	to _val_type.
3874*f9a78e0eSmrg	(ArraySizeWorker, ArrayEmptyWorker): Ditto.
3875*f9a78e0eSmrg	(ArrayFrontWorker, ArrayBackWorker): Ditto.
3876*f9a78e0eSmrg	(ArrayAtWorker, ArraySubscriptWorker): Ditto.
3877*f9a78e0eSmrg	(DequeWorkerBase): Rename elemtype to val_type.
3878*f9a78e0eSmrg	(ForwardListWorkerBase): Rename _elem_type to _val_type.
3879*f9a78e0eSmrg	(ForwardListFrontWorker): Ditto.  And rename elem_address to
3880*f9a78e0eSmrg	val_address.
3881*f9a78e0eSmrg	(ForwardListMethodsMatcher): Rename elem_type to val_type.
3882*f9a78e0eSmrg	(VectorWorkerBase): Rename _elemtype to _val_type.
3883*f9a78e0eSmrg
3884*f9a78e0eSmrg2015-04-29  Jonathan Wakely  <jwakely@redhat.com>
3885*f9a78e0eSmrg
3886*f9a78e0eSmrg	PR libstdc++/65760
3887*f9a78e0eSmrg	* include/std/functional (__check_func_return_type): Use is_same to
3888*f9a78e0eSmrg	avoid using _is_convertible on incomplete types.
3889*f9a78e0eSmrg	* testsuite/20_util/function/65760.cc: New.
3890*f9a78e0eSmrg
3891*f9a78e0eSmrg	PR libstdc++/64657
3892*f9a78e0eSmrg	* include/bits/basic_string (basic_string::_S_copy_chars): Cast
3893*f9a78e0eSmrg	expression to void.
3894*f9a78e0eSmrg	* include/bits/locale_facets_nonio.tcc (money_get::_M_extract,
3895*f9a78e0eSmrg	time_get::_M_extract_num, time_get::_M_extract_name,
3896*f9a78e0eSmrg	time_get::_M_extract_wday_or_month): Likewise.
3897*f9a78e0eSmrg	* include/bits/stl_algo.h (__includes, __replace_copy_if,
3898*f9a78e0eSmrg	__is_sorted_until, __is_permutation, transform): Likewise.
3899*f9a78e0eSmrg	* include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m,
3900*f9a78e0eSmrg	__equal::equal, __lexicographical_compare_impl, equal): Likewise.
3901*f9a78e0eSmrg	* include/bits/stl_numeric.h (inner_product): Likewise.
3902*f9a78e0eSmrg	* include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise.
3903*f9a78e0eSmrg	* testsuite/util/testsuite_iterators.h (output_iterator_wrapper,
3904*f9a78e0eSmrg	input_iterator_wrapper): Declare unusable comma operator.
3905*f9a78e0eSmrg	* testsuite/21_strings/basic_string/cons/char/64657.cc: New.
3906*f9a78e0eSmrg	* testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc:
3907*f9a78e0eSmrg	New.
3908*f9a78e0eSmrg
3909*f9a78e0eSmrg2015-04-28  Doug Evans  <dje@google.com>
3910*f9a78e0eSmrg
3911*f9a78e0eSmrg	* testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI):
3912*f9a78e0eSmrg	Define to zero.
3913*f9a78e0eSmrg
3914*f9a78e0eSmrg2015-04-28  Jonathan Wakely  <jwakely@redhat.com>
3915*f9a78e0eSmrg
3916*f9a78e0eSmrg	* include/bits/stl_algo.h (random_shuffle): Only define for hosted
3917*f9a78e0eSmrg	implementations.
3918*f9a78e0eSmrg
3919*f9a78e0eSmrg2015-04-28  Jonathan Wakely  <jwakely@redhat.com>
3920*f9a78e0eSmrg
3921*f9a78e0eSmrg	* Makefile.am (SUBDIRS): Move python to hosted_source.
3922*f9a78e0eSmrg	* Makefile.in: Regenerate.
3923*f9a78e0eSmrg	* acinclude.m4 (glibcxx_SUBDIRS): Reorder.
3924*f9a78e0eSmrg	* configure: Regenerate.
3925*f9a78e0eSmrg
3926*f9a78e0eSmrg2015-04-28  Marc Glisse  <marc.glisse@inria.fr>
3927*f9a78e0eSmrg
3928*f9a78e0eSmrg	PR libstdc++/65883
3929*f9a78e0eSmrg	* include/std/limits (numeric_limits): Add missing unsigned.
3930*f9a78e0eSmrg
3931*f9a78e0eSmrg2015-04-28  Stephan Bergmann  <sbergman@redhat.com>
3932*f9a78e0eSmrg
3933*f9a78e0eSmrg	* include/debug/vector (_Safe_vector::operator=): Add missing returns.
3934*f9a78e0eSmrg
3935*f9a78e0eSmrg2015-04-28  Jonathan Wakely  <jwakely@redhat.com>
3936*f9a78e0eSmrg
3937*f9a78e0eSmrg	PR libstdc++/60333
3938*f9a78e0eSmrg	* include/std/type_traits (__make_unsigned_selector<_Tp, false, true>):
3939*f9a78e0eSmrg	Handle enumeration types larger than sizeof(long).
3940*f9a78e0eSmrg	(__make_signed_selector<_Tp, false, true>): Find unsigned type then
3941*f9a78e0eSmrg	make it signed.
3942*f9a78e0eSmrg	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
3943*f9a78e0eSmrg	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3944*f9a78e0eSmrg	Likewise.
3945*f9a78e0eSmrg	* testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
3946*f9a78e0eSmrg	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
3947*f9a78e0eSmrg	dg-error.
3948*f9a78e0eSmrg	* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
3949*f9a78e0eSmrg
3950*f9a78e0eSmrg	PR libstdc++/61645
3951*f9a78e0eSmrg	* include/bits/forward_list.h (forward_list::splice_after): Add
3952*f9a78e0eSmrg	noexcept.
3953*f9a78e0eSmrg	* include/bits/forward_list.tcc (forward_list::splice_after):
3954*f9a78e0eSmrg	Likewise.
3955*f9a78e0eSmrg
3956*f9a78e0eSmrg	PR libstdc++/65631
3957*f9a78e0eSmrg	* include/bits/random.h (seed_seq) Define copy constructor and copy
3958*f9a78e0eSmrg	assignment as deleted.
3959*f9a78e0eSmrg	* testsuite/26_numerics/random/seed_seq/cons/65631.cc: New.
3960*f9a78e0eSmrg
3961*f9a78e0eSmrg	* libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if.
3962*f9a78e0eSmrg	* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
3963*f9a78e0eSmrg	Use -std=gnu++1z. Check feature-test macro.
3964*f9a78e0eSmrg
3965*f9a78e0eSmrg	* include/std/type_traits (void_t): Add.
3966*f9a78e0eSmrg	* testsuite/20_util/void_t/1.cc: New.
3967*f9a78e0eSmrg
3968*f9a78e0eSmrg2015-04-28  Tim Shen  <timshen@google.com>
3969*f9a78e0eSmrg
3970*f9a78e0eSmrg	* include/bits/regex.tcc: Handle regex_constants::__polynomial.
3971*f9a78e0eSmrg	* include/bits/regex_automaton.tcc: Throw exception when parsing
3972*f9a78e0eSmrg	back-reference with flag __polynomial.
3973*f9a78e0eSmrg	* include/bits/regex_constants.h: Add extension flag
3974*f9a78e0eSmrg	syntax_option_type __polynomial.
3975*f9a78e0eSmrg	* bits/regex_executor.tcc: Still let BFS process ECMAScript.
3976*f9a78e0eSmrg	Alternative operation will be fixed in the coming refactoring.
3977*f9a78e0eSmrg	* testsuite/28_regex/algorithms/regex_search/61424.cc: Turn
3978*f9a78e0eSmrg	loose match_search_debug to use DFS only.
3979*f9a78e0eSmrg
3980*f9a78e0eSmrg2015-04-27  Sandra Loosemore  <sandra@codesourcery.com>
3981*f9a78e0eSmrg
3982*f9a78e0eSmrg	PR libstdc++/65909
3983*f9a78e0eSmrg	* testsuite/lib/libstdc++.exp (check_v3_target_namedlocale):
3984*f9a78e0eSmrg	Make the generated test program fail gracefully if the target
3985*f9a78e0eSmrg	doesn't	support passing command-line arguments.
3986*f9a78e0eSmrg
3987*f9a78e0eSmrg2015-04-27  Federico Lenarduzzi  <federico.lenarduzzi@tallertechnologies.com>
3988*f9a78e0eSmrg	    Jonathan Wakely  <jwakely@redhat.com>
3989*f9a78e0eSmrg
3990*f9a78e0eSmrg	* libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions):
3991*f9a78e0eSmrg	Return false or zero if the library is built without exceptions.
3992*f9a78e0eSmrg	* libsupc++/eh_term_handler.cc: Disable verbose terminate handler if
3993*f9a78e0eSmrg	the library is built without exceptions.
3994*f9a78e0eSmrg
3995*f9a78e0eSmrg2015-04-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
3996*f9a78e0eSmrg
3997*f9a78e0eSmrg	* config/abi/pre/gnu.ver: Fix comment.
3998*f9a78e0eSmrg
3999*f9a78e0eSmrg	Add support for std::uncaught_exceptions.
4000*f9a78e0eSmrg	* acinclude.m4: Bump libtool_VERSION.
4001*f9a78e0eSmrg	* config/abi/pre/gnu.ver: Export the new symbol.
4002*f9a78e0eSmrg	* configure: Regenerate.
4003*f9a78e0eSmrg	* libsupc++/eh_catch.cc (uncaught_exceptions): New.
4004*f9a78e0eSmrg	* libsupc++/exception (uncaught_exceptions): New.
4005*f9a78e0eSmrg	* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New.
4006*f9a78e0eSmrg	* testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version.
4007*f9a78e0eSmrg
4008*f9a78e0eSmrg2015-04-27  Dmitry Prokoptsev  <dprokoptsev@gmail.com>
4009*f9a78e0eSmrg	    Michael Hanselmann  <public@hansmi.ch>
4010*f9a78e0eSmrg
4011*f9a78e0eSmrg	PR libstdc++/62258
4012*f9a78e0eSmrg	* libsupc++/eh_ptr.cc (rethrow_exception): Increment count of
4013*f9a78e0eSmrg	uncaught exceptions.
4014*f9a78e0eSmrg	* testsuite/18_support/exception_ptr/62258.cc: New.
4015*f9a78e0eSmrg
4016*f9a78e0eSmrg2015-04-27  Jonathan Wakely  <jwakely@redhat.com>
4017*f9a78e0eSmrg
4018*f9a78e0eSmrg	* doc/xml/manual/extensions.xml: Add cross-reference.
4019*f9a78e0eSmrg	* doc/html/manual/ext_compile_checks.html: Regenerate.
4020*f9a78e0eSmrg
4021*f9a78e0eSmrg2015-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>
4022*f9a78e0eSmrg
4023*f9a78e0eSmrg	* config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define.
4024*f9a78e0eSmrg	* configure.host (os_include_dir): Set to "os/generic" for linux-musl*.
4025*f9a78e0eSmrg
4026*f9a78e0eSmrg2015-04-22  Renlin Li  <renlin.li@arm.com>
4027*f9a78e0eSmrg
4028*f9a78e0eSmrg	* testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
4029*f9a78e0eSmrg	* testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
4030*f9a78e0eSmrg	* testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
4031*f9a78e0eSmrg	* testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
4032*f9a78e0eSmrg	* testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.
4033*f9a78e0eSmrg
4034*f9a78e0eSmrg2015-04-21  Jonathan Wakely  <jwakely@redhat.com>
4035*f9a78e0eSmrg
4036*f9a78e0eSmrg	* doc/xml/manual/configure.xml: Update descriptions of options
4037*f9a78e0eSmrg	affecting dual ABI and add cross-references.
4038*f9a78e0eSmrg	* doc/xml/manual/strings.xml: Clarify that string isn't COW now.
4039*f9a78e0eSmrg	* doc/xml/manual/using.xml: Document ABI transition.
4040*f9a78e0eSmrg	* doc/html/*: Regenerate.
4041*f9a78e0eSmrg
4042*f9a78e0eSmrg	* doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library.
4043*f9a78e0eSmrg	* doc/xml/manual/using.xml: Document newer -std options. Use better
4044*f9a78e0eSmrg	examples of nested namespaces.
4045*f9a78e0eSmrg
4046*f9a78e0eSmrg2015-04-20  Jonathan Wakely  <jwakely@redhat.com>
4047*f9a78e0eSmrg
4048*f9a78e0eSmrg	* doc/xml/manual/concurrency_extensions.xml: Update documentation
4049*f9a78e0eSmrg	on atomics.
4050*f9a78e0eSmrg	* doc/xml/manual/using.xml: Likewise. Improve markup.
4051*f9a78e0eSmrg	* doc/html/*: Regenerate.
4052*f9a78e0eSmrg
4053*f9a78e0eSmrg2015-04-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4054*f9a78e0eSmrg
4055*f9a78e0eSmrg	* scripts/extract_symvers.pl: Ignore elfdump error output.
4056*f9a78e0eSmrg
4057*f9a78e0eSmrg2015-04-14  Marc Glisse  <marc.glisse@inria.fr>
4058*f9a78e0eSmrg
4059*f9a78e0eSmrg	PR libstdc++/61347
4060*f9a78e0eSmrg	* include/bits/stl_iterator_base_funcs.h (_List_iterator,
4061*f9a78e0eSmrg	_List_const_iterator): Declare.
4062*f9a78e0eSmrg	(__distance): Declare new overloads for _List_iterator and
4063*f9a78e0eSmrg	_List_const_iterator.
4064*f9a78e0eSmrg	* include/bits/stl_list.h (__distance): New overloads for
4065*f9a78e0eSmrg	_List_iterator and _List_const_iterator.
4066*f9a78e0eSmrg	* testsuite/23_containers/list/61347.cc: New testcase.
4067*f9a78e0eSmrg
4068*f9a78e0eSmrg2015-04-14  Jonathan Wakely  <jwakely@redhat.com>
4069*f9a78e0eSmrg
4070*f9a78e0eSmrg	* doc/xml/manual/evolution.xml: Fix typos.
4071*f9a78e0eSmrg	* doc/html/manual/api.html: Regenerate.
4072*f9a78e0eSmrg
4073*f9a78e0eSmrg2015-04-14  Hans-Peter Nilsson  <hp@axis.com>
4074*f9a78e0eSmrg
4075*f9a78e0eSmrg	* testsuite/29_atomics/atomic/62259.cc: Assert atomic
4076*f9a78e0eSmrg	alignment is larger-equal, not equal, to default alignment.
4077*f9a78e0eSmrg
4078*f9a78e0eSmrg2015-04-13  Jonathan Wakely  <jwakely@redhat.com>
4079*f9a78e0eSmrg
4080*f9a78e0eSmrg	PR libstdc++/65754
4081*f9a78e0eSmrg	* config/abi/pre/gnu.ver: Export base object constructors for
4082*f9a78e0eSmrg	fstreams.
4083*f9a78e0eSmrg	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
4084*f9a78e0eSmrg	* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
4085*f9a78e0eSmrg	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
4086*f9a78e0eSmrg	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
4087*f9a78e0eSmrg	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
4088*f9a78e0eSmrg	* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
4089*f9a78e0eSmrg	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
4090*f9a78e0eSmrg	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
4091*f9a78e0eSmrg	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
4092*f9a78e0eSmrg	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
4093*f9a78e0eSmrg	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
4094*f9a78e0eSmrg	* config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
4095*f9a78e0eSmrg	* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
4096*f9a78e0eSmrg	* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
4097*f9a78e0eSmrg	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
4098*f9a78e0eSmrg	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
4099*f9a78e0eSmrg	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
4100*f9a78e0eSmrg	* testsuite/27_io/basic_fstream/cons/base.cc: New.
4101*f9a78e0eSmrg
4102*f9a78e0eSmrg2015-04-13  Jonathan Wakely  <jwakely@redhat.com>
4103*f9a78e0eSmrg
4104*f9a78e0eSmrg	* doc/xml/manual/evolution.xml: Document changes since 4.5 release.
4105*f9a78e0eSmrg	* doc/html/*: Regenerate.
4106*f9a78e0eSmrg
4107*f9a78e0eSmrg2015-04-12  Uros Bizjak  <ubizjak@gmail.com>
4108*f9a78e0eSmrg
4109*f9a78e0eSmrg	* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
4110*f9a78e0eSmrg
4111*f9a78e0eSmrg2015-04-10  Andreas Schwab  <schwab@linux-m68k.org>
4112*f9a78e0eSmrg
4113*f9a78e0eSmrg	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
4114*f9a78e0eSmrg
4115*f9a78e0eSmrg	* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
4116*f9a78e0eSmrg
4117*f9a78e0eSmrg2015-04-10  Jonathan Wakely  <jwakely@redhat.com>
4118*f9a78e0eSmrg
4119*f9a78e0eSmrg	* doc/xml/manual/test.xml: Improve documentation on running a subset
4120*f9a78e0eSmrg	of tests.
4121*f9a78e0eSmrg	* doc/html/manual/test.html: Regenerate.
4122*f9a78e0eSmrg
4123*f9a78e0eSmrg2015-04-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4124*f9a78e0eSmrg
4125*f9a78e0eSmrg	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
4126*f9a78e0eSmrg	for GCC 5.1 release.
4127*f9a78e0eSmrg	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
4128*f9a78e0eSmrg	Likewise.
4129*f9a78e0eSmrg
4130*f9a78e0eSmrg2015-04-10  Jonathan Wakely  <jwakely@redhat.com>
4131*f9a78e0eSmrg
4132*f9a78e0eSmrg	* include/std/shared_mutex (shared_timed_mutex): Add comments to
4133*f9a78e0eSmrg	explain the logic in the non-pthread_rwlock_t version.
4134*f9a78e0eSmrg	(_Mutex): Remove redundant type.
4135*f9a78e0eSmrg	(_M_n_readers): Rename to _S_max_readers.
4136*f9a78e0eSmrg	(_M_write_entered, _M_readers): New convenience functions.
4137*f9a78e0eSmrg	(lock, lock_shared, try_lock_shared, unlock_shared): Use convenience
4138*f9a78e0eSmrg	functions. Use predicates with condition variables. Simplify bitwise
4139*f9a78e0eSmrg	operations.
4140*f9a78e0eSmrg	(try_lock_for, try_shared_lock_for): Convert duration to time_point
4141*f9a78e0eSmrg	and call try_lock_until or try_shared_lock_until respectively.
4142*f9a78e0eSmrg	(try_lock_until, try_shared_lock_until): Wait on the condition
4143*f9a78e0eSmrg	variables until the specified time passes.
4144*f9a78e0eSmrg	(unlock): Add Debug Mode assertion.
4145*f9a78e0eSmrg	(unlock_shared): Add Debug Mode assertion.
4146*f9a78e0eSmrg	* testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New.
4147*f9a78e0eSmrg
4148*f9a78e0eSmrg	* include/std/shared_mutex (shared_timed_mutex): Only use
4149*f9a78e0eSmrg	pthread_rwlock_t when the POSIX Timeouts option is supported.
4150*f9a78e0eSmrg	* testsuite/30_threads/shared_lock/cons/5.cc: Remove
4151*f9a78e0eSmrg	dg-require-gthreads-timed.
4152*f9a78e0eSmrg	* testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
4153*f9a78e0eSmrg	* testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
4154*f9a78e0eSmrg	* testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
4155*f9a78e0eSmrg
4156*f9a78e0eSmrg2015-04-09  H.J. Lu  <hongjiu.lu@intel.com>
4157*f9a78e0eSmrg
4158*f9a78e0eSmrg	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
4159*f9a78e0eSmrg
4160*f9a78e0eSmrg2015-04-09  Jonathan Wakely  <jwakely@redhat.com>
4161*f9a78e0eSmrg	    Richard Henderson  <rth@redhat.com>
4162*f9a78e0eSmrg
4163*f9a78e0eSmrg	PR libstdc++/65147
4164*f9a78e0eSmrg	* include/bits/atomic_base.h (__atomic_base<_ITp>): Increase
4165*f9a78e0eSmrg	alignment.
4166*f9a78e0eSmrg	* include/std/atomic (atomic): For types with a power of two size set
4167*f9a78e0eSmrg	alignment to at least the size.
4168*f9a78e0eSmrg	* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
4169*f9a78e0eSmrg	* testsuite/29_atomics/atomic/65147.cc: New.
4170*f9a78e0eSmrg	* testsuite/29_atomics/atomic_integral/65147.cc: New.
4171*f9a78e0eSmrg
4172*f9a78e0eSmrg2015-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4173*f9a78e0eSmrg
4174*f9a78e0eSmrg	* config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
4175*f9a78e0eSmrg	* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
4176*f9a78e0eSmrg	* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
4177*f9a78e0eSmrg
4178*f9a78e0eSmrg2015-04-07  Jakub Jelinek  <jakub@redhat.com>
4179*f9a78e0eSmrg
4180*f9a78e0eSmrg	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
4181*f9a78e0eSmrg	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
4182*f9a78e0eSmrg	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
4183*f9a78e0eSmrg	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
4184*f9a78e0eSmrg	* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
4185*f9a78e0eSmrg	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
4186*f9a78e0eSmrg	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
4187*f9a78e0eSmrg	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
4188*f9a78e0eSmrg
4189*f9a78e0eSmrg2015-03-30  Jonathan Wakely  <jwakely@redhat.com>
4190*f9a78e0eSmrg
4191*f9a78e0eSmrg	PR libstdc++/65630
4192*f9a78e0eSmrg	* config/abi/pre/gnu.ver: Export operator+ for new strings.
4193*f9a78e0eSmrg	* testsuite/21_strings/basic_string/operators/char/65630.cc: New.
4194*f9a78e0eSmrg	* testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New.
4195*f9a78e0eSmrg
4196*f9a78e0eSmrg2015-03-28  Tim Shen  <timshen@google.com>
4197*f9a78e0eSmrg
4198*f9a78e0eSmrg	PR libstdc++/65420
4199*f9a78e0eSmrg	* include/bits/regex_constants.h: Use constexpr variables for flags.
4200*f9a78e0eSmrg	* testsuite/28_regex/constants/constexpr.cc: New testcase.
4201*f9a78e0eSmrg
4202*f9a78e0eSmrg2015-03-27  Jonathan Wakely  <jwakely@redhat.com>
4203*f9a78e0eSmrg
4204*f9a78e0eSmrg	PR libstdc++/65499
4205*f9a78e0eSmrg	* include/std/chrono: Add using-directive for literals to std::chrono.
4206*f9a78e0eSmrg	* testsuite/20_util/duration/literals/65499.cc: New.
4207*f9a78e0eSmrg
4208*f9a78e0eSmrg2015-03-26  Jonathan Wakely  <jwakely@redhat.com>
4209*f9a78e0eSmrg
4210*f9a78e0eSmrg	PR libstdc++/58038
4211*f9a78e0eSmrg	PR libstdc++/60421
4212*f9a78e0eSmrg	* include/std/thread (this_thread::sleep_for): Check for negative
4213*f9a78e0eSmrg	durations.
4214*f9a78e0eSmrg	(this_thread::sleep_until): Check for times in the past.
4215*f9a78e0eSmrg	* testsuite/30_threads/this_thread/58038.cc: New.
4216*f9a78e0eSmrg	* testsuite/30_threads/this_thread/60421.cc: New.
4217*f9a78e0eSmrg
4218*f9a78e0eSmrg2015-03-26  Jonathan Wakely  <jwakely@redhat.com>
4219*f9a78e0eSmrg
4220*f9a78e0eSmrg	PR libstdc++/62259
4221*f9a78e0eSmrg	PR libstdc++/65147
4222*f9a78e0eSmrg	* include/std/atomic (atomic<T>): Increase alignment for types with
4223*f9a78e0eSmrg	the same size as one of the integral types.
4224*f9a78e0eSmrg	* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
4225*f9a78e0eSmrg	* testsuite/29_atomics/atomic/62259.cc: New.
4226*f9a78e0eSmrg
4227*f9a78e0eSmrg2015-03-26  Richard Henderson  <rth@redhat.com>
4228*f9a78e0eSmrg
4229*f9a78e0eSmrg	PR libstdc++/65033
4230*f9a78e0eSmrg	* include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build
4231*f9a78e0eSmrg	a fake pointer indicating type alignment.
4232*f9a78e0eSmrg	(__atomic_base<T *>::is_lock_free): Likewise.
4233*f9a78e0eSmrg	* include/std/atomic (atomic<T>::is_lock_free): Likewise.
4234*f9a78e0eSmrg
4235*f9a78e0eSmrg2015-03-25  Alan Lawrence  <alan.lawrence@arm.com>
4236*f9a78e0eSmrg
4237*f9a78e0eSmrg	PR libstdc++/33394
4238*f9a78e0eSmrg	* testsuite/21_strings/basic_string/pthread33394.cc: Use
4239*f9a78e0eSmrg	dg-additional-options.
4240*f9a78e0eSmrg
4241*f9a78e0eSmrg2015-03-25  Paolo Carlini  <paolo.carlini@oracle.com>
4242*f9a78e0eSmrg
4243*f9a78e0eSmrg	PR libstdc++/65543
4244*f9a78e0eSmrg	* include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
4245*f9a78e0eSmrg	thinko in r150387.
4246*f9a78e0eSmrg	* include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
4247*f9a78e0eSmrg	Likewise.
4248*f9a78e0eSmrg	* testsuite/27_io/rvalue_streams-2.cc: New.
4249*f9a78e0eSmrg
4250*f9a78e0eSmrg2015-03-24  Jonathan Wakely  <jwakely@redhat.com>
4251*f9a78e0eSmrg
4252*f9a78e0eSmrg	PR libstdc++/33394
4253*f9a78e0eSmrg	* testsuite/21_strings/basic_string/pthread33394.cc: Add test.
4254*f9a78e0eSmrg
4255*f9a78e0eSmrg2015-03-23  Jonathan Wakely  <jwakely@redhat.com>
4256*f9a78e0eSmrg
4257*f9a78e0eSmrg	PR libstdc++/64967
4258*f9a78e0eSmrg	* acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use.
4259*f9a78e0eSmrg	* configure: Regenerate.
4260*f9a78e0eSmrg	* src/c++11/compatibility-c++0x.cc (error_category), generic_category,
4261*f9a78e0eSmrg	system_category): Use macros for versioned namespace.
4262*f9a78e0eSmrg	* src/c++11/futex.cc: Add missing end macro for versioned namespace.
4263*f9a78e0eSmrg
4264*f9a78e0eSmrg2015-03-20  James Greenhalgh  <james.greenhalgh@arm.com>
4265*f9a78e0eSmrg
4266*f9a78e0eSmrg	* testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable
4267*f9a78e0eSmrg	test for unused for ARM.
4268*f9a78e0eSmrg	* testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise.
4269*f9a78e0eSmrg	* testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
4270*f9a78e0eSmrg
4271*f9a78e0eSmrg2015-03-20  Jonathan Wakely  <jwakely@redhat.com>
4272*f9a78e0eSmrg
4273*f9a78e0eSmrg	* include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace.
4274*f9a78e0eSmrg	* include/ext/codecvt_specializations.h (encoding_state,
4275*f9a78e0eSmrg	encoding_char_traits): Remove abi-tag and use inline namespace.
4276*f9a78e0eSmrg	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line.
4277*f9a78e0eSmrg
4278*f9a78e0eSmrg2015-03-19  Jason Merrill  <jason@redhat.com>
4279*f9a78e0eSmrg
4280*f9a78e0eSmrg	* config/locale/gnu/messages_members.cc: Revert abi-tag change.
4281*f9a78e0eSmrg	* src/c++11/cxx11-shim_facets.cc: Revert abi-tag change.
4282*f9a78e0eSmrg
4283*f9a78e0eSmrg2015-03-18  Jonathan Wakely  <jwakely@redhat.com>
4284*f9a78e0eSmrg
4285*f9a78e0eSmrg	PR c++/65046
4286*f9a78e0eSmrg	* config/locale/gnu/messages_members.cc (Catalog_info, Catalogs,
4287*f9a78e0eSmrg	get_catalogs): Add abi-tag.
4288*f9a78e0eSmrg	* include/ext/codecvt_specializations.h (encoding_state,
4289*f9a78e0eSmrg	encoding_char_traits): Likewise.
4290*f9a78e0eSmrg	* src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise.
4291*f9a78e0eSmrg	* src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string,
4292*f9a78e0eSmrg	numpunct_shim, collate_shim, time_get_shim, moneypunct_shim,
4293*f9a78e0eSmrg	money_get_shim, money_put_shim, messages_shim): Likewise.
4294*f9a78e0eSmrg	* src/c++11/future.cc (future_error_category::message): Likewise.
4295*f9a78e0eSmrg	* src/c++11/system_error.cc (generic_error_category::message,
4296*f9a78e0eSmrg	system_error_category::message): Likewise.
4297*f9a78e0eSmrg	(__sso_string): Disable -Wabi-tag warnings.
4298*f9a78e0eSmrg
4299*f9a78e0eSmrg2015-03-18  Jonathan Wakely  <jwakely@redhat.com>
4300*f9a78e0eSmrg
4301*f9a78e0eSmrg	PR libstdc++/13631
4302*f9a78e0eSmrg	* config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback
4303*f9a78e0eSmrg	implementation for old glibc. Fix whitespace.
4304*f9a78e0eSmrg
4305*f9a78e0eSmrg2015-03-18  Jonathan Wakely  <jwakely@redhat.com>
4306*f9a78e0eSmrg	    Torvald Riegel  <triegel@redhat.com>
4307*f9a78e0eSmrg
4308*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t.
4309*f9a78e0eSmrg	* config.h.in: Regenerate.
4310*f9a78e0eSmrg	* configure: Regenerate.
4311*f9a78e0eSmrg	* include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T.
4312*f9a78e0eSmrg	(shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER.
4313*f9a78e0eSmrg	(shared_timed_mutex::lock_shared()): Retry on EAGAIN.
4314*f9a78e0eSmrg	(shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and
4315*f9a78e0eSmrg	EDEADLK.
4316*f9a78e0eSmrg
4317*f9a78e0eSmrg2015-03-17  Jonathan Wakely  <jwakely@redhat.com>
4318*f9a78e0eSmrg
4319*f9a78e0eSmrg	* libsupc++/nested_exception.h: Do not try to derive from final
4320*f9a78e0eSmrg	classes.
4321*f9a78e0eSmrg	* testsuite/18_support/nested_exception/throw_with_nested.cc: Test
4322*f9a78e0eSmrg	final class.
4323*f9a78e0eSmrg
4324*f9a78e0eSmrg	* testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of
4325*f9a78e0eSmrg	unused exception variable.
4326*f9a78e0eSmrg	* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
4327*f9a78e0eSmrg	* testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate
4328*f9a78e0eSmrg	test.
4329*f9a78e0eSmrg	* testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
4330*f9a78e0eSmrg
4331*f9a78e0eSmrg2015-03-13  Jonathan Wakely  <jwakely@redhat.com>
4332*f9a78e0eSmrg
4333*f9a78e0eSmrg	* acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
4334*f9a78e0eSmrg	* configure: Regenerate.
4335*f9a78e0eSmrg
4336*f9a78e0eSmrg	* include/experimental/system_error: Fix include guard.
4337*f9a78e0eSmrg
4338*f9a78e0eSmrg2015-03-12  Renlin Li  <renlin.li@arm.com>
4339*f9a78e0eSmrg
4340*f9a78e0eSmrg	* testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for
4341*f9a78e0eSmrg	wrapped target.
4342*f9a78e0eSmrg
4343*f9a78e0eSmrg2015-03-10  Tim Shen  <timshen@google.com>
4344*f9a78e0eSmrg
4345*f9a78e0eSmrg	PR libstdc++/64441
4346*f9a78e0eSmrg	* include/bits/regex.h (match_results<>::size,
4347*f9a78e0eSmrg	match_results<>::position, match_results<>::str,
4348*f9a78e0eSmrg	match_results<>::operator[], match_results<>::prefix,
4349*f9a78e0eSmrg	match_results<>::suffix, match_results<>::end,
4350*f9a78e0eSmrg	match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
4351*f9a78e0eSmrg	match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
4352*f9a78e0eSmrg	global __unmatched_sub. Add unmatched submatch as part of
4353*f9a78e0eSmrg	match_results.
4354*f9a78e0eSmrg	* include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
4355*f9a78e0eSmrg	regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
4356*f9a78e0eSmrg	* testsuite/28_regex/match_results/out_of_range_submatches.cc:
4357*f9a78e0eSmrg	New testcases.
4358*f9a78e0eSmrg
4359*f9a78e0eSmrg2015-03-09  Jonathan Wakely  <jwakely@redhat.com>
4360*f9a78e0eSmrg
4361*f9a78e0eSmrg	PR libstdc++/64467
4362*f9a78e0eSmrg	* testsuite/28_regex/traits/char/isctype.cc: Don't test newline
4363*f9a78e0eSmrg	for newlib targets. Really fix mixed line-endings this time.
4364*f9a78e0eSmrg
4365*f9a78e0eSmrg2015-03-06  Jonathan Wakely  <jwakely@redhat.com>
4366*f9a78e0eSmrg
4367*f9a78e0eSmrg	* include/std/future (future_error(error_code)): Construct base
4368*f9a78e0eSmrg	class with error_code's message.
4369*f9a78e0eSmrg	* src/c++11/future.cc (future_error::what()): Do not call c_str() on
4370*f9a78e0eSmrg	temporary string.
4371*f9a78e0eSmrg
4372*f9a78e0eSmrg2015-03-05  Jonathan Wakely  <jwakely@redhat.com>
4373*f9a78e0eSmrg
4374*f9a78e0eSmrg	* include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
4375*f9a78e0eSmrg	noconv result.
4376*f9a78e0eSmrg	* testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
4377*f9a78e0eSmrg	* testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.
4378*f9a78e0eSmrg
4379*f9a78e0eSmrg2015-03-04  Jonathan Wakely  <jwakely@redhat.com>
4380*f9a78e0eSmrg
4381*f9a78e0eSmrg	PR libstdc++/64797
4382*f9a78e0eSmrg	* include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
4383*f9a78e0eSmrg	incomplete multibyte sequences correctly.
4384*f9a78e0eSmrg	* include/std/codecvt (codecvt_utf8, codecvt_utf16,
4385*f9a78e0eSmrg	codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
4386*f9a78e0eSmrg	* src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
4387*f9a78e0eSmrg	Define constants.
4388*f9a78e0eSmrg	(is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
4389*f9a78e0eSmrg	Define convenience functions.
4390*f9a78e0eSmrg	(read_utf8_code_point): Return relevant constant to distinguish
4391*f9a78e0eSmrg	incomplete characters from invalid sequences.
4392*f9a78e0eSmrg	(read_utf16_code_point): Likewise. Check for invalid sequences.
4393*f9a78e0eSmrg	(ucs4_in, utf16_in): Use incomplete_mb_character constant.
4394*f9a78e0eSmrg	(utf16_out): Check for invalid sequences.
4395*f9a78e0eSmrg	(utf16_span): Fix condition.
4396*f9a78e0eSmrg	(ucs2_out): Use is_high_surrogate.
4397*f9a78e0eSmrg	(ucs2_in): Use incomplete_mb_character constant and fix condition.
4398*f9a78e0eSmrg	* testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
4399*f9a78e0eSmrg	* testsuite/22_locale/conversions/buffer/1.cc: New.
4400*f9a78e0eSmrg	* testsuite/22_locale/conversions/string/2.cc: Use char16_t and
4401*f9a78e0eSmrg	char32_t instead of wchar_t.
4402*f9a78e0eSmrg	* testsuite/22_locale/conversions/string/3.cc: New.
4403*f9a78e0eSmrg
4404*f9a78e0eSmrg2015-03-03  Iain Sandoe  <iain@codesourcery.com>
4405*f9a78e0eSmrg
4406*f9a78e0eSmrg	PR libstdc++/64883
4407*f9a78e0eSmrg	* testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check
4408*f9a78e0eSmrg	visibility for Darwin.
4409*f9a78e0eSmrg	* testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and
4410*f9a78e0eSmrg	also deprecated.
4411*f9a78e0eSmrg	* testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
4412*f9a78e0eSmrg
4413*f9a78e0eSmrg2015-03-02  Jonathan Wakely  <jwakely@redhat.com>
4414*f9a78e0eSmrg
4415*f9a78e0eSmrg	PR libstdc++/65279
4416*f9a78e0eSmrg	* include/std/scoped_allocator (__inner_type_impl,
4417*f9a78e0eSmrg	scoped_allocator_adaptor): Add defaulted copy assignment and move
4418*f9a78e0eSmrg	assignment operators.
4419*f9a78e0eSmrg	* testsuite/20_util/scoped_allocator/65279.cc: New.
4420*f9a78e0eSmrg
4421*f9a78e0eSmrg2015-03-02  Jonathan Wakely  <jwakely@redhat.com>
4422*f9a78e0eSmrg
4423*f9a78e0eSmrg	PR libstdc++/64367
4424*f9a78e0eSmrg	* include/std/stdexcept (__sso_string): Don't use non-static member
4425*f9a78e0eSmrg	in sizeof.
4426*f9a78e0eSmrg
4427*f9a78e0eSmrg2015-02-28  Matthias Klose  <doko@ubuntu.com>
4428*f9a78e0eSmrg
4429*f9a78e0eSmrg	PR libstdc++/65246
4430*f9a78e0eSmrg	* python/libstdcxx/v6/__init__.py: Use explicit relative imports.
4431*f9a78e0eSmrg
4432*f9a78e0eSmrg2015-02-22  Jonathan Wakely  <jwakely@redhat.com>
4433*f9a78e0eSmrg
4434*f9a78e0eSmrg	* doc/xml/manual/status_cxx2011.xml: Remove duplicated information.
4435*f9a78e0eSmrg	* doc/html/manual/status.html: Regenerate.
4436*f9a78e0eSmrg
4437*f9a78e0eSmrg2015-02-20  Jonathan Wakely  <jwakely@redhat.com>
4438*f9a78e0eSmrg
4439*f9a78e0eSmrg	PR libstdc++/64695
4440*f9a78e0eSmrg	* python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
4441*f9a78e0eSmrg	tuple layout.
4442*f9a78e0eSmrg
4443*f9a78e0eSmrg	* doc/xml/manual/status_cxx2011.xml: Document implementation-defined
4444*f9a78e0eSmrg	behavior.
4445*f9a78e0eSmrg	* doc/html/manual/status.html: Regenerate.
4446*f9a78e0eSmrg
4447*f9a78e0eSmrg2015-02-19  Jonathan Wakely  <jwakely@redhat.com>
4448*f9a78e0eSmrg
4449*f9a78e0eSmrg	PR libstdc++/58357
4450*f9a78e0eSmrg	* include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
4451*f9a78e0eSmrg	* include/bits/stl_algo.h (__rotate, rotate): Likewise.
4452*f9a78e0eSmrg
4453*f9a78e0eSmrg2015-02-19  Hans-Peter Nilsson  <hp@axis.com>
4454*f9a78e0eSmrg
4455*f9a78e0eSmrg	PR testsuite/65093
4456*f9a78e0eSmrg	* testsuite/26_numerics/random/binomial_distribution/operators/values.cc
4457*f9a78e0eSmrg	(test01): Add explanatory comment.  Keep only the bd1 sub-test and
4458*f9a78e0eSmrg	split out bd2, bd3, bd4, and bd5 sub-tests into...
4459*f9a78e0eSmrg	* testsuite/26_numerics/random/binomial_distribution/operators/values2.cc,
4460*f9a78e0eSmrg	testsuite/26_numerics/random/binomial_distribution/operators/values3.cc,
4461*f9a78e0eSmrg	testsuite/26_numerics/random/binomial_distribution/operators/values4.cc,
4462*f9a78e0eSmrg	testsuite/26_numerics/random/binomial_distribution/operators/values5.cc:
4463*f9a78e0eSmrg	New separate files with the old parts.
4464*f9a78e0eSmrg
4465*f9a78e0eSmrg2015-02-18  Jonathan Wakely  <jwakely@redhat.com>
4466*f9a78e0eSmrg
4467*f9a78e0eSmrg	* src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output
4468*f9a78e0eSmrg	surrogate pairs.
4469*f9a78e0eSmrg	(utf16_in): Pass mode argument to write_utf16_code_point.
4470*f9a78e0eSmrg	(codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
4471*f9a78e0eSmrg	native byte order.
4472*f9a78e0eSmrg	* testsuite/22_locale/codecvt/char16_t.cc: New.
4473*f9a78e0eSmrg	* testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo.
4474*f9a78e0eSmrg
4475*f9a78e0eSmrg	* testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint.
4476*f9a78e0eSmrg	* testsuite/22_locale/codecvt/char32_t.cc: Likewise.
4477*f9a78e0eSmrg
4478*f9a78e0eSmrg2015-02-17  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
4479*f9a78e0eSmrg	    Jonathan Wakely  <jwakely@redhat.com>
4480*f9a78e0eSmrg
4481*f9a78e0eSmrg	* testsuite/22_locale/codecvt/char32_t.cc: New.
4482*f9a78e0eSmrg
4483*f9a78e0eSmrg2015-02-17  Jonathan Wakely  <jwakely@redhat.com>
4484*f9a78e0eSmrg
4485*f9a78e0eSmrg	PR libstdc++/65085
4486*f9a78e0eSmrg	* include/bits/basic_string.h (basic_string(basic_string&&)): Ensure
4487*f9a78e0eSmrg	empty string gets null-terminated.
4488*f9a78e0eSmrg	* testsuite/21_strings/basic_string/cons/char/65085.cc: New.
4489*f9a78e0eSmrg
4490*f9a78e0eSmrg2015-02-13  Matthew Wahab  <matthew.wahab@arm.com>
4491*f9a78e0eSmrg
4492*f9a78e0eSmrg	* testsuite/28_regex/traits/char/isctype.cc (test01): Fix
4493*f9a78e0eSmrg	mixed line-endings introduced in last change.
4494*f9a78e0eSmrg
4495*f9a78e0eSmrg2015-02-12  Matthew Wahab  <matthew.wahab@arm.com>
4496*f9a78e0eSmrg
4497*f9a78e0eSmrg	* testsuite/28_regex/traits/char/isctype.cc (test01): Replace test
4498*f9a78e0eSmrg	for __NEWLIB__ macro with a dejagnu set macro.
4499*f9a78e0eSmrg	* testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
4500*f9a78e0eSmrg
4501*f9a78e0eSmrg2015-02-04  Matthew Wahab  <matthew.wahab@arm.com>
4502*f9a78e0eSmrg
4503*f9a78e0eSmrg	PR libstdc++/64467
4504*f9a78e0eSmrg	* testsuite/28_regex/traits/char/isctype.cc (test01):	Add newlib
4505*f9a78e0eSmrg	special case for '\n'.
4506*f9a78e0eSmrg	* testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
4507*f9a78e0eSmrg
4508*f9a78e0eSmrg2015-02-01  Jonathan Wakely  <jwakely@redhat.com>
4509*f9a78e0eSmrg
4510*f9a78e0eSmrg	* src/c++11/futex.cc: Do not define for gthr-single.h targets.
4511*f9a78e0eSmrg
4512*f9a78e0eSmrg2015-02-01  Jonathan Wakely  <jwakely@redhat.com>
4513*f9a78e0eSmrg
4514*f9a78e0eSmrg	PR libstdc++/64883
4515*f9a78e0eSmrg	* include/c_global/cstdio (gets): Use __deprecated__ attribute instead
4516*f9a78e0eSmrg	of deprecated.
4517*f9a78e0eSmrg	* include/c_std/cstdio (gets): Likewise.
4518*f9a78e0eSmrg	* testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
4519*f9a78e0eSmrg	with attributes used in darwin headers.
4520*f9a78e0eSmrg
4521*f9a78e0eSmrg2015-01-29  Jakub Jelinek  <jakub@redhat.com>
4522*f9a78e0eSmrg
4523*f9a78e0eSmrg	* acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of
4524*f9a78e0eSmrg	$vtv_cygmin = yes.  Initialize vtv_cygmin=no unconditionally first.
4525*f9a78e0eSmrg	* configure: Regenerated.
4526*f9a78e0eSmrg
4527*f9a78e0eSmrg2015-01-29  H.J. Lu  <hongjiu.lu@intel.com>
4528*f9a78e0eSmrg
4529*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
4530*f9a78e0eSmrg	after vtv_cygmin is set.
4531*f9a78e0eSmrg	* configure: Regenerated.
4532*f9a78e0eSmrg
4533*f9a78e0eSmrg2015-01-29  Matthias Klose  <doko@ubuntu.com>
4534*f9a78e0eSmrg
4535*f9a78e0eSmrg	* acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
4536*f9a78e0eSmrg	unconditionally.
4537*f9a78e0eSmrg	* configure: Regenerate.
4538*f9a78e0eSmrg
4539*f9a78e0eSmrg2015-01-29  Caroline Tice  <cmtice@google.com>
4540*f9a78e0eSmrg
4541*f9a78e0eSmrg	Committing VTV Cywin/Ming patch for Patrick Wollgast
4542*f9a78e0eSmrg	* configure: Regenerate.
4543*f9a78e0eSmrg	* libsupc++/Makefile.in: Regenerate.
4544*f9a78e0eSmrg	* src/Makefile.in: Regenerate.
4545*f9a78e0eSmrg
4546*f9a78e0eSmrg2015-01-29  Jonathan Wakely  <jwakely@redhat.com>
4547*f9a78e0eSmrg
4548*f9a78e0eSmrg	* include/bits/atomic_base.h: Use __always_inline__ instead of
4549*f9a78e0eSmrg	always_inline.
4550*f9a78e0eSmrg	* include/bits/atomic_futex.h: Likewise.
4551*f9a78e0eSmrg	* include/bits/c++config: Use __abi_tag__ instead of abi_tag.
4552*f9a78e0eSmrg	* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use
4553*f9a78e0eSmrg	__packed__ instead of packed.
4554*f9a78e0eSmrg	* include/std/shared_mutex: Use __unused__ instead of unused.
4555*f9a78e0eSmrg	* testsuite/17_intro/headers/c++1998/all_attributes.cc: New.
4556*f9a78e0eSmrg	* testsuite/17_intro/headers/c++200x/all_attributes.cc: New.
4557*f9a78e0eSmrg	* testsuite/17_intro/headers/c++2014/all_attributes.cc: New.
4558*f9a78e0eSmrg
4559*f9a78e0eSmrg2015-01-28  Caroline Tice  <cmtice@google.com>
4560*f9a78e0eSmrg
4561*f9a78e0eSmrg	Committing VTV Cywin/Ming patch for Patrick Wollgast
4562*f9a78e0eSmrg	* acinclude.m4: Define VTV_CYGMIN.
4563*f9a78e0eSmrg	* libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES
4564*f9a78e0eSmrg	and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set.
4565*f9a78e0eSmrg	* libsupc++/vtv_stubs.cc: Add none weak declaration of every function
4566*f9a78e0eSmrg	for Cygwin and MinGW.
4567*f9a78e0eSmrg	* src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if
4568*f9a78e0eSmrg	VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
4569*f9a78e0eSmrg	libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
4570*f9a78e0eSmrg
4571*f9a78e0eSmrg2015-01-28  Jonathan Wakely  <jwakely@redhat.com>
4572*f9a78e0eSmrg
4573*f9a78e0eSmrg	PR libstdc++/64828
4574*f9a78e0eSmrg	* libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
4575*f9a78e0eSmrg	* libsupc++/Makefile.in: Regenerate.
4576*f9a78e0eSmrg	* src/c++11/Makefile.in: Regenerate.
4577*f9a78e0eSmrg
4578*f9a78e0eSmrg2015-01-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4579*f9a78e0eSmrg
4580*f9a78e0eSmrg	* testsuite/lib/libstdc++.exp (v3_target_compile): Remove
4581*f9a78e0eSmrg	check for unsupported.
4582*f9a78e0eSmrg	(v3_target_compile_as_c): Likewise.
4583*f9a78e0eSmrg
4584*f9a78e0eSmrg2015-01-28  Richard Biener  <rguenther@suse.de>
4585*f9a78e0eSmrg
4586*f9a78e0eSmrg	PR libstdc++/64798
4587*f9a78e0eSmrg	* libsupc++/eh_alloc.cc (struct allocated_entry): Align
4588*f9a78e0eSmrg	data member.
4589*f9a78e0eSmrg	(pool::allocate): Adjust allocation size and alignment to
4590*f9a78e0eSmrg	that change.
4591*f9a78e0eSmrg	(pool::free): Adjust pointer offsetting.
4592*f9a78e0eSmrg
4593*f9a78e0eSmrg2015-01-27  Jonathan Wakely  <jwakely@redhat.com>
4594*f9a78e0eSmrg
4595*f9a78e0eSmrg	PR libstdc++/64368
4596*f9a78e0eSmrg	* include/std/shared_mutex (shared_timed_mutex::try_lock_for,
4597*f9a78e0eSmrg	shared_timed_mutex::try_lock_until): Only define when POSIX thread
4598*f9a78e0eSmrg	timeouts option is supported.
4599*f9a78e0eSmrg	(shared_timed_mutex::try_shared_lock_for,
4600*f9a78e0eSmrg	shared_timed_mutex::try_shared_lock_until): Likewise.
4601*f9a78e0eSmrg
4602*f9a78e0eSmrg2015-01-26  Jonathan Wakely  <jwakely@redhat.com>
4603*f9a78e0eSmrg
4604*f9a78e0eSmrg	PR libstdc++/64368
4605*f9a78e0eSmrg	* config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(),
4606*f9a78e0eSmrg	numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping.
4607*f9a78e0eSmrg	* src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping
4608*f9a78e0eSmrg	and use cache's _M_grouping field.
4609*f9a78e0eSmrg	(__numpunct_fill_cache): Likewise.
4610*f9a78e0eSmrg	(__moneypunct_fill_cache): Improve comments.
4611*f9a78e0eSmrg
4612*f9a78e0eSmrg2015-01-26  Jonathan Wakely  <jwakely@redhat.com>
4613*f9a78e0eSmrg
4614*f9a78e0eSmrg	* testsuite/23_containers/set/operations/2.cc: Add test for
4615*f9a78e0eSmrg	non-transparent comparison function.
4616*f9a78e0eSmrg
4617*f9a78e0eSmrg2015-01-25  Oleg Endo  <olegendo@gcc.gnu.org>
4618*f9a78e0eSmrg
4619*f9a78e0eSmrg	PR target/29366
4620*f9a78e0eSmrg	* config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add):
4621*f9a78e0eSmrg	Remove SH4A inline asm and lock based implementations and use the
4622*f9a78e0eSmrg	defaults from ext/atomicity.h.
4623*f9a78e0eSmrg
4624*f9a78e0eSmrg2015-01-23  Jonathan Wakely  <jwakely@redhat.com>
4625*f9a78e0eSmrg
4626*f9a78e0eSmrg	* config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match
4627*f9a78e0eSmrg	new std::string constructors for byname facets.
4628*f9a78e0eSmrg
4629*f9a78e0eSmrg2015-01-22  Richard Biener  <rguenther@suse.de>
4630*f9a78e0eSmrg
4631*f9a78e0eSmrg	PR libstdc++/64535
4632*f9a78e0eSmrg	* libsupc++/eh_alloc.cc: Include new.
4633*f9a78e0eSmrg	(bitmask_type): Remove.
4634*f9a78e0eSmrg	(one_buffer): Likewise.
4635*f9a78e0eSmrg	(emergency_buffer): Likewise.
4636*f9a78e0eSmrg	(emergency_used): Likewise.
4637*f9a78e0eSmrg	(dependents_buffer): Likewise.
4638*f9a78e0eSmrg	(dependents_used): Likewise.
4639*f9a78e0eSmrg	(class pool): New custom fixed-size arena, variable size object
4640*f9a78e0eSmrg	allocator.
4641*f9a78e0eSmrg	(emergency_pool): New global.
4642*f9a78e0eSmrg	(__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool.
4643*f9a78e0eSmrg	(__cxxabiv1::__cxa_free_exception): Likewise.
4644*f9a78e0eSmrg	(__cxxabiv1::__cxa_allocate_dependent_exception): Likewise.
4645*f9a78e0eSmrg	(__cxxabiv1::__cxa_free_dependent_exception): Likewise.
4646*f9a78e0eSmrg
4647*f9a78e0eSmrg2015-01-22  Tim Shen  <timshen@google.com>
4648*f9a78e0eSmrg
4649*f9a78e0eSmrg	PR libstdc++/64680
4650*f9a78e0eSmrg	* include/bits/regex.h (basic_regex<>::basic_regex,
4651*f9a78e0eSmrg	basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
4652*f9a78e0eSmrg	standard interface.
4653*f9a78e0eSmrg	* testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
4654*f9a78e0eSmrg
4655*f9a78e0eSmrg2015-01-22  Tim Shen  <timshen@google.com>
4656*f9a78e0eSmrg
4657*f9a78e0eSmrg	PR libstdc++/64649
4658*f9a78e0eSmrg	* include/bits/regex.tcc (regex_traits<>::lookup_collatename,
4659*f9a78e0eSmrg	regex_traits<>::lookup_classname): Correctly narrow input chars.
4660*f9a78e0eSmrg	* testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase.
4661*f9a78e0eSmrg
4662*f9a78e0eSmrg2015-01-21  Jonathan Wakely  <jwakely@redhat.com>
4663*f9a78e0eSmrg
4664*f9a78e0eSmrg	* config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.
4665*f9a78e0eSmrg
4666*f9a78e0eSmrg2015-01-21  Jonathan Wakely  <jwakely@redhat.com>
4667*f9a78e0eSmrg
4668*f9a78e0eSmrg	* testsuite/29_atomics/atomic/64658.cc: Test stored value.
4669*f9a78e0eSmrg
4670*f9a78e0eSmrg2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
4671*f9a78e0eSmrg
4672*f9a78e0eSmrg	* doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags.
4673*f9a78e0eSmrg	* doc/xml/manual/status_cxx2014.xml: Update status.
4674*f9a78e0eSmrg	* doc/html/manual/status.html: Regenerate.
4675*f9a78e0eSmrg
4676*f9a78e0eSmrg2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
4677*f9a78e0eSmrg
4678*f9a78e0eSmrg	PR libstdc++/64650
4679*f9a78e0eSmrg	* include/experimental/optional (bad_optional_access): Add default
4680*f9a78e0eSmrg	constructor.
4681*f9a78e0eSmrg	* testsuite/experimental/optional/requirements.cc: Test for default
4682*f9a78e0eSmrg	constructor.
4683*f9a78e0eSmrg
4684*f9a78e0eSmrg2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
4685*f9a78e0eSmrg
4686*f9a78e0eSmrg	* include/bits/stl_map.h (map::find<>, map::count<>,
4687*f9a78e0eSmrg	map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
4688*f9a78e0eSmrg	member function templates to perform heterogeneous lookup.
4689*f9a78e0eSmrg	* include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
4690*f9a78e0eSmrg	multimap::lower_bound<>, multimap::upper_bound<>,
4691*f9a78e0eSmrg	multimap::equal_range<>): Likewise.
4692*f9a78e0eSmrg	* include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
4693*f9a78e0eSmrg	multiset::lower_bound<>, multiset::upper_bound<>,
4694*f9a78e0eSmrg	multiset::equal_range<>): Likewise.
4695*f9a78e0eSmrg	* include/bits/stl_set.h (set::find<>, set::count<>,
4696*f9a78e0eSmrg	set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
4697*f9a78e0eSmrg	* include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
4698*f9a78e0eSmrg	_Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
4699*f9a78e0eSmrg	_Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
4700*f9a78e0eSmrg	_Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
4701*f9a78e0eSmrg	* testsuite/23_containers/map/operations/2.cc: New.
4702*f9a78e0eSmrg	* testsuite/23_containers/multimap/operations/2.cc: New.
4703*f9a78e0eSmrg	* testsuite/23_containers/multiset/operations/2.cc: New.
4704*f9a78e0eSmrg	* testsuite/23_containers/set/operations/2.cc: New.
4705*f9a78e0eSmrg
4706*f9a78e0eSmrg2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
4707*f9a78e0eSmrg
4708*f9a78e0eSmrg	* config/abi/pre/gnu.ver: Export new constructors.
4709*f9a78e0eSmrg	* include/bits/codecvt.h (codecvt_byname): Add string constructor.
4710*f9a78e0eSmrg	(codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
4711*f9a78e0eSmrg	specializations and declare explicit instantiations.
4712*f9a78e0eSmrg	* include/bits/locale_classes.h (locale, collate_byname): Add string
4713*f9a78e0eSmrg	constructors.
4714*f9a78e0eSmrg	* include/bits/locale_facets.h (ctype_byname, numpunct_byname):
4715*f9a78e0eSmrg	Likewise.
4716*f9a78e0eSmrg	* include/bits/locale_facets_nonio.h (time_get_byname,
4717*f9a78e0eSmrg	time_put_byname, moneypunct_byname, messages_byname): Likewise.
4718*f9a78e0eSmrg	* src/c++11/codecvt.cc (codecvt_byname<char16_t>,
4719*f9a78e0eSmrg	codecvt_byname<char32_t>): Define explicit instantiations.
4720*f9a78e0eSmrg	* src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
4721*f9a78e0eSmrg	Instantiate string constructors.
4722*f9a78e0eSmrg	(ctype_byname): Define string constructor.
4723*f9a78e0eSmrg	* testsuite/22_locale/codecvt_byname/1.cc: New.
4724*f9a78e0eSmrg	* testsuite/22_locale/collate_byname/1.cc: New.
4725*f9a78e0eSmrg	* testsuite/22_locale/ctype_byname/2.cc: New.
4726*f9a78e0eSmrg	* testsuite/22_locale/messages_byname/1.cc: New.
4727*f9a78e0eSmrg	* testsuite/22_locale/moneypunct_byname/1.cc: New.
4728*f9a78e0eSmrg	* testsuite/22_locale/numpunct_byname/1.cc: New.
4729*f9a78e0eSmrg
4730*f9a78e0eSmrg2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
4731*f9a78e0eSmrg
4732*f9a78e0eSmrg	PR libstdc++/64658
4733*f9a78e0eSmrg	* include/std/atomic (atomic_init): Define.
4734*f9a78e0eSmrg	* testsuite/29_atomics/atomic/64658.cc: New.
4735*f9a78e0eSmrg
4736*f9a78e0eSmrg2015-01-19  Tim Shen  <timshen@google.com>
4737*f9a78e0eSmrg
4738*f9a78e0eSmrg	PR libstdc++/64649
4739*f9a78e0eSmrg	* include/bits/regex.tcc (regex_traits<>::lookup_collatename,
4740*f9a78e0eSmrg	regex_traits<>::lookup_classname): Support forward iterators.
4741*f9a78e0eSmrg	* testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
4742*f9a78e0eSmrg	* testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
4743*f9a78e0eSmrg
4744*f9a78e0eSmrg2015-01-19  Tim Shen  <timshen@google.com>
4745*f9a78e0eSmrg
4746*f9a78e0eSmrg	PR libstdc++/64584
4747*f9a78e0eSmrg	PR libstdc++/64585
4748*f9a78e0eSmrg	* include/bits/regex.h (basic_regex<>::basic_regex,
4749*f9a78e0eSmrg	basic_regex<>::assign, basic_regex<>::imbue,
4750*f9a78e0eSmrg	basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
4751*f9a78e0eSmrg	imbuing basic_regex; Make assign() transactional against exception.
4752*f9a78e0eSmrg	* include/bits/regex_compiler.h (__compile_nfa<>): Add back
4753*f9a78e0eSmrg	__compile_nfa SFINAE.
4754*f9a78e0eSmrg	* include/std/regex: Adjust include order to avoid __compile_nfa
4755*f9a78e0eSmrg	forward declaration.
4756*f9a78e0eSmrg	* testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
4757*f9a78e0eSmrg	* testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
4758*f9a78e0eSmrg
4759*f9a78e0eSmrg2015-01-19  Ville Voutilainen  <ville.voutilainen@gmail.com>
4760*f9a78e0eSmrg	    Jonathan Wakely  <jwakely@redhat.com>
4761*f9a78e0eSmrg
4762*f9a78e0eSmrg	* include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
4763*f9a78e0eSmrg	on overloads for arrays.
4764*f9a78e0eSmrg	(cbegin, cend, rbegin, rend, crbegin, crend): New.
4765*f9a78e0eSmrg	* testsuite/24_iterators/range_access_cpp14.cc: New.
4766*f9a78e0eSmrg
4767*f9a78e0eSmrg2015-01-18  Jonathan Wakely  <jwakely@redhat.com>
4768*f9a78e0eSmrg
4769*f9a78e0eSmrg	PR libstdc++/64646
4770*f9a78e0eSmrg	* include/bits/stl_algo.h (__is_permutation): Also test for reaching
4771*f9a78e0eSmrg	end of the second range.
4772*f9a78e0eSmrg	* testsuite/25_algorithms/is_permutation/64646.cc: New.
4773*f9a78e0eSmrg
4774*f9a78e0eSmrg2015-01-18  Jonathan Wakely  <jwakely@redhat.com>
4775*f9a78e0eSmrg
4776*f9a78e0eSmrg	* doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
4777*f9a78e0eSmrg	* doc/html/manual/status.html: Regenerate.
4778*f9a78e0eSmrg
4779*f9a78e0eSmrg2015-01-18  Jonathan Wakely  <jwakely@redhat.com>
4780*f9a78e0eSmrg
4781*f9a78e0eSmrg	* include/bits/atomic_futex.h: Use mutex and condition_variable when
4782*f9a78e0eSmrg	atomic int is not lock-free. Make member variables private.
4783*f9a78e0eSmrg	* src/c++11/futex.cc: Likewise.
4784*f9a78e0eSmrg
4785*f9a78e0eSmrg	* src/c++11/futex.cc: Fix order of includes and preprocessor condition.
4786*f9a78e0eSmrg
4787*f9a78e0eSmrg2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
4788*f9a78e0eSmrg
4789*f9a78e0eSmrg	PR libstdc++/64638
4790*f9a78e0eSmrg	* include/bits/atomic_futex.h: Use appropriate config macros for
4791*f9a78e0eSmrg	availability of std::mutex, std::condition and std::chrono.
4792*f9a78e0eSmrg
4793*f9a78e0eSmrg2015-01-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
4794*f9a78e0eSmrg	    Jonathan Wakely  <jwakely@redhat.com>
4795*f9a78e0eSmrg
4796*f9a78e0eSmrg	* doc/xml/manual/status_cxx2011.xml: Update C++11 status.
4797*f9a78e0eSmrg	* doc/html/*: Regenerate.
4798*f9a78e0eSmrg
4799*f9a78e0eSmrg2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
4800*f9a78e0eSmrg
4801*f9a78e0eSmrg	DR 488
4802*f9a78e0eSmrg	PR libstdc++/58357
4803*f9a78e0eSmrg	* include/bits/algorithmfwd.h (rotate): Return an iterator.
4804*f9a78e0eSmrg	* include/bits/stl_algo.h (rotate, __rotate): Likewise.
4805*f9a78e0eSmrg	* testsuite/25_algorithms/rotate/dr488.cc: New.
4806*f9a78e0eSmrg	* testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
4807*f9a78e0eSmrg	* testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
4808*f9a78e0eSmrg	2.cc: Likewise.
4809*f9a78e0eSmrg	* testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
4810*f9a78e0eSmrg	pod.cc: Likewise.
4811*f9a78e0eSmrg
4812*f9a78e0eSmrg2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
4813*f9a78e0eSmrg
4814*f9a78e0eSmrg	PR libstdc++/60940
4815*f9a78e0eSmrg	* include/bits/atomic_base.h: Remove atomic integral typedefs as
4816*f9a78e0eSmrg	synonyms for __atomic_base<int> etc.
4817*f9a78e0eSmrg	* include/std/atomic: Make atomic_int a synonym for atomic<int> and
4818*f9a78e0eSmrg	likewise for all atomic integral types.
4819*f9a78e0eSmrg	* testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
4820*f9a78e0eSmrg	* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
4821*f9a78e0eSmrg
4822*f9a78e0eSmrg2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
4823*f9a78e0eSmrg
4824*f9a78e0eSmrg	PR libstdc++/56785
4825*f9a78e0eSmrg	* include/std/tuple (_Tuple_impl): Remove zero-element specialization
4826*f9a78e0eSmrg	and define one-element specialization.
4827*f9a78e0eSmrg	* testsuite/20_util/tuple/56785.cc: New.
4828*f9a78e0eSmrg
4829*f9a78e0eSmrg2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
4830*f9a78e0eSmrg
4831*f9a78e0eSmrg	* testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
4832*f9a78e0eSmrg	Remove unused header.
4833*f9a78e0eSmrg	* testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
4834*f9a78e0eSmrg	Likewise.
4835*f9a78e0eSmrg	* testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
4836*f9a78e0eSmrg	Likewise.
4837*f9a78e0eSmrg
4838*f9a78e0eSmrg2015-01-16  Jonathan Wakely  <jwakely@redhat.com>
4839*f9a78e0eSmrg
4840*f9a78e0eSmrg	* include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
4841*f9a78e0eSmrg	* include/std/locale: Include new header.
4842*f9a78e0eSmrg	* include/Makefile.am: Add it.
4843*f9a78e0eSmrg	* include/Makefile.in: Regenerate.
4844*f9a78e0eSmrg	* testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
4845*f9a78e0eSmrg	* testsuite/22_locale/conversions/string/1.cc: New.
4846*f9a78e0eSmrg	* testsuite/22_locale/conversions/string/2.cc: New.
4847*f9a78e0eSmrg	* testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
4848*f9a78e0eSmrg	* testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
4849*f9a78e0eSmrg	New.
4850*f9a78e0eSmrg
4851*f9a78e0eSmrg2015-01-16  Jonathan Wakely  <jwakely@redhat.com>
4852*f9a78e0eSmrg
4853*f9a78e0eSmrg	* config/abi/pre/gnu.ver: Export new symbols.
4854*f9a78e0eSmrg	* include/Makefile.am: Add codecvt.
4855*f9a78e0eSmrg	* include/Makefile.in: Regenerate.
4856*f9a78e0eSmrg	* include/std/codecvt: New header.
4857*f9a78e0eSmrg	* src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
4858*f9a78e0eSmrg	__codecvt_utf8_utf16_base): Define specializations.
4859*f9a78e0eSmrg	* testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
4860*f9a78e0eSmrg	* testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
4861*f9a78e0eSmrg	* testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
4862*f9a78e0eSmrg	New.
4863*f9a78e0eSmrg
4864*f9a78e0eSmrg2015-01-16  Torvald Riegel  <triegel@redhat.com>
4865*f9a78e0eSmrg
4866*f9a78e0eSmrg	* src/c++11/futex.cc: New file.
4867*f9a78e0eSmrg	* include/bits/atomic_futex.h: New file.
4868*f9a78e0eSmrg	* include/std/future (__future_base::_State_baseV2): Use
4869*f9a78e0eSmrg	atomic_futex_unsigned instead of mutex+condvar.
4870*f9a78e0eSmrg	* src/c++11/futex.cc: Likewise.
4871*f9a78e0eSmrg	* include/Makefile.am: Add atomic_futex.h.
4872*f9a78e0eSmrg	* include/Makefile.in: Likewise.
4873*f9a78e0eSmrg	* src/c++11/Makefile.am: Add futex.cc.
4874*f9a78e0eSmrg	* src/c++11/Makefile.in: Likewise.
4875*f9a78e0eSmrg
4876*f9a78e0eSmrg2015-01-16  Jonathan Wakely  <jwakely@redhat.com>
4877*f9a78e0eSmrg
4878*f9a78e0eSmrg	* acinclude.m4: Fix typo in comment.
4879*f9a78e0eSmrg	* configure: Regenerate.
4880*f9a78e0eSmrg	* include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
4881*f9a78e0eSmrg	codecvt<char16_t, char, mbstate_t>): Declare specializations.
4882*f9a78e0eSmrg	* include/bits/locale_facets.h: Reserve space for new specializations.
4883*f9a78e0eSmrg	* src/c++11/Makefile.am: Add codecvt.cc.
4884*f9a78e0eSmrg	* src/c++11/Makefile.in: Regenerate.
4885*f9a78e0eSmrg	* src/c++11/codecvt.cc: New.
4886*f9a78e0eSmrg	* src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
4887*f9a78e0eSmrg	with -std=gnu++11.
4888*f9a78e0eSmrg	* src/c++98/Makefile.in: Regenerate.
4889*f9a78e0eSmrg	* src/c++98/locale_init.cc: Initialize new codecvt specializations.
4890*f9a78e0eSmrg	* src/c++98/localename.cc: Likewise.
4891*f9a78e0eSmrg	* config/abi/pre/gnu.ver: Exports for new codecvt specializations.
4892*f9a78e0eSmrg	* testsuite/22_locale/codecvt/utf8.cc: New.
4893*f9a78e0eSmrg	* testsuite/22_locale/locale/cons/unicode.cc: Check that new
4894*f9a78e0eSmrg	specializations are installed in locale objects.
4895*f9a78e0eSmrg
4896*f9a78e0eSmrg2015-01-16  Torvald Riegel  <triegel@redhat.com>
4897*f9a78e0eSmrg
4898*f9a78e0eSmrg	* include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
4899*f9a78e0eSmrg	implementation.
4900*f9a78e0eSmrg
4901*f9a78e0eSmrg2015-01-13  Jonathan Wakely  <jwakely@redhat.com>
4902*f9a78e0eSmrg
4903*f9a78e0eSmrg	PR libstdc++/64571
4904*f9a78e0eSmrg	* config/abi/pre/gnu.ver: Export fstream functions using new string.
4905*f9a78e0eSmrg
4906*f9a78e0eSmrg2015-01-12  Jonathan Wakely  <jwakely@redhat.com>
4907*f9a78e0eSmrg
4908*f9a78e0eSmrg	PR libstdc++/64560
4909*f9a78e0eSmrg	* src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
4910*f9a78e0eSmrg	for RTTI support.
4911*f9a78e0eSmrg
4912*f9a78e0eSmrg	PR libstdc++/64553
4913*f9a78e0eSmrg	* src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.
4914*f9a78e0eSmrg
4915*f9a78e0eSmrg2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
4916*f9a78e0eSmrg
4917*f9a78e0eSmrg	* doc/xml/manual/parallel_mode.xml: Update for libgomp being
4918*f9a78e0eSmrg	renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and
4919*f9a78e0eSmrg	Multi Processing Runtime Library".
4920*f9a78e0eSmrg
4921*f9a78e0eSmrg2015-01-09  Jonathan Wakely  <jwakely@redhat.com>
4922*f9a78e0eSmrg
4923*f9a78e0eSmrg	PR libstdc++/64476
4924*f9a78e0eSmrg	* include/bits/stl_uninitialized.h (uninitialized_copy): Fix
4925*f9a78e0eSmrg	is_assignable arguments.
4926*f9a78e0eSmrg	* testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
4927*f9a78e0eSmrg	New.
4928*f9a78e0eSmrg
4929*f9a78e0eSmrg2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
4930*f9a78e0eSmrg
4931*f9a78e0eSmrg	* libsupc++/unwind-cxx.h: Revert previous commit.
4932*f9a78e0eSmrg
4933*f9a78e0eSmrg2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
4934*f9a78e0eSmrg
4935*f9a78e0eSmrg	* configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
4936*f9a78e0eSmrg
4937*f9a78e0eSmrg2015-01-09  Tim Shen  <timshen@google.com>
4938*f9a78e0eSmrg
4939*f9a78e0eSmrg	PR libstdc++/64239
4940*f9a78e0eSmrg	* include/bits/regex.h (match_results<>::swap): Use std::swap
4941*f9a78e0eSmrg	instead of swap.
4942*f9a78e0eSmrg	* include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
4943*f9a78e0eSmrg	Likewise.
4944*f9a78e0eSmrg	* testsuite/28_regex/match_results/swap.cc: New testcase.
4945*f9a78e0eSmrg
4946*f9a78e0eSmrg2015-01-08  Jonathan Wakely  <jwakely@redhat.com>
4947*f9a78e0eSmrg
4948*f9a78e0eSmrg	PR libstdc++/60132
4949*f9a78e0eSmrg	* include/std/type_traits (has_trivial_default_constructor,
4950*f9a78e0eSmrg	has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
4951*f9a78e0eSmrg	attribute.
4952*f9a78e0eSmrg	* testsuite/20_util/has_trivial_copy_assign/requirements/
4953*f9a78e0eSmrg	explicit_instantiation.cc: Use -Wno-deprecated.
4954*f9a78e0eSmrg	* testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
4955*f9a78e0eSmrg	Likewise.
4956*f9a78e0eSmrg	* testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
4957*f9a78e0eSmrg	* testsuite/20_util/has_trivial_copy_constructor/requirements/
4958*f9a78e0eSmrg	explicit_instantiation.cc: Likewise.
4959*f9a78e0eSmrg	* testsuite/20_util/has_trivial_copy_constructor/requirements/
4960*f9a78e0eSmrg	typedefs.cc: Likewise.
4961*f9a78e0eSmrg	* testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
4962*f9a78e0eSmrg	* testsuite/20_util/has_trivial_default_constructor/requirements/
4963*f9a78e0eSmrg	explicit_instantiation.c: Likewise.
4964*f9a78e0eSmrg	* testsuite/20_util/has_trivial_default_constructor/requirements/
4965*f9a78e0eSmrg	typedefs.cc: Likewise.
4966*f9a78e0eSmrg	* testsuite/20_util/has_trivial_default_constructor/value.cc:
4967*f9a78e0eSmrg	Likewise.
4968*f9a78e0eSmrg	* testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
4969*f9a78e0eSmrg	trait.
4970*f9a78e0eSmrg	* testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
4971*f9a78e0eSmrg	* testsuite/util/testsuite_common_types.h: Likewise.
4972*f9a78e0eSmrg
4973*f9a78e0eSmrg2015-01-08  Jonathan Wakely  <jwakely@redhat.com>
4974*f9a78e0eSmrg
4975*f9a78e0eSmrg	* include/bits/hashtable_policy.h: Use __bool_constant.
4976*f9a78e0eSmrg
4977*f9a78e0eSmrg2015-01-07  Jonathan Wakely  <jwakely@redhat.com>
4978*f9a78e0eSmrg
4979*f9a78e0eSmrg	* libsupc++/Makefile.am: Compile del_ops.cc as C++14.
4980*f9a78e0eSmrg	* libsupc++/Makefile.in: Regenerate.
4981*f9a78e0eSmrg
4982*f9a78e0eSmrg2015-01-06  Jonathan Wakely  <jwakely@redhat.com>
4983*f9a78e0eSmrg
4984*f9a78e0eSmrg	* config/abi/pre/gnu.ver: Fix version conflict for std::locale::name().
4985*f9a78e0eSmrg
4986*f9a78e0eSmrg2015-01-05  Jakub Jelinek  <jakub@redhat.com>
4987*f9a78e0eSmrg
4988*f9a78e0eSmrg	Update copyright years.
4989*f9a78e0eSmrg
4990*f9a78e0eSmrg2015-01-04  Jonathan Wakely  <jwakely@redhat.com>
4991*f9a78e0eSmrg
4992*f9a78e0eSmrg	PR libstdc++/64483
4993*f9a78e0eSmrg	* testsuite/18_support/exception_ptr/64241.cc: Use
4994*f9a78e0eSmrg	dg-require-atomic-builtins.
4995*f9a78e0eSmrg
4996*f9a78e0eSmrg2015-01-02  Jonathan Wakely  <jwakely@redhat.com>
4997*f9a78e0eSmrg
4998*f9a78e0eSmrg	* testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright
4999*f9a78e0eSmrg	date.
5000*f9a78e0eSmrg
5001*f9a78e0eSmrg2015-01-02  Tim Shen  <timshen@google.com>
5002*f9a78e0eSmrg
5003*f9a78e0eSmrg	PR libstdc++/64475
5004*f9a78e0eSmrg	* include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
5005*f9a78e0eSmrg	iterator, since the original one shouldn't be mutated.
5006*f9a78e0eSmrg
5007*f9a78e0eSmrg2015-01-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5008*f9a78e0eSmrg
5009*f9a78e0eSmrg	PR libstdc++/64422
5010*f9a78e0eSmrg	* src/c++98/misc-inst.cc (string::erase): Add missing overloads.
5011*f9a78e0eSmrg	(string::insert): Likewise.
5012*f9a78e0eSmrg	(string::replace): Likewise.
5013*f9a78e0eSmrg	(wstring::erase): Likewise.
5014*f9a78e0eSmrg	(wstring::insert): Likewise.
5015*f9a78e0eSmrg	(wstring::replace): Likewise.
5016*f9a78e0eSmrg	* testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase.
5017*f9a78e0eSmrg
5018*f9a78e0eSmrg2015-01-02  Jonathan Wakely  <jwakely@redhat.com>
5019*f9a78e0eSmrg
5020*f9a78e0eSmrg	PR libstdc++/64468
5021*f9a78e0eSmrg	* doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
5022*f9a78e0eSmrg
5023*f9a78e0eSmrg2015-01-02  Jonathan Wakely  <jwakely@redhat.com>
5024*f9a78e0eSmrg
5025*f9a78e0eSmrg	PR libstdc++/64438
5026*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
5027*f9a78e0eSmrg	Revert removal of dg-require-string-conversions.
5028*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
5029*f9a78e0eSmrg	Likewise.
5030*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
5031*f9a78e0eSmrg	Likewise.
5032*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
5033*f9a78e0eSmrg	Likewise.
5034*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
5035*f9a78e0eSmrg	Likewise.
5036*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
5037*f9a78e0eSmrg	Likewise.
5038*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
5039*f9a78e0eSmrg	Likewise.
5040*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
5041*f9a78e0eSmrg	Likewise.
5042*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/char/
5043*f9a78e0eSmrg	stoull.cc: Likewise.
5044*f9a78e0eSmrg	* testsuite/21_strings/basic_string/numeric_conversions/char/
5045*f9a78e0eSmrg	to_string.cc: Likewise.
5046*f9a78e0eSmrg
5047*f9a78e0eSmrgCopyright (C) 2015 Free Software Foundation, Inc.
5048*f9a78e0eSmrg
5049*f9a78e0eSmrgCopying and distribution of this file, with or without modification,
5050*f9a78e0eSmrgare permitted in any medium without royalty provided the copyright
5051*f9a78e0eSmrgnotice and this notice are preserved.
5052