PR libstdc++/68838
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob02ad29e6c19e653d909e314a338a032e0f62870a
1 2016-11-29  David Edelsohn  <dje.gcc@gmail.com>
3         PR libstdc++/68838
4         * testsuite/lib/libstdc++.exp (DEFAULT_CXXFLAGS): Add -Wl,-bmaxdata on
5         AIX.
6         * testsuite/23_containers/vector/profile/vector.cc: Remove
7         dg-additional-options.
9 2016-11-26  Tim Shen  <timshen@google.com>
11         PR libstdc++/78441
12         * include/std/variant: Propagate cv qualifications to types returned
13         by variant_alternative.
14         * testsuite/20_util/variant/compile.cc: Tests.
16 2016-11-23  Felix Morgner  <felix.morgner@gmail.com>
17             Jonathan Wakely  <jwakely@redhat.com>
19         PR libstdc++/78490
20         * include/experimental/propagate_const (propagate_const::operator=):
21         Add missing return statements.
22         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
23         Adjust dg-error line numbers.
24         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
26 2016-11-22  Uros Bizjak  <ubizjak@gmail.com>
28         * testsuite/Makefile.am
29         (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection
30         of -j argument.
31         * testsuite/Makefile.in: Regenereate.
33 2016-11-22  Jonathan Wakely  <jwakely@redhat.com>
35         PR libstdc++/78465
36         * testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests
37         with preprocessor conditions.
39 2016-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
41         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Update comments.
42         (__CORRECT_ISO_CPP11_MATH_H_PROTO): Rename to ...
43         (__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): ... this.
44         Add test for C++11 <math.h> integral overloads.
45         * configure: Regenerate.
46         * config.h.in: Regenerate.
48         * include/c_global/cmath [__cplusplus >= 201103L]: Reflect
49         __CORRECT_ISO_CPP11_MATH_H_PROTO to
50         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
51         * include/c_global/cmath [_GLIBCXX_USE_C99_MATH &&
52         !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC && __cplusplus >= 201103L]
53         (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO_INT.
54         (std::isfinite): Likewise.
55         (std::isinf): Likewise.
56         (std::isnan): Likewise.
57         (std::isnormal): Likewise.
58         (std::signbit): Likewise.
59         (std::isgreater): Likewise.
60         (std::isgreaterequal): Likewise.
61         (std::isless): Likewise.
62         (std::islessequal): Likewise.
63         (std::islessgreater): Likewise.
64         (std::isunordered): Likewise.
65         [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]
66         (std::acosh): Likewise.
67         (std::asinh): Likewise.
68         (std::atanh): Likewise.
69         (std::cbrt): Likewise.
70         (std::copysign): Likewise.
71         (std::erf): Likewise.
72         (std::erfc): Likewise.
73         (std::exp2): Likewise.
74         (std::expm1): Likewise.
75         (std::fdim): Likewise.
76         (std::fma): Likewise.
77         (std::fmax): Likewise.
78         (std::fmin): Likewise.
79         (std::hypot): Likewise.
80         (std::ilogb): Likewise.
81         (std::lgamma): Likewise.
82         (std::llrint): Likewise.
83         (std::llround): Likewise.
84         (std::log1p): Likewise.
85         (std::log2): Likewise.
86         (std::logb): Likewise.
87         (std::lrint): Likewise.
88         (std::lround): Likewise.
89         (std::nearbyint): Likewise.
90         (std::nextafter): Likewise.
91         (std::nexttoward): Likewise.
92         (std::remainder): Likewise.
93         (std::remquo): Likewise.
94         (std::rint): Likewise.
95         (std::round): Likewise.
96         (std::scalbln): Likewise.
97         (std::scalbn): Likewise.
98         (std::tgamma): Likewise.
99         (std::trunc): Likewise.
100         * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1 && __cplusplus >=
101         201103L]: Reflect __CORRECT_ISO_CPP11_MATH_H_PROTO to
102         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
104 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
106         PR libstdc++/59406
107         * include/bits/functional_hash.h: Add comment noting difference from
108         FNV-1a.
109         * include/tr1/functional_hash.h: Likewise.
110         * libsupc++/hash_bytes.cc: Likewise.
112         * include/bits/basic_string.h: Reuse _If_sv alias template for new
113         constructor.
115         * doc/xml/manual/intro.xml: Document LWG 2770 status. Remove entries
116         for 2742 and 2748.
117         * doc/html/*: Regenerate.
118         * include/std/utility (__tuple_size_cv_impl): New helper to safely
119         detect tuple_size<T>::value, as per LWG 2770.
120         (tuple_size<cv T>): Adjust partial specializations to derive from
121         __tuple_size_cv_impl.
122         * testsuite/20_util/tuple/cv_tuple_size.cc: Test SFINAE-friendliness.
124         * testsuite/libstdc++-prettyprinters/cxx17.cc: Adjust test for
125         variant<T&>.
127 2016-11-15  Tim Shen  <timshen@google.com>
129         * include/std/variant: Remove variant<T&>, variant<void>, variant<>
130         support to rebase on the post-Issaquah design.
131         * testsuite/20_util/variant/compile.cc: Likewise.
133 2016-11-15  Matthias Klose  <doko@ubuntu.com>
135         * configure: Regenerate.
137 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
139         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Fix license
140         text.
141         * testsuite/20_util/any/assign/emplace.cc: Likewise.
142         * testsuite/20_util/any/cons/in_place.cc: Likewise.
143         * testsuite/20_util/any/make_any.cc: Likewise.
144         * testsuite/20_util/any/requirements.cc: Likewise.
145         * testsuite/20_util/any/typedefs.cc: Likewise.
146         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
147         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
148         Likewise.
149         * testsuite/20_util/in_place/requirements.cc: Likewise.
150         * testsuite/20_util/optional/77288.cc: Likewise.
151         * testsuite/20_util/optional/assignment/1.cc: Likewise.
152         * testsuite/20_util/optional/assignment/2.cc: Likewise.
153         * testsuite/20_util/optional/assignment/3.cc: Likewise.
154         * testsuite/20_util/optional/assignment/4.cc: Likewise.
155         * testsuite/20_util/optional/assignment/5.cc: Likewise.
156         * testsuite/20_util/optional/assignment/6.cc: Likewise.
157         * testsuite/20_util/optional/assignment/7.cc: Likewise.
158         * testsuite/20_util/optional/cons/77727.cc: Likewise.
159         * testsuite/20_util/optional/cons/move.cc: Likewise.
160         * testsuite/20_util/optional/cons/value.cc: Likewise.
161         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
162         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
163         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
164         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
165         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
166         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
167         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
168         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
169         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
170         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
171         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
172         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
173         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
174         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
175         * testsuite/20_util/optional/hash.cc: Likewise.
176         * testsuite/20_util/optional/make_optional.cc: Likewise.
177         * testsuite/20_util/optional/observers/1.cc: Likewise.
178         * testsuite/20_util/optional/observers/2.cc: Likewise.
179         * testsuite/20_util/optional/observers/3.cc: Likewise.
180         * testsuite/20_util/optional/observers/4.cc: Likewise.
181         * testsuite/20_util/optional/observers/5.cc: Likewise.
182         * testsuite/20_util/optional/observers/6.cc: Likewise.
183         * testsuite/20_util/optional/relops/1.cc: Likewise.
184         * testsuite/20_util/optional/relops/2.cc: Likewise.
185         * testsuite/20_util/optional/relops/3.cc: Likewise.
186         * testsuite/20_util/optional/relops/4.cc: Likewise.
187         * testsuite/20_util/optional/relops/5.cc: Likewise.
188         * testsuite/20_util/optional/relops/6.cc: Likewise.
189         * testsuite/20_util/optional/requirements.cc: Likewise.
190         * testsuite/20_util/optional/swap/1.cc: Likewise.
191         * testsuite/20_util/optional/typedefs.cc: Likewise.
192         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
193         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
194         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
195         Likewise.
196         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
197         * testsuite/20_util/variant/hash.cc: Likewise.
198         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
199         * testsuite/experimental/any/typedefs.cc: Likewise.
200         * testsuite/experimental/array/make_array.cc: Likewise.
201         * testsuite/experimental/array/neg.cc: Likewise.
202         * testsuite/experimental/chrono/value.cc: Likewise.
203         * testsuite/experimental/deque/erasure.cc: Likewise.
204         * testsuite/experimental/forward_list/erasure.cc: Likewise.
205         * testsuite/experimental/list/erasure.cc: Likewise.
206         * testsuite/experimental/map/erasure.cc: Likewise.
207         * testsuite/experimental/memory/observer_ptr/assignment/assign.cc:
208         Likewise.
209         * testsuite/experimental/memory/observer_ptr/cons/cons.cc: Likewise.
210         * testsuite/experimental/memory/observer_ptr/hash/hash.cc: Likewise.
211         * testsuite/experimental/memory/observer_ptr/make_observer.cc:
212         Likewise.
213         * testsuite/experimental/memory/observer_ptr/relops/relops.cc:
214         Likewise.
215         * testsuite/experimental/memory/observer_ptr/requirements.cc: Likewise.
216         * testsuite/experimental/memory/observer_ptr/swap/swap.cc: Likewise.
217         * testsuite/experimental/memory/observer_ptr/typedefs.cc: Likewise.
218         * testsuite/experimental/optional/77288.cc: Likewise.
219         * testsuite/experimental/optional/assignment/1.cc: Likewise.
220         * testsuite/experimental/optional/assignment/2.cc: Likewise.
221         * testsuite/experimental/optional/assignment/3.cc: Likewise.
222         * testsuite/experimental/optional/assignment/4.cc: Likewise.
223         * testsuite/experimental/optional/assignment/5.cc: Likewise.
224         * testsuite/experimental/optional/assignment/6.cc: Likewise.
225         * testsuite/experimental/optional/cons/77727.cc: Likewise.
226         * testsuite/experimental/optional/cons/move.cc: Likewise.
227         * testsuite/experimental/optional/cons/value.cc: Likewise.
228         * testsuite/experimental/optional/cons/value_neg.cc: Likewise.
229         * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
230         * testsuite/experimental/optional/constexpr/make_optional.cc: Likewise.
231         * testsuite/experimental/optional/constexpr/observers/1.cc: Likewise.
232         * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
233         * testsuite/experimental/optional/constexpr/observers/3.cc: Likewise.
234         * testsuite/experimental/optional/constexpr/observers/4.cc: Likewise.
235         * testsuite/experimental/optional/constexpr/observers/5.cc: Likewise.
236         * testsuite/experimental/optional/constexpr/relops/1.cc: Likewise.
237         * testsuite/experimental/optional/constexpr/relops/2.cc: Likewise.
238         * testsuite/experimental/optional/constexpr/relops/3.cc: Likewise.
239         * testsuite/experimental/optional/constexpr/relops/4.cc: Likewise.
240         * testsuite/experimental/optional/constexpr/relops/5.cc: Likewise.
241         * testsuite/experimental/optional/constexpr/relops/6.cc: Likewise.
242         * testsuite/experimental/optional/make_optional.cc: Likewise.
243         * testsuite/experimental/optional/observers/1.cc: Likewise.
244         * testsuite/experimental/optional/observers/2.cc: Likewise.
245         * testsuite/experimental/optional/observers/3.cc: Likewise.
246         * testsuite/experimental/optional/observers/4.cc: Likewise.
247         * testsuite/experimental/optional/observers/5.cc: Likewise.
248         * testsuite/experimental/optional/relops/1.cc: Likewise.
249         * testsuite/experimental/optional/relops/2.cc: Likewise.
250         * testsuite/experimental/optional/relops/3.cc: Likewise.
251         * testsuite/experimental/optional/relops/4.cc: Likewise.
252         * testsuite/experimental/optional/relops/5.cc: Likewise.
253         * testsuite/experimental/optional/relops/6.cc: Likewise.
254         * testsuite/experimental/optional/requirements.cc: Likewise.
255         * testsuite/experimental/optional/swap/1.cc: Likewise.
256         * testsuite/experimental/optional/typedefs.cc: Likewise.
257         * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
258         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
259         Likewise.
260         * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
261         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
262         * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
263         * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
264         * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
265         * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
266         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
267         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
268         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
269         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
270         * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
271         * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
272         * testsuite/experimental/random/randint.cc: Likewise.
273         * testsuite/experimental/ratio/value.cc: Likewise.
274         * testsuite/experimental/set/erasure.cc: Likewise.
275         * testsuite/experimental/string/erasure.cc: Likewise.
276         * testsuite/experimental/string_view/typedefs.cc: Likewise.
277         * testsuite/experimental/system_error/value.cc: Likewise.
278         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
279         * testsuite/experimental/type_traits/value.cc: Likewise.
280         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
281         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
282         * testsuite/experimental/vector/erasure.cc: Likewise.
284         * doc/xml/manual/intro.xml: Document LWG 2742 status.
285         * doc/html/*: Regenerate.
286         * include/bits/basic_string.h
287         (basic_string(const T&, size_type, size_type, const Allocator&)): Add
288         constructor for substring of basic_string_view, as per LWG 2742 but
289         with additional constraint to fix ambiguity.
290         * testsuite/21_strings/basic_string/cons/char/9.cc: New test.
291         * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: New test.
293         * doc/xml/manual/intro.xml: Document LWG 2748 status.
294         * include/std/optional (optional<T>::swap): Use is_nothrow_swappable_v
295         for exception specification.
296         (swap(optional<T>&, optional<T>&)): Disable when T is not swappable.
297         * testsuite/20_util/optional/swap/2.cc: New test.
299 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
301         Implement P0513R0, Poisoning the Hash.
302         * include/bits/functional_hash.h (__poison_hash): New.
303         * include/bits/unique_ptr.h
304         (hash<unique_ptr<_Tp, _Dp>>): Derive from __poison_hash.
305         * include/std/optional (hash<optional<_Tp>>): Likewise.
306         * include/std/variant (hash<variant<_Types...>>): Likewise.
307         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
308         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
309         * testsuite/20_util/optional/hash.cc: New.
310         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
311         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Adjust.
312         * testsuite/20_util/unique_ptr/hash/1.cc: Add tests for
313         poisoned fancy pointer hashes.
314         * testsuite/20_util/variant/hash.cc: New.
316 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
318         Implement P0504R0 (Revisiting in-place tag types for
319         any/optional/variant).
320         * include/std/any (any(_ValueType&& __value)): Constrain
321         the __is_in_place_type with the decayed type.
322         (make_any): Adjust to use the new tag type.
323         * include/std/utility (in_place_tag): Remove.
324         (in_place_t): Turn into a non-reference tag type.
325         (__in_place, __in_place_type, __in_place_index): Remove.
326         (in_place): Turn into an inline variable of non-reference
327         tag type.
328         (in_place<_Tp>): Remove.
329         (in_place_index<_Idx>): Remove.
330         (in_place_type_t): New.
331         (in_place_type): Turn into a variable template of non-reference
332         type.
333         (in_place_index_t): New.
334         (in_place_index): Turn into a variable template of non-reference
335         type.
336         * include/std/variant
337         (_Variant_storage(in_place_index_t<_Np>, _Args&&...)): Adjust to
338         use the new tag type.
339         (_Union(in_place_index_t<0>, _Args&&...)): Likewise.
340         (_Union(in_place_index_t<_Np>, _Args&&...)): Likewise.
341         (_Variant_base()): Likewise.
342         (variant(_Tp&&)): Likewise.
343         (variant(in_place_type_t<_Tp>, _Args&&...)): Likewise.
344         (variant(in_place_type_t<_Tp>, initializer_list<_Up>,
345         _Args&&...)): Likewise.
346         (variant(in_place_index_t<_Np>, _Args&&...)): Likewise.
347         (variant(in_place_index_t<_Np>, initializer_list<_Up>,
348         _Args&&...)): Likewise
349         (variant(allocator_arg_t, const _Alloc&)): Likewise.
350         (variant(allocator_arg_t, const _Alloc&, _Tp&&)): Likewise.
351         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
352         _Args&&...)): Likewise.
353         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
354         initializer_list<_Up>, _Args&&...)): Likewise.
355         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
356         _Args&&...)): Likewise.
357         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
358         initializer_list<_Up>, _Args&&...)): Likewise.
359         (emplace(_Args&&...)): Likewise.
360         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
361         * testsuite/20_util/any/cons/explicit.cc: Likewise.
362         * testsuite/20_util/any/cons/in_place.cc: Likewise.
363         * testsuite/20_util/any/requirements.cc: Add tests to
364         check that any is not constructible from the new in_place_type_t
365         of any value category.
366         * testsuite/20_util/in_place/requirements.cc: Adjust to
367         use the new tag type.
368         * testsuite/20_util/variant/compile.cc: Likewise.
369         * testsuite/20_util/variant/run.cc: Likewise.
371 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
373         Use constexpr addressof in optional, SFINAE housekeeping
374         for any, optional and tuple.
375         * include/std/any (__do_emplace(_Args&&...)): New.
376         (__do_emplace(initializer_list<_Up>, _Args&&...)): Likewise.
377         (__any_constructible): Likewise.
378         (__any_constructible_t): Use __any_constructible.
379         (operator=(_ValueType&&)): SFINAE in the return type.
380         (emplace(_Args&&...)): Likewise.
381         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
382         * include/std/optional (_Has_addressof_mem): Remove.
383         (_Has_addressof_free): Likewise.
384         (_Has_addressof): Likewise.
385         (__constexpr_addressof(_Tp&)): Likewise.
386         (operator->): Use std::__addressof.
387         * include/std/tuple (operator=(const tuple<_UElements...>&)):
388         SFINAE in return type.
389         (operator=(tuple<_UElements...>&&)): Likewise.
390         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
392 2016-11-14  Jonathan Wakely  <jwakely@redhat.com>
394         * include/bits/move.h (addressof(const _Tp&&)): Add deleted overload,
395         as per LWG 2598.
397         * include/std/future (future::share(), future<R&>::share())
398         (future<void>::share()): Add noexcept, as per LWG 2556.
400 2016-11-13  Jonathan Wakely  <jwakely@redhat.com>
402         PR libstdc++/78326
403         * include/experimental/memory_resource (memory_resource::_S_max_align):
404         Change access to protected.
406         * doc/xml/manual/status_cxx2017.xml: Update status.
407         * doc/html/manual/status.html: Regenerate.
408         * include/bits/shared_ptr.h (shared_ptr(unique_ptr<_Yp, _Del>)): Add
409         extension constructor to maintain C++14 behaviour.
410         * include/bits/shared_ptr_base.h (__sp_array_delete): Add new struct.
411         (__shared_count(_Ptr, false_type), __shared_count(_Ptr, true_type)):
412         New constructors.
413         (__sp_compatible_with, __sp_is_constructible): Add specializations
414         for array support.
415         (__sp_is_constructible_arr, __sp_is_constructible_arrN): New helpers.
416         (__shared_ptr_access): New base class for observer member functions.
417         (__shared_ptr::element_type): Use remove_extent.
418         (__shared_ptr::_UniqCompatible): Add __sp_compatible_with check.
419         (__shared_ptr(_Yp*)): Use tag dispatching to call new __shared_count
420         constructor.
421         (__shared_ptr(unique_ptr<_Yp, _Del>)): Add extension constructor.
422         (__shared_ptr::operator*, __shared_ptr::operator->): Remove and
423         inherit from __shared_ptr_access base class.
424         (__shared_ptr::__has_esft_base): Return false for array types.
425         (__weak_ptr::element_type): Use remove_extent.
426         * include/experimental/bits/shared_ptr.h (__libfund_v1): Remove.
427         (__shared_ptr<__libfund_v1<_Tp>>): Remove specializations.
428         (__wak_ptr<__libfund_v1<_Tp>>): Likewise.
429         (experimental::__sp_compatible_v): Redefine using
430         __sp_compatible_with.
431         (experimental::__sp_is_constructible_v): Redefine using
432         __sp_is_constructible.
433         (get_deleter, operator<<): Change argument from __shared_ptr to
434         shared_ptr.
435         * testsuite/20_util/shared_ptr/cons/array.cc: New test.
436         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Adjust for
437         new behaviour.
438         * testsuite/20_util/shared_ptr/observers/array.cc: Test observers for
439         arrays.
440         * testsuite/20_util/shared_ptr/observers/array_neg.cc: New test.
442 2016-11-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
444         Implement P0403R1, Literal suffixes for basic_string_view.
445         * include/std/string_view
446         (operator""sv(const char*, size_t)): New.
447         (operator""sv(const wchar_t*, size_t)): Likewise.
448         (operator""sv(const char16_t*, size_t)): Likewise.
449         (operator""sv(const char32_t*, size_t)): Likewise.
450         * testsuite/21_strings/basic_string_view/literals/types.cc: New.
451         * testsuite/21_strings/basic_string_view/literals/values.cc: Likewise.
452         * testsuite/experimental/string_view/literals/values.cc: Add
453         tests for literals with embedded NULs.
455 2016-11-12  Jonathan Wakely  <jwakely@redhat.com>
457         * src/filesystem/ops.cc (is_empty): Fix typo in exception message.
459         * include/std/future (future_error): Fix public typo to private.
461 2016-11-11  Jonathan Wakely  <jwakely@redhat.com>
463         * include/std/future (future_error): Make existing constructor
464         private and add constructor from future_errc.
466         * include/bits/shared_ptr.h (hash<shared_ptr<T>>): Use element_type.
467         * include/bits/shared_ptr_base.h (hash<__shared_ptr<T, L>>): Likewise.
469 2016-11-10  François Dumont  <fdumont@gcc.gnu.org>
471         * src/c++11/debug.cc (format_word): Delete.
472         (print_literal): New. Replace call to print_word for literals.
474 2016-11-09  Tim Shen  <timshen@google.com>
476         * include/bits/regex.h (regex_iterator::regex_iterator()):
477         Define end() as _M_pregex == nullptr.
478         * include/bits/regex.tcc (regex_iterator::operator==(),
479         regex_iterator::operator++()): Fix operator==() and operator++() to
480         look at null-ness of _M_pregex on both sides.
481         * testsuite/28_regex/regression.cc: New testcase.
483 2016-11-07  Jason Merrill  <jason@redhat.com>
485         * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM)
486         (_GLIBCXX_NOEXCEPT_QUAL): New.
487         * include/std/type_traits (is_function): Use them.
488         * libsubc++/new (launder): Likewise.
489         * libsupc++/cxxabi.h (__pbase_type_info::__masks): Add
490         __noexcept_mask.
491         * libsupc++/pbase_type_info.cc (__do_catch): Handle function
492         pointer conversion.
494 2016-11-07  François Dumont  <fdumont@gcc.gnu.org>
496         * config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of
497         over-aligned types symbols.
499 2016-10-28  Jonathan Wakely  <jwakely@redhat.com>
501         * include/experimental/bits/fs_path.h (__is_path_src)
502         (_S_range_begin, _S_range_end): Overload to treat string_view as a
503         Source object.
504         (path::operator+=, path::compare): Overload for basic_string_view.
505         * testsuite/experimental/filesystem/path/construct/string_view.cc:
506         New test.
507         * testsuite/experimental/filesystem/path/construct/
508         string_view_cxx17.cc: New test.
510         * include/experimental/bits/fs_path.h
511         (path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from
512         iterator's value_type.
513         (path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise.
514         Do not use operation not supported by input iterators.
515         (path::__is_path_iter_src): Add partial specialization for const
516         encoded character types.
517         * testsuite/experimental/filesystem/path/construct/range.cc: Test
518         construction from input iterators with const value types.
520         * doc/xml/manual/status_cxx2017.xml: Update status.
521         * doc/html/*: Regenerate.
522         * include/std/type_traits (has_unique_object_representations): Guard
523         with __has_builtin check.
524         * libsupc++/new (launder): Define for C++17.
525         * testsuite/18_support/launder/1.cc: New test.
526         * testsuite/18_support/launder/requirements.cc: New test.
527         * testsuite/18_support/launder/requirements_neg.cc: New test.
529 2016-10-27  Uros Bizjak  <ubizjak@gmail.com>
531         PR libstdc++/70975
532         * src/filesystem/ops.cc (do_copy_file) [_GLIBCXX_USE_SENDFILE]:
533         Pass non-null pointer to sendfile for offset argument.
535 2016-10-27  Jonathan Wakely  <jwakely@redhat.com>
537         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
538         default.cc: Fix effective target selector.
539         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
540         parms.cc: Likewise.
541         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
542         equal.cc: Likewise.
543         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
544         generate.cc: Likewise.
545         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
546         inequal.cc: Likewise.
547         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
548         serialize.cc: Likewise.
550         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
551         Use end() function to get end iterator.
552         * testsuite/experimental/filesystem/iterators/pop.cc: Remove printf
553         statements that were present for debugging.
554         * testsuite/experimental/filesystem/iterators/
555         recursive_directory_iterator.cc: Use end() function to get end
556         iterator.
557         * testsuite/experimental/filesystem/operations/last_write_time.cc:
558         Only require file timestamps to be accurate to one second.
560 2016-10-26  François Dumont  <fdumont@gcc.gnu.org>
562         * include/bits/stl_map.h (map()): Make default.
563         * include/bits/stl_multimap.h (multimap()): Likewise.
564         * include/bits/stl_multiset.h (multiset()): Likewise.
565         * include/bits/stl_set.h (set()): Likewise.
566         * include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept.
567         (_Rb_tree()): Make default.
569 2016-10-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>
571         PR libstdc++/78110
572         * libsupc++/new_opa.cc: Don't include <malloc.h> in a free standing
573         environment.  Declare memalign directly in that case.
575 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
577         * testsuite/experimental/filesystem/iterators/pop.cc: Remove
578         unreliable dependency on directory order.
580 2016-10-26  Edward Smith-Rowland  <3dw4rd@verizon.net>
582         Implement uniform_inside_sphere_distribution extension.
583         * include/ext/random: Implement uniform_inside_sphere_distribution.
584         * include/ext/random.tcc: Ditto.
585         * testsuite/ext/random/uniform_inside_sphere_distribution/
586         cons/default.cc: New.
587         * testsuite/ext/random/uniform_inside_sphere_distribution/
588         cons/parms.cc: New.
589         * testsuite/ext/random/uniform_inside_sphere_distribution/
590         operators/equal.cc: New.
591         * testsuite/ext/random/uniform_inside_sphere_distribution/
592         operators/generate.cc: New.
593         * testsuite/ext/random/uniform_inside_sphere_distribution/
594         operators/inequal.cc: New.
595         * testsuite/ext/random/uniform_inside_sphere_distribution/
596         operators/serialize.cc: New.
598 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
600         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
601         Overload pop (LWG 2706).
602         * src/filesystem/dir.cc (recursive_directory_iterator::pop): Define
603         new overload.
604         * testsuite/experimental/filesystem/iterators/pop.cc: New test.
606         * src/filesystem/dir.cc (recursive_directory_iterator::increment):
607         Reset state on error.
608         * testsuite/experimental/filesystem/iterators/
609         recursive_directory_iterator.cc: Check state after increment error.
611         PR libstdc++/78111
612         * src/filesystem/ops.cc (canonical): Set error for non-existent path.
614 2016-10-26  Uros Bizjak  <ubizjak@gmail.com>
616         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
617         for PATH_MAX in realpath test.
618         * configure: Regenerate.
620 2016-10-25  Jonathan Wakely  <jwakely@redhat.com>
622         * src/filesystem/ops.cc
623         (last_write_time(const path&, file_time_type, error_code&)): Handle
624         negative times correctly.
625         * testsuite/experimental/filesystem/operations/last_write_time.cc:
626         Test writing file times.
628         * src/filesystem/ops.cc (do_copy_file): Report an error if source or
629         destination is not a regular file (LWG 2712).
630         (equivalent): Fix error handling and result when only one file exists.
631         * testsuite/experimental/filesystem/operations/copy.cc: Remove files
632         created by tests. Test copying directories.
633         * testsuite/experimental/filesystem/operations/copy_file.cc: Remove
634         files created by tests.
635         * testsuite/experimental/filesystem/operations/equivalent.cc: New.
636         * testsuite/experimental/filesystem/operations/is_empty.cc: New.
637         * testsuite/experimental/filesystem/operations/read_symlink.cc: Remove
638         file created by test.
639         * testsuite/experimental/filesystem/operations/remove_all.cc: New.
640         * testsuite/util/testsuite_fs.h (~scoped_file): Only try to remove
641         file if path is non-empty, to support removal by other means.
643 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
645         * src/filesystem/ops.cc (is_empty): Fix error handling.
646         * testsuite/experimental/filesystem/operations/is_empty.cc: New test.
648         PR libstdc++/71337
649         * src/filesystem/ops.cc (temp_directory_path): Pass error_code
650         argument to other filesystem operations.
651         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
652         Add testcase for inaccessible directory.
654         * src/filesystem/dir.cc (open_dir): Return same value for errors
655         whether ignored or not.
656         (_Dir::advance(error_code*, directory_options)): Return false on
657         error.
658         (directory_iterator(const path&, directory_options, error_code*)):
659         Create end iterator on error (LWG 2723).
660         (recursive_directory_iterator(const path&, directory_options,
661         error_code*)): Likewise.
662         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
663         Update expected behaviour on error.
664         * testsuite/experimental/filesystem/iterators/
665         recursive_directory_iterator.cc: Likewise.
667         * src/filesystem/ops.cc (close_fd): Remove.
668         (do_copy_file): Just use close(3) instead of close_fd, to prevent
669         retrying on error.
671         * src/filesystem/ops.cc (do_copy_file): Return an error if either
672         source or destination is not a regular file.
673         (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683
674         resolutions.
675         (read_symlink): Add missing ec.clear().
676         * testsuite/experimental/filesystem/operations/copy.cc: Update
677         expected behaviour for copying directories with create_symlinks.
678         Verify that error_code arguments are cleared if there's no error.
679         * testsuite/experimental/filesystem/operations/read_symlink.cc: New.
681 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
683         Cross-port exception-safety and move fixes of std::any to
684         std::experimental::any.
685         * include/experimental/any (operator=(const any&)):
686         Make strongly exception-safe.
687         (operator=(any&&)): clear() unconditionally in the case where
688         rhs has a value.
689         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
690         * testsuite/experimental/any/assign/2.cc: Adjust.
691         * testsuite/experimental/any/assign/exception.cc: New.
692         * testsuite/experimental/any/cons/2.cc: Adjust.
693         * testsuite/experimental/any/misc/any_cast_neg.cc: Ajust.
695 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
697         Cross-port the latest resolution of LWG2756 and some
698         bug-fixes to experimental::optional.
699         PR libstdc++/77288
700         PR libstdc++/77727
701         * include/experimental/optional (_Optional_base):
702         Remove constructors that take a _Tp.
703         (__is_optional_impl, __is_optional): Remove.
704         (__converts_from_optional): New.
705         (optional(_Up&&)): Fix constraints, call base with in_place.
706         (optional(const optional<_Up>&)): Fix constraints, use emplace.
707         (optional(optional<_Up>&&)): Likewise.
708         (operator=(_Up&&)): Fix constraints.
709         (operator=(const optional<_Up>&)): Likewise.
710         (operator=(optional<_Up>&&)): Likewise.
711         (emplace(_Args&&...)): Constrain.
712         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
713         * testsuite/experimental/optional/77288.cc: New.
714         * testsuite/experimental/optional/assignment/5.cc: Adjust.
715         * testsuite/experimental/optional/cons/77727.cc: New.
716         * testsuite/experimental/optional/cons/value.cc: Adjust.
718 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
720         * include/bits/stl_vector.h (vector::_M_data_ptr, vector::data):
721         Change return type of non-standard C++98 extension to match C++11.
723 2016-10-22  François Dumont  <fdumont@gcc.gnu.org>
725         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_ALGO)
726         (_GLIBCXX_END_NAMESPACE_ALGO): Default to respectively
727         _GLIBCXX_BEGIN_NAMESPACE_VERSION and _GLIBCXX_END_NAMESPACE_VERSION.
728         (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER, _GLIBCXX_END_NAMESPACE_CONTAINER):
729         Likewise.
731 2016-10-22  Jonathan Wakely  <jwakely@redhat.com>
733         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
734         Ignore symlink_nofollow flag if file is not a symlink.
735         * testsuite/experimental/filesystem/operations/permissions.cc: Test
736         symlink_nofollow on non-symlinks.
738 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
740         * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks):
741         Replace with symlink_nofollow (LWG 2720).
742         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
743         Handle symlink_nofollow.
744         * testsuite/experimental/filesystem/operations/create_symlink.cc: New
745         test.
746         * testsuite/experimental/filesystem/operations/permissions.cc: Test
747         overload taking error_code.
749         * include/experimental/bits/fs_ops.h
750         (exists(const path&, error_code&)): Clear error if status is known
751         (LWG 2725).
752         (status(const path&, error_code&)): Handle EOVERFLOW.
753         * testsuite/experimental/filesystem/operations/exists.cc: Test
754         overload taking an error_code.
756         * include/experimental/bits/fs_path.h (path::path(string_type&&))
757         (path::operator=(string&&), path::assign(string_type&&)): Define
758         construction and assignment from string_type rvalues (LWG 2707).
760 2016-10-21  Eelis van der Weegen  <eelis@eelis.net>
762         * include/bits/stl_algo.h (__gen_two_uniform_ints): Move logic out
763         of shuffle into new function.
764         (shuffle): Call __gen_two_uniform_ints.
765         (__sample<ForwardIterator, OutputIterator, Cat, Size, URBG>): Use
766         __gen_two_uniform_ints and perform two samples at a time.
768 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
770         * include/Makefile.am: Add <bits/refwrap.h> and <bits/std_function.h>.
771         Order alphabetically.
772         * include/Makefile.in: Regenerate.
773         * include/bits/refwrap.h: New header.
774         (_Maybe_get_result_type,_Weak_result_type_impl, _Weak_result_type)
775         (_Reference_wrapper_base_impl, _Reference_wrapper_base)
776         (reference_wrapper, ref, cref): Move here from <functional>.
777         * include/bits/shared_ptr_base.h: Include <bits/refwrap.h> and
778         <bits/stl_function.h> instead of <functional>.
779         * include/bits/std_function.h: New header.
780         (_Maybe_unary_or_binary_function, bad_function_call)
781         (__is_location_invariant, _Nocopy_types, _Any_data)
782         (_Simple_type_wrapper, _Function_base, _Function_handler, function):
783         Move here from <functional>.
784         * include/bits/unique_ptr.h: Include <bits/stl_function.h>.
785         * include/std/functional: Include new headers and move components to
786         them.
787         * include/std/future: Include <bits/std_function.h> instead of
788         <functional>.
789         * include/std/mutex: Likewise.
790         * include/std/regex: Likewise.
791         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
792         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
793         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
794         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
795         lines.
796         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
797         * testsuite/30_threads/packaged_task/49668.cc: Include <functional>.
799         * libsupc++/exception_ptr.h (make_exception_ptr): Qualify new.
800         * testsuite/18_support/exception_ptr/make_exception_ptr_2.cc: New
801         test.
803 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
805         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&))
806         (shared_ptr(auto_ptr&&)): Adjust template parameter lists.
807         * include/bits/shared_ptr.h (__sp_compatible_with)
808         (__sp_is_constructible): New helper traits for shared_ptr.
809         (shared_ptr::_Convertible): Replace with _Constructible.
810         (shared_ptr::_Constructible, shared_ptr::_Assignable): Forward checks
811         to base class.
812         (shared_ptr::shared_ptr, shared_ptr::operator=): Constrain template
813         with _Constructible and _Assignable.
814         (shared_ptr::shared_ptr(shared_ptr<_Tp1>, _Tp*)): Use element_type
815         instead of _Tp.
816         (operator<): Likewise.
817         (operator>): Define in terms of operator<.
818         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
819         element_type instead of _Tp.
820         (reinterpret_pointer_cast): Define for C++17.
821         (weak_ptr::_Convertible): Replace with _Constructible.
822         (weak_ptr::_Constructible, weak_ptr::_Assignable): Forward checks
823         to base class.
824         (weak_ptr::weak_ptr, weak_ptr::operator=): Constrain templates
825         with _Constructible and _Assignable.
826         * include/bits/shared_ptr_base.h (__shared_ptr::_Convertible): Replace
827         with _Compatible.
828         (__shared_ptr::_SafeConv): New constraint for incoming raw pointers.
829         (__shared_ptr::_Compatible): New constraint for converting from
830         other types of shared_ptr and weak_ptr.
831         (__shared_ptr::_Assignable): Define in terms of _Compatible.
832         (__shared_ptr::_UniqCompatible, __shared_ptr::_UniqAssignable): New
833         constraints for converting from unique_ptr.
834         (__shared_ptr::__shared_ptr, __shared_ptr::operator=): Constrain
835         template with _SaveConf, _Compatible and _Assignable. Remove
836         __glibcxx_function_requires concept checks. Add static assertion for
837         deleter expression being well-formed.
838         (__shared_ptr::__shared_ptr(__shared_ptr<_Tp1>, _Tp*))
839         (__shared_ptr::operator*, __shared_ptr::operator->)
840         (__shared_ptr::get, __shared_ptr::_M_ptr): Use element_type instead
841         of _Tp.
842         (operator<): Likewise.
843         (operator>): Define in terms of operator<.
844         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
845         element_type instead of _Tp.
846         (reinterpret_pointer_cast): Define for C++17.
847         (weak_ptr::_Convertible): Replace with _Compatible.
848         (weak_ptr::_Compatible, weak_ptr::_Assignable): New constraints for
849         conversions from other types of weak_ptr and shared_ptr.
850         (__weak_ptr::__weak_ptr, __weak_ptr::operator=): Constrain templates
851         with _Constructible and _Assignable.
852         (__weak_ptr::_M_ptr): Use element_type instead of _Tp.
853         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Adjust
854         dg-error pattern.
855         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Test conversions.
856         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
857         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
858         * testsuite/20_util/shared_ptr/casts/reinterpret.cc: New test.
860 2016-10-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
862         Do the operator= SFINAE in the return type for optional,
863         not in the template parameters.
864         * include/std/optional (operator=(_Up&&)): Move SFINAE
865         from template parameters to the return type.
866         (operator=(const optional<_Up>&)): Likewise.
867         (operator=(optional<_Up>&&)): Likewise.
869 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
871         * include/bits/allocator.h: Remove trailing whitespace, tab-indent.
872         * include/ext/new_allocator.h: Likewise.
874         PR libstdc++/78052
875         * include/bits/allocator.h (allocator<void>::construct)
876         (allocator<void>::destroy): Define.
877         * testsuite/20_util/allocator/void.cc: New test.
879         * testsuite/20_util/enable_shared_from_this/56383.cc: Add tests for
880         additional ambiguous cases.
882 2016-10-19  Jonathan Wakely  <jwakely@redhat.com>
884         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&)): Call
885         _M_enable_shared_from_this_with instead of
886         __enable_shared_from_this_helper.
887         * include/bits/shared_ptr.h (__enable_shared_from_this_helper):
888         Remove overload for std::enable_shared_from_this..
889         (__enable_shared_from_this_base): Define friend function to select a
890         std::enable_shared_from_this base class.
891         * include/bits/shared_ptr_base.h (__enable_shared_from_this_helper):
892         Remove all overloads.
893         (__shared_ptr): Change all relevant constructors to call
894         _M_enable_shared_from_this_with instead of
895         __enable_shared_from_this_helper.
896         (__shared_ptr::__efst_base_t, __shared_ptr::__has_efst_base): Helpers
897         to detect accessible and unambiguous enable_shared_from_this bases.
898         (__shared_ptr::_M_enable_shared_from_this_with): New function to
899         replace __enable_shared_from_this_helper overloads.
900         (__enable_shared_from_this_helper): Remove overload for
901         std::__enable_shared_from_this.
902         (__enable_shared_from_this_base): Define friend function to select a
903         std::__enable_shared_from_this base class.
904         * include/experimental/bits/shared_ptr.h (experimental::shared_ptr):
905         Change relevant constructors to call _M_enable_shared_from_this_with.
906         (experimental::shared_ptr::__efst_base_t)
907         (experimental::shared_ptr::__has_efst_base): Helpers to detect
908         accessible and unambiguous enable_shared_from_this bases.
909         (experimental::shared_ptr::_M_enable_shared_from_this_with): Define.
910         (experimental::__enable_shared_from_this_helper): Remove overload for
911         std::experimental::enable_shared_from_this.
912         (experimental::__expt_enable_shared_from_this_base): Define friend
913         function to select a std::experimental::enable_shared_from_this base.
914         * testsuite/experimental/memory/shared_ptr/cons/
915         enable_shared_from_this.cc: New test.
916         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
917         Adjust expected behaviour for shared_ptr<A[]>.
919         * include/debug/vector (__gnu_debug::vector::emplace_back): Fix return
920         type.
922         * include/backward/auto_ptr.h (dauto_ptr): Correct comment about
923         conversions from auto_ptr<Derived> rvalues to auto_ptr<Base>.
924         * testsuite/20_util/auto_ptr/assign_neg.cc: Remove redundant dg-error
925         directives that only match notes, not errors.
927         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
928         Add tests for valid and invalid conversions.
929         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
930         Likewise.
932         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests
933         to new file.
934         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file.  Fix
935         test for incompatible deleters to not also use incompatible types.
936         Add tests for incompatible array types.
938         * include/experimental/bits/shared_ptr.h
939         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_Compatible): Just use
940         is_convertible for non-array specialization.
941         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_UniqCompatible): New
942         constraint for conversions from unique_ptr.
943         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::__shared_ptr): Constrain.
944         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::reset): Likewise.
945         (__sp_compatible_v): New variable template for trait.
946         (__sp_is_constructible): New trait to check shared_ptr constraints.
947         (__sp_is_constructible_v): New variable template for trait.
948         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_SafeConv): New
949         constraint for construction/reset, using __sp_is_constructible_v.
950         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_UniqCompatible): New
951         constraint for conversions from unique_ptr.
952         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::__shared_ptr): Constrain.
953         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::reset): Likewise.
954         (shared_ptr::_SafeConv): Constraint for checking constructors.
955         (shared_ptr(Tp1*), shared_ptr(_Tp1, _Deleter))
956         (shared_ptr(_Tp1, _Deleter, _Alloc)): Constrain with _SafeConv.
957         (shared_ptr(const weak_ptr<_Tp1>&)): Constrain with _Compatible.
958         (shared_ptr(auto_ptr<_Tp1>&&)): Fix, remove TODO.
959         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
960         Remove tests using invalid conversions.
961         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc:
962         New test.
963         * testsuite/experimental/memory/shared_ptr/cons/torture.cc: New test.
964         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Remove
965         tests using invalid conversions.
966         * testsuite/experimental/memory/shared_ptr/modifiers/reset_neg.cc: New
967         test.
968         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
969         Remove tests using invalid conversions.
971         PR libstdc++/77990
972         * include/bits/unique_ptr.h (__uniq_ptr_impl): New type to
973         encapsulate implementation details.
974         (unique_ptr::unique_ptr(_Up)): Don't copy deleter object.
975         (unique_ptr::get, unique_ptr::get_deleter, unique_ptr::release):
976         Call member functions of implementation object.
977         (unique_ptr<T[], D>): Likewise.
978         * python/libstdcxx/v6/printers.py (UniquePointerPrinter): Adjust for
979         new implementation.
980         * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Likewise.
981         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
982         lines.
983         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
984         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
985         * testsuite/20_util/unique_ptr/cons/77990.cc: New test.
987 2016-10-18  Jonathan Wakely  <jwakely@redhat.com>
989         * include/experimental/bits/shared_ptr.h: Fix indentation.
991         * include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)):
992         Remove const from parameter.
993         (operator<(const shared_ptr<T>&, nullptr_t)): Use correct
994         specialization of std::less.
995         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
996         Test comparison with nullptr and actually call test functions.
998         * include/bits/uses_allocator.h (__is_uses_allocator_constructible_v)
999         (__is_nothrow_uses_allocator_constructible_v): Only define for C++14
1000         and later.
1002 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1004         * testsuite/27_io/basic_filebuf/close/12790-1.cc: Remove 'test'
1005         variables.
1006         * testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
1007         * testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Likewise.
1008         * testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Likewise.
1009         * testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
1010         * testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Likewise.
1011         * testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
1012         * testsuite/27_io/basic_filebuf/close/char/3.cc: Likewise.
1013         * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise.
1014         * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise.
1015         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc: Likewise.
1016         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc: Likewise.
1017         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
1018         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc: Likewise.
1019         * testsuite/27_io/basic_filebuf/cons/2020.cc: Likewise.
1020         * testsuite/27_io/basic_filebuf/cons/char/1.cc: Likewise.
1021         * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
1022         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: Likewise.
1023         * testsuite/27_io/basic_filebuf/imbue/12206.cc: Likewise.
1024         * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
1025         * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
1026         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
1027         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
1028         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
1029         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
1030         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
1031         * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
1032         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise.
1033         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
1034         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
1035         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
1036         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
1037         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
1038         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
1039         * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
1040         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
1041         * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Likewise.
1042         * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise.
1043         * testsuite/27_io/basic_filebuf/open/12790-1.cc: Likewise.
1044         * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
1045         * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
1046         * testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise.
1047         * testsuite/27_io/basic_filebuf/open/char/4.cc: Likewise.
1048         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1049         * testsuite/27_io/basic_filebuf/overflow/char/1.cc: Likewise.
1050         * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Likewise.
1051         * testsuite/27_io/basic_filebuf/overflow/char/2.cc: Likewise.
1052         * testsuite/27_io/basic_filebuf/overflow/char/3599.cc: Likewise.
1053         * testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Likewise.
1054         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Likewise.
1055         * testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Likewise.
1056         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
1057         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
1058         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
1059         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
1060         * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Likewise.
1061         * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise.
1062         * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise.
1063         * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise.
1064         * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise.
1065         * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise.
1066         * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise.
1067         * testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Likewise.
1068         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
1069         * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Likewise.
1070         * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Likewise.
1071         * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Likewise.
1072         * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise.
1073         * testsuite/27_io/basic_filebuf/seekoff/45628-2.cc: Likewise.
1074         * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
1075         * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise.
1076         * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
1077         * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Likewise.
1078         * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: Likewise.
1079         * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Likewise.
1080         * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Likewise.
1081         * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Likewise.
1082         * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Likewise.
1083         * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
1084         * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
1085         * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
1086         * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise.
1087         * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise.
1088         * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
1089         * testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Likewise.
1090         * testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: Likewise.
1091         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
1092         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: Likewise.
1093         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc: Likewise.
1094         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc: Likewise.
1095         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc: Likewise.
1096         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc: Likewise.
1097         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise.
1098         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Likewise.
1099         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.
1100         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
1101         Likewise.
1102         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
1103         * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Likewise.
1104         * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Likewise.
1105         * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Likewise.
1106         * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise.
1107         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
1108         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise.
1109         * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Likewise.
1110         * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Likewise.
1111         * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc: Likewise.
1112         * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Likewise.
1113         * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise.
1114         * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
1115         * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise.
1116         * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
1117         * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise.
1118         * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
1119         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Likewise.
1120         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc: Likewise.
1121         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc: Likewise.
1122         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc: Likewise.
1123         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc: Likewise.
1124         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
1125         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
1126         Likewise.
1127         * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
1128         * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Likewise.
1129         * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
1130         * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Likewise.
1131         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1132         * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise.
1133         * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise.
1134         * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise.
1135         * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise.
1136         * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise.
1137         * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise.
1138         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise.
1139         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
1140         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise.
1141         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
1142         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
1143         * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise.
1144         * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise.
1145         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise.
1146         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Likewise.
1147         * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise.
1148         * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise.
1149         * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise.
1150         * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise.
1151         * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise.
1152         * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise.
1153         * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Likewise.
1154         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Likewise.
1155         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
1156         * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Likewise.
1157         * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Likewise.
1158         * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
1159         * testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Likewise.
1160         * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise.
1161         * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise.
1162         * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise.
1163         * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise.
1164         * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise.
1165         * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise.
1166         * testsuite/27_io/basic_filebuf/sputc/char/59427.cc: Likewise.
1167         * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Likewise.
1168         * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise.
1169         * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise.
1170         * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise.
1171         * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Likewise.
1172         * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise.
1173         * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise.
1174         * testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.
1175         * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Likewise.
1176         * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Likewise.
1177         * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise.
1178         * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise.
1179         * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise.
1180         * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise.
1181         * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise.
1182         * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise.
1183         * testsuite/27_io/basic_filebuf/sync/char/1057.cc: Likewise.
1184         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Likewise.
1185         * testsuite/27_io/basic_filebuf/underflow/char/1.cc: Likewise.
1186         * testsuite/27_io/basic_filebuf/underflow/char/2.cc: Likewise.
1187         * testsuite/27_io/basic_filebuf/underflow/char/3.cc: Likewise.
1188         * testsuite/27_io/basic_filebuf/underflow/char/45841.cc: Likewise.
1189         * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: Likewise.
1190         * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
1191         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise.
1192         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise.
1193         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise.
1194         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise.
1195         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: Likewise.
1196         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Likewise.
1197         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise.
1198         * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
1199         * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
1200         * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise.
1201         * testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise.
1202         * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise.
1203         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Likewise.
1204         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
1205         * testsuite/27_io/basic_fstream/cons/1.cc: Likewise.
1206         * testsuite/27_io/basic_fstream/rdbuf/char/2832.cc: Likewise.
1207         * testsuite/27_io/basic_ifstream/cons/2020.cc: Likewise.
1208         * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise.
1209         * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise.
1210         * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise.
1211         * testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
1212         * testsuite/27_io/basic_ios/cons/2020.cc: Likewise.
1213         * testsuite/27_io/basic_ios/cons/char/1.cc: Likewise.
1214         * testsuite/27_io/basic_ios/cons/char/2.cc: Likewise.
1215         * testsuite/27_io/basic_ios/cons/char/3.cc: Likewise.
1216         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
1217         * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
1218         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
1219         * testsuite/27_io/basic_ios/imbue/14072.cc: Likewise.
1220         * testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
1221         * testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
1222         * testsuite/27_io/basic_istream/cons/3.cc: Likewise.
1223         * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Likewise.
1224         * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: Likewise.
1225         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1226         Likewise.
1227         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1228         Likewise.
1229         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1230         Likewise.
1231         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1232         Likewise.
1233         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1234         Likewise.
1235         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1236         Likewise.
1237         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1238         Likewise.
1239         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1240         Likewise.
1241         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1242         Likewise.
1243         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1244         Likewise.
1245         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1246         Likewise.
1247         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
1248         Likewise.
1249         * testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc:
1250         Likewise.
1251         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1252         exceptions_badbit_throw.cc: Likewise.
1253         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1254         exceptions_failbit.cc: Likewise.
1255         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1256         exceptions_failbit_throw.cc: Likewise.
1257         * testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc:
1258         Likewise.
1259         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
1260         Likewise.
1261         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc:
1262         Likewise.
1263         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc:
1264         Likewise.
1265         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc:
1266         Likewise.
1267         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
1268         Likewise.
1269         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc:
1270         Likewise.
1271         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
1272         Likewise.
1273         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
1274         Likewise.
1275         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc:
1276         Likewise.
1277         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1278         Likewise.
1279         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
1280         Likewise.
1281         * testsuite/27_io/basic_istream/extractors_arithmetic/
1282         wchar_t/9555-ia.cc: Likewise.
1283         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1284         dr696.cc: Likewise.
1285         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1286         exceptions_badbit_throw.cc: Likewise.
1287         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1288         exceptions_failbit.cc: Likewise.
1289         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1290         exceptions_failbit_throw.cc: Likewise.
1291         * testsuite/27_io/basic_istream/extractors_character/char/1.cc:
1292         Likewise.
1293         * testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc:
1294         Likewise.
1295         * testsuite/27_io/basic_istream/extractors_character/char/2.cc:
1296         Likewise.
1297         * testsuite/27_io/basic_istream/extractors_character/char/3.cc:
1298         Likewise.
1299         * testsuite/27_io/basic_istream/extractors_character/char/4.cc:
1300         Likewise.
1301         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1302         Likewise.
1303         * testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc:
1304         Likewise.
1305         * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
1306         Likewise.
1307         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1308         11095-i.cc: Likewise.
1309         * testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc:
1310         Likewise.
1311         * testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc:
1312         Likewise.
1313         * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
1314         Likewise.
1315         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1316         9555-ic.cc: Likewise.
1317         * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
1318         * testsuite/27_io/basic_istream/extractors_other/char/2.cc: Likewise.
1319         * testsuite/27_io/basic_istream/extractors_other/char/26181.cc:
1320         Likewise.
1321         * testsuite/27_io/basic_istream/extractors_other/char/3.cc: Likewise.
1322         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1323         Likewise.
1324         * testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc:
1325         Likewise.
1326         * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
1327         Likewise.
1328         * testsuite/27_io/basic_istream/extractors_other/char/
1329         error_failbit.cc: Likewise.
1330         * testsuite/27_io/basic_istream/extractors_other/char/
1331         exceptions_badbit_throw.cc: Likewise.
1332         * testsuite/27_io/basic_istream/extractors_other/char/
1333         exceptions_failbit_throw.cc: Likewise.
1334         * testsuite/27_io/basic_istream/extractors_other/char/
1335         exceptions_null.cc: Likewise.
1336         * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc:
1337         Likewise.
1338         * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc: Likewise.
1339         * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: Likewise.
1340         * testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
1341         Likewise.
1342         * testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc: Likewise.
1343         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc:
1344         Likewise.
1345         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc:
1346         Likewise.
1347         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc:
1348         Likewise.
1349         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1350         error_failbit.cc: Likewise.
1351         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1352         exceptions_badbit_throw.cc: Likewise.
1353         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1354         exceptions_failbit_throw.cc: Likewise.
1355         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1356         exceptions_null.cc: Likewise.
1357         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1358         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1359         * testsuite/27_io/basic_istream/get/char/3.cc: Likewise.
1360         * testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
1361         * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
1362         * testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise.
1363         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1364         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1365         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1366         * testsuite/27_io/basic_istream/getline/char/4.cc: Likewise.
1367         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
1368         * testsuite/27_io/basic_istream/getline/char/6.cc: Likewise.
1369         * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
1370         * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Likewise.
1371         * testsuite/27_io/basic_istream/getline/wchar_t/3.cc: Likewise.
1372         * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise.
1373         * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Likewise.
1374         * testsuite/27_io/basic_istream/getline/wchar_t/6.cc: Likewise.
1375         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1376         * testsuite/27_io/basic_istream/ignore/char/2.cc: Likewise.
1377         * testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise.
1378         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1379         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1380         * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
1381         * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
1382         * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
1383         * testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise.
1384         * testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise.
1385         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1386         * testsuite/27_io/basic_istream/peek/char/12296.cc: Likewise.
1387         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1388         * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
1389         * testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
1390         * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
1391         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1392         * testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
1393         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1394         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1395         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1396         * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
1397         * testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
1398         * testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
1399         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc: Likewise.
1400         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Likewise.
1401         * testsuite/27_io/basic_istream/readsome/char/8258.cc: Likewise.
1402         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
1403         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
1404         * testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
1405         * testsuite/27_io/basic_istream/seekg/char/2.cc: Likewise.
1406         * testsuite/27_io/basic_istream/seekg/char/26211.cc: Likewise.
1407         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1408         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1409         * testsuite/27_io/basic_istream/seekg/char/
1410         exceptions_badbit_throw.cc: Likewise.
1411         * testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise.
1412         * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise.
1413         * testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
1414         * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
1415         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
1416         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
1417         * testsuite/27_io/basic_istream/seekg/wchar_t/
1418         exceptions_badbit_throw.cc: Likewise.
1419         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
1420         * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
1421         * testsuite/27_io/basic_istream/sentry/char/1.cc: Likewise.
1422         * testsuite/27_io/basic_istream/sentry/char/2.cc: Likewise.
1423         * testsuite/27_io/basic_istream/sentry/char/3.cc: Likewise.
1424         * testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise.
1425         * testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
1426         * testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
1427         * testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
1428         * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise.
1429         * testsuite/27_io/basic_istream/tellg/char/2.cc: Likewise.
1430         * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
1431         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1432         * testsuite/27_io/basic_istream/tellg/char/
1433         exceptions_badbit_throw.cc: Likewise.
1434         * testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise.
1435         * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise.
1436         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
1437         * testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
1438         * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
1439         * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
1440         * testsuite/27_io/basic_istream/tellg/wchar_t/
1441         exceptions_badbit_throw.cc: Likewise.
1442         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
1443         * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
1444         * testsuite/27_io/basic_istream/ws/char/1.cc: Likewise.
1445         * testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
1446         * testsuite/27_io/basic_istringstream/cons/2020.cc: Likewise.
1447         * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Likewise.
1448         * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: Likewise.
1449         * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
1450         * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
1451         * testsuite/27_io/basic_ofstream/cons/2020.cc: Likewise.
1452         * testsuite/27_io/basic_ofstream/cons/char/1.cc: Likewise.
1453         * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
1454         * testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Likewise.
1455         * testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
1456         * testsuite/27_io/basic_ostream/cons/char/9827.cc: Likewise.
1457         * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: Likewise.
1458         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1459         * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
1460         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
1461         * testsuite/27_io/basic_ostream/ends/char/2.cc: Likewise.
1462         * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
1463         * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
1464         * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise.
1465         * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
1466         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1467         * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
1468         * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
1469         Likewise.
1470         * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
1471         * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
1472         * testsuite/27_io/basic_ostream/flush/wchar_t/
1473         exceptions_badbit_throw.cc: Likewise.
1474         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1475         Likewise.
1476         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1477         Likewise.
1478         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc:
1479         Likewise.
1480         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc:
1481         Likewise.
1482         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc:
1483         Likewise.
1484         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc:
1485         Likewise.
1486         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc:
1487         Likewise.
1488         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
1489         Likewise.
1490         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
1491         Likewise.
1492         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1493         exceptions_badbit_throw.cc: Likewise.
1494         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1495         exceptions_failbit_throw.cc: Likewise.
1496         * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc:
1497         Likewise.
1498         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1499         Likewise.
1500         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
1501         Likewise.
1502         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc:
1503         Likewise.
1504         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc:
1505         Likewise.
1506         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc:
1507         Likewise.
1508         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc:
1509         Likewise.
1510         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc:
1511         Likewise.
1512         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
1513         Likewise.
1514         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1515         9555-oa.cc: Likewise.
1516         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1517         exceptions_badbit_throw.cc: Likewise.
1518         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1519         exceptions_failbit_throw.cc: Likewise.
1520         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc:
1521         Likewise.
1522         * testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc:
1523         Likewise.
1524         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc:
1525         Likewise.
1526         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc: Likewise.
1527         * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
1528         Likewise.
1529         * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
1530         Likewise.
1531         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc: Likewise.
1532         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc: Likewise.
1533         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc: Likewise.
1534         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc: Likewise.
1535         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc: Likewise.
1536         * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
1537         Likewise.
1538         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1539         11095-od.cc: Likewise.
1540         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1541         11095-oe.cc: Likewise.
1542         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1543         11095-of.cc: Likewise.
1544         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc:
1545         Likewise.
1546         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1547         28277-1.cc: Likewise.
1548         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1549         28277-2.cc: Likewise.
1550         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1551         28277-3.cc: Likewise.
1552         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1553         28277-4.cc: Likewise.
1554         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc:
1555         Likewise.
1556         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc:
1557         Likewise.
1558         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc:
1559         Likewise.
1560         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc:
1561         Likewise.
1562         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1563         Likewise.
1564         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1565         Likewise.
1566         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1567         9555-oc.cc: Likewise.
1568         * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
1569         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Likewise.
1570         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Likewise.
1571         * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: Likewise.
1572         * testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc:
1573         Likewise.
1574         * testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc:
1575         Likewise.
1576         * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
1577         Likewise.
1578         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
1579         Likewise.
1580         * testsuite/27_io/basic_ostream/inserters_other/char/
1581         error_failbit.cc: Likewise.
1582         * testsuite/27_io/basic_ostream/inserters_other/char/
1583         exceptions_badbit_throw.cc: Likewise.
1584         * testsuite/27_io/basic_ostream/inserters_other/char/
1585         exceptions_failbit_throw.cc: Likewise.
1586         * testsuite/27_io/basic_ostream/inserters_other/char/
1587         exceptions_null.cc: Likewise.
1588         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: Likewise.
1589         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc: Likewise.
1590         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc: Likewise.
1591         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc: Likewise.
1592         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1593         9318-out.cc: Likewise.
1594         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1595         9424-out.cc: Likewise.
1596         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1597         9555-oo.cc: Likewise.
1598         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1599         error_code.cc: Likewise.
1600         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1601         error_failbit.cc: Likewise.
1602         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1603         exceptions_badbit_throw.cc: Likewise.
1604         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1605         exceptions_failbit_throw.cc: Likewise.
1606         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1607         exceptions_null.cc: Likewise.
1608         * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
1609         * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
1610         * testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Likewise.
1611         * testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc: Likewise.
1612         * testsuite/27_io/basic_ostream/seekp/char/
1613         exceptions_badbit_throw.cc: Likewise.
1614         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc: Likewise.
1615         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc: Likewise.
1616         * testsuite/27_io/basic_ostream/seekp/wchar_t/
1617         exceptions_badbit_throw.cc: Likewise.
1618         * testsuite/27_io/basic_ostream/sentry/char/1.cc: Likewise.
1619         * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
1620         * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
1621         * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
1622         * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
1623         * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
1624         * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
1625         * testsuite/27_io/basic_ostream/tellp/char/
1626         exceptions_badbit_throw.cc: Likewise.
1627         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
1628         * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
1629         * testsuite/27_io/basic_ostream/tellp/wchar_t/
1630         exceptions_badbit_throw.cc: Likewise.
1631         * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
1632         * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
1633         * testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise.
1634         * testsuite/27_io/basic_ostringstream/cons/char/3.cc: Likewise.
1635         * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
1636         * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: Likewise.
1637         * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
1638         * testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise.
1639         * testsuite/27_io/basic_ostringstream/str/char/2.cc: Likewise.
1640         * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
1641         * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
1642         * testsuite/27_io/basic_streambuf/cons/2020.cc: Likewise.
1643         * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
1644         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Likewise.
1645         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
1646         * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise.
1647         * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
1648         * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
1649         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise.
1650         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
1651         * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
1652         * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: Likewise.
1653         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Likewise.
1654         * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
1655         * testsuite/27_io/basic_streambuf/overflow/char/2.cc: Likewise.
1656         * testsuite/27_io/basic_streambuf/overflow/char/3599.cc: Likewise.
1657         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
1658         * testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc: Likewise.
1659         * testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc: Likewise.
1660         * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
1661         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
1662         * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
1663         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
1664         * testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc: Likewise.
1665         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
1666         * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
1667         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
1668         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
1669         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
1670         * testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise.
1671         * testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise.
1672         * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
1673         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Likewise.
1674         * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
1675         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Likewise.
1676         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
1677         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Likewise.
1678         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
1679         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Likewise.
1680         * testsuite/27_io/basic_stringbuf/overflow/char/2.cc: Likewise.
1681         * testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: Likewise.
1682         * testsuite/27_io/basic_stringbuf/overflow/char/3599.cc: Likewise.
1683         * testsuite/27_io/basic_stringbuf/overflow/char/9988.cc: Likewise.
1684         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc: Likewise.
1685         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc: Likewise.
1686         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Likewise.
1687         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc: Likewise.
1688         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc: Likewise.
1689         * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: Likewise.
1690         * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
1691         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
1692         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
1693         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
1694         * testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc: Likewise.
1695         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
1696         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc: Likewise.
1697         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise.
1698         * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: Likewise.
1699         * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: Likewise.
1700         * testsuite/27_io/basic_stringbuf/seekoff/char/2.cc: Likewise.
1701         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
1702         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
1703         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: Likewise.
1704         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc: Likewise.
1705         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
1706         * testsuite/27_io/basic_stringbuf/seekpos/char/2.cc: Likewise.
1707         * testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: Likewise.
1708         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Likewise.
1709         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
1710         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc: Likewise.
1711         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: Likewise.
1712         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc: Likewise.
1713         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Likewise.
1714         * testsuite/27_io/basic_stringbuf/setbuf/char/2.cc: Likewise.
1715         * testsuite/27_io/basic_stringbuf/setbuf/char/3.cc: Likewise.
1716         * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: Likewise.
1717         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Likewise.
1718         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc: Likewise.
1719         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc: Likewise.
1720         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
1721         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise.
1722         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
1723         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
1724         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
1725         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
1726         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
1727         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise.
1728         * testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc: Likewise.
1729         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise.
1730         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc: Likewise.
1731         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Likewise.
1732         * testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc: Likewise.
1733         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Likewise.
1734         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc: Likewise.
1735         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Likewise.
1736         * testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc: Likewise.
1737         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Likewise.
1738         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc: Likewise.
1739         * testsuite/27_io/basic_stringbuf/str/char/1.cc: Likewise.
1740         * testsuite/27_io/basic_stringbuf/str/char/2.cc: Likewise.
1741         * testsuite/27_io/basic_stringbuf/str/char/3.cc: Likewise.
1742         * testsuite/27_io/basic_stringbuf/str/char/3955.cc: Likewise.
1743         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Likewise.
1744         * testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc: Likewise.
1745         * testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc: Likewise.
1746         * testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc: Likewise.
1747         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
1748         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
1749         * testsuite/27_io/basic_stringbuf/sync/char/1057.cc: Likewise.
1750         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
1751         * testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise.
1752         * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Likewise.
1753         * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: Likewise.
1754         * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
1755         * testsuite/27_io/basic_stringstream/str/char/2.cc: Likewise.
1756         * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
1757         * testsuite/27_io/basic_stringstream/str/char/4.cc: Likewise.
1758         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
1759         * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
1760         * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
1761         * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
1762         * testsuite/27_io/fpos/11450.cc: Likewise.
1763         * testsuite/27_io/fpos/14252.cc: Likewise.
1764         * testsuite/27_io/fpos/14320-1.cc: Likewise.
1765         * testsuite/27_io/fpos/14320-2.cc: Likewise.
1766         * testsuite/27_io/fpos/14320-3.cc: Likewise.
1767         * testsuite/27_io/fpos/14320-4.cc: Likewise.
1768         * testsuite/27_io/fpos/14320-5.cc: Likewise.
1769         * testsuite/27_io/fpos/14775.cc: Likewise.
1770         * testsuite/27_io/fpos/mbstate_t/1.cc: Likewise.
1771         * testsuite/27_io/fpos/mbstate_t/12065.cc: Likewise.
1772         * testsuite/27_io/fpos/mbstate_t/2.cc: Likewise.
1773         * testsuite/27_io/fpos/mbstate_t/3.cc: Likewise.
1774         * testsuite/27_io/ios_base/callbacks/1.cc: Likewise.
1775         * testsuite/27_io/ios_base/failure/what-1.cc: Likewise.
1776         * testsuite/27_io/ios_base/failure/what-2.cc: Likewise.
1777         * testsuite/27_io/ios_base/failure/what-3.cc: Likewise.
1778         * testsuite/27_io/ios_base/failure/what-big.cc: Likewise.
1779         * testsuite/27_io/ios_base/state/1.cc: Likewise.
1780         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
1781         * testsuite/27_io/ios_base/storage/11584.cc: Likewise.
1782         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1783         * testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise.
1784         * testsuite/27_io/manipulators/adjustfield/char/1.cc: Likewise.
1785         * testsuite/27_io/manipulators/adjustfield/char/2.cc
1786         * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: Likewise.
1787         * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
1788         * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
1789         * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
1790         * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
1791         * testsuite/27_io/manipulators/extended/get_money/char/51288.cc:
1792         Likewise.
1793         * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
1794         Likewise.
1795         * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
1796         Likewise.
1797         * testsuite/27_io/manipulators/extended/get_time/char/1.cc
1798         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
1799         * testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: Likewise.
1800         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Likewise.
1801         * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
1802         * testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
1803         Likewise.
1804         * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
1805         Likewise.
1806         * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
1807         Likewise.
1808         * testsuite/27_io/manipulators/extended/put_time/char/1.cc: Likewise.
1809         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
1810         * testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: Likewise.
1811         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Likewise.
1812         * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
1813         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
1814         * testsuite/27_io/manipulators/standard/char/dr2344.cc: Likewise.
1815         * testsuite/27_io/manipulators/standard/char/quoted.cc: Likewise.
1816         * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
1817         * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
1818         * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: Likewise.
1819         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Likewise.
1820         * testsuite/27_io/objects/char/1.cc: Likewise.
1821         * testsuite/27_io/objects/char/10.cc: Likewise.
1822         * testsuite/27_io/objects/char/3045.cc: Likewise.
1823         * testsuite/27_io/objects/char/41037.cc: Likewise.
1824         * testsuite/27_io/objects/char/5.cc: Likewise.
1825         * testsuite/27_io/objects/char/6.cc: Likewise.
1826         * testsuite/27_io/objects/char/6548_xin.cc: Likewise.
1827         * testsuite/27_io/objects/char/6648-1_xin.cc: Likewise.
1828         * testsuite/27_io/objects/char/6648-2_xin.cc: Likewise.
1829         * testsuite/27_io/objects/char/7744_xin.cc: Likewise.
1830         * testsuite/27_io/objects/char/8.cc: Likewise.
1831         * testsuite/27_io/objects/char/9.cc: Likewise.
1832         * testsuite/27_io/objects/char/9661-2_xin.cc: Likewise.
1833         * testsuite/27_io/objects/char/dr455.cc: Likewise.
1834         * testsuite/27_io/objects/wchar_t/1.cc: Likewise.
1835         * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
1836         * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
1837         * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
1838         * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
1839         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
1840         * testsuite/27_io/objects/wchar_t/3045.cc: Likewise.
1841         * testsuite/27_io/objects/wchar_t/41037.cc: Likewise.
1842         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
1843         * testsuite/27_io/objects/wchar_t/6548_xin.cc: Likewise.
1844         * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: Likewise.
1845         * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: Likewise.
1846         * testsuite/27_io/objects/wchar_t/7744_xin.cc: Likewise.
1847         * testsuite/27_io/objects/wchar_t/8.cc: Likewise.
1848         * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
1849         * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: Likewise.
1850         * testsuite/27_io/objects/wchar_t/9662.cc: Likewise.
1851         * testsuite/27_io/objects/wchar_t/dr455.cc: Likewise.
1852         * testsuite/27_io/types/3.cc: Likewise.
1854 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1856         PR libstdc++/77994
1857         * include/bits/stl_algo.h (sample): Convert size argument to iterator
1858         difference type.
1859         * include/experimental/algorithm (experimental::sample): Likewise.
1860         * testsuite/25_algorithms/sample/2.cc: New test.
1862 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1864         * testsuite/unordered_map/insert/57619.C: Rename to 57619.cc.
1865         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
1867 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1869         * testsuite/array/capacity/empty.cc: Remove 'test' variables.
1870         * testsuite/array/capacity/max_size.cc: Likewise.
1871         * testsuite/array/capacity/size.cc: Likewise.
1872         * testsuite/array/comparison_operators/equal.cc: Likewise.
1873         * testsuite/array/comparison_operators/greater.cc: Likewise.
1874         * testsuite/array/comparison_operators/greater_or_equal.cc: Likewise.
1875         * testsuite/array/comparison_operators/less.cc: Likewise.
1876         * testsuite/array/comparison_operators/less_or_equal.cc: Likewise.
1877         * testsuite/array/comparison_operators/not_equal.cc: Likewise.
1878         * testsuite/array/element_access/54388.cc: Likewise.
1879         * testsuite/array/element_access/at_out_of_range.cc: Likewise.
1880         * testsuite/array/element_access/back.cc: Likewise.
1881         * testsuite/array/element_access/data.cc: Likewise.
1882         * testsuite/array/element_access/front.cc: Likewise.
1883         * testsuite/array/iterators/end_is_one_past.cc: Likewise.
1884         * testsuite/array/requirements/contiguous.cc: Likewise.
1885         * testsuite/array/requirements/fill.cc: Likewise.
1886         * testsuite/array/requirements/member_swap.cc: Likewise.
1887         * testsuite/array/requirements/zero_sized_arrays.cc: Likewise.
1888         * testsuite/array/specialized_algorithms/swap.cc: Likewise.
1889         * testsuite/array/tuple_interface/tuple_element.cc: Likewise.
1890         * testsuite/array/tuple_interface/tuple_element_cpp14.cc: Likewise.
1891         * testsuite/array/tuple_interface/tuple_size.cc: Likewise.
1892         * testsuite/bitset/all/1.cc: Likewise.
1893         * testsuite/bitset/cons/1.cc: Likewise.
1894         * testsuite/bitset/cons/16020.cc: Likewise.
1895         * testsuite/bitset/cons/2.cc: Likewise.
1896         * testsuite/bitset/cons/3.cc: Likewise.
1897         * testsuite/bitset/cons/50268.cc: Likewise.
1898         * testsuite/bitset/cons/6282.cc: Likewise.
1899         * testsuite/bitset/cons/dr1325-2.cc: Likewise.
1900         * testsuite/bitset/cons/dr396.cc: Likewise.
1901         * testsuite/bitset/ext/15361.cc: Likewise.
1902         * testsuite/bitset/input/1.cc: Likewise.
1903         * testsuite/bitset/operations/1.cc: Likewise.
1904         * testsuite/bitset/operations/13838.cc: Likewise.
1905         * testsuite/bitset/operations/2.cc: Likewise.
1906         * testsuite/bitset/test/1.cc: Likewise.
1907         * testsuite/bitset/to_string/1.cc: Likewise.
1908         * testsuite/bitset/to_string/dr396.cc: Likewise.
1909         * testsuite/bitset/to_ullong/1.cc: Likewise.
1910         * testsuite/bitset/to_ulong/1.cc: Likewise.
1911         * testsuite/deque/allocator/copy.cc: Likewise.
1912         * testsuite/deque/allocator/copy_assign.cc: Likewise.
1913         * testsuite/deque/allocator/ext_ptr.cc: Likewise.
1914         * testsuite/deque/allocator/minimal.cc: Likewise.
1915         * testsuite/deque/allocator/move.cc: Likewise.
1916         * testsuite/deque/allocator/move_assign.cc: Likewise.
1917         * testsuite/deque/allocator/swap.cc: Likewise.
1918         * testsuite/deque/capacity/29134-2.cc: Likewise.
1919         * testsuite/deque/capacity/29134.cc: Likewise.
1920         * testsuite/deque/capacity/moveable.cc: Likewise.
1921         * testsuite/deque/capacity/resize_size.cc: Likewise.
1922         * testsuite/deque/capacity/shrink_to_fit.cc: Likewise.
1923         * testsuite/deque/cons/1.cc: Likewise.
1924         * testsuite/deque/cons/2.cc: Likewise.
1925         * testsuite/deque/cons/assign/1.cc: Likewise.
1926         * testsuite/deque/cons/cons_size.cc: Likewise.
1927         * testsuite/deque/cons/moveable.cc: Likewise.
1928         * testsuite/deque/modifiers/erase/1.cc: Likewise.
1929         * testsuite/deque/modifiers/erase/2.cc: Likewise.
1930         * testsuite/deque/modifiers/erase/3.cc: Likewise.
1931         * testsuite/deque/modifiers/erase/moveable.cc: Likewise.
1932         * testsuite/deque/modifiers/moveable.cc: Likewise.
1933         * testsuite/deque/modifiers/push_back/49836.cc: Likewise.
1934         * testsuite/deque/modifiers/push_front/49836.cc: Likewise.
1935         * testsuite/deque/modifiers/swap/1.cc: Likewise.
1936         * testsuite/deque/modifiers/swap/2.cc: Likewise.
1937         * testsuite/deque/modifiers/swap/3.cc: Likewise.
1938         * testsuite/deque/operators/1.cc: Likewise.
1939         * testsuite/deque/operators/2.cc: Likewise.
1940         * testsuite/forward_list/allocator/copy.cc: Likewise.
1941         * testsuite/forward_list/allocator/copy_assign.cc: Likewise.
1942         * testsuite/forward_list/allocator/ext_ptr.cc: Likewise.
1943         * testsuite/forward_list/allocator/minimal.cc: Likewise.
1944         * testsuite/forward_list/allocator/move.cc: Likewise.
1945         * testsuite/forward_list/allocator/move_assign.cc: Likewise.
1946         * testsuite/forward_list/allocator/swap.cc: Likewise.
1947         * testsuite/forward_list/capacity/1.cc: Likewise.
1948         * testsuite/forward_list/capacity/resize_size.cc: Likewise.
1949         * testsuite/forward_list/comparable.cc: Likewise.
1950         * testsuite/forward_list/cons/1.cc: Likewise.
1951         * testsuite/forward_list/cons/2.cc: Likewise.
1952         * testsuite/forward_list/cons/3.cc: Likewise.
1953         * testsuite/forward_list/cons/4.cc: Likewise.
1954         * testsuite/forward_list/cons/5.cc: Likewise.
1955         * testsuite/forward_list/cons/6.cc: Likewise.
1956         * testsuite/forward_list/cons/7.cc: Likewise.
1957         * testsuite/forward_list/cons/8.cc: Likewise.
1958         * testsuite/forward_list/cons/9.cc: Likewise.
1959         * testsuite/forward_list/cons/cons_size.cc: Likewise.
1960         * testsuite/forward_list/cons/moveable.cc: Likewise.
1961         * testsuite/forward_list/debug/clear.cc: Likewise.
1962         * testsuite/forward_list/debug/construct4_neg.cc: Likewise.
1963         * testsuite/forward_list/debug/erase_after1_neg.cc: Likewise.
1964         * testsuite/forward_list/debug/move_assign_neg.cc: Likewise.
1965         * testsuite/forward_list/debug/move_constructor.cc: Likewise.
1966         * testsuite/forward_list/debug/move_neg.cc: Likewise.
1967         * testsuite/forward_list/debug/splice_after.cc: Likewise.
1968         * testsuite/forward_list/debug/swap.cc: Likewise.
1969         * testsuite/forward_list/modifiers/1.cc: Likewise.
1970         * testsuite/forward_list/modifiers/2.cc: Likewise.
1971         * testsuite/forward_list/modifiers/3.cc: Likewise.
1972         * testsuite/forward_list/modifiers/4.cc: Likewise.
1973         * testsuite/forward_list/modifiers/5.cc: Likewise.
1974         * testsuite/forward_list/modifiers/6.cc: Likewise.
1975         * testsuite/forward_list/operations/1.cc: Likewise.
1976         * testsuite/forward_list/operations/2.cc: Likewise.
1977         * testsuite/forward_list/operations/3.cc: Likewise.
1978         * testsuite/forward_list/operations/4.cc: Likewise.
1979         * testsuite/forward_list/operations/5.cc: Likewise.
1980         * testsuite/forward_list/operations/6.cc: Likewise.
1981         * testsuite/forward_list/operations/7.cc: Likewise.
1982         * testsuite/forward_list/operations/remove_freed.cc: Likewise.
1983         * testsuite/list/61347.cc: Likewise.
1984         * testsuite/list/allocator/copy.cc: Likewise.
1985         * testsuite/list/allocator/copy_assign.cc: Likewise.
1986         * testsuite/list/allocator/minimal.cc: Likewise.
1987         * testsuite/list/allocator/move.cc: Likewise.
1988         * testsuite/list/allocator/move_assign.cc: Likewise.
1989         * testsuite/list/allocator/swap.cc: Likewise.
1990         * testsuite/list/capacity/1.h: Likewise.
1991         * testsuite/list/capacity/29134.cc: Likewise.
1992         * testsuite/list/capacity/resize_size.cc: Likewise.
1993         * testsuite/list/cons/1.h: Likewise.
1994         * testsuite/list/cons/2.h: Likewise.
1995         * testsuite/list/cons/3.h: Likewise.
1996         * testsuite/list/cons/4.h: Likewise.
1997         * testsuite/list/cons/5.h: Likewise.
1998         * testsuite/list/cons/6.h: Likewise.
1999         * testsuite/list/cons/7.h: Likewise.
2000         * testsuite/list/cons/8.h: Likewise.
2001         * testsuite/list/cons/9.h: Likewise.
2002         * testsuite/list/cons/cons_size.cc: Likewise.
2003         * testsuite/list/cons/moveable.h: Likewise.
2004         * testsuite/list/debug/invalidation/1.cc: Likewise.
2005         * testsuite/list/debug/invalidation/2.cc: Likewise.
2006         * testsuite/list/debug/invalidation/3.cc: Likewise.
2007         * testsuite/list/debug/invalidation/4.cc: Likewise.
2008         * testsuite/list/modifiers/1.h: Likewise.
2009         * testsuite/list/modifiers/2.h: Likewise.
2010         * testsuite/list/modifiers/3.h: Likewise.
2011         * testsuite/list/modifiers/insert/25288.h: Likewise.
2012         * testsuite/list/modifiers/swap/1.h: Likewise.
2013         * testsuite/list/modifiers/swap/2.h: Likewise.
2014         * testsuite/list/modifiers/swap/3.h: Likewise.
2015         * testsuite/list/operations/1.h: Likewise.
2016         * testsuite/list/operations/2.h: Likewise.
2017         * testsuite/list/operations/3.h: Likewise.
2018         * testsuite/list/operations/4.h: Likewise.
2019         * testsuite/list/operations/42352.cc: Likewise.
2020         * testsuite/map/allocator/copy.cc: Likewise.
2021         * testsuite/map/allocator/copy_assign.cc: Likewise.
2022         * testsuite/map/allocator/init-list.cc: Likewise.
2023         * testsuite/map/allocator/minimal.cc: Likewise.
2024         * testsuite/map/allocator/move.cc: Likewise.
2025         * testsuite/map/allocator/move_assign.cc: Likewise.
2026         * testsuite/map/allocator/swap.cc: Likewise.
2027         * testsuite/map/capacity/29134.cc: Likewise.
2028         * testsuite/map/cons/moveable.cc: Likewise.
2029         * testsuite/map/debug/construct5_neg.cc: Likewise.
2030         * testsuite/map/debug/move_assign_neg.cc: Likewise.
2031         * testsuite/map/debug/move_neg.cc: Likewise.
2032         * testsuite/map/element_access/1.cc: Likewise.
2033         * testsuite/map/element_access/2.cc: Likewise.
2034         * testsuite/map/element_access/39901.cc: Likewise.
2035         * testsuite/map/init-list.cc: Likewise.
2036         * testsuite/map/modifiers/dr130.cc: Likewise.
2037         * testsuite/map/modifiers/emplace/1.cc: Likewise.
2038         * testsuite/map/modifiers/extract.cc: Likewise.
2039         * testsuite/map/modifiers/insert/1.cc: Likewise.
2040         * testsuite/map/modifiers/insert/16813.cc: Likewise.
2041         * testsuite/map/modifiers/insert/2.cc: Likewise.
2042         * testsuite/map/modifiers/insert/3.cc: Likewise.
2043         * testsuite/map/modifiers/insert/4.cc: Likewise.
2044         * testsuite/map/modifiers/insert/5.cc: Likewise.
2045         * testsuite/map/modifiers/insert_or_assign/1.cc: Likewise.
2046         * testsuite/map/modifiers/merge.cc: Likewise.
2047         * testsuite/map/modifiers/swap/1.cc: Likewise.
2048         * testsuite/map/modifiers/swap/2.cc: Likewise.
2049         * testsuite/map/modifiers/swap/3.cc: Likewise.
2050         * testsuite/map/modifiers/try_emplace/1.cc: Likewise.
2051         * testsuite/map/operations/1.cc: Likewise.
2052         * testsuite/map/operations/count.cc: Likewise.
2053         * testsuite/map/operators/1_neg.cc: Likewise.
2054         * testsuite/map/operators/2.cc: Likewise.
2055         * testsuite/multimap/allocator/copy.cc: Likewise.
2056         * testsuite/multimap/allocator/copy_assign.cc: Likewise.
2057         * testsuite/multimap/allocator/init-list.cc: Likewise.
2058         * testsuite/multimap/allocator/minimal.cc: Likewise.
2059         * testsuite/multimap/allocator/move.cc: Likewise.
2060         * testsuite/multimap/allocator/move_assign.cc: Likewise.
2061         * testsuite/multimap/allocator/swap.cc: Likewise.
2062         * testsuite/multimap/capacity/29134.cc: Likewise.
2063         * testsuite/multimap/cons/moveable.cc: Likewise.
2064         * testsuite/multimap/debug/construct5_neg.cc: Likewise.
2065         * testsuite/multimap/debug/move_assign_neg.cc: Likewise.
2066         * testsuite/multimap/debug/move_neg.cc: Likewise.
2067         * testsuite/multimap/init-list.cc: Likewise.
2068         * testsuite/multimap/modifiers/dr130.cc: Likewise.
2069         * testsuite/multimap/modifiers/emplace/1.cc: Likewise.
2070         * testsuite/multimap/modifiers/extract.cc: Likewise.
2071         * testsuite/multimap/modifiers/insert/1.cc: Likewise.
2072         * testsuite/multimap/modifiers/insert/2.cc: Likewise.
2073         * testsuite/multimap/modifiers/insert/22102.cc: Likewise.
2074         * testsuite/multimap/modifiers/insert/3.cc: Likewise.
2075         * testsuite/multimap/modifiers/insert/4.cc: Likewise.
2076         * testsuite/multimap/modifiers/merge.cc: Likewise.
2077         * testsuite/multimap/modifiers/swap/1.cc: Likewise.
2078         * testsuite/multimap/modifiers/swap/2.cc: Likewise.
2079         * testsuite/multimap/modifiers/swap/3.cc: Likewise.
2080         * testsuite/multimap/operations/1.cc: Likewise.
2081         * testsuite/multimap/operations/count.cc: Likewise.
2082         * testsuite/multiset/allocator/copy.cc: Likewise.
2083         * testsuite/multiset/allocator/copy_assign.cc: Likewise.
2084         * testsuite/multiset/allocator/init-list.cc: Likewise.
2085         * testsuite/multiset/allocator/minimal.cc: Likewise.
2086         * testsuite/multiset/allocator/move.cc: Likewise.
2087         * testsuite/multiset/allocator/move_assign.cc: Likewise.
2088         * testsuite/multiset/allocator/swap.cc: Likewise.
2089         * testsuite/multiset/capacity/29134.cc: Likewise.
2090         * testsuite/multiset/cons/moveable.cc: Likewise.
2091         * testsuite/multiset/debug/construct5_neg.cc: Likewise.
2092         * testsuite/multiset/debug/invalidation/2.cc: Likewise.
2093         * testsuite/multiset/debug/move_assign_neg.cc: Likewise.
2094         * testsuite/multiset/debug/move_neg.cc: Likewise.
2095         * testsuite/multiset/init-list.cc: Likewise.
2096         * testsuite/multiset/modifiers/dr130.cc: Likewise.
2097         * testsuite/multiset/modifiers/emplace/1.cc: Likewise.
2098         * testsuite/multiset/modifiers/extract.cc: Likewise.
2099         * testsuite/multiset/modifiers/insert/1.cc: Likewise.
2100         * testsuite/multiset/modifiers/insert/2.cc: Likewise.
2101         * testsuite/multiset/modifiers/insert/22102.cc: Likewise.
2102         * testsuite/multiset/modifiers/insert/3.cc: Likewise.
2103         * testsuite/multiset/modifiers/insert/4.cc: Likewise.
2104         * testsuite/multiset/modifiers/merge.cc: Likewise.
2105         * testsuite/multiset/modifiers/swap/1.cc: Likewise.
2106         * testsuite/multiset/modifiers/swap/2.cc: Likewise.
2107         * testsuite/multiset/modifiers/swap/3.cc: Likewise.
2108         * testsuite/multiset/operations/1.cc: Likewise.
2109         * testsuite/multiset/operations/count.cc: Likewise.
2110         * testsuite/priority_queue/moveable.cc: Likewise.
2111         * testsuite/queue/moveable.cc: Likewise.
2112         * testsuite/set/allocator/copy.cc: Likewise.
2113         * testsuite/set/allocator/copy_assign.cc: Likewise.
2114         * testsuite/set/allocator/init-list.cc: Likewise.
2115         * testsuite/set/allocator/minimal.cc: Likewise.
2116         * testsuite/set/allocator/move.cc: Likewise.
2117         * testsuite/set/allocator/move_assign.cc: Likewise.
2118         * testsuite/set/allocator/swap.cc: Likewise.
2119         * testsuite/set/capacity/29134.cc: Likewise.
2120         * testsuite/set/cons/moveable.cc: Likewise.
2121         * testsuite/set/debug/construct5_neg.cc: Likewise.
2122         * testsuite/set/debug/invalidation/2.cc: Likewise.
2123         * testsuite/set/debug/move_assign_neg.cc: Likewise.
2124         * testsuite/set/debug/move_neg.cc: Likewise.
2125         * testsuite/set/init-list.cc: Likewise.
2126         * testsuite/set/modifiers/17948.cc: Likewise.
2127         * testsuite/set/modifiers/dr130.cc: Likewise.
2128         * testsuite/set/modifiers/emplace/1.cc: Likewise.
2129         * testsuite/set/modifiers/extract.cc: Likewise.
2130         * testsuite/set/modifiers/insert/1.cc: Likewise.
2131         * testsuite/set/modifiers/insert/2.cc: Likewise.
2132         * testsuite/set/modifiers/insert/3.cc: Likewise.
2133         * testsuite/set/modifiers/merge.cc: Likewise.
2134         * testsuite/set/modifiers/swap/1.cc: Likewise.
2135         * testsuite/set/modifiers/swap/2.cc: Likewise.
2136         * testsuite/set/modifiers/swap/3.cc: Likewise.
2137         * testsuite/set/operations/1.cc: Likewise.
2138         * testsuite/set/operations/count.cc: Likewise.
2139         * testsuite/set/operators/1_neg.cc: Likewise.
2140         * testsuite/unordered_map/allocator/copy.cc: Likewise.
2141         * testsuite/unordered_map/allocator/copy_assign.cc: Likewise.
2142         * testsuite/unordered_map/allocator/minimal.cc: Likewise.
2143         * testsuite/unordered_map/allocator/move.cc: Likewise.
2144         * testsuite/unordered_map/allocator/move_assign.cc: Likewise.
2145         * testsuite/unordered_map/allocator/swap.cc: Likewise.
2146         * testsuite/unordered_map/cons/moveable.cc: Likewise.
2147         * testsuite/unordered_map/debug/construct5_neg.cc: Likewise.
2148         * testsuite/unordered_map/debug/move_assign_neg.cc: Likewise.
2149         * testsuite/unordered_map/debug/move_neg.cc: Likewise.
2150         * testsuite/unordered_map/dr761.cc: Likewise.
2151         * testsuite/unordered_map/erase/1.cc: Likewise.
2152         * testsuite/unordered_map/erase/24061-map.cc: Likewise.
2153         * testsuite/unordered_map/erase/54276.cc: Likewise.
2154         * testsuite/unordered_map/hash_policy/dr1189.cc: Likewise.
2155         * testsuite/unordered_map/init-list.cc: Likewise.
2156         * testsuite/unordered_map/insert/24061-map.cc: Likewise.
2157         * testsuite/unordered_map/insert/57619.C: Likewise.
2158         * testsuite/unordered_map/insert/array_syntax.cc: Likewise.
2159         * testsuite/unordered_map/insert/array_syntax_move.cc: Likewise.
2160         * testsuite/unordered_map/insert/map_range.cc: Likewise.
2161         * testsuite/unordered_map/insert/map_single.cc: Likewise.
2162         * testsuite/unordered_map/insert/map_single_move-1.cc: Likewise.
2163         * testsuite/unordered_map/insert/map_single_move-2.cc: Likewise.
2164         * testsuite/unordered_map/modifiers/61667.cc: Likewise.
2165         * testsuite/unordered_map/modifiers/emplace.cc: Likewise.
2166         * testsuite/unordered_map/modifiers/extract.cc: Likewise.
2167         * testsuite/unordered_map/modifiers/insert_or_assign.cc: Likewise.
2168         * testsuite/unordered_map/modifiers/merge.cc: Likewise.
2169         * testsuite/unordered_map/modifiers/reserve.cc: Likewise.
2170         * testsuite/unordered_map/modifiers/try_emplace.cc: Likewise.
2171         * testsuite/unordered_map/operations/count.cc: Likewise.
2172         * testsuite/unordered_map/operators/1.cc: Likewise.
2173         * testsuite/unordered_map/operators/2.cc: Likewise.
2174         * testsuite/unordered_multimap/allocator/copy.cc: Likewise.
2175         * testsuite/unordered_multimap/allocator/copy_assign.cc: Likewise.
2176         * testsuite/unordered_multimap/allocator/minimal.cc: Likewise.
2177         * testsuite/unordered_multimap/allocator/move.cc: Likewise.
2178         * testsuite/unordered_multimap/allocator/move_assign.cc: Likewise.
2179         * testsuite/unordered_multimap/allocator/swap.cc: Likewise.
2180         * testsuite/unordered_multimap/cons/moveable.cc: Likewise.
2181         * testsuite/unordered_multimap/debug/construct5_neg.cc: Likewise.
2182         * testsuite/unordered_multimap/debug/move_assign_neg.cc: Likewise.
2183         * testsuite/unordered_multimap/debug/move_neg.cc: Likewise.
2184         * testsuite/unordered_multimap/erase/1.cc: Likewise.
2185         * testsuite/unordered_multimap/erase/2.cc: Likewise.
2186         * testsuite/unordered_multimap/erase/24061-multimap.cc: Likewise.
2187         * testsuite/unordered_multimap/erase/51845-multimap.cc: Likewise.
2188         * testsuite/unordered_multimap/erase/54276.cc: Likewise.
2189         * testsuite/unordered_multimap/hash_policy/dr1189.cc: Likewise.
2190         * testsuite/unordered_multimap/init-list.cc: Likewise.
2191         * testsuite/unordered_multimap/insert/24061-multimap.cc: Likewise.
2192         * testsuite/unordered_multimap/insert/51866.cc: Likewise.
2193         * testsuite/unordered_multimap/insert/52476.cc: Likewise.
2194         * testsuite/unordered_multimap/insert/53115.cc: Likewise.
2195         * testsuite/unordered_multimap/insert/57619.C: Likewise.
2196         * testsuite/unordered_multimap/insert/hint.cc: Likewise.
2197         * testsuite/unordered_multimap/insert/multimap_range.cc: Likewise.
2198         * testsuite/unordered_multimap/insert/multimap_single.cc: Likewise.
2199         * testsuite/unordered_multimap/insert/multimap_single_move-1.cc:
2200         Likewise.
2201         * testsuite/unordered_multimap/insert/multimap_single_move-2.cc:
2202         Likewise.
2203         * testsuite/unordered_multimap/modifiers/emplace.cc: Likewise.
2204         * testsuite/unordered_multimap/modifiers/extract.cc: Likewise.
2205         * testsuite/unordered_multimap/modifiers/merge.cc: Likewise.
2206         * testsuite/unordered_multimap/modifiers/reserve.cc: Likewise.
2207         * testsuite/unordered_multimap/operations/count.cc: Likewise.
2208         * testsuite/unordered_multimap/operators/1.cc: Likewise.
2209         * testsuite/unordered_multimap/operators/2.cc: Likewise.
2210         * testsuite/unordered_multiset/allocator/copy.cc: Likewise.
2211         * testsuite/unordered_multiset/allocator/copy_assign.cc: Likewise.
2212         * testsuite/unordered_multiset/allocator/minimal.cc: Likewise.
2213         * testsuite/unordered_multiset/allocator/move.cc: Likewise.
2214         * testsuite/unordered_multiset/allocator/move_assign.cc: Likewise.
2215         * testsuite/unordered_multiset/allocator/swap.cc: Likewise.
2216         * testsuite/unordered_multiset/cons/copy.cc: Likewise.
2217         * testsuite/unordered_multiset/cons/moveable.cc: Likewise.
2218         * testsuite/unordered_multiset/debug/construct5_neg.cc: Likewise.
2219         * testsuite/unordered_multiset/debug/move_assign_neg.cc: Likewise.
2220         * testsuite/unordered_multiset/debug/move_neg.cc: Likewise.
2221         * testsuite/unordered_multiset/erase/1.cc: Likewise.
2222         * testsuite/unordered_multiset/erase/2.cc: Likewise.
2223         * testsuite/unordered_multiset/erase/24061-multiset.cc: Likewise.
2224         * testsuite/unordered_multiset/hash_policy/dr1189.cc: Likewise.
2225         * testsuite/unordered_multiset/init-list.cc: Likewise.
2226         * testsuite/unordered_multiset/insert/24061-multiset.cc: Likewise.
2227         * testsuite/unordered_multiset/insert/51866.cc: Likewise.
2228         * testsuite/unordered_multiset/insert/52476.cc: Likewise.
2229         * testsuite/unordered_multiset/insert/53115.cc: Likewise.
2230         * testsuite/unordered_multiset/insert/hash_policy.cc: Likewise.
2231         * testsuite/unordered_multiset/insert/multiset_range.cc: Likewise.
2232         * testsuite/unordered_multiset/insert/multiset_single.cc: Likewise.
2233         * testsuite/unordered_multiset/insert/multiset_single_move.cc: Likewise.
2234         * testsuite/unordered_multiset/modifiers/emplace.cc: Likewise.
2235         * testsuite/unordered_multiset/modifiers/extract.cc: Likewise.
2236         * testsuite/unordered_multiset/modifiers/merge.cc: Likewise.
2237         * testsuite/unordered_multiset/modifiers/reserve.cc: Likewise.
2238         * testsuite/unordered_multiset/operations/count.cc: Likewise.
2239         * testsuite/unordered_multiset/operators/1.cc: Likewise.
2240         * testsuite/unordered_set/allocator/copy.cc: Likewise.
2241         * testsuite/unordered_set/allocator/copy_assign.cc: Likewise.
2242         * testsuite/unordered_set/allocator/ext_ptr.cc: Likewise.
2243         * testsuite/unordered_set/allocator/minimal.cc: Likewise.
2244         * testsuite/unordered_set/allocator/move.cc: Likewise.
2245         * testsuite/unordered_set/allocator/move_assign.cc: Likewise.
2246         * testsuite/unordered_set/allocator/swap.cc: Likewise.
2247         * testsuite/unordered_set/buckets/swap.cc: Likewise.
2248         * testsuite/unordered_set/cons/moveable.cc: Likewise.
2249         * testsuite/unordered_set/debug/construct5_neg.cc: Likewise.
2250         * testsuite/unordered_set/debug/debug_functions.cc: Likewise.
2251         * testsuite/unordered_set/debug/move_assign_neg.cc: Likewise.
2252         * testsuite/unordered_set/debug/move_neg.cc: Likewise.
2253         * testsuite/unordered_set/erase/1.cc: Likewise.
2254         * testsuite/unordered_set/erase/24061-set.cc: Likewise.
2255         * testsuite/unordered_set/hash_policy/26132.cc: Likewise.
2256         * testsuite/unordered_set/hash_policy/71181.cc: Likewise.
2257         * testsuite/unordered_set/hash_policy/dr1189.cc: Likewise.
2258         * testsuite/unordered_set/hash_policy/load_factor.cc: Likewise.
2259         * testsuite/unordered_set/hash_policy/power2_rehash.cc: Likewise.
2260         * testsuite/unordered_set/hash_policy/prime_rehash.cc: Likewise.
2261         * testsuite/unordered_set/hash_policy/rehash.cc: Likewise.
2262         * testsuite/unordered_set/init-list.cc: Likewise.
2263         * testsuite/unordered_set/insert/24061-set.cc: Likewise.
2264         * testsuite/unordered_set/insert/hash_policy.cc: Likewise.
2265         * testsuite/unordered_set/insert/move_range.cc: Likewise.
2266         * testsuite/unordered_set/insert/set_range.cc: Likewise.
2267         * testsuite/unordered_set/insert/set_single.cc: Likewise.
2268         * testsuite/unordered_set/insert/set_single_move.cc: Likewise.
2269         * testsuite/unordered_set/max_load_factor/robustness.cc: Likewise.
2270         * testsuite/unordered_set/modifiers/emplace.cc: Likewise.
2271         * testsuite/unordered_set/modifiers/extract.cc: Likewise.
2272         * testsuite/unordered_set/modifiers/merge.cc: Likewise.
2273         * testsuite/unordered_set/modifiers/reserve.cc: Likewise.
2274         * testsuite/unordered_set/modifiers/swap.cc: Likewise.
2275         * testsuite/unordered_set/operations/count.cc: Likewise.
2276         * testsuite/unordered_set/operators/1.cc: Likewise.
2277         * testsuite/vector/allocator/copy.cc: Likewise.
2278         * testsuite/vector/allocator/copy_assign.cc: Likewise.
2279         * testsuite/vector/allocator/ext_ptr.cc: Likewise.
2280         * testsuite/vector/allocator/minimal.cc: Likewise.
2281         * testsuite/vector/allocator/move.cc: Likewise.
2282         * testsuite/vector/allocator/move_assign.cc: Likewise.
2283         * testsuite/vector/allocator/swap.cc: Likewise.
2284         * testsuite/vector/bool/6886.cc: Likewise.
2285         * testsuite/vector/bool/72847.cc: Likewise.
2286         * testsuite/vector/bool/allocator/copy.cc: Likewise.
2287         * testsuite/vector/bool/allocator/copy_assign.cc: Likewise.
2288         * testsuite/vector/bool/allocator/ext_ptr.cc: Likewise.
2289         * testsuite/vector/bool/allocator/move.cc: Likewise.
2290         * testsuite/vector/bool/allocator/move_assign.cc: Likewise.
2291         * testsuite/vector/bool/allocator/swap.cc: Likewise.
2292         * testsuite/vector/bool/capacity/1.cc: Likewise.
2293         * testsuite/vector/bool/capacity/29134.cc: Likewise.
2294         * testsuite/vector/bool/capacity/shrink_to_fit.cc: Likewise.
2295         * testsuite/vector/bool/cons/1.cc: Likewise.
2296         * testsuite/vector/bool/cons/2.cc: Likewise.
2297         * testsuite/vector/bool/modifiers/erase/1.cc: Likewise.
2298         * testsuite/vector/bool/modifiers/insert/1.cc: Likewise.
2299         * testsuite/vector/bool/modifiers/insert/31370.cc: Likewise.
2300         * testsuite/vector/bool/modifiers/swap/1.cc: Likewise.
2301         * testsuite/vector/bool/modifiers/swap/2.cc: Likewise.
2302         * testsuite/vector/bool/swap.cc: Likewise.
2303         * testsuite/vector/capacity/1.cc: Likewise.
2304         * testsuite/vector/capacity/2.cc: Likewise.
2305         * testsuite/vector/capacity/29134-2.cc: Likewise.
2306         * testsuite/vector/capacity/29134.cc: Likewise.
2307         * testsuite/vector/capacity/44190.cc: Likewise.
2308         * testsuite/vector/capacity/8230.cc: Likewise.
2309         * testsuite/vector/capacity/reserve/moveable.cc: Likewise.
2310         * testsuite/vector/capacity/reserve/moveable2.cc: Likewise.
2311         * testsuite/vector/capacity/resize/1.cc: Likewise.
2312         * testsuite/vector/capacity/resize/moveable.cc: Likewise.
2313         * testsuite/vector/capacity/resize/moveable2.cc: Likewise.
2314         * testsuite/vector/capacity/resize/resize_size.cc: Likewise.
2315         * testsuite/vector/capacity/shrink_to_fit.cc: Likewise.
2316         * testsuite/vector/capacity/shrink_to_fit2.cc: Likewise.
2317         * testsuite/vector/cons/3.cc: Likewise.
2318         * testsuite/vector/cons/4.cc: Likewise.
2319         * testsuite/vector/cons/cons_size.cc: Likewise.
2320         * testsuite/vector/cons/moveable.cc: Likewise.
2321         * testsuite/vector/data_access/1.cc: Likewise.
2322         * testsuite/vector/debug/debug_functions.cc: Likewise.
2323         * testsuite/vector/debug/move_assign_neg.cc: Likewise.
2324         * testsuite/vector/debug/move_neg.cc: Likewise.
2325         * testsuite/vector/debug/multithreaded_swap.cc: Likewise.
2326         * testsuite/vector/element_access/1.cc: Likewise.
2327         * testsuite/vector/ext_pointer/citerators.cc: Likewise.
2328         * testsuite/vector/ext_pointer/data_access.cc: Likewise.
2329         * testsuite/vector/ext_pointer/modifiers/element.cc: Likewise.
2330         * testsuite/vector/ext_pointer/modifiers/erase.cc: Likewise.
2331         * testsuite/vector/ext_pointer/modifiers/insert.cc: Likewise.
2332         * testsuite/vector/ext_pointer/resize.cc: Likewise.
2333         * testsuite/vector/modifiers/1.cc: Likewise.
2334         * testsuite/vector/modifiers/2.cc: Likewise.
2335         * testsuite/vector/modifiers/emplace/self_emplace.cc: Likewise.
2336         * testsuite/vector/modifiers/erase/1.cc: Likewise.
2337         * testsuite/vector/modifiers/erase/moveable.cc: Likewise.
2338         * testsuite/vector/modifiers/insert/1.cc: Likewise.
2339         * testsuite/vector/modifiers/insert/self_insert.cc: Likewise.
2340         * testsuite/vector/modifiers/moveable.cc: Likewise.
2341         * testsuite/vector/modifiers/moveable2.cc: Likewise.
2342         * testsuite/vector/modifiers/push_back/49836.cc: Likewise.
2343         * testsuite/vector/modifiers/swap/1.cc: Likewise.
2344         * testsuite/vector/modifiers/swap/2.cc: Likewise.
2345         * testsuite/vector/modifiers/swap/3.cc: Likewise.
2346         * testsuite/vector/zero_sized_allocations.cc: Likewise.
2348 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
2350         PR libstdc++/77998
2351         * include/std/future (__future_base::_Deferred_state)
2352         (__future_base::_Async_state_impl): Use decltype to deduce return
2353         type, instead of _Invoker::result_type.
2354         * include/std/thread (thread::_Invoker::operator()): Likewise.
2355         (thread::_Invoker::result_type): Remove.
2357         PR libstdc++/77987
2358         * include/bits/unique_ptr.h (unique_ptr<T[], D>::reset<U>(U)): Copy
2359         value to pointer of the correct type to swap, to support conversions
2360         allowed by LWG 2118 / N4089.
2361         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for
2362         incompatible deleters from ...
2363         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here.
2364         * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for
2365         incompatible pointers to ...
2366         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move
2367         destructor definition to base class. Test for invalid derived-to-base
2368         conversion.
2370         * doc/xml/manual/status_cxx2017.xml: Update status.
2371         * doc/html/*: Regenerate.
2372         * include/bits/deque.tcc (deque::emplace_front, deque::emplace_back):
2373         Return a reference in C++17 mode.
2374         * include/bits/forward_list.h (forward_list::emplace_front): Likewise.
2375         * include/bits/stl_bvector.h (vector<bool>::emplace_back): Likewise.
2376         * include/bits/stl_deque.h (deque::emplace_front, deque::emplace_back):
2377         Likewise.
2378         * include/bits/stl_list.h (list::emplace_front, list::emplace_back):
2379         Likewise.
2380         * include/bits/stl_queue.h (queue::emplace): Likewise.
2381         * include/bits/stl_stack.h (stack::emplace): Likewise.
2382         * include/bits/stl_vector.h (vector::emplace_back): Likewise.
2383         * include/bits/vector.tcc (vector::emplace_back): Likewise.
2384         * include/debug/deque (__gnu_debug::deque::emplace_front)
2385         (__gnu_debug::deque::emplace_back): Likewise.
2386         * include/debug/vector (__gnu_debug::vector::emplace_back): Likewise.
2387         * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
2388         New.
2389         * testsuite/23_containers/forward_list/modifiers/
2390         emplace_cxx17_return.cc: New.
2391         * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: New.
2392         * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: New.
2393         * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: New.
2394         * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: New.
2395         * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
2396         New.
2398 2016-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
2400         * testsuite/22_locale/classification/isblank.cc: Remove 'test'
2401         variables.
2402         * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
2403         * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Likewise.
2404         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
2405         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
2406         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise.
2407         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Likewise.
2408         * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
2409         * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Likewise.
2410         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
2411         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
2412         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise.
2413         * testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
2414         * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Likewise.
2415         * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
2416         * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise.
2417         * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise.
2418         * testsuite/22_locale/codecvt/in/wchar_t/5.cc: Likewise.
2419         * testsuite/22_locale/codecvt/in/wchar_t/6.cc: Likewise.
2420         * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise.
2421         * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
2422         * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
2423         * testsuite/22_locale/codecvt/length/char/1.cc: Likewise.
2424         * testsuite/22_locale/codecvt/length/char/2.cc: Likewise.
2425         * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Likewise.
2426         * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
2427         * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
2428         * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
2429         * testsuite/22_locale/codecvt/length/wchar_t/5.cc: Likewise.
2430         * testsuite/22_locale/codecvt/length/wchar_t/6.cc: Likewise.
2431         * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise.
2432         * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
2433         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Likewise.
2434         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
2435         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
2436         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise.
2437         * testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
2438         * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Likewise.
2439         * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
2440         * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise.
2441         * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
2442         * testsuite/22_locale/codecvt/out/wchar_t/5.cc: Likewise.
2443         * testsuite/22_locale/codecvt/out/wchar_t/6.cc: Likewise.
2444         * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
2445         * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
2446         * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Likewise.
2447         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
2448         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
2449         * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
2450         * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
2451         * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
2452         * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
2453         * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
2454         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
2455         * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
2456         * testsuite/22_locale/collate/hash/char/1.cc: Likewise.
2457         * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
2458         * testsuite/22_locale/collate/hash/wchar_t/1.cc: Likewise.
2459         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
2460         * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
2461         * testsuite/22_locale/collate/transform/char/28277.cc: Likewise.
2462         * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
2463         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
2464         * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise.
2465         * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
2466         * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
2467         * testsuite/22_locale/ctype/cons/char/1.cc: Likewise.
2468         * testsuite/22_locale/ctype/is/char/1.cc: Likewise.
2469         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
2470         * testsuite/22_locale/ctype/is/char/3.cc: Likewise.
2471         * testsuite/22_locale/ctype/is/char/9858.cc: Likewise.
2472         * testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
2473         * testsuite/22_locale/ctype/is/wchar_t/11740.cc: Likewise.
2474         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
2475         * testsuite/22_locale/ctype/narrow/char/1.cc: Likewise.
2476         * testsuite/22_locale/ctype/narrow/char/19955.cc: Likewise.
2477         * testsuite/22_locale/ctype/narrow/char/2.cc: Likewise.
2478         * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Likewise.
2479         * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Likewise.
2480         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise.
2481         * testsuite/22_locale/ctype/scan/char/1.cc: Likewise.
2482         * testsuite/22_locale/ctype/scan/wchar_t/1.cc: Likewise.
2483         * testsuite/22_locale/ctype/to/char/1.cc: Likewise.
2484         * testsuite/22_locale/ctype/to/wchar_t/1.cc: Likewise.
2485         * testsuite/22_locale/ctype/widen/char/1.cc: Likewise.
2486         * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Likewise.
2487         * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
2488         * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise.
2489         * testsuite/22_locale/ctype_base/11844.cc: Likewise.
2490         * testsuite/22_locale/facet/1.cc: Likewise.
2491         * testsuite/22_locale/facet/2.cc: Likewise.
2492         * testsuite/22_locale/facet/25421.cc: Likewise.
2493         * testsuite/22_locale/global_templates/1.cc: Likewise.
2494         * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
2495         Likewise.
2496         * testsuite/22_locale/global_templates/user_facet_hierarchies.cc:
2497         Likewise.
2498         * testsuite/22_locale/locale/13630.cc: Likewise.
2499         * testsuite/22_locale/locale/cons/12352.cc: Likewise.
2500         * testsuite/22_locale/locale/cons/12438.cc: Likewise.
2501         * testsuite/22_locale/locale/cons/2.cc: Likewise.
2502         * testsuite/22_locale/locale/cons/29217.cc: Likewise.
2503         * testsuite/22_locale/locale/cons/38365.cc: Likewise.
2504         * testsuite/22_locale/locale/cons/38368.cc: Likewise.
2505         * testsuite/22_locale/locale/cons/4.cc: Likewise.
2506         * testsuite/22_locale/locale/cons/40184.cc: Likewise.
2507         * testsuite/22_locale/locale/cons/5.cc: Likewise.
2508         * testsuite/22_locale/locale/cons/6.cc: Likewise.
2509         * testsuite/22_locale/locale/cons/7.cc: Likewise.
2510         * testsuite/22_locale/locale/cons/7222-c.cc: Likewise.
2511         * testsuite/22_locale/locale/cons/7222-env.cc: Likewise.
2512         * testsuite/22_locale/locale/cons/8.cc: Likewise.
2513         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
2514         * testsuite/22_locale/locale/global_locale_objects/1.cc: Likewise.
2515         * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
2516         * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
2517         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
2518         * testsuite/22_locale/locale/operations/1.cc: Likewise.
2519         * testsuite/22_locale/locale/operations/2.cc: Likewise.
2520         * testsuite/22_locale/messages/13631.cc: Likewise.
2521         * testsuite/22_locale/messages/members/char/1.cc: Likewise.
2522         * testsuite/22_locale/messages/members/char/2.cc: Likewise.
2523         * testsuite/22_locale/messages/members/char/3.cc: Likewise.
2524         * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
2525         * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
2526         * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
2527         * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
2528         * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
2529         * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
2530         * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
2531         * testsuite/22_locale/money_get/get/char/14.cc: Likewise.
2532         * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
2533         * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
2534         * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
2535         * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
2536         * testsuite/22_locale/money_get/get/char/19.cc: Likewise.
2537         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2538         * testsuite/22_locale/money_get/get/char/22131.cc: Likewise.
2539         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2540         * testsuite/22_locale/money_get/get/char/38399.cc: Likewise.
2541         * testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
2542         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2543         * testsuite/22_locale/money_get/get/char/5.cc: Likewise.
2544         * testsuite/22_locale/money_get/get/char/6.cc: Likewise.
2545         * testsuite/22_locale/money_get/get/char/7.cc: Likewise.
2546         * testsuite/22_locale/money_get/get/char/8.cc: Likewise.
2547         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2548         * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
2549         * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
2550         * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
2551         * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
2552         * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
2553         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Likewise.
2554         * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
2555         * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
2556         * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
2557         * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
2558         * testsuite/22_locale/money_get/get/wchar_t/19.cc: Likewise.
2559         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2560         * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
2561         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2562         * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
2563         * testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
2564         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2565         * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
2566         * testsuite/22_locale/money_get/get/wchar_t/6.cc: Likewise.
2567         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
2568         * testsuite/22_locale/money_get/get/wchar_t/8.cc: Likewise.
2569         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
2570         * testsuite/22_locale/money_put/put/char/12971.cc: Likewise.
2571         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
2572         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
2573         * testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
2574         * testsuite/22_locale/money_put/put/char/4.cc: Likewise.
2575         * testsuite/22_locale/money_put/put/char/5.cc: Likewise.
2576         * testsuite/22_locale/money_put/put/char/6.cc: Likewise.
2577         * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
2578         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
2579         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
2580         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2581         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2582         * testsuite/22_locale/money_put/put/wchar_t/39168.cc: Likewise.
2583         * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
2584         * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
2585         * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
2586         * testsuite/22_locale/moneypunct/40712.cc: Likewise.
2587         * testsuite/22_locale/moneypunct/members/char/1.cc: Likewise.
2588         * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
2589         * testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise.
2590         * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
2591         * testsuite/22_locale/moneypunct/requirements/false/intl.cc: Likewise.
2592         * testsuite/22_locale/moneypunct/requirements/true/intl.cc: Likewise.
2593         * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
2594         * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
2595         * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
2596         * testsuite/22_locale/num_get/get/char/11.cc: Likewise.
2597         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
2598         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
2599         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
2600         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
2601         * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
2602         * testsuite/22_locale/num_get/get/char/2.cc: Likewise.
2603         * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
2604         * testsuite/22_locale/num_get/get/char/23953.cc: Likewise.
2605         * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
2606         * testsuite/22_locale/num_get/get/char/37958.cc: Likewise.
2607         * testsuite/22_locale/num_get/get/char/39168.cc: Likewise.
2608         * testsuite/22_locale/num_get/get/char/39802.cc: Likewise.
2609         * testsuite/22_locale/num_get/get/char/4.cc: Likewise.
2610         * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
2611         * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
2612         * testsuite/22_locale/num_get/get/char/7.cc: Likewise.
2613         * testsuite/22_locale/num_get/get/char/8.cc: Likewise.
2614         * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
2615         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
2616         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
2617         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
2618         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
2619         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
2620         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
2621         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
2622         * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
2623         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Likewise.
2624         * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
2625         * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
2626         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
2627         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
2628         * testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
2629         * testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.
2630         * testsuite/22_locale/num_get/get/wchar_t/4.cc: Likewise.
2631         * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
2632         * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
2633         * testsuite/22_locale/num_get/get/wchar_t/7.cc: Likewise.
2634         * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
2635         * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
2636         * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
2637         * testsuite/22_locale/num_put/put/char/10.cc: Likewise.
2638         * testsuite/22_locale/num_put/put/char/11.cc: Likewise.
2639         * testsuite/22_locale/num_put/put/char/12.cc: Likewise.
2640         * testsuite/22_locale/num_put/put/char/14220.cc: Likewise.
2641         * testsuite/22_locale/num_put/put/char/15565.cc: Likewise.
2642         * testsuite/22_locale/num_put/put/char/2.cc: Likewise.
2643         * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
2644         * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
2645         * testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
2646         * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
2647         * testsuite/22_locale/num_put/put/char/38196.cc: Likewise.
2648         * testsuite/22_locale/num_put/put/char/38210.cc: Likewise.
2649         * testsuite/22_locale/num_put/put/char/4.cc: Likewise.
2650         * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
2651         * testsuite/22_locale/num_put/put/char/6.cc: Likewise.
2652         * testsuite/22_locale/num_put/put/char/7.cc: Likewise.
2653         * testsuite/22_locale/num_put/put/char/8.cc: Likewise.
2654         * testsuite/22_locale/num_put/put/char/9.cc: Likewise.
2655         * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
2656         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
2657         * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
2658         * testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise.
2659         * testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise.
2660         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2661         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: Likewise.
2662         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
2663         * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
2664         * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
2665         * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
2666         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
2667         * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
2668         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
2669         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
2670         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
2671         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
2672         * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
2673         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
2674         * testsuite/22_locale/num_put/put/wchar_t/9.cc: Likewise.
2675         * testsuite/22_locale/numpunct/members/char/1.cc: Likewise.
2676         * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
2677         * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
2678         * testsuite/22_locale/numpunct/members/char/cache_1.cc: Likewise.
2679         * testsuite/22_locale/numpunct/members/char/cache_2.cc: Likewise.
2680         * testsuite/22_locale/numpunct/members/pod/1.cc: Likewise.
2681         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Likewise.
2682         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
2683         * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: Likewise.
2684         * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: Likewise.
2685         * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
2686         * testsuite/22_locale/time_get/date_order/char/1.cc: Likewise.
2687         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Likewise.
2688         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
2689         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
2690         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
2691         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
2692         * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
2693         * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
2694         * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
2695         * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
2696         * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
2697         * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
2698         * testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
2699         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
2700         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
2701         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
2702         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
2703         * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
2704         * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
2705         * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
2706         * testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
2707         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
2708         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
2709         * testsuite/22_locale/time_get/get_monthname/char/3.cc: Likewise.
2710         * testsuite/22_locale/time_get/get_monthname/char/4.cc: Likewise.
2711         * testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
2712         * testsuite/22_locale/time_get/get_monthname/char/6.cc: Likewise.
2713         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
2714         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
2715         * testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc: Likewise.
2716         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: Likewise.
2717         * testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
2718         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
2719         * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
2720         * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
2721         * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
2722         * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
2723         * testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
2724         * testsuite/22_locale/time_get/get_time/char/6.cc: Likewise.
2725         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
2726         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
2727         * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
2728         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
2729         * testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
2730         * testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise.
2731         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
2732         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
2733         * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
2734         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
2735         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
2736         * testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
2737         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
2738         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
2739         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
2740         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
2741         * testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
2742         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
2743         * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
2744         * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
2745         * testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
2746         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
2747         * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
2748         * testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise.
2749         * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
2750         * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
2751         * testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
2752         * testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
2753         * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
2754         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
2755         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
2756         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
2757         * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
2758         * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
2759         * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
2760         * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
2761         * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
2762         * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
2763         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
2764         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
2765         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
2766         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
2767         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
2768         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
2769         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
2770         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
2771         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
2772         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
2773         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
2774         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
2775         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
2776         * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
2777         * testsuite/30_threads/async/42819.cc: Likewise.
2778         * testsuite/30_threads/async/any.cc: Likewise.
2779         * testsuite/30_threads/async/async.cc: Likewise.
2780         * testsuite/30_threads/async/except.cc: Likewise.
2781         * testsuite/30_threads/async/launch.cc: Likewise.
2782         * testsuite/30_threads/async/sync.cc: Likewise.
2783         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2784         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2785         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
2786         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
2787         * testsuite/30_threads/condition_variable/members/3.cc: Likewise.
2788         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2789         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
2790         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
2791         * testsuite/30_threads/future/members/45133.cc: Likewise.
2792         * testsuite/30_threads/future/members/get.cc: Likewise.
2793         * testsuite/30_threads/future/members/get2.cc: Likewise.
2794         * testsuite/30_threads/future/members/share.cc: Likewise.
2795         * testsuite/30_threads/future/members/valid.cc: Likewise.
2796         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
2797         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
2798         * testsuite/30_threads/lock/1.cc: Likewise.
2799         * testsuite/30_threads/lock/2.cc: Likewise.
2800         * testsuite/30_threads/lock/3.cc: Likewise.
2801         * testsuite/30_threads/lock/4.cc: Likewise.
2802         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
2803         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2804         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2805         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2806         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2807         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2808         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2809         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2810         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
2811         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
2812         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
2813         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
2814         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
2815         * testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
2816         Likewise.
2817         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
2818         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
2819         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
2820         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
2821         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
2822         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
2823         * testsuite/30_threads/promise/cons/move.cc: Likewise.
2824         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
2825         * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
2826         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
2827         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
2828         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
2829         * testsuite/30_threads/promise/members/swap.cc: Likewise.
2830         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
2831         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
2832         Likewise.
2833         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2834         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
2835         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
2836         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
2837         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
2838         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
2839         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
2840         Likewise.
2841         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
2842         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
2843         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
2844         Likewise.
2845         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
2846         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
2847         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2848         Likewise.
2849         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
2850         Likewise.
2851         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
2852         Likewise.
2853         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
2854         Likewise.
2855         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
2856         Likewise.
2857         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
2858         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
2859         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
2860         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2861         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
2862         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
2863         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
2864         * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
2865         * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
2866         * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
2867         * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
2868         * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
2869         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
2870         * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
2871         * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
2872         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
2873         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
2874         * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
2875         * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
2876         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
2877         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
2878         * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
2879         * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
2880         * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
2881         * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
2882         * testsuite/30_threads/this_thread/1.cc: Likewise.
2883         * testsuite/30_threads/this_thread/2.cc: Likewise.
2884         * testsuite/30_threads/this_thread/3.cc: Likewise.
2885         * testsuite/30_threads/this_thread/4.cc: Likewise.
2886         * testsuite/30_threads/this_thread/60421.cc: Likewise.
2887         * testsuite/30_threads/thread/cons/1.cc: Likewise.
2888         * testsuite/30_threads/thread/cons/2.cc: Likewise.
2889         * testsuite/30_threads/thread/cons/3.cc: Likewise.
2890         * testsuite/30_threads/thread/cons/4.cc: Likewise.
2891         * testsuite/30_threads/thread/cons/5.cc: Likewise.
2892         * testsuite/30_threads/thread/cons/6.cc: Likewise.
2893         * testsuite/30_threads/thread/cons/7.cc: Likewise.
2894         * testsuite/30_threads/thread/cons/8.cc: Likewise.
2895         * testsuite/30_threads/thread/cons/9.cc: Likewise.
2896         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
2897         * testsuite/30_threads/thread/members/1.cc: Likewise.
2898         * testsuite/30_threads/thread/members/2.cc: Likewise.
2899         * testsuite/30_threads/thread/members/3.cc: Likewise.
2900         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
2901         * testsuite/30_threads/thread/swap/1.cc: Likewise.
2902         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
2903         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
2904         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
2905         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
2906         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
2907         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
2908         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
2909         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
2910         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
2911         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
2912         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
2913         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
2914         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
2915         * testsuite/30_threads/try_lock/1.cc: Likewise.
2916         * testsuite/30_threads/try_lock/2.cc: Likewise.
2917         * testsuite/30_threads/try_lock/3.cc: Likewise.
2918         * testsuite/30_threads/try_lock/4.cc: Likewise.
2919         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2920         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2921         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2922         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2923         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2924         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2925         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2926         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2927         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2928         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2929         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2930         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2931         not_shared.cc: Likewise.
2932         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2933         not_shared2.cc: Likewise.
2934         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2935         not_shared3.cc: Likewise.
2936         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2937         shared.cc: Likewise.
2938         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2939         still_shared.cc: Likewise.
2940         * testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc:
2941         Likewise.
2942         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
2943         Likewise.
2944         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
2945         Likewise.
2946         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
2947         auto_ptr_rvalue_neg.cc: Likewise.
2948         * testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc:
2949         Likewise.
2950         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
2951         shared_ptr_neg.cc: Likewise.
2952         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
2953         Likewise.
2954         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
2955         Likewise.
2956         * testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc: Likewise.
2957         * testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc:
2958         Likewise.
2959         * testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc:
2960         Likewise.
2961         * testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc:
2962         Likewise.
2963         * testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc: Likewise.
2964         * testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc: Likewise.
2965         * testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc: Likewise.
2966         * testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc: Likewise.
2967         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc:
2968         Likewise.
2969         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
2970         Likewise.
2971         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc:
2972         Likewise.
2973         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc:
2974         Likewise.
2975         * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
2976         Likewise.
2977         * testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc:
2978         Likewise.
2979         * testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc:
2980         Likewise.
2981         * testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc:
2982         Likewise.
2983         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2984         default_weaktoshared.cc: Likewise.
2985         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2986         mutex_weaktoshared.cc: Likewise.
2987         * testsuite/tr1/3_function_objects/bind/all_bound.cc: Likewise.
2988         * testsuite/tr1/3_function_objects/bind/mixed.cc: Likewise.
2989         * testsuite/tr1/3_function_objects/bind/nested.cc: Likewise.
2990         * testsuite/tr1/3_function_objects/bind/placeholders.cc: Likewise.
2991         * testsuite/tr1/3_function_objects/bind/ref.cc: Likewise.
2992         * testsuite/tr1/3_function_objects/function/1.cc: Likewise.
2993         * testsuite/tr1/3_function_objects/function/2.cc: Likewise.
2994         * testsuite/tr1/3_function_objects/function/3.cc: Likewise.
2995         * testsuite/tr1/3_function_objects/function/4.cc: Likewise.
2996         * testsuite/tr1/3_function_objects/function/5.cc: Likewise.
2997         * testsuite/tr1/3_function_objects/function/6.cc: Likewise.
2998         * testsuite/tr1/3_function_objects/function/7.cc: Likewise.
2999         * testsuite/tr1/3_function_objects/function/8.cc: Likewise.
3000         * testsuite/tr1/3_function_objects/function/9.cc: Likewise.
3001         * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
3002         Likewise.
3003         * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
3004         Likewise.
3005         * testsuite/tr1/3_function_objects/result_of.cc: Likewise.
3006         * testsuite/tr1/4_metaprogramming/add_const/value.cc: Likewise.
3007         * testsuite/tr1/4_metaprogramming/add_cv/value.cc: Likewise.
3008         * testsuite/tr1/4_metaprogramming/add_pointer/value.cc: Likewise.
3009         * testsuite/tr1/4_metaprogramming/add_reference/value.cc: Likewise.
3010         * testsuite/tr1/4_metaprogramming/add_volatile/value.cc: Likewise.
3011         * testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: Likewise.
3012         * testsuite/tr1/4_metaprogramming/alignment_of/value.cc: Likewise.
3013         * testsuite/tr1/4_metaprogramming/extent/value.cc: Likewise.
3014         * testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc: Likewise.
3015         * testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc:
3016         Likewise.
3017         * testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc: Likewise.
3018         * testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc: Likewise.
3019         * testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc:
3020         Likewise.
3021         * testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc: Likewise.
3022         * testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc:
3023         Likewise.
3024         * testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc:
3025         Likewise.
3026         * testsuite/tr1/4_metaprogramming/integral_constant/
3027         static_definition.cc: Likewise.
3028         * testsuite/tr1/4_metaprogramming/integral_constant/
3029         true_false_value.cc: Likewise.
3030         * testsuite/tr1/4_metaprogramming/is_abstract/value.cc: Likewise.
3031         * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc: Likewise.
3032         * testsuite/tr1/4_metaprogramming/is_array/value.cc: Likewise.
3033         * testsuite/tr1/4_metaprogramming/is_base_of/value.cc: Likewise.
3034         * testsuite/tr1/4_metaprogramming/is_class/value.cc: Likewise.
3035         * testsuite/tr1/4_metaprogramming/is_compound/value.cc: Likewise.
3036         * testsuite/tr1/4_metaprogramming/is_const/value.cc: Likewise.
3037         * testsuite/tr1/4_metaprogramming/is_convertible/value.cc: Likewise.
3038         * testsuite/tr1/4_metaprogramming/is_empty/value.cc: Likewise.
3039         * testsuite/tr1/4_metaprogramming/is_enum/24808.cc: Likewise.
3040         * testsuite/tr1/4_metaprogramming/is_enum/value.cc: Likewise.
3041         * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc: Likewise.
3042         * testsuite/tr1/4_metaprogramming/is_function/24808.cc: Likewise.
3043         * testsuite/tr1/4_metaprogramming/is_function/value.cc: Likewise.
3044         * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc: Likewise.
3045         * testsuite/tr1/4_metaprogramming/is_integral/value.cc: Likewise.
3046         * testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc:
3047         Likewise.
3048         * testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc:
3049         Likewise.
3050         * testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc: Likewise.
3051         * testsuite/tr1/4_metaprogramming/is_object/24808.cc: Likewise.
3052         * testsuite/tr1/4_metaprogramming/is_object/value.cc: Likewise.
3053         * testsuite/tr1/4_metaprogramming/is_pod/value.cc: Likewise.
3054         * testsuite/tr1/4_metaprogramming/is_pointer/value.cc: Likewise.
3055         * testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc: Likewise.
3056         * testsuite/tr1/4_metaprogramming/is_reference/value.cc: Likewise.
3057         * testsuite/tr1/4_metaprogramming/is_same/value.cc: Likewise.
3058         * testsuite/tr1/4_metaprogramming/is_scalar/value.cc: Likewise.
3059         * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise.
3060         * testsuite/tr1/4_metaprogramming/is_union/value.cc: Likewise.
3061         * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc: Likewise.
3062         * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise.
3063         * testsuite/tr1/4_metaprogramming/is_volatile/value.cc: Likewise.
3064         * testsuite/tr1/4_metaprogramming/rank/value.cc: Likewise.
3065         * testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc: Likewise.
3066         * testsuite/tr1/4_metaprogramming/remove_const/value.cc: Likewise.
3067         * testsuite/tr1/4_metaprogramming/remove_cv/value.cc: Likewise.
3068         * testsuite/tr1/4_metaprogramming/remove_extent/value.cc: Likewise.
3069         * testsuite/tr1/4_metaprogramming/remove_pointer/value.cc: Likewise.
3070         * testsuite/tr1/4_metaprogramming/remove_reference/value.cc: Likewise.
3071         * testsuite/tr1/4_metaprogramming/remove_volatile/value.cc: Likewise.
3072         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3073         equal.cc: Likewise.
3074         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3075         not_equal.cc: Likewise.
3076         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3077         serialize.cc: Likewise.
3078         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3079         cons/default.cc: Likewise.
3080         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3081         cons/gen1.cc: Likewise.
3082         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3083         operators/equal.cc: Likewise.
3084         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3085         operators/not_equal.cc: Likewise.
3086         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3087         operators/serialize.cc: Likewise.
3088         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3089         cons/default.cc: Likewise.
3090         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3091         cons/gen1.cc: Likewise.
3092         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3093         operators/equal.cc: Likewise.
3094         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3095         operators/not_equal.cc: Likewise.
3096         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3097         operators/serialize.cc: Likewise.
3098         * testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc: Likewise.
3099         * testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc: Likewise.
3100         * testsuite/tr1/5_numerical_facilities/random/mt19937.cc: Likewise.
3101         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3102         default.cc: Likewise.
3103         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3104         token.cc: Likewise.
3105         * testsuite/tr1/5_numerical_facilities/random/ranlux3.cc: Likewise.
3106         * testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc: Likewise.
3107         * testsuite/tr1/5_numerical_facilities/random/ranlux4.cc: Likewise.
3108         * testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc
3109         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3110         cons/default.cc: Likewise.
3111         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3112         cons/gen1.cc: Likewise.
3113         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3114         operators/equal.cc: Likewise.
3115         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3116         operators/not_equal.cc: Likewise.
3117         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3118         operators/serialize.cc: Likewise.
3119         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3120         cons/default.cc: Likewise.
3121         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3122         cons/gen1.cc: Likewise.
3123         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3124         operators/equal.cc: Likewise.
3125         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3126         operators/not_equal.cc: Likewise.
3127         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3128         operators/serialize.cc: Likewise.
3129         * testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
3130         Likewise.
3131         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3132         default.cc: Likewise.
3133         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3134         range.cc: Likewise.
3135         * testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/
3136         default.cc: Likewise.
3137         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3138         equal.cc: Likewise.
3139         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3140         not_equal.cc: Likewise.
3141         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3142         serialize.cc: Likewise.
3143         * testsuite/tr1/5_numerical_facilities/special_functions/
3144         08_cyl_bessel_i/check_value.cc: Likewise.
3145         * testsuite/tr1/5_numerical_facilities/special_functions/
3146         08_cyl_bessel_i/pr56216.cc: Likewise.
3147         * testsuite/tr1/5_numerical_facilities/special_functions/
3148         09_cyl_bessel_j/check_value.cc: Likewise.
3149         * testsuite/tr1/5_numerical_facilities/special_functions/
3150         10_cyl_bessel_k/check_value.cc: Likewise.
3151         * testsuite/tr1/5_numerical_facilities/special_functions/
3152         11_cyl_neumann/check_value.cc: Likewise.
3153         * testsuite/tr1/5_numerical_facilities/special_functions/
3154         16_hermite/check_value.cc: Likewise.
3155         * testsuite/tr1/5_numerical_facilities/special_functions/
3156         21_sph_bessel/check_value.cc: Likewise.
3157         * testsuite/tr1/5_numerical_facilities/special_functions/
3158         23_sph_neumann/check_value.cc: Likewise.
3159         * testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise.
3160         * testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise.
3161         * testsuite/tr1/6_containers/array/capacity/size.cc: Likewise.
3162         * testsuite/tr1/6_containers/array/comparison_operators/equal.cc:
3163         Likewise.
3164         * testsuite/tr1/6_containers/array/comparison_operators/greater.cc:
3165         Likewise.
3166         * testsuite/tr1/6_containers/array/comparison_operators/
3167         greater_or_equal.cc: Likewise.
3168         * testsuite/tr1/6_containers/array/comparison_operators/less.cc:
3169         Likewise.
3170         * testsuite/tr1/6_containers/array/comparison_operators/
3171         less_or_equal.cc: Likewise.
3172         * testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc:
3173         Likewise.
3174         * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
3175         Likewise.
3176         * testsuite/tr1/6_containers/array/element_access/back.cc: Likewise.
3177         * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
3178         * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
3179         * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc:
3180         Likewise.
3181         * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
3182         * testsuite/tr1/6_containers/array/requirements/contiguous.cc: Likewise.
3183         * testsuite/tr1/6_containers/array/requirements/member_swap.cc:
3184         Likewise.
3185         * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
3186         Likewise.
3187         * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
3188         Likewise.
3189         * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
3190         * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
3191         Likewise.
3192         * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
3193         Likewise.
3194         * testsuite/tr1/6_containers/hash/24799.cc: Likewise.
3195         * testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise.
3196         *
3197         testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
3198         Likewise.
3199         * testsuite/tr1/6_containers/tuple/cons/assignment.cc: Likewise.
3200         * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise.
3201         * testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise.
3202         * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc:
3203         Likewise.
3204         * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
3205         Likewise.
3206         * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: Likewise.
3207         * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Likewise.
3208         * testsuite/tr1/6_containers/tuple/element_access/get.cc: Likewise.
3209         * testsuite/tr1/6_containers/tuple/tuple_size.cc: Likewise.
3210         * testsuite/tr1/6_containers/unordered_map/24064.cc: Likewise.
3211         * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
3212         Likewise.
3213         * testsuite/tr1/6_containers/unordered_map/erase/1.cc: Likewise.
3214         * testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc: Likewise.
3215         * testsuite/tr1/6_containers/unordered_map/find/map1.cc: Likewise.
3216         * testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc:
3217         Likewise.
3218         * testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc:
3219         Likewise.
3220         * testsuite/tr1/6_containers/unordered_map/insert/map_range.cc:
3221         Likewise.
3222         * testsuite/tr1/6_containers/unordered_map/insert/map_single.cc:
3223         Likewise.
3224         * testsuite/tr1/6_containers/unordered_map/swap/1.cc: Likewise.
3225         * testsuite/tr1/6_containers/unordered_map/swap/2.cc: Likewise.
3226         * testsuite/tr1/6_containers/unordered_multimap/capacity/
3227         29134-multimap.cc: Likewise.
3228         * testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise.
3229         * testsuite/tr1/6_containers/unordered_multimap/erase/
3230         24061-multimap.cc: Likewise.
3231         * testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc:
3232         Likewise.
3233         * testsuite/tr1/6_containers/unordered_multimap/insert/
3234         24061-multimap.cc: Likewise.
3235         * testsuite/tr1/6_containers/unordered_multimap/insert/
3236         multimap_range.cc: Likewise.
3237         * testsuite/tr1/6_containers/unordered_multimap/insert/
3238         multimap_single.cc: Likewise.
3239         * testsuite/tr1/6_containers/unordered_multimap/swap/1.cc: Likewise.
3240         * testsuite/tr1/6_containers/unordered_multimap/swap/2.cc: Likewise.
3241         * testsuite/tr1/6_containers/unordered_multiset/24054.cc: Likewise.
3242         * testsuite/tr1/6_containers/unordered_multiset/capacity/
3243         29134-multiset.cc: Likewise.
3244         * testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise.
3245         * testsuite/tr1/6_containers/unordered_multiset/erase/
3246         24061-multiset.cc: Likewise.
3247         * testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc:
3248         Likewise.
3249         * testsuite/tr1/6_containers/unordered_multiset/insert/
3250         24061-multiset.cc: Likewise.
3251         * testsuite/tr1/6_containers/unordered_multiset/insert/
3252         multiset_range.cc: Likewise.
3253         * testsuite/tr1/6_containers/unordered_multiset/insert/
3254         multiset_single.cc: Likewise.
3255         * testsuite/tr1/6_containers/unordered_multiset/swap/1.cc: Likewise.
3256         * testsuite/tr1/6_containers/unordered_multiset/swap/2.cc: Likewise.
3257         * testsuite/tr1/6_containers/unordered_set/23465.cc: Likewise.
3258         * testsuite/tr1/6_containers/unordered_set/26132.cc: Likewise.
3259         * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
3260         Likewise.
3261         * testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise.
3262         * testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc: Likewise.
3263         * testsuite/tr1/6_containers/unordered_set/find/set1.cc: Likewise.
3264         * testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc:
3265         Likewise.
3266         * testsuite/tr1/6_containers/unordered_set/insert/set_range.cc:
3267         Likewise.
3268         * testsuite/tr1/6_containers/unordered_set/insert/set_single.cc:
3269         Likewise.
3270         * testsuite/tr1/6_containers/unordered_set/swap/1.cc: Likewise.
3271         * testsuite/tr1/6_containers/unordered_set/swap/2.cc: Likewise.
3272         * testsuite/tr1/6_containers/utility/pair.cc: Likewise.
3273         * testsuite/tr1/7_regular_expressions/match_results/ctors/char/
3274         default.cc: Likewise.
3275         * testsuite/tr1/7_regular_expressions/regex_traits/char/
3276         translate_nocase.cc: Likewise.
3277         * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc:
3278         Likewise.
3279         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
3280         translate_nocase.cc: Likewise.
3281         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc:
3282         Likewise.
3283         * testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.
3284         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise.
3286 2016-10-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
3288         Make sure the return value of malloc_allocator::allocate
3289         is zero-initialized so that checking it for non-zero works
3290         later.
3291         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
3292         Initialize the return value.
3293         * testsuite/ext/malloc_allocator/sanity.cc: New.
3295 2016-10-14  Eelis van der Weegen  <eelis@eelis.net>
3297         * include/bits/stl_algo.h (shuffle): Extract two random numbers from
3298         each generator invocation when its range is large enough.
3300 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3302         * testsuite/experimental/algorithm/sample.cc: Qualify calls to
3303         resolve ambiguity between std::sample and std::experimental::sample.
3305         * include/std/functional (_Mu<A, false, true>, _Mu<A, true, false>):
3306         Simplify forwarding from tuple of references.
3307         (_Maybe_wrap_member_pointer): Remove.
3308         (_Bind::__call, _Bind::__call_c, _Bind::__call_v, _Bind::__call_c_v):
3309         Use std::__invoke.
3310         (_Bind::_Mu_type, _Bind::_Res_type_impl, _Bind::_Res_type)
3311         (_Bind::__dependent, _Bind::_Res_type_cv): New helpers to simplify
3312         return type deduction.
3313         (_Bind::operator(), _Bind::operator() const): Use new helpers.
3314         (_Bind::operator() volatile, _Bind::operator() const volatile):
3315         Likewise. Add deprecated attribute for C++17 mode.
3316         (_Bind_result::__call): Use std::__invoke.
3317         (_Bind_result::operator() volatile)
3318         (_Bind_result::operator() const volatile): Add deprecated attribute.
3319         (_Bind_helper::__maybe_type, _Bindres_helper::__maybe_type): Remove.
3320         (_Bind_helper, _Bindres_helper): Don't use _Maybe_wrap_member_pointer.
3321         (bind, bind<R>): Don't use __maybe_type.
3322         * src/c++11/compatibility-thread-c++0x.cc
3323         (_Maybe_wrap_member_pointer): Define here for compatibility symbols.
3324         * testsuite/20_util/bind/68912.cc: Don't test volatile-qualification
3325         in C++17 mode.
3326         * testsuite/20_util/bind/cv_quals.cc: Likewise.
3327         * testsuite/20_util/bind/cv_quals_2.cc: Likewise.
3329         * include/std/scoped_allocator (scoped_allocator_adaptor): Forward
3330         piecewise construction arguments as tuples of references, to avoid
3331         copies (related to LWG 2511).
3332         * testsuite/20_util/scoped_allocator/construct_pair.cc: New test.
3334 2016-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
3336         * testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables.
3337         * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
3338         * testsuite/26_numerics/complex/13450.cc: Likewise.
3339         * testsuite/26_numerics/complex/50880.cc: Likewise.
3340         * testsuite/26_numerics/complex/c99.cc: Likewise.
3341         * testsuite/26_numerics/complex/cons/48760.cc: Likewise.
3342         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
3343         * testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise.
3344         * testsuite/26_numerics/complex/dr844.cc: Likewise.
3345         * testsuite/26_numerics/complex/inserters_extractors/char/1.cc:
3346         Likewise.
3347         * testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc:
3348         Likewise.
3349         * testsuite/26_numerics/complex/value_operations/1.cc: Likewise.
3350         * testsuite/26_numerics/complex/value_operations/dr387.cc: Likewise.
3351         * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
3352         * testsuite/26_numerics/headers/cmath/
3353         c99_classification_macros_c++11.c: Likewise.c
3354         * testsuite/26_numerics/headers/cmath/
3355         c99_classification_macros_c++98.cc: Likewise.
3356         * testsuite/26_numerics/headers/cmath/c_math.cc: Likewise.
3357         * testsuite/26_numerics/headers/cmath/dr550.cc: Likewise.
3358         * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
3359         * testsuite/26_numerics/headers/cmath/powi.cc: Likewise.
3360         * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
3361         * testsuite/26_numerics/inner_product/1.cc: Likewise.
3362         * testsuite/26_numerics/iota/1.cc: Likewise.
3363         * testsuite/26_numerics/partial_sum/1.cc: Likewise.
3364         * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
3365         Likewise.
3366         * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
3367         Likewise.
3368         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3369         equal.cc: Likewise.
3370         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3371         inequal.cc: Likewise.
3372         * testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
3373         Likewise.
3374         * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
3375         Likewise.
3376         * testsuite/26_numerics/random/binomial_distribution/operators/
3377         equal.cc: Likewise.
3378         * testsuite/26_numerics/random/binomial_distribution/operators/
3379         inequal.cc: Likewise.
3380         * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
3381         Likewise.
3382         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
3383         Likewise.
3384         * testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc:
3385         Likewise.
3386         * testsuite/26_numerics/random/cauchy_distribution/operators/
3387         inequal.cc: Likewise.
3388         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3389         default.cc: Likewise.
3390         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3391         parms.cc: Likewise.
3392         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3393         equal.cc: Likewise.
3394         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3395         inequal.cc: Likewise.
3396         * testsuite/26_numerics/random/default_random_engine.cc: Likewise.
3397         * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
3398         Likewise.
3399         * testsuite/26_numerics/random/discard_block_engine/operators/equal.cc:
3400         Likewise.
3401         * testsuite/26_numerics/random/discard_block_engine/operators/
3402         inequal.cc: Likewise.
3403         * testsuite/26_numerics/random/discard_block_engine/operators/
3404         serialize.cc: Likewise.
3405         * testsuite/26_numerics/random/discrete_distribution/cons/
3406         default.cc: Likewise.
3407         * testsuite/26_numerics/random/discrete_distribution/cons/
3408         initlist.cc: Likewise.
3409         * testsuite/26_numerics/random/discrete_distribution/cons/
3410         num_xbound_fun.cc: Likewise.
3411         * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
3412         Likewise.
3413         * testsuite/26_numerics/random/discrete_distribution/operators/
3414         equal.cc: Likewise.
3415         * testsuite/26_numerics/random/discrete_distribution/operators/
3416         inequal.cc: Likewise.
3417         * testsuite/26_numerics/random/exponential_distribution/cons/
3418         default.cc: Likewise.
3419         * testsuite/26_numerics/random/exponential_distribution/cons/
3420         parms.cc: Likewise.
3421         * testsuite/26_numerics/random/exponential_distribution/operators/
3422         equal.cc: Likewise.
3423         * testsuite/26_numerics/random/exponential_distribution/operators/
3424         inequal.cc: Likewise.
3425         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3426         default.cc: Likewise.
3427         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3428         parms.cc: Likewise.
3429         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3430         equal.cc: Likewise.
3431         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3432         inequal.cc: Likewise.
3433         * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
3434         Likewise.
3435         * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
3436         Likewise.
3437         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3438         equal.cc: Likewise.
3439         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3440         inequal.cc: Likewise.
3441         * testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
3442         Likewise.
3443         * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
3444         Likewise.
3445         * testsuite/26_numerics/random/gamma_distribution/operators/equal.cc:
3446         Likewise.
3447         * testsuite/26_numerics/random/gamma_distribution/operators/
3448         inequal.cc: Likewise.
3449         * testsuite/26_numerics/random/geometric_distribution/cons/
3450         default.cc: Likewise.
3451         * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
3452         Likewise.
3453         * testsuite/26_numerics/random/geometric_distribution/operators/
3454         equal.cc: Likewise.
3455         * testsuite/26_numerics/random/geometric_distribution/operators/
3456         inequal.cc: Likewise.
3457         * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
3458         Likewise.
3459         * testsuite/26_numerics/random/independent_bits_engine/operators/
3460         equal.cc: Likewise.
3461         * testsuite/26_numerics/random/independent_bits_engine/operators/
3462         inequal.cc: Likewise.
3463         * testsuite/26_numerics/random/independent_bits_engine/operators/
3464         serialize.cc: Likewise.
3465         * testsuite/26_numerics/random/knuth_b.cc: Likewise.
3466         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3467         55215.cc: Likewise.
3468         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3469         default.cc: Likewise.
3470         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3471         51795.cc: Likewise.
3472         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3473         equal.cc: Likewise.
3474         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3475         inequal.cc: Likewise.
3476         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3477         serialize.cc: Likewise.
3478         * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
3479         Likewise.
3480         * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
3481         Likewise.
3482         * testsuite/26_numerics/random/lognormal_distribution/operators/
3483         equal.cc: Likewise.
3484         * testsuite/26_numerics/random/lognormal_distribution/operators/
3485         inequal.cc: Likewise.
3486         * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
3487         Likewise.
3488         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
3489         default.cc: Likewise.
3490         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3491         equal.cc: Likewise.
3492         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3493         inequal.cc: Likewise.
3494         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3495         serialize.cc: Likewise.
3496         * testsuite/26_numerics/random/minstd_rand.cc: Likewise.
3497         * testsuite/26_numerics/random/minstd_rand0.cc: Likewise.
3498         * testsuite/26_numerics/random/mt19937.cc: Likewise.
3499         * testsuite/26_numerics/random/mt19937_64.cc: Likewise.
3500         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3501         default.cc: Likewise.
3502         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3503         parms.cc: Likewise.
3504         * testsuite/26_numerics/random/negative_binomial_distribution/
3505         operators/equal.cc: Likewise.
3506         * testsuite/26_numerics/random/negative_binomial_distribution/
3507         operators/inequal.cc: Likewise.
3508         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
3509         Likewise.
3510         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
3511         Likewise.
3512         * testsuite/26_numerics/random/normal_distribution/operators/
3513         equal.cc: Likewise.
3514         * testsuite/26_numerics/random/normal_distribution/operators/
3515         inequal.cc: Likewise.
3516         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3517         default.cc: Likewise.
3518         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3519         initlist_fun.cc: Likewise.
3520         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3521         num_xbound_fun.cc: Likewise.
3522         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3523         range.cc: Likewise.
3524         * testsuite/26_numerics/random/piecewise_constant_distribution/
3525         operators/equal.cc: Likewise.
3526         * testsuite/26_numerics/random/piecewise_constant_distribution/
3527         operators/inequal.cc: Likewise.
3528         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3529         default.cc: Likewise.
3530         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3531         initlist_fun.cc: Likewise.
3532         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3533         num_xbound_fun.cc: Likewise.
3534         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3535         range.cc: Likewise.
3536         * testsuite/26_numerics/random/piecewise_linear_distribution/
3537         operators/equal.cc: Likewise.
3538         * testsuite/26_numerics/random/piecewise_linear_distribution/
3539         operators/inequal.cc: Likewise.
3540         * testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
3541         Likewise.
3542         * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
3543         Likewise.
3544         * testsuite/26_numerics/random/poisson_distribution/operators/
3545         equal.cc: Likewise.
3546         * testsuite/26_numerics/random/poisson_distribution/operators/
3547         inequal.cc: Likewise.
3548         * testsuite/26_numerics/random/random_device/cons/default.cc: Likewise.
3549         * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
3550         * testsuite/26_numerics/random/ranlux24.cc: Likewise.
3551         * testsuite/26_numerics/random/ranlux24_base.cc: Likewise.
3552         * testsuite/26_numerics/random/ranlux48.cc: Likewise.
3553         * testsuite/26_numerics/random/ranlux48_base.cc: Likewise.
3554         * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Likewise.
3555         * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
3556         Likewise.
3557         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3558         equal.cc: Likewise.
3559         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3560         inequal.cc: Likewise.
3561         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3562         serialize.cc: Likewise.
3563         * testsuite/26_numerics/random/student_t_distribution/cons/
3564         default.cc: Likewise.
3565         * testsuite/26_numerics/random/student_t_distribution/cons/
3566         parms.cc: Likewise.
3567         * testsuite/26_numerics/random/student_t_distribution/operators/
3568         equal.cc: Likewise.
3569         * testsuite/26_numerics/random/student_t_distribution/operators/
3570         inequal.cc: Likewise.
3571         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3572         55215.cc: Likewise.
3573         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3574         default.cc: Likewise.
3575         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3576         equal.cc: Likewise.
3577         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3578         inequal.cc: Likewise.
3579         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3580         serialize.cc: Likewise.
3581         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3582         default.cc: Likewise.
3583         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3584         parms.cc: Likewise.
3585         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3586         equal.cc: Likewise.
3587         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3588         inequal.cc: Likewise.
3589         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3590         default.cc: Likewise.
3591         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3592         parms.cc: Likewise.
3593         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3594         equal.cc: Likewise.
3595         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3596         inequal.cc: Likewise.
3597         * testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
3598         Likewise.
3599         * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
3600         Likewise.
3601         * testsuite/26_numerics/random/weibull_distribution/operators/
3602         equal.cc: Likewise.
3603         * testsuite/26_numerics/random/weibull_distribution/operators/
3604         inequal.cc: Likewise.
3605         * testsuite/26_numerics/slice/1.cc: Likewise.
3606         * testsuite/26_numerics/slice_array/array_assignment.cc: Likewise.
3607         * testsuite/26_numerics/valarray/27867.cc: Likewise.
3608         * testsuite/26_numerics/valarray/28277.cc: Likewise.
3609         * testsuite/26_numerics/valarray/30416.cc: Likewise.
3610         * testsuite/26_numerics/valarray/dr543.cc: Likewise.
3611         * testsuite/26_numerics/valarray/dr630-1.cc: Likewise.
3612         * testsuite/26_numerics/valarray/dr630-2.cc: Likewise.
3613         * testsuite/26_numerics/valarray/dr630-3.C: Likewise.
3614         * testsuite/26_numerics/valarray/init-list.cc: Likewise.
3615         * testsuite/26_numerics/valarray/moveable.cc: Likewise.
3616         * testsuite/26_numerics/valarray/operators.cc: Likewise.
3617         * testsuite/26_numerics/valarray/swap.cc: Likewise.
3618         * testsuite/experimental/deque/erasure.cc: Likewise.
3619         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
3620         Likewise.
3621         * testsuite/experimental/filesystem/iterators/
3622         recursive_directory_iterator.cc: Likewise.
3623         * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
3624         * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
3625         * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
3626         * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
3627         * testsuite/experimental/filesystem/operations/create_directories.cc:
3628         Likewise.
3629         * testsuite/experimental/filesystem/operations/create_directory.cc:
3630         Likewise.
3631         * testsuite/experimental/filesystem/operations/current_path.cc:
3632         Likewise.
3633         * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
3634         * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
3635         * testsuite/experimental/filesystem/operations/last_write_time.cc:
3636         Likewise.
3637         * testsuite/experimental/filesystem/operations/permissions.cc: Likewise.
3638         * testsuite/experimental/filesystem/operations/status.cc: Likewise.
3639         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
3640         Likewise.
3641         * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
3642         * testsuite/experimental/forward_list/erasure.cc: Likewise.
3643         * testsuite/experimental/list/erasure.cc: Likewise.
3644         * testsuite/experimental/map/erasure.cc: Likewise.
3645         * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Likewise.
3646         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
3647         Likewise.
3648         * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: Likewise.
3649         * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: Likewise.
3650         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: Likewise.
3651         * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
3652         Likewise.
3653         * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: Likewise.
3654         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
3655         Likewise.
3656         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
3657         Likewise.
3658         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
3659         Likewise.
3660         * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
3661         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Likewise.
3662         * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: Likewise.
3663         * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
3664         Likewise.
3665         * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
3666         Likewise.
3667         * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
3668         Likewise.
3669         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
3670         Likewise.
3671         * testsuite/experimental/memory_resource/1.cc: Likewise.
3672         * testsuite/experimental/memory_resource/null_memory_resource.cc:
3673         Likewise.
3674         * testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise.
3675         * testsuite/experimental/set/erasure.cc: Likewise.
3676         * testsuite/experimental/string/erasure.cc: Likewise.
3677         * testsuite/experimental/string_view/capacity/1.cc: Likewise.
3678         * testsuite/experimental/string_view/cons/char/1.cc: Likewise.
3679         * testsuite/experimental/string_view/cons/char/2.cc: Likewise.
3680         * testsuite/experimental/string_view/cons/char/3.cc: Likewise.
3681         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
3682         * testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise.
3683         * testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise.
3684         * testsuite/experimental/string_view/element_access/char/1.cc: Likewise.
3685         * testsuite/experimental/string_view/element_access/char/empty.cc:
3686         Likewise.
3687         * testsuite/experimental/string_view/element_access/char/
3688         front_back.cc: Likewise.
3689         * testsuite/experimental/string_view/element_access/wchar_t/1.cc:
3690         Likewise.
3691         * testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
3692         Likewise.
3693         * testsuite/experimental/string_view/element_access/wchar_t/
3694         front_back.cc: Likewise.
3695         * testsuite/experimental/string_view/inserters/char/1.cc: Likewise.
3696         * testsuite/experimental/string_view/inserters/char/2.cc: Likewise.
3697         * testsuite/experimental/string_view/inserters/char/3.cc: Likewise.
3698         * testsuite/experimental/string_view/inserters/pod/10081-out.cc:
3699         Likewise.
3700         * testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise.
3701         * testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise.
3702         * testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise.
3703         * testsuite/experimental/string_view/modifiers/remove_prefix/char/
3704         1.cc: Likewise.
3705         * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
3706         1.cc: Likewise.
3707         * testsuite/experimental/string_view/modifiers/remove_suffix/char/
3708         1.cc: Likewise.
3709         * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
3710         1.cc: Likewise.
3711         * testsuite/experimental/string_view/operations/compare/char/1.cc:
3712         Likewise.
3713         * testsuite/experimental/string_view/operations/compare/char/
3714         13650.cc: Likewise.
3715         * testsuite/experimental/string_view/operations/compare/wchar_t/
3716         1.cc: Likewise.
3717         * testsuite/experimental/string_view/operations/compare/wchar_t/
3718         13650.cc: Likewise.
3719         * testsuite/experimental/string_view/operations/copy/char/1.cc:
3720         Likewise.
3721         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
3722         Likewise.
3723         * testsuite/experimental/string_view/operations/data/char/1.cc:
3724         Likewise.
3725         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
3726         Likewise.
3727         * testsuite/experimental/string_view/operations/find/char/1.cc:
3728         Likewise.
3729         * testsuite/experimental/string_view/operations/find/char/2.cc:
3730         Likewise.
3731         * testsuite/experimental/string_view/operations/find/char/3.cc:
3732         Likewise.
3733         * testsuite/experimental/string_view/operations/find/char/4.cc:
3734         Likewise.
3735         * testsuite/experimental/string_view/operations/find/wchar_t/1.cc:
3736         Likewise.
3737         * testsuite/experimental/string_view/operations/find/wchar_t/2.cc:
3738         Likewise.
3739         * testsuite/experimental/string_view/operations/find/wchar_t/3.cc:
3740         Likewise.
3741         * testsuite/experimental/string_view/operations/find/wchar_t/4.cc:
3742         Likewise.
3743         * testsuite/experimental/string_view/operations/rfind/char/1.cc:
3744         Likewise.
3745         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
3746         Likewise.
3747         * testsuite/experimental/string_view/operations/rfind/char/3.cc:
3748         Likewise.
3749         * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc:
3750         Likewise.
3751         * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc:
3752         Likewise.
3753         * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc:
3754         Likewise.
3755         * testsuite/experimental/string_view/operations/substr/char/1.cc:
3756         Likewise.
3757         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
3758         Likewise.
3759         * testsuite/experimental/string_view/operations/to_string/1.cc:
3760         Likewise.
3761         * testsuite/experimental/string_view/operators/char/2.cc: Likewise.
3762         * testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise.
3763         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
3764         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
3765         * testsuite/experimental/vector/erasure.cc: Likewise.
3766         * testsuite/ext/array_allocator/1.cc: Likewise.
3767         * testsuite/ext/array_allocator/2.cc: Likewise.
3768         * testsuite/ext/array_allocator/3.cc: Likewise.
3769         * testsuite/ext/array_allocator/variadic_construct.cc: Likewise.
3770         * testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
3771         * testsuite/ext/codecvt/1.cc: Likewise.
3772         * testsuite/ext/codecvt/char-1.cc: Likewise.
3773         * testsuite/ext/codecvt/char-2.cc: Likewise.
3774         * testsuite/ext/codecvt/wchar_t.cc: Likewise.
3775         * testsuite/ext/enc_filebuf/char/13189.cc: Likewise.
3776         * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
3777         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
3778         * testsuite/ext/ext_pointer/1.cc: Likewise.
3779         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
3780         * testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
3781         * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: Likewise.
3782         * testsuite/ext/mt_allocator/tune-1.cc: Likewise.
3783         * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
3784         * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
3785         * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
3786         * testsuite/ext/mt_allocator/variadic_construct.cc: Likewise.
3787         * testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
3788         * testsuite/ext/pod_char_traits.cc: Likewise.
3789         * testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
3790         * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
3791         * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
3792         * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
3793         Likewise.
3794         * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
3795         Likewise.
3796         * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
3797         Likewise.
3798         * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
3799         * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
3800         * testsuite/ext/random/beta_distribution/operators/equal.cc: Likewise.
3801         * testsuite/ext/random/beta_distribution/operators/inequal.cc: Likewise.
3802         * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
3803         * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
3804         * testsuite/ext/random/hoyt_distribution/operators/equal.cc: Likewise.
3805         * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: Likewise.
3806         * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
3807         Likewise.
3808         * testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
3809         Likewise.
3810         * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
3811         Likewise.
3812         * testsuite/ext/random/hypergeometric_distribution/operators/
3813         equal.cc: Likewise.
3814         * testsuite/ext/random/hypergeometric_distribution/operators/
3815         inequal.cc: Likewise.
3816         * testsuite/ext/random/hypergeometric_distribution/operators/
3817         serialize.cc: Likewise.
3818         * testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
3819         * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
3820         * testsuite/ext/random/k_distribution/operators/equal.cc: Likewise.
3821         * testsuite/ext/random/k_distribution/operators/inequal.cc: Likewise.
3822         * testsuite/ext/random/k_distribution/operators/serialize.cc: Likewise.
3823         * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
3824         * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
3825         * testsuite/ext/random/logistic_distribution/operators/equal.cc:
3826         Likewise.
3827         * testsuite/ext/random/logistic_distribution/operators/inequal.cc:
3828         Likewise.
3829         * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
3830         Likewise.
3831         * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
3832         * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
3833         * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
3834         Likewise.
3835         * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
3836         Likewise.
3837         * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
3838         Likewise.
3839         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
3840         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
3841         * testsuite/ext/random/normal_mv_distribution/operators/equal.cc:
3842         Likewise.
3843         * testsuite/ext/random/normal_mv_distribution/operators/inequal.cc:
3844         Likewise.
3845         * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
3846         * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
3847         * testsuite/ext/random/pareto_distribution/operators/equal.cc: Likewise.
3848         * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
3849         Likewise.
3850         * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
3851         Likewise.
3852         * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
3853         * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
3854         * testsuite/ext/random/rice_distribution/operators/equal.cc: Likewise.
3855         * testsuite/ext/random/rice_distribution/operators/inequal.cc: Likewise.
3856         * testsuite/ext/random/rice_distribution/operators/serialize.cc:
3857         Likewise.
3858         * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
3859         default.cc: Likewise.
3860         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3861         equal.cc: Likewise.
3862         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3863         inequal.cc: Likewise.
3864         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3865         serialize.cc: Likewise.
3866         * testsuite/ext/random/triangular_distribution/cons/default.cc:
3867         Likewise.
3868         * testsuite/ext/random/triangular_distribution/cons/parms.cc: Likewise.
3869         * testsuite/ext/random/triangular_distribution/operators/equal.cc:
3870         Likewise.
3871         * testsuite/ext/random/triangular_distribution/operators/inequal.cc:
3872         Likewise.
3873         * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
3874         Likewise.
3875         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3876         equal.cc: Likewise.
3877         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3878         generate.cc: Likewise.
3879         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3880         inequal.cc: Likewise.
3881         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3882         serialize.cc: Likewise.
3883         * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise.
3884         * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
3885         * testsuite/ext/random/von_mises_distribution/operators/equal.cc:
3886         Likewise.
3887         * testsuite/ext/random/von_mises_distribution/operators/inequal.cc:
3888         Likewise.
3889         * testsuite/ext/rope/2.cc: Likewise.
3890         * testsuite/ext/rope/3.cc: Likewise.
3891         * testsuite/ext/rope/4.cc: Likewise.
3892         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
3893         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
3894         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise.
3895         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
3896         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
3897         * testsuite/ext/stdio_filebuf/char/10063-1.cc: Likewise.
3898         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
3899         * testsuite/ext/stdio_filebuf/char/10063-3.cc: Likewise.
3900         * testsuite/ext/stdio_filebuf/char/2.cc: Likewise.
3901         * testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.
3902         * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise.
3903         * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise.
3904         * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise.
3905         * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise.
3906         * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
3907         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
3908         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise.
3909         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise.
3910         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise.
3911         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise.
3912         * testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
3913         * testsuite/ext/type_traits/add_unsigned.cc: Likewise.
3914         * testsuite/ext/type_traits/remove_unsigned.cc: Likewise.
3915         * testsuite/ext/vstring/capacity/29134.cc: Likewise.
3916         * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
3917         * testsuite/ext/vstring/cons/58415-1.cc: Likewise.
3918         * testsuite/ext/vstring/cons/moveable.cc: Likewise.
3919         * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
3920         * testsuite/ext/vstring/element_access/char/front_back.cc: Likewise.
3921         * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
3922         * testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise.
3923         * testsuite/ext/vstring/hash/char/1.cc: Likewise.
3924         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
3925         * testsuite/ext/vstring/init-list.cc: Likewise.
3926         * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
3927         * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise.
3928         * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Likewise.
3929         * testsuite/ext/vstring/modifiers/pop_back/char/1.cc: Likewise.
3930         * testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc: Likewise.
3931         * testsuite/ext/vstring/operators/1.cc: Likewise.
3932         * testsuite/ext/vstring/operators/2.cc: Likewise.
3934 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3936         PR libstdc++/65122
3937         * include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
3938         aligned_alloc for types with extended alignment if available,
3939         otherwise throw bad_alloc if malloc doesn't return a suitable value.
3940         * include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
3941         (bitmap_allocator::deallocate): Use aligned new/delete for types with
3942         extended alignment.
3943         * include/ext/mt_allocator.h (__mt_alloc::allocate)
3944         (__mt_alloc::deallocate): Likewise.
3945         * include/ext/new_allocator.h (new_allocator::allocate)
3946         (new_allocator::deallocate): Likewise.
3947         * include/ext/pool_allocator.h (__pool_alloc::allocate)
3948         (__pool_alloc::deallocate): Likewise.
3949         * testsuite/20_util/allocator/overaligned.cc: New test.
3950         * testsuite/ext/bitmap_allocator/overaligned.cc: New test.
3951         * testsuite/ext/malloc_allocator/overaligned.cc: New test.
3952         * testsuite/ext/mt_allocator/overaligned.cc: New test.
3953         * testsuite/ext/new_allocator/overaligned.cc: New test.
3954         * testsuite/ext/pool_allocator/overaligned.cc: New test.
3956 2016-10-14  Tim Shen  <timshen@google.com>
3958         PR libstdc++/77944
3959         * include/std/variant: Include <bits/funcexcept.h> for __try and
3960         __catch.
3962 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3964         * include/std/functional (_Reference_wrapper_base_impl): Remove.
3965         (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
3966         (_Reference_wrapper_base): Inherit from new helpers.
3968 2016-10-13  Paolo Carlini  <paolo.carlini@oracle.com>
3970         * testsuite/24_iterators/container_access.cc: Remove 'test' variables.
3971         * testsuite/24_iterators/istream_iterator/2.cc: Likewise.
3972         * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
3973         * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
3974         * testsuite/24_iterators/operations/next.cc: Likewise.
3975         * testsuite/24_iterators/operations/prev.cc: Likewise.
3976         * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
3977         * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
3978         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
3979         * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
3980         * testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
3981         * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
3982         * testsuite/25_algorithms/all_of/1.cc: Likewise.
3983         * testsuite/25_algorithms/any_of/1.cc: Likewise.
3984         * testsuite/25_algorithms/binary_search/2.cc: Likewise.
3985         * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
3986         * testsuite/25_algorithms/clamp/1.cc: Likewise.
3987         * testsuite/25_algorithms/clamp/2.cc: Likewise.
3988         * testsuite/25_algorithms/copy/1.cc: Likewise.
3989         * testsuite/25_algorithms/copy/2.cc: Likewise.
3990         * testsuite/25_algorithms/copy/3.cc: Likewise.
3991         * testsuite/25_algorithms/copy/34595.cc: Likewise.
3992         * testsuite/25_algorithms/copy/4.cc: Likewise.
3993         * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
3994         * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
3995         * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
3996         * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
3997         * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
3998         * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
3999         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
4000         Likewise.
4001         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
4002         Likewise.
4003         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
4004         Likewise.
4005         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
4006         Likewise.
4007         * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
4008         * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
4009         * testsuite/25_algorithms/copy_n/1.cc: Likewise.
4010         * testsuite/25_algorithms/copy_n/2.cc: Likewise.
4011         * testsuite/25_algorithms/copy_n/3.cc: Likewise.
4012         * testsuite/25_algorithms/copy_n/4.cc: Likewise.
4013         * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
4014         * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
4015         * testsuite/25_algorithms/equal_range/2.cc: Likewise.
4016         * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
4017         * testsuite/25_algorithms/fill/1.cc: Likewise.
4018         * testsuite/25_algorithms/fill/2.cc: Likewise.
4019         * testsuite/25_algorithms/fill/3.cc: Likewise.
4020         * testsuite/25_algorithms/fill/4.cc: Likewise.
4021         * testsuite/25_algorithms/fill_n/1.cc: Likewise.
4022         * testsuite/25_algorithms/find/39546.cc: Likewise.
4023         * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
4024         * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
4025         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
4026         Likewise.
4027         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
4028         Likewise.
4029         * testsuite/25_algorithms/find_if/1.cc: Likewise.
4030         * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
4031         * testsuite/25_algorithms/for_each/1.cc: Likewise.
4032         * testsuite/25_algorithms/heap/1.cc: Likewise.
4033         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
4034         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
4035         * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
4036         * testsuite/25_algorithms/includes/1.cc: Likewise.
4037         * testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
4038         * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
4039         * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
4040         * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
4041         * testsuite/25_algorithms/is_heap/1.cc: Likewise.
4042         * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
4043         * testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
4044         * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
4045         * testsuite/25_algorithms/is_permutation/2.cc: Likewise.
4046         * testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
4047         * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
4048         * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
4049         * testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
4050         * testsuite/25_algorithms/lower_bound/2.cc: Likewise.
4051         * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
4052         * testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
4053         * testsuite/25_algorithms/max/1.cc: Likewise.
4054         * testsuite/25_algorithms/max/2.cc: Likewise.
4055         * testsuite/25_algorithms/max/3.cc: Likewise.
4056         * testsuite/25_algorithms/max/37547.cc: Likewise.
4057         * testsuite/25_algorithms/max/4.cc: Likewise.
4058         * testsuite/25_algorithms/min/1.cc: Likewise.
4059         * testsuite/25_algorithms/min/2.cc: Likewise.
4060         * testsuite/25_algorithms/min/3.cc: Likewise.
4061         * testsuite/25_algorithms/min/37547.cc: Likewise.
4062         * testsuite/25_algorithms/min/4.cc: Likewise.
4063         * testsuite/25_algorithms/minmax/1.cc: Likewise.
4064         * testsuite/25_algorithms/minmax/2.cc: Likewise.
4065         * testsuite/25_algorithms/minmax/3.cc: Likewise.
4066         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
4067         * testsuite/25_algorithms/minmax_element/1.cc: Likewise.
4068         * testsuite/25_algorithms/move/1.cc: Likewise.
4069         * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
4070         * testsuite/25_algorithms/move_backward/1.cc: Likewise.
4071         * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
4072         * testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
4073         * testsuite/25_algorithms/none_of/1.cc: Likewise.
4074         * testsuite/25_algorithms/nth_element/1.cc: Likewise.
4075         * testsuite/25_algorithms/nth_element/2.cc: Likewise.
4076         * testsuite/25_algorithms/nth_element/3.cc: Likewise.
4077         * testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
4078         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
4079         * testsuite/25_algorithms/partial_sort/2.cc: Likewise.
4080         * testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
4081         Likewise.
4082         * testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
4083         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
4084         * testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
4085         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
4086         * testsuite/25_algorithms/partition/1.cc: Likewise.
4087         * testsuite/25_algorithms/partition/moveable.cc: Likewise.
4088         * testsuite/25_algorithms/partition_copy/1.cc: Likewise.
4089         * testsuite/25_algorithms/partition_point/1.cc: Likewise.
4090         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
4091         * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
4092         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
4093         * testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
4094         * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
4095         * testsuite/25_algorithms/rotate/1.cc: Likewise.
4096         * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
4097         * testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
4098         * testsuite/25_algorithms/rotate/rotate.cc: Likewise.
4099         * testsuite/25_algorithms/search/1.cc: Likewise.
4100         * testsuite/25_algorithms/search_n/58358.cc: Likewise.
4101         * testsuite/25_algorithms/shuffle/1.cc: Likewise.
4102         * testsuite/25_algorithms/sort/1.cc: Likewise.
4103         * testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
4104         * testsuite/25_algorithms/sort/moveable.cc: Likewise.
4105         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
4106         * testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
4107         * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
4108         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
4109         * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
4110         * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
4111         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
4112         * testsuite/25_algorithms/stable_sort/2.cc: Likewise.
4113         * testsuite/25_algorithms/stable_sort/3.cc: Likewise.
4114         * testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
4115         * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
4116         Likewise.
4117         * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
4118         * testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
4119         * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
4120         * testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
4121         * testsuite/25_algorithms/unique/11480.cc: Likewise.
4122         * testsuite/25_algorithms/unique/2.cc: Likewise.
4123         * testsuite/25_algorithms/unique/moveable.cc: Likewise.
4124         * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
4125         * testsuite/25_algorithms/unique_copy/2.cc: Likewise.
4126         * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
4127         * testsuite/25_algorithms/upper_bound/2.cc: Likewise.
4128         * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
4129         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
4130         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
4131         Likewise.
4132         * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
4133         Likewise.
4134         * testsuite/28_regex/algorithms/regex_match/basic/
4135         string_range_00_03.cc: Likewise.
4136         * testsuite/28_regex/algorithms/regex_match/basic/
4137         string_range_01_03.cc: Likewise.
4138         * testsuite/28_regex/algorithms/regex_match/basic/
4139         string_range_02_03.cc: Likewise.
4140         * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
4141         Likewise.
4142         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
4143         Likewise.
4144         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
4145         Likewise.
4146         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
4147         Likewise.
4148         * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
4149         Likewise.
4150         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
4151         Likewise.
4152         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
4153         Likewise.
4154         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
4155         Likewise.
4156         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
4157         Likewise.
4158         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
4159         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
4160         Likewise.
4161         * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
4162         Likewise.
4163         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
4164         Likewise.
4165         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
4166         anymatcher.cc: Likewise.
4167         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
4168         Likewise.
4169         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
4170         Likewise.
4171         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
4172         Likewise.
4173         * testsuite/28_regex/algorithms/regex_match/extended/
4174         cstring_questionmark.cc: Likewise.
4175         * testsuite/28_regex/algorithms/regex_match/extended/
4176         cstring_range.cc: Likewise.
4177         * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
4178         Likewise.
4179         * testsuite/28_regex/algorithms/regex_match/extended/
4180         string_range_00_03.cc: Likewise.
4181         * testsuite/28_regex/algorithms/regex_match/extended/
4182         string_range_01_03.cc: Likewise.
4183         * testsuite/28_regex/algorithms/regex_match/extended/
4184         string_range_02_03.cc: Likewise.
4185         * testsuite/28_regex/algorithms/regex_match/extended/
4186         wstring_locale.cc: Likewise.
4187         * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
4188         Likewise.
4189         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
4190         * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
4191         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
4192         Likewise.
4193         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
4194         Likewise.
4195         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
4196         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
4197         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
4198         Likewise.
4199         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
4200         * testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
4201         * testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
4202         * testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
4203         * testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
4204         * testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
4205         * testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
4206         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
4207         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
4208         * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
4209         * testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
4210         * testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
4211         * testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
4212         * testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
4213         Likewise.
4214         * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
4215         Likewise.
4216         * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
4217         * testsuite/28_regex/basic_regex/ctors/extended/
4218         string_range_01_02_03.cc: Likewise.
4219         * testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
4220         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
4221         * testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
4222         * testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
4223         * testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
4224         * testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
4225         * testsuite/28_regex/constants/error_type.cc: Likewise.
4226         * testsuite/28_regex/constants/match_flag_type.cc: Likewise.
4227         * testsuite/28_regex/init-list.cc: Likewise.
4228         * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
4229         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
4230         Likewise.
4231         * testsuite/28_regex/iterators/regex_iterator/char/
4232         string_position_01.cc
4233         * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
4234         Likewise.
4235         * testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
4236         default.cc: Likewise.
4237         * testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
4238         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
4239         Likewise.
4240         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
4241         Likewise.
4242         * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
4243         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
4244         Likewise.
4245         * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
4246         default.cc: Likewise.
4247         * testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
4248         default.cc: Likewise.
4249         * testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
4250         Likewise.
4251         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4252         string_01.cc: Likewise.
4253         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4254         wstring_02.cc: Likewise.
4255         * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
4256         * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
4257         * testsuite/28_regex/match_results/format.cc: Likewise.
4258         * testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
4259         * testsuite/28_regex/match_results/swap.cc: Likewise.
4260         * testsuite/28_regex/match_results/typedefs.cc: Likewise.
4261         * testsuite/28_regex/regex_error/regex_error.cc: Likewise.
4262         * testsuite/28_regex/regression.cc: Likewise.
4263         * testsuite/28_regex/sub_match/cast_char.cc: Likewise.
4264         * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
4265         * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
4266         * testsuite/28_regex/sub_match/length.cc: Likewise.
4267         * testsuite/28_regex/traits/char/ctor.cc: Likewise.
4268         * testsuite/28_regex/traits/char/isctype.cc: Likewise.
4269         * testsuite/28_regex/traits/char/length.cc: Likewise.
4270         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
4271         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
4272         * testsuite/28_regex/traits/char/transform.cc: Likewise.
4273         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
4274         * testsuite/28_regex/traits/char/translate.cc: Likewise.
4275         * testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
4276         * testsuite/28_regex/traits/char/user_defined.cc: Likewise.
4277         * testsuite/28_regex/traits/char/value.cc: Likewise.
4278         * testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
4279         * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
4280         * testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
4281         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
4282         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
4283         * testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
4284         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
4285         * testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
4286         * testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
4287         * testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
4288         * testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
4289         * testsuite/29_atomics/atomic/60658.cc: Likewise.
4290         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
4291         * testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
4292         * testsuite/backward/11460.cc: Likewise.
4293         * testsuite/backward/hash_map/1.cc: Likewise.
4294         * testsuite/backward/hash_map/25896.cc: Likewise.
4295         * testsuite/backward/hash_set/1.cc: Likewise.
4296         * testsuite/backward/hash_set/25896.cc: Likewise.
4297         * testsuite/decimal/binary-arith.cc: Likewise.
4298         * testsuite/decimal/comparison.cc: Likewise.
4299         * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
4300         * testsuite/decimal/compound-assignment.cc: Likewise.
4301         * testsuite/decimal/conversion-from-float.cc: Likewise.
4302         * testsuite/decimal/conversion-from-integral.cc: Likewise.
4303         * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
4304         * testsuite/decimal/conversion-to-integral.cc: Likewise.
4305         * testsuite/decimal/ctor.cc: Likewise.
4306         * testsuite/decimal/incdec-memfunc.cc: Likewise.
4307         * testsuite/decimal/incdec.cc: Likewise.
4308         * testsuite/decimal/make-decimal.cc: Likewise.
4309         * testsuite/decimal/pr54036-1.cc: Likewise.
4310         * testsuite/decimal/pr54036-2.cc: Likewise.
4311         * testsuite/decimal/pr54036-3.cc: Likewise.
4312         * testsuite/decimal/unary-arith.cc: Likewise.
4313         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
4314         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
4315         Likewise.
4316         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
4317         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
4318         Likewise.
4319         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
4320         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
4321         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
4322         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
4323         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
4324         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
4325         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
4326         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
4327         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
4328         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
4329         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
4330         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
4331         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
4332         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
4333         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
4334         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
4335         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
4336         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
4337         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
4338         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
4339         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
4340         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
4341         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
4342         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
4343         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
4344         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
4345         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
4346         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
4347         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
4348         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
4349         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
4350         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
4351         * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
4352         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
4353         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
4354         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
4355         * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
4356         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
4357         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
4358         * testsuite/tr2/bases/value.cc: Likewise.
4359         * testsuite/tr2/direct_bases/value.cc: Likewise.
4360         * testsuite/util/debug/checks.h: Likewise.
4361         * testsuite/util/debug/unordered_checks.h: Likewise.
4362         * testsuite/util/testsuite_allocator.h: Likewise.
4363         * testsuite/util/testsuite_api.h: Likewise.
4364         * testsuite/util/testsuite_common_types.h: Likewise.
4365         * testsuite/util/testsuite_random.h: Likewise.
4366         * testsuite/util/testsuite_rvalref.h: Likewise.
4368 2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
4370         * include/bits/shared_ptr_base.h: Include <functional>.
4371         [!__cpp_rtti]: Do not include <typeinfo>.
4372         * include/experimental/array: Do not include <functional>.
4373         * include/experimental/memory: Include <bits/functional_hash.h>
4374         instead of <functional>.
4375         * include/experimental/propagate_const: Include <bits/stl_function.h>,
4376         <bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
4377         * include/experimental/tuple: Do not include <functional>.
4378         * include/std/future: Include <functional>.
4379         * include/std/memory: Do not include <functional>.
4380         * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
4381         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
4382         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
4383         missing includes.
4384         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4385         * testsuite/20_util/specialized_algorithms/memory_management_tools/
4386         1.cc: Likewise.
4387         * testsuite/30_threads/call_once/60497.cc: Likewise.
4388         * testsuite/30_threads/lock/2.cc: Likewise.
4389         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
4390         * testsuite/experimental/algorithm/sample.cc: Likewise.
4391         * testsuite/experimental/array/make_array.cc: Likewise.
4392         * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
4393         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
4394         Adjust dg-error lines.
4395         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
4396         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
4397         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
4398         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
4399         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
4401         * testsuite/experimental/algorithm/sample.cc: Add missing header.
4403         * include/experimental/propagate_const (element_type): Qualify
4404         declval.
4406         * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
4407         instead of assert.
4409         * include/experiumental/functional (boyer_moore_searcher)
4410         (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
4411         with _GLIBCXX_STD_C.
4412         * include/std/functional: Likewise.
4414         * include/std/chrono (floor): Replace non-constexpr operation.
4415         * testsuite/20_util/duration_cast/rounding.cc: Test conversion to
4416         durations with floating pointer representations.
4418         * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
4419         (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
4421         * include/std/functional (_Bind_simple, _Bind_simple_helper)
4422         (__bind_simple): Remove.
4423         * include/std/future: Include <bits/invoke.h> instead of <functional>.
4424         (__future_base::_Task_state::_M_run)
4425         (__future_base::_Task_state::_M_run_delayed): Use lambda expressions
4426         instead of __bind_simple.
4427         (__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
4428         (async): Use thread::__make_invoker instead of __bind_simple.
4429         * include/std/thread: Include <tuple> and <bits/invoke.h> instead of
4430         <functional>.
4431         (thread::_Invoker, thread::__make_invoker): Define helpers to do
4432         INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
4434         * include/std/functional (_Not_fn): Make exception specifications
4435         depend on whether negating the result can throw.
4436         * testsuite/20_util/not_fn/1.cc: Move to ...
4437         * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
4438         for types that can throw when negated and that cannot be negated.
4440         * include/bits/invoke.h (__invoke): Fix exception-specification.
4441         * include/std/functional (invoke): Likewise.
4442         * testsuite/20_util/function_objects/invoke/1.cc: New test.
4444 2016-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
4446         * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
4447         __builtin_printf and __builtin_abort.
4448         * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
4449         * scripts/testsuite_flags.in: Likewise.
4450         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
4451         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
4452         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
4453         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
4454         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
4455         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
4456         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
4457         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
4458         * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
4459         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
4460         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
4461         Likewise.
4462         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
4463         Likewise.
4464         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
4465         Likewise.
4466         * testsuite/27_io/objects/char/7.cc: Likewise.
4467         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
4468         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
4469         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
4470         * testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
4471         * testsuite/18_support/bad_alloc/what.cc: Likewise.
4472         * testsuite/18_support/bad_cast/what.cc: Likewise.
4473         * testsuite/18_support/bad_exception/what.cc: Likewise.
4474         * testsuite/18_support/bad_typeid/what.cc: Likewise.
4475         * testsuite/18_support/exception/38732.cc: Likewise.
4476         * testsuite/18_support/exception/what.cc: Likewise.
4477         * testsuite/18_support/exception_ptr/64241.cc: Likewise.
4478         * testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
4479         * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
4480         * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
4481         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
4482         * testsuite/18_support/nested_exception/cons.cc: Likewise.
4483         * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
4484         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
4485         * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
4486         * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
4487         * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
4488         * testsuite/18_support/numeric_limits/digits10.cc: Likewise.
4489         * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
4490         * testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
4491         * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
4492         * testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
4493         * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
4494         * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
4495         * testsuite/18_support/numeric_limits/min_max.cc: Likewise.
4496         * testsuite/18_support/numeric_limits/specialization_default_values.cc:
4497         Likewise.
4498         * testsuite/18_support/type_info/hash_code.cc: Likewise.
4499         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
4500         * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
4501         * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
4502         * testsuite/19_diagnostics/error_category/operators/
4503         not_equal.cc: Likewise.
4504         * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
4505         * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
4506         * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
4507         * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
4508         * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
4509         * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
4510         * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
4511         * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
4512         * testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
4513         Likewise.
4514         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
4515         * testsuite/19_diagnostics/error_condition/operators/equal.cc:
4516         Likewise.
4517         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
4518         Likewise.
4519         * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
4520         * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
4521         * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
4522         * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
4523         * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
4524         * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
4525         * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
4526         * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
4527         * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
4528         * testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
4529         * testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
4530         * testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
4531         * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
4532         * testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
4533         * testsuite/20_util/addressof/1.cc: Likewise.
4534         * testsuite/20_util/align/1.cc: Likewise.
4535         * testsuite/20_util/align/2.cc: Likewise.
4536         * testsuite/20_util/allocator/1.cc: Likewise.
4537         * testsuite/20_util/allocator/10378.cc: Likewise.
4538         * testsuite/20_util/allocator/8230.cc: Likewise.
4539         * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
4540         Likewise.
4541         * testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
4542         * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
4543         * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
4544         * testsuite/20_util/any/assign/exception.cc: Likewise.
4545         * testsuite/20_util/auto_ptr/1.cc: Likewise.
4546         * testsuite/20_util/auto_ptr/2.cc: Likewise.
4547         * testsuite/20_util/auto_ptr/3.cc: Likewise.
4548         * testsuite/20_util/auto_ptr/4.cc: Likewise.
4549         * testsuite/20_util/auto_ptr/5.cc: Likewise.
4550         * testsuite/20_util/auto_ptr/6.cc: Likewise.
4551         * testsuite/20_util/auto_ptr/7.cc: Likewise.
4552         * testsuite/20_util/bind/all_bound.cc: Likewise.
4553         * testsuite/20_util/bind/conv_result.cc: Likewise.
4554         * testsuite/20_util/bind/cv_quals.cc: Likewise.
4555         * testsuite/20_util/bind/cv_quals_2.cc
4556         * testsuite/20_util/bind/nested.cc: Likewise.
4557         * testsuite/20_util/bind/placeholders.cc: Likewise.
4558         * testsuite/20_util/bind/ref.cc: Likewise.
4559         * testsuite/20_util/bind/ref2.cc: Likewise.
4560         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
4561         * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
4562         * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
4563         * testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
4564         * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
4565         * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
4566         * testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
4567         * testsuite/20_util/duration/cons/1.cc: Likewise.
4568         * testsuite/20_util/duration/cons/2.cc: Likewise.
4569         * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
4570         * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
4571         * testsuite/20_util/enable_shared_from_this/members/assign.cc:
4572         Likewise.
4573         * testsuite/20_util/exchange/1.cc: Likewise.
4574         * testsuite/20_util/forward/a.cc: Likewise.
4575         * testsuite/20_util/forward/b.cc: Likewise.
4576         * testsuite/20_util/forward/d.cc: Likewise.
4577         * testsuite/20_util/function/1.cc: Likewise.
4578         * testsuite/20_util/function/2.cc: Likewise.
4579         * testsuite/20_util/function/3.cc: Likewise.
4580         * testsuite/20_util/function/4.cc: Likewise.
4581         * testsuite/20_util/function/43397.cc: Likewise.
4582         * testsuite/20_util/function/5.cc: Likewise.
4583         * testsuite/20_util/function/6.cc: Likewise.
4584         * testsuite/20_util/function/7.cc: Likewise.
4585         * testsuite/20_util/function/8.cc: Likewise.
4586         * testsuite/20_util/function/9.cc: Likewise.
4587         * testsuite/20_util/function/assign/move.cc: Likewise.
4588         * testsuite/20_util/function/cons/move.cc: Likewise.
4589         * testsuite/20_util/function_objects/dr660.cc: Likewise.
4590         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
4591         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
4592         * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
4593         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
4594         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
4595         * testsuite/20_util/hash/operators/size_t.cc: Likewise.
4596         * testsuite/20_util/hash/quality.cc: Likewise.
4597         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
4598         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
4599         * testsuite/20_util/is_function/24808.cc: Likewise.
4600         * testsuite/20_util/is_object/24808.cc: Likewise.
4601         * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
4602         * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
4603         * testsuite/20_util/owner_less/cmp.cc: Likewise.
4604         * testsuite/20_util/pair/1.cc: Likewise.
4605         * testsuite/20_util/pair/2.cc: Likewise.
4606         * testsuite/20_util/pair/3.cc: Likewise.
4607         * testsuite/20_util/pair/4.cc: Likewise.
4608         * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
4609         * testsuite/20_util/pair/moveable.cc: Likewise.
4610         * testsuite/20_util/pair/piecewise.cc: Likewise.
4611         * testsuite/20_util/pair/swap.cc: Likewise.
4612         * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
4613         * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
4614         * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
4615         * testsuite/20_util/ratio/cons/cons1.cc: Likewise.
4616         * testsuite/20_util/ratio/operations/45866.cc: Likewise.
4617         * testsuite/20_util/ratio/operations/47913.cc: Likewise.
4618         * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
4619         * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
4620         * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
4621         * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
4622         * testsuite/20_util/scoped_allocator/1.cc: Likewise.
4623         * testsuite/20_util/scoped_allocator/2.cc: Likewise.
4624         * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
4625         * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
4626         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
4627         * testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
4628         * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
4629         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
4630         Likewise.
4631         * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
4632         * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
4633         * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
4634         * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
4635         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
4636         * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
4637         * testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
4638         * testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
4639         * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
4640         * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
4641         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
4642         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
4643         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
4644         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
4645         Likewise.
4646         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
4647         Likewise.
4648         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
4649         * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
4650         * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
4651         * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
4652         * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
4653         * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
4654         * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
4655         * testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
4656         * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
4657         * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
4658         * testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
4659         * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
4660         * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
4661         * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
4662         * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
4663         * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
4664         * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
4665         * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
4666         * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
4667         * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
4668         * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
4669         * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
4670         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
4671         Likewise.
4672         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4673         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
4674         move_iterators/1.cc: Likewise.
4675         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
4676         move_iterators/1.cc: Likewise.
4677         * testsuite/20_util/temporary_buffer.cc: Likewise.
4678         * testsuite/20_util/time_point/1.cc: Likewise.
4679         * testsuite/20_util/time_point/2.cc: Likewise.
4680         * testsuite/20_util/time_point/3.cc: Likewise.
4681         * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
4682         * testsuite/20_util/tuple/48476.cc: Likewise.
4683         * testsuite/20_util/tuple/comparison_operators/comparisons.cc:
4684         Likewise.
4685         * testsuite/20_util/tuple/cons/allocators.cc: Likewise.
4686         * testsuite/20_util/tuple/cons/assignment.cc: Likewise.
4687         * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
4688         * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
4689         * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
4690         * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
4691         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
4692         * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
4693         Likewise.
4694         * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
4695         * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
4696         * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
4697         * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
4698         * testsuite/20_util/tuple/element_access/get.cc: Likewise.
4699         * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
4700         * testsuite/20_util/tuple/moveable.cc: Likewise.
4701         * testsuite/20_util/tuple/swap.cc: Likewise.
4702         * testsuite/20_util/tuple/tuple_size.cc: Likewise.
4703         * testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
4704         * testsuite/20_util/typeindex/hash.cc: Likewise.
4705         * testsuite/20_util/typeindex/hash_code.cc: Likewise.
4706         * testsuite/20_util/typeindex/name.cc: Likewise.
4707         * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
4708         * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
4709         * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
4710         * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
4711         * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
4712         * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
4713         * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
4714         * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
4715         * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
4716         * testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
4717         * testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
4718         * testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
4719         * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
4720         * testsuite/20_util/unique_ptr/specialized_algorithms/
4721         comparisons.cc: Likewise.
4722         * testsuite/20_util/unique_ptr/specialized_algorithms/
4723         comparisons_array.cc: Likewise.
4724         * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
4725         Likewise.
4726         * testsuite/20_util/uses_allocator/construction.cc: Likewise.
4727         * testsuite/20_util/uses_allocator/value.cc: Likewise.
4728         * testsuite/20_util/variant/run.cc: Likewise.
4729         * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
4730         * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
4731         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
4732         Likewise.
4733         * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
4734         * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
4735         Likewise.
4736         * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
4737         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
4738         Likewise.
4739         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
4740         Likewise.
4741         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
4742         Likewise.
4743         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
4744         Likewise.
4745         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
4746         Likewise.
4747         * testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
4748         * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
4749         * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
4750         * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
4751         * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
4752         Likewise.
4753         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
4754         * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
4755         Likewise.
4756         * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
4757         * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
4758         Likewise.
4759         * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
4760         * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
4761         * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
4762         * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
4763         * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
4764         * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
4765         * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
4766         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
4767         * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
4768         * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
4769         * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
4770         * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
4771         * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
4772         * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
4773         * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
4774         * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
4775         * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
4776         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
4777         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
4778         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
4779         * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
4780         * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
4781         Likewise.
4782         * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
4783         * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
4784         * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
4785         * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
4786         * testsuite/21_strings/basic_string/element_access/char/58163.cc:
4787         Likewise.
4788         * testsuite/21_strings/basic_string/element_access/char/empty.cc:
4789         Likewise.
4790         * testsuite/21_strings/basic_string/element_access/char/front_back.cc:
4791         Likewise.
4792         * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
4793         Likewise.
4794         * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
4795         Likewise.
4796         * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
4797         Likewise.
4798         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
4799         Likewise.
4800         * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
4801         Likewise.
4802         * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
4803         Likewise.
4804         * testsuite/21_strings/basic_string/element_access/wchar_t/
4805         front_back.cc: Likewise.
4806         * testsuite/21_strings/basic_string/init-list.cc: Likewise.
4807         * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
4808         Likewise.
4809         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
4810         Likewise.
4811         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
4812         Likewise.
4813         * testsuite/21_strings/basic_string/inserters_extractors/char/
4814         28277.cc: Likewise.
4815         * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
4816         Likewise.
4817         * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
4818         Likewise.
4819         * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
4820         Likewise.
4821         * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
4822         Likewise.
4823         * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
4824         Likewise.
4825         * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
4826         Likewise.
4827         * testsuite/21_strings/basic_string/inserters_extractors/pod/
4828         10081-in.cc: Likewise.
4829         * testsuite/21_strings/basic_string/inserters_extractors/pod/
4830         10081-out.cc: Likewise.
4831         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
4832         Likewise.
4833         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4834         10.cc: Likewise.
4835         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4836         11.cc: Likewise.
4837         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4838         28277.cc: Likewise.
4839         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
4840         Likewise.
4841         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
4842         Likewise.
4843         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
4844         Likewise.
4845         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
4846         Likewise.
4847         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
4848         Likewise.
4849         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
4850         Likewise.
4851         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
4852         Likewise.
4853         * testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
4854         Likewise.
4855         * testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
4856         Likewise.
4857         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
4858         Likewise.
4859         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
4860         Likewise.
4861         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
4862         Likewise.
4863         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
4864         Likewise.
4865         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
4866         Likewise.
4867         * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
4868         Likewise.
4869         * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
4870         Likewise.
4871         * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
4872         Likewise.
4873         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
4874         Likewise.
4875         * testsuite/21_strings/basic_string/modifiers/assign/char/
4876         move_assign.cc: Likewise.
4877         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
4878         Likewise.
4879         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
4880         Likewise.
4881         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
4882         Likewise.
4883         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
4884         Likewise.
4885         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
4886         move_assign.cc: Likewise.
4887         * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
4888         Likewise.
4889         * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
4890         Likewise.
4891         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
4892         Likewise.
4893         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
4894         Likewise.
4895         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
4896         Likewise.
4897         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
4898         Likewise.
4899         * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
4900         Likewise.
4901         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
4902         Likewise.
4903         * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
4904         Likewise.
4905         * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
4906         Likewise.
4907         * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
4908         Likewise.
4909         * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
4910         Likewise.
4911         * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
4912         Likewise.
4913         * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
4914         Likewise.
4915         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
4916         Likewise.
4917         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
4918         Likewise.
4919         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
4920         Likewise.
4921         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
4922         Likewise.
4923         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
4924         Likewise.
4925         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
4926         Likewise.
4927         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
4928         Likewise.
4929         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
4930         Likewise.
4931         * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
4932         Likewise.
4933         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
4934         Likewise.
4935         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
4936         Likewise.
4937         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
4938         Likewise.
4939         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
4940         Likewise.
4941         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
4942         Likewise.
4943         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
4944         Likewise.
4945         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
4946         Likewise.
4947         * testsuite/21_strings/basic_string/numeric_conversions/char/
4948         stoull.cc: Likewise.
4949         * testsuite/21_strings/basic_string/numeric_conversions/char/
4950         to_string.cc: Likewise.
4951         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4952         dr1261.cc: Likewise.
4953         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4954         stod.cc: Likewise.
4955         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4956         stof.cc: Likewise.
4957         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4958         stoi.cc: Likewise.
4959         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4960         stol.cc: Likewise.
4961         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4962         stold.cc: Likewise.
4963         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4964         stoll.cc: Likewise.
4965         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4966         stoul.cc: Likewise.
4967         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4968         stoull.cc: Likewise.
4969         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4970         to_wstring.cc: Likewise.
4971         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
4972         Likewise.
4973         * testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
4974         Likewise.
4975         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
4976         Likewise.
4977         * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
4978         Likewise.
4979         * testsuite/21_strings/basic_string/operations/compare/wchar_t/
4980         13650.cc: Likewise.
4981         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
4982         Likewise.
4983         * testsuite/21_strings/basic_string/operations/data/char/1.cc:
4984         Likewise.
4985         * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
4986         Likewise.
4987         * testsuite/21_strings/basic_string/operations/find/char/1.cc:
4988         Likewise.
4989         * testsuite/21_strings/basic_string/operations/find/char/2.cc:
4990         Likewise.
4991         * testsuite/21_strings/basic_string/operations/find/char/3.cc:
4992         Likewise.
4993         * testsuite/21_strings/basic_string/operations/find/char/4.cc:
4994         Likewise.
4995         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
4996         Likewise.
4997         * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
4998         Likewise.
4999         * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
5000         Likewise.
5001         * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
5002         Likewise.
5003         * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
5004         Likewise.
5005         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
5006         Likewise.
5007         * testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
5008         Likewise.
5009         * testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
5010         Likewise.
5011         * testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
5012         Likewise.
5013         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
5014         Likewise.
5015         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
5016         Likewise.
5017         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
5018         Likewise.
5019         * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
5020         Likewise.
5021         * testsuite/21_strings/basic_string/operations/substr/wchar_t/
5022         1.cc: Likewise.
5023         * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
5024         * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
5025         * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
5026         * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
5027         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
5028         * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
5029         * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
5030         * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
5031         * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
5032         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
5033         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
5034         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
5035         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
5036         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
5037         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
5038         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
5039         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
5040         * testsuite/21_strings/basic_string_view/element_access/char/
5041         1.cc: Likewise.
5042         * testsuite/21_strings/basic_string_view/element_access/char/
5043         empty.cc: Likewise.
5044         * testsuite/21_strings/basic_string_view/element_access/char/
5045         front_back.cc: Likewise.
5046         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5047         1.cc: Likewise.
5048         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5049         empty.cc: Likewise.
5050         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5051         front_back.cc: Likewise.
5052         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
5053         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
5054         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
5055         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
5056         Likewise.
5057         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
5058         Likewise.
5059         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
5060         Likewise.
5061         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
5062         Likewise.
5063         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5064         char/1.cc: Likewise.
5065         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5066         wchar_t/1.cc: Likewise.
5067         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5068         char/1.cc: Likewise.
5069         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5070         wchar_t/1.cc: Likewise.
5071         * testsuite/21_strings/basic_string_view/operations/compare/char/
5072         1.cc: Likewise.
5073         * testsuite/21_strings/basic_string_view/operations/compare/char/
5074         13650.cc: Likewise.
5075         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5076         1.cc: Likewise.
5077         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5078         13650.cc: Likewise.
5079         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
5080         Likewise.
5081         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
5082         Likewise.
5083         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
5084         Likewise.
5085         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
5086         Likewise.
5087         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
5088         Likewise.
5089         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
5090         Likewise.
5091         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
5092         Likewise.
5093         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
5094         Likewise.
5095         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5096         1.cc: Likewise.
5097         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5098         2.cc: Likewise.
5099         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5100         3.cc: Likewise.
5101         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5102         4.cc: Likewise.
5103         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5104         1.cc: Likewise.
5105         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5106         2.cc: Likewise.
5107         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5108         3.cc: Likewise.
5109         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5110         1.cc: Likewise.
5111         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5112         2.cc: Likewise.
5113         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5114         3.cc: Likewise.
5115         * testsuite/21_strings/basic_string_view/operations/string_conversion/
5116         1.cc: Likewise.
5117         * testsuite/21_strings/basic_string_view/operations/substr/char/
5118         1.cc: Likewise.
5119         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
5120         1.cc: Likewise.
5121         * testsuite/21_strings/basic_string_view/operators/char/2.cc:
5122         Likewise.
5123         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
5124         Likewise.
5125         * testsuite/21_strings/c_strings/char/1.cc: Likewise.
5126         * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
5127         * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
5128         * testsuite/21_strings/char_traits/requirements/char/57704.cc:
5129         Likewise.
5130         * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
5131         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
5133         * doc/xml/manual/test.xml: Fix typo.
5135 2016-10-12  Jonathan Wakely  <jwakely@redhat.com>
5137         * doc/xml/manual/status_cxx2017.xml: Add std::sample status.
5138         * doc/html/*: Regenerate.
5139         * include/experimental/algorithm (__sample): Move to bits/stl_algo.h
5140         and into namespace std.
5141         * include/bits/stl_algo.h (__sample): Define here. Fix invalid use
5142         of input iterator. Defend against overloaded comma operator.
5143         (sample): Define for C++17.
5144         * testsuite/25_algorithms/sample/1.cc: New test.
5146         * testsuite/util/testsuite_common_types.h
5147         (bitwise_assignment_operators): Use direct-initialization for C++11
5148         and later, to avoid CopyConstructible requirement.
5149         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
5150         line numbers.
5151         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
5152         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
5153         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
5154         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
5155         Adjust expected errors and line numbers.
5157         * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
5158         (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
5160         * include/bits/stl_uninitialized.h
5161         (__uninitialized_default_novalue_n_1<true>): Add missing return.
5162         * testsuite/20_util/specialized_algorithms/memory_management_tools/
5163         1.cc: Check return values of uninitialized_xxx_n algorithms.
5165         * libsupc++/nested_exception.h (throw_with_nested): Remove return.
5167         * doc/xml/manual/intro.xml: Document LWG 2442 status.
5168         * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
5169         [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
5170         partial specialization to unpack args and forward to std::invoke.
5171         (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
5172         instead of __bind_simple and __once_call_impl.
5173         (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
5174         __bind_simple.
5175         * testsuite/30_threads/call_once/dr2442.cc: New test.
5177 2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
5179         * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
5180         _M_assign_dispatch directly with correct tag.
5182         * doc/xml/manual/intro.xml: Document LWG 2484 status.
5183         * libsupc++/nested_exception.h (_Throw_with_nested_impl)
5184         (_Throw_with_nested_helper): Remove.
5185         (__throw_with_nested_impl): New overloaded functions to implement
5186         throw_with_nested logic.
5187         (throw_with_nested): Call __throw_with_nested_impl.
5188         (_Rethrow_if_nested_impl): Remove
5189         (__rethrow_if_nested_impl): New overloaded functions to implement
5190         rethrow_if_nested logic.
5191         (rethrow_if_nested): Call __rethrow_if_nested_impl.
5192         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
5193         problem cases from LWG 2484.
5195         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
5196         Register printer for std::__cxx11::list.
5197         * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
5198         std::__cxx11::list as well as std::list.
5200         * include/experimental/string_view (basic_string_view::_S_compare):
5201         Remove redundant const from return type.
5202         * include/std/string_view (basic_string_view:_S_compare): Likewise.
5204         * include/bits/std_mutex.h (mutex::native_handle)
5205         (lock_guard(mutex_type&, adopt_lock_t)
5206         (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
5207         * include/std/mutex (recursive_mutex, timed_mutex)
5208         (recursive_timed_mutex): Likewise.
5210 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5212         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5213         Replace <literallayout> with nested <variablelist> elements. Update
5214         some more outdated text.
5215         * doc/html/*: Regenerate.
5217 2016-10-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
5219         Make any's copy assignment operator exception-safe,
5220         don't copy the underlying value when any is moved,
5221         make in_place constructors explicit.
5222         * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
5223         Make explicit.
5224         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
5225         Likewise.
5226         (operator=(const any&)): Make strongly exception-safe.
5227         (operator=(any&&)): reset() unconditionally in the case where
5228         rhs has a value.
5229         (operator=(_ValueType&&)): Indent the return type.
5230         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
5231         * testsuite/20_util/any/assign/2.cc: Adjust.
5232         * testsuite/20_util/any/assign/exception.cc: New.
5233         * testsuite/20_util/any/cons/2.cc: Adjust.
5234         * testsuite/20_util/any/cons/explicit.cc: New.
5235         * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
5237 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5239         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5240         Describe other subdirectories and add markup. Remove outdated
5241         reference to check-script target.
5242         * doc/html/*: Regenerate.
5244         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
5246         * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
5247         with noexcept.
5249         * include/std/functional (_Bind_result::__enable_if_void): Use alias
5250         template instead of class template.
5251         (_Bind_result::__disable_if_void): Likewise.
5252         (_Bind_result::__call): Adjust uses of __enable_if_void and
5253         __disable_if_void.
5255         * doc/xml/manual/intro.xml: Document DR 2296 status.
5256         * doc/xml/manual/status_cxx2017.xml: Update status.
5257         * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
5258         call __builtin_addressof.
5259         (addressof): Add _GLIBCXX17_CONSTEXPR.
5260         * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
5261         * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
5262         * testsuite/20_util/forward/f_neg.cc: Likewise.
5264         * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
5265         * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
5266         is_always_equal.
5267         * testsuite/util/testsuite_allocator.h
5268         (uneq_allocator::is_always_equal): Define as false_type.
5270         * include/experimental/numeric (gcd, lcm): Make bool arguments
5271         ill-formed.
5272         * include/std/numeric (gcd, lcm): Likewise.
5273         * testsuite/26_numerics/gcd/gcd_neg.cc: New test.
5274         * testsuite/26_numerics/lcm/lcm_neg.cc: New test.
5276         * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
5277         Add noexcept.
5278         * include/bits/shared_ptr_base.h
5279         (__enable_shared_from_this::weak_from_this): Likewise.
5280         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
5281         Test exception-specification of weak_from_this.
5283 2016-10-07  Jonathan Wakely  <jwakely@redhat.com>
5285         * doc/xml/manual/status_cxx1998.xml: Improve documentation of
5286         implementation-defined properties.
5287         * doc/xml/manual/status_cxx2011.xml: Likewise.
5288         * doc/xml/manual/status_cxx2017.xml: Likewise.
5290         * doc/xml/manual/status_cxx2017.xml: Update status.
5291         * include/std/type_traits (has_unique_object_representations): Define.
5292         * testsuite/20_util/has_unique_object_representations/value.cc: New.
5293         * testsuite/20_util/has_unique_object_representations/requirements/
5294         explicit_instantiation.cc: New.
5295         * testsuite/20_util/has_unique_object_representations/requirements/
5296         typedefs.cc: New.
5298 2016-10-06  Jonathan Wakely  <jwakely@redhat.com>
5300         * doc/xml/manual/status_cxx2011.xml: Update status.
5301         * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
5302         New helpers for recursive OUTERMOST.
5303         (__outermost): Use __outermost_type::_S_outermost.
5304         (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
5305         (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
5306         __outermost_type helper.
5307         (scoped_allocator_adaptor::_Constructible): New alias template.
5308         (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
5309         Constrain template constructors.
5310         * testsuite/20_util/scoped_allocator/3.cc: New test.
5311         * testsuite/20_util/scoped_allocator/outermost.cc: New test.
5313 2016-10-05  Jonathan Wakely  <jwakely@redhat.com>
5315         PR libstdc++/70564
5316         * testsuite/20_util/not_fn/1.cc: Fix test.
5317         * testsuite/experimental/functional/not_fn.cc: Likewise.
5319         PR libstdc++/70101
5320         * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
5321         constructors.
5322         * testsuite/23_containers/priority_queue/allocator.cc: New test.
5324         PR libstdc++/77864
5325         * include/bits/stl_map.h (map::map()): Use nothrow constructibility
5326         of comparison function in conditional noexcept.
5327         * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
5328         * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
5329         * include/bits/stl_set.h (set::set()): Likewise.
5330         * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
5331         New test.
5332         * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
5333         Likewise.
5334         * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
5335         Likewise.
5336         * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
5337         Likewise.
5339         * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
5340         alias declaration.
5342         PR libstdc++/70564
5343         * include/experimental/functional (_Not_fn): Remove.
5344         (not_fn): Use std::_Not_fn.
5345         * include/std/functional (_Not_fn): Add second parameter to
5346         disambiguate copying from initialization by not_fn. Define for C++14.
5347         (not_fn): Add second argument to initialization.
5348         * testsuite/20_util/not_fn/1.cc: Copy call wrapper using
5349         direct-initialization.
5351 2016-10-03  François Dumont  <fdumont@gcc.gnu.org>
5353         * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
5354         declaration...
5355         * src/c++11/mutex_pool.h: ... here. New.
5356         * src/c++11/debug.cc: Use latter.
5358 2016-10-03  Jonathan Wakely  <jwakely@redhat.com>
5360         * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
5361         * doc/html/*: Regenerate.
5362         * include/experimental/numeric (__abs): Move to <numeric>.
5363         (gcd, lcm): Use __detail::gcd and __detail::lcm.
5364         * include/std/numeric (__detail::__abs_integral)
5365         (__detail::__gcd, __detail::__lcm): Define.
5366         (gcd, lcm): Define for C++17.
5367         * testsuite/26_numerics/gcd/1.cc: New test.
5368         * testsuite/26_numerics/lcm/1.cc: New test.
5369         * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
5370         * testsuite/experimental/numeric/lcd.cc: ... this.
5372         PR libstdc++/68323
5373         PR libstdc++/77794
5374         * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
5375         __cxa_thread_atexit and __gnu_cxx::__freeres.
5376         * include/Makefile.am: Add <experimental/bits/lfts_config.h>
5377         * include/Makefile.in: Regenerate.
5378         * include.bits/basic_string.h: Fix nesting of versioned namespaces.
5379         * include/bits/c++config: Declare versioned namespaces for literals.
5380         * include/bits/regex.h (basic_regex, match_results): Add workarounds
5381         for PR c++/59256.
5382         * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
5383         * include/std/chrono: Likewise.
5384         * include/std/complex: Likewise.
5385         * include/std/string_view: Likewise.
5386         * include/std/variant: Likewise. Add workaround for PR c++/59256.
5387         * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
5388         * include/experimental/bits/lfts_config.h: Declare versioned
5389         namespaces.
5390         * include/experimental/algorithm: Include
5391         <experimental/bits/lfts_config.h>.
5392         * include/experimental/any: Likewise.
5393         * include/experimental/bits/erase_if.h: Likewise.
5394         * include/experimental/chrono: Likewise.
5395         * include/experimental/functional: Likewise.
5396         * include/experimental/memory_resource: Likewise.
5397         * include/experimental/optional: Likewise.
5398         * include/experimental/propagate_const: Likewise.
5399         * include/experimental/random: Likewise.
5400         * include/experimental/ratio: Likewise.
5401         * include/experimental/system_error: Likewise.
5402         * include/experimental/tuple: Likewise.
5403         * include/experimental/type_traits: Likewise.
5404         * include/experimental/utility: Likewise.
5405         * include/experimental/string_view: Likewise. Fix nesting of
5406         versioned namespaces.
5407         * include/experimental/bits/string_view.tcc: Reopen inline namespace
5408         for non-inline function definitions.
5409         * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
5410         * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
5411         * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
5412         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
5413         Likewise.
5414         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
5415         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
5416         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
5417         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
5418         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
5419         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
5421         PR libstdc++/77814
5422         * include/bits/std_abs.h: Use "C++" language linkage.
5423         * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
5424         the end. Add <stdalign.h>.
5426 2016-10-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
5428         PR libstdc++/77802
5429         * testsuite/20_util/tuple/77802.cc: New.
5431         Revert:
5432         2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5433         Implement LWG 2729 for tuple.
5434         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5435         Suppress conditionally.
5436         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5437         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5438         (_Tuple_impl(const _Head&)): Constrain.
5439         (_Tuple_impl(_UHead&&)): Likewise.
5440         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5441         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5442         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5443         (operator=(const tuple&)): Enable conditionally.
5444         (operator=(tuple&&)): Suppress conditionally.
5445         (operator=(const tuple<_UElements...>&)): Constrain.
5446         (operator=(tuple<_UElements...>&&)): Likewise.
5447         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5448         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5449         (operator=(const tuple<_U1, _U2>&)): Constrain.
5450         (operator=(tuple<_U1, _U2>&&)): Likewise.
5451         (operator=(const pair<_U1, _U2>&)): Likewise.
5452         (operator=(pair<_U1, _U2>&&)): Likewise.
5453         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5454         * testsuite/20_util/tuple/tuple_traits.cc: New.
5456 2016-09-30  Jonathan Wakely  <jwakely@redhat.com>
5458         PR libstdc++/77795
5459         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
5460         for gets.
5461         * config.h.in: Regenerate.
5462         * configure: Regenerate.
5463         * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
5464         for C++98 and C++11.
5465         * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
5466         * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
5468         * doc/xml/manual/intro.xml: Document LWG 2192 changes.
5469         * doc/html/*: Regenerate.
5470         * include/Makefile.am: Add bits/std_abs.h.
5471         * include/Makefile.in: Regenerate.
5472         * include/bits/std_abs.h: New header defining all required overloads
5473         of std::abs in one place (LWG 2294).
5474         * include/c_global/cmath (abs(double), abs(float), abs(long double)):
5475         Move to bits/std_abs.h.
5476         (abs<_Tp>(_Tp)): Remove.
5477         * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
5478         Move to bits/std_abs.h.
5479         * testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
5480         * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
5481         * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
5482         * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.
5484         PR libstdc++/77801
5485         * include/experimental/numeric: Include <numeric>.
5486         (__abs): Define.
5487         (gcd, lcm): Use __abs instead of std::abs.
5488         * testsuite/experimental/numeric/77801.cc: New test.
5489         * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
5490         * testsuite/experimental/numeric/lcm.cc: Likewise.
5492 2016-09-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
5494         Make optional::reset noexcept, make optional::value
5495         work in constant expressions.
5496         * include/std/optional (_M_get): Make constexpr.
5497         (reset): Make noexcept.
5498         * testsuite/20_util/optional/assignment/7.cc: New.
5499         * testsuite/20_util/optional/observers/6.cc: New.
5501 2016-09-29  Jonathan Wakely  <jwakely@redhat.com>
5503         * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
5504         outside _GLIBCXX_USE_C99_MATH_TR1 condition.
5506 2016-09-29  Alan Modra  <amodra@gmail.com>
5508         * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
5509         * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
5510         Use LONG_DOUBLE_COMPAT_FLAGS.
5511         * Makefile.in: Regenerate.
5512         * configure: Regenerate.
5513         * doc/Makefile.in: Regenerate.
5514         * include/Makefile.in: Regenerate.
5515         * libsupc++/Makefile.in: Regenerate.
5516         * po/Makefile.in: Regenerate.
5517         * python/Makefile.in: Regenerate.
5518         * src/Makefile.in: Regenerate.
5519         * src/c++11/Makefile.in: Regenerate.
5520         * src/c++98/Makefile.in: Regenerate.
5521         * src/filesystem/Makefile.in: Regenerate.
5522         * testsuite/Makefile.in: Regenerate.
5524 2016-09-28  Jonathan Wakely  <jwakely@redhat.com>
5526         * include/std/chrono (system_clock): Fix typo in comment.
5528         * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
5529         definition.
5530         * src/filesystem/ops.cc (file_time): Take error_code parameter and
5531         check for overflow.
5532         (do_copy_file, last_write_time): Pass error_code in file_time calls.
5533         * testsuite/experimental/filesystem/operations/last_write_time.cc:
5534         New.
5535         * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
5537         PR libstdc++/77686
5538         * include/std/functional (_Any_data): Add may_alias attribute.
5540 2016-09-27  Jonathan Wakely  <jwakely@redhat.com>
5542         * doc/xml/manual/status_cxx2017.xml: Update status.
5543         * doc/html/*: Regenerate.
5544         * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
5545         * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
5547         * doc/xml/manual/status_cxx2017.xml: Update status.
5548         * include/c_global/cmath (hypot): Add three-dimensional overloads.
5549         * testsuite/26_numerics/headers/cmath/hypot.cc: New.
5551 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5553         PR libstdc++/77727
5554         * include/std/optional (optional(const optional<_Up>&)):
5555         Default-initialize the base and use emplace.
5556         (optional(optional<_Up>&&)): Likewise.
5557         * testsuite/20_util/optional/cons/77727.cc: New.
5559 2016-09-26  François Dumont  <fdumont@gcc.gnu.org>
5561         * include/debug/safe_base.h
5562         (_Safe_iterator_base::_M_detach_single): Make public.
5564 2016-09-26  Jonathan Wakely  <jwakely@redhat.com>
5566         * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
5567         redefine macro defined in <bits/stl_iterator.h>.
5569         * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
5570         iterator is not past-the-end.
5571         * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
5572         Likewise.
5573         * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
5574         Likewise.
5575         * include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
5576         * include/bits/unordered_map.h (unordered_map::extract(const_iterator))
5577         (unordered_multimap::extract(const_iterator)): Likewise.
5578         * include/bits/unordered_set.h (unordered_set::extract(const_iterator))
5579         (unordered_multiset::extract(const_iterator)): Likewise.
5581 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5583         PR libstdc++/77717
5584         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
5585         Fix an out-of-bounds access.
5587 2016-09-26  Marek Polacek  <polacek@redhat.com>
5589         PR c/7652
5590         * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
5592 2016-09-25  François Dumont  <fdumont@gcc.gnu.org>
5594         * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
5595         functional.
5596         (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
5597         * testsuite/23_containers/vector/debug/mutex_association.cc: New.
5599         * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
5600         bitset*)): Remove __unused__ attribute.
5601         * include/debug/safe_base.h (_Safe_iterator_base): Make
5602         _Safe_sequence_base a friend.
5603         (_Safe_iterator_base::_M_attach): Make protected.
5604         (_Safe_iterator_base::_M_attach_single): Likewise.
5605         (_Safe_iterator_base::_M_detach): Likewise.
5606         (_Safe_iterator_base::_M_detach_single): Likewise.
5607         (_Safe_sequence_base): Make _Safe_iterator_base a friend.
5608         (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
5609         (_Safe_sequence_base::_M_swap): Make protected.
5610         (_Safe_sequence_base::_M_attach): Make private.
5611         (_Safe_sequence_base::_M_attach_single): Likewise.
5612         (_Safe_sequence_base::_M_detach): Likewise.
5613         (_Safe_sequence_base::_M_detach_single): Likewise.
5614         * include/debug/safe_container.h
5615         (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
5616         * include/debug/safe_iterator.h
5617         (_Safe_iterator::operator++()): Name __scoped_lock instance.
5618         * include/debug/safe_iterator.tcc: Remove trailing line.
5619         * include/debug/safe_unordered_base.h
5620         (_Safe_local_iterator_base::_M_attach): Make protected.
5621         (_Safe_local_iterator_base::_M_attach_single): Likewise.
5622         (_Safe_local_iterator_base::_M_detach): Likewise.
5623         (_Safe_local_iterator_base::_M_detach_single): Likewise.
5624         (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
5625         (_Safe_unordered_container_base::_M_attach_local): Make private.
5626         (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
5627         (_Safe_unordered_container_base::_M_detach_local): Likewise.
5628         (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
5630         * include/parallel/algo.h: Generalize usage of std::__iterator_category.
5631         Adjust whitespaces.
5633 2016-09-23  Jonathan Wakely  <jwakely@redhat.com>
5635         PR libstdc++/56166
5636         PR libstdc++/77582
5637         * include/bits/basic_string.h (basic_string::clear()): Drop reference
5638         and use empty rep.
5639         * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
5640         Likewise.
5641         * testsuite/21_strings/basic_string/56166.cc: New.
5642         * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
5644         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
5645         (basic_string::erase(size_type, size_type)): Add fast path for
5646         truncating the string, by calling _M_set_length directly.
5647         (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
5648         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
5649         (basic_string::resize(size_type, _CharT)): Likewise.
5651 2016-09-22  Jason Merrill  <jason@redhat.com>
5653         * configure.ac: Define HAVE_MEMALIGN for newlib.
5655 2015-09-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5657         * config/cpu/m68k/atomicity.h: Adjust comment.
5658         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
5659         explicit atomicity_dir setup via configure.host.
5660         * configure.host (rtems-*): Set atomicity_dir.
5661         * configure: Regenerate.
5663 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5665         Implement C++17 node extraction and insertion (P0083R5)
5666         * doc/xml/manual/status_cxx2017.xml: Document status.
5667         * doc/html/*: Regenerate.
5668         * include/Makefile.am: Add bits/node_handle.h and reorder.
5669         * include/Makefile.in: Regenerate.
5670         * include/bits/hashtable.h (_Hashtable::node_type)
5671         (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
5672         (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
5673         (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
5674         (_Hash_merge_helper): Define primary template.
5675         * include/bits/node_handle.h: New header.
5676         * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
5677         friend.
5678         (map::node_type, map::insert_return_type, map::extract, map::merge)
5679         (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
5680         Define new members.
5681         (_Rb_tree_merge_helper): Specialize for map.
5682         * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
5683         as friend.
5684         (multimap::node_type, multimap::extract, multimap::merge)
5685         (multimap::insert(node_type&&))
5686         (multimap::insert(const_iterator, node_type&&)): Define.
5687         (_Rb_tree_merge_helper): Specialize for multimap.
5688         * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
5689         as friend.
5690         (multiset::node_type, multiset::extract, multiset::merge)
5691         (multiset::insert(node_type&&))
5692         (multiset::insert(const_iterator, node_type&&)): Define.
5693         * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
5694         friend.
5695         (set::node_type, set::insert_return_type, set::extract, set::merge)
5696         (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
5697         Define.
5698         (_Rb_tree_merge_helper): Specialize for set.
5699         * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
5700         (_Rb_tree::node_type, _Rb_tree::insert_return_type)
5701         (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
5702         (_Rb_tree::_M_reinsert_node_hint_unique)
5703         (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
5704         (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
5705         (_Rb_tree_merge_helper): Specialize for multiset.
5706         * include/bits/unordered_map.h (unordered_map): Declare
5707         unordered_map<> and unordered_multimap<> as friends.
5708         (unordered_map::node_type, unordered_map::insert_return_type)
5709         (unordered_map::extract, unordered_map::merge)
5710         (unordered_map::insert(node_type&&))
5711         (unordered_map::insert(const_iterator, node_type&&))
5712         (unordered_multimap): Declare _Hash_merge_helper as friend.
5713         (unordered_multimap::node_type, unordered_multimap::extract)
5714         (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
5715         (unordered_multimap::insert(const_iterator, node_type&&)): Define.
5716         (_Hash_merge_helper): Specialize for unordered maps and multimaps.
5717         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
5718         Declare _Hash_merge_helper as friend.
5719         (unordered_set::node_type, unordered_set::insert_return_type)
5720         (unordered_set::extract, unordered_set::merge)
5721         (unordered_set::insert(node_type&&))
5722         (unordered_set::insert(const_iterator, node_type&&)): Define.
5723         (unordered_multiset::node_type, unordered_multiset::extract)
5724         (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
5725         (unordered_multiset::insert(const_iterator, node_type&&)): Define.
5726         (_Hash_merge_helper): Specialize for unordered sets and multisets.
5727         * include/debug/map.h (map): Add using declarations or forwarding
5728         functions for new members.
5729         * include/debug/map.h (multimap): Likewise.
5730         * include/debug/map.h (multiset): Likewise.
5731         * include/debug/map.h (set): Likewise.
5732         * include/debug/unordered_map (unordered_map, unordered_multimap):
5733         Likewise.
5734         * include/debug/unordered_set( unordered_set, unordered_multiset):
5735         Likewise.
5736         * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
5737         helper function.
5738         (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
5739         (StdNodeHandlePrinter): Define printer for node handles.
5740         (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
5741         * testsuite/23_containers/map/modifiers/extract.cc: New.
5742         * testsuite/23_containers/map/modifiers/merge.cc: New.
5743         * testsuite/23_containers/multimap/modifiers/extract.cc: New.
5744         * testsuite/23_containers/multimap/modifiers/merge.cc: New.
5745         * testsuite/23_containers/multiset/modifiers/extract.cc: New.
5746         * testsuite/23_containers/multiset/modifiers/merge.cc: New.
5747         * testsuite/23_containers/set/modifiers/extract.cc: New.
5748         * testsuite/23_containers/set/modifiers/merge.cc: New.
5749         * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
5750         * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
5751         * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
5752         New.
5753         * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
5754         * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
5755         New.
5756         * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
5757         * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
5758         * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
5759         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
5760         dg-error lineno.
5761         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
5763 2016-09-22  Ville Voutilainen  <ville.voutilainen@gmail.com>
5765         Fix tests on old arm platforms for optional.
5766         * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
5768 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5770         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
5771         recent change to _Variant_storage.
5772         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
5773         reference type.
5775         * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
5776         std::forward and ::new. Cast pointer to void*.
5777         * include/std/variant (_Variant_storage, _Union, _Variant_base)
5778         (__access, __visit_invoke, variant, visit): Qualify std::forward.
5779         * testsuite/20_util/variant/compile.cc: Test for ADL problems.
5781 2016-09-22  Tim Shen  <timshen@google.com>
5783         * include/std/variant (variant::operator=): Fix assignment
5784         on references.
5785         * testsuite/20_util/variant/compile.cc: Add test.
5787 2016-09-22  Tim Shen  <timshen@google.com>
5789         PR libstdc++/77641
5790         * include/std/variant (_Variant_storage::_Variant_storage):
5791         Change _Variant_storage's union to be default constructible.
5792         * testsuite/20_util/variant/compile.cc: New test.
5794 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5796         PR libstdc++/77288
5797         * include/std/optional (__is_optional_impl, __is_optional): Remove.
5798         (__converts_from_optional, __assigns_from_optional): New.
5799         (optional(_Up&&)): Use is_same instead of __is_optional.
5800         (optional(const optional<_Up>&)): Constrain with
5801         __converts_from_optional.
5802         (optional(optional<_Up>&&)): Likewise.
5803         (operator=(_Up&&)): Use is_same instead of __is_optional, check
5804         is_same and is_scalar.
5805         (operator=(const optional<_Up>&)): Constrain with
5806         __converts_from_optional and __assigns_from_optional.
5807         (operator=(optional<_Up>&&)): Likewise.
5808         * testsuite/20_util/optional/77288.cc: New.
5809         * testsuite/20_util/optional/cons/value.cc: Adjust.
5811 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5813         Implement LWG 2729 for tuple.
5814         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5815         Suppress conditionally.
5816         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5817         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5818         (_Tuple_impl(const _Head&)): Constrain.
5819         (_Tuple_impl(_UHead&&)): Likewise.
5820         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5821         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5822         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5823         (operator=(const tuple&)): Enable conditionally.
5824         (operator=(tuple&&)): Suppress conditionally.
5825         (operator=(const tuple<_UElements...>&)): Constrain.
5826         (operator=(tuple<_UElements...>&&)): Likewise.
5827         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5828         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5829         (operator=(const tuple<_U1, _U2>&)): Constrain.
5830         (operator=(tuple<_U1, _U2>&&)): Likewise.
5831         (operator=(const pair<_U1, _U2>&)): Likewise.
5832         (operator=(pair<_U1, _U2>&&)): Likewise.
5833         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5834         * testsuite/20_util/tuple/tuple_traits.cc: New.
5836 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5838         PR libstdc++/77537
5839         Implement LWG 2729 for pair.
5840         * include/bits/stl_pair.h (_PCC): New.
5841         (_ConstructiblePair, _ImplicitlyConvertiblePair):
5842         Turn into static member functions of _PCC.
5843         (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
5844         (_PCCP): New.
5845         (pair(const _T1&, const _T2&)): Adjust.
5846         (_PCCFP): New.
5847         (pair(const pair<_U1, _U2>&)): Adjust.
5848         (pair(_U1&&, const _T2&)): Likewise.
5849         (pair(const _T1&, _U2&&)): Likewise.
5850         (pair(_U1&&, _U2&&)): Likewise.
5851         (pair(pair<_U1, _U2>&&)): Likewise.
5852         (operator=(const pair&)): Make conditionally deleted.
5853         (operator=(pair&&)): Make conditionally suppressed.
5854         (operator=(const pair<_U1, _U2>&)): Constrain.
5855         (operator=(pair<_U1, _U2>&&): Likewise.
5856         * include/std/type_traits (__nonesuch): New.
5857         * testsuite/20_util/pair/traits.cc: New.
5859 2016-09-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
5861         PR libstdc++/77619
5862         * include/bits/stl_construct.h: (_Construct_novalue): New.
5863         (_Destroy_n_aux, _Destroy_n): New.
5864         * include/bits/stl_uninitialized.h: (type_traits):
5865         New include in C++11 mode.
5866         (__uninitialized_default_novalue_1): New.
5867         (__uninitialized_default_novalue_n_1): Likewise.
5868         (__uninitialized_default_novalue): Likewise.
5869         (__uninitialized_default_novalue_n): Likewise.
5870         (__uninitialized_copy_n_pair): Likewise.
5871         (uninitialized_default_construct):
5872         Use __uninitialized_default_novalue.
5873         (uninitialized_default_construct_n):
5874         Use __uninitialized_default_novalue_n.
5875         (uninitialized_value_construct): Use __uninitialized_default.
5876         (uninitialized_value_construct_n): Use __uninitialized_default_n.
5877         (uninitialized_move): Use uninitialized_copy.
5878         (uninitialized_move_n): Use __uninitialized_copy_n_pair.
5879         (destroy_at): Use _Destroy.
5880         (destroy): Likewise.
5881         (destroy_n): Likewise.
5882         * testsuite/20_util/specialized_algorithms/
5883         memory_management_tools/1.cc: Add tests for exceptions,
5884         add tests for trivial cases for construct and move.
5886 2016-09-20  Jonathan Wakely  <jwakely@redhat.com>
5888         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
5889         (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
5891 2016-09-19  Jonathan Wakely  <jwakely@redhat.com>
5893         PR libstdc++/77645
5894         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
5895         (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
5896         division to int to work with Python 3.
5898         * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
5900         * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
5901         display_hint to be set by subclasses.
5902         (StdVariantPrinter): Use array for display_hint. Adjust output to be
5903         more similar to std::any and std::optional output.
5904         (register_type_printers): Add type printers for basic_string_view
5905         typedefs and experimental::any. Adjust type printers for
5906         fundamentals_v1 templates to match fundamentals_v2 and later.
5907         * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
5909         PR libstdc++/77645
5910         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
5911         argument.
5912         (ListWorkerBase.get_value_from_node): Define new method.
5913         (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
5915 2016-09-17  Jonathan Wakely  <jwakely@redhat.com>
5917         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
5918         (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
5919         Register for C++17 components in namespace std. Strip inline namespace
5920         from typename.
5922 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5924         * doc/xml/manual/profile_mode.xml: Fix typo.
5925         * doc/html/manual/profile_mode_devel.html: Regenerate.
5927 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5928             Marc Glisse  <marc.glisse@inria.fr>
5930         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
5931         (operator new(size_t, align_val_t)): Replace modulus operator with
5932         mask.
5934 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5936         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
5937         Increase alignment if less than sizeof(void*).
5938         [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
5939         Increase size if not a multiple of alignment.
5941 2016-09-15  Jonathan Wakely  <jwakely@redhat.com>
5943         * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
5944         * doc/html/*: Regenerate.
5946         * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
5947         -Wno-deprecated.
5948         * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
5950 2016-09-14  Marek Polacek  <polacek@redhat.com>
5952         * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
5953         -Wno-deprecated.
5955 2016-09-14  Christophe Lyon  <christophe.lyon@linaro.org>
5957         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
5958         Move dg-do directive before dg-skip.
5959         * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
5960         Move dg-do directive before dg-require.
5961         * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
5962         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
5963         * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
5964         * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
5965         * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
5966         * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
5967         * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
5968         * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
5969         * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
5970         * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
5971         * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
5972         * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
5973         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
5974         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
5975         * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
5976         Likewise.
5977         * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
5978         * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
5979         * testsuite/27_io/objects/char/12048-5.cc: Likewise.
5980         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
5981         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
5983 2016-09-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
5985         Implement P0040R3, Extending memory management tools.
5986         * include/bits/stl_uninitialized.h (utility): New include
5987         in C++17 mode.
5988         (uninitialized_default_construct): New.
5989         (uninitialized_default_construct_n): Likewise.
5990         (uninitialized_value_construct): Likewise.
5991         (uninitialized_value_construct_n): Likewise.
5992         (uninitialized_move): Likewise.
5993         (uninitialized_move_n): Likewise.
5994         (destroy_at, destroy, destroy_n): Likewise.
5995         * testsuite/20_util/specialized_algorithms/memory_management_tools/
5996         1.cc: New.
5998 2016-09-12  Jason Merrill  <jason@redhat.com>
6000         * config/abi/pre/gnu.ver: Use [jmy] for size_t.
6002 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
6004         Implement P0253R1, Fixing a design mistake in the searchers
6005         interface in Library Fundamentals.
6006         * include/std/functional: (utility): New include in C++17 mode.
6007         (default_searcher): Use a pair as return type, adjust the definition.
6008         (boyer_moore_searcher): Likewise.
6009         (boyer_moore_horspool_searcher): Likewise.
6010         * testsuite/20_util/function_objects/searchers.cc: Adjust.
6012 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
6014         Implement C++17 string searchers.
6015         * include/std/functional: (unordered_map, vector): New includes
6016         in C++17 mode.
6017         (array, bits/stl_algo.h): Likewise.
6018         (default_searcher, __boyer_moore_map_base): New.
6019         (__boyer_moore_array_base, __is_std_equal_to): Likewise.
6020         (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
6021         (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
6022         (make_boyer_moore_searcher): Likewise.
6023         (make_boyer_moore_horspool_searcher): Likewise.
6024         * testsuite/20_util/function_objects/searchers.cc: New.
6026 2016-09-12  Matthew Wahab  <matthew.wahab@arm.com>
6028         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
6029         Move dg-do directive before dg-require.
6030         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
6031         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
6032         Likewise.
6033         * testsuite/22_locale/codecvt/utf8.cc: Likewise.
6034         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
6035         * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
6036         * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
6037         * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
6038         * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
6039         * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
6040         * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
6041         * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
6042         * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
6043         * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
6044         * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
6045         * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
6046         Likewise.
6047         * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
6048         Likewise.
6049         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
6050         * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
6051         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
6052         Likewise.
6053         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
6054         Likewise.
6055         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
6056         Likewise.
6057         * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
6058         Likewise.
6059         * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
6060         Likewise.
6061         * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
6062         Likewise.
6063         * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
6064         Likewise.
6065         * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
6066         Likewise.
6067         * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
6068         Likewise.
6069         * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
6070         Likewise.
6071         * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
6072         Likewise.
6073         * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
6074         Likewise.
6075         * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
6076         Likewise.
6077         * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
6078         Likewise.
6079         * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
6080         Likewise.
6081         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
6082         Likewise.
6083         * testsuite/23_containers/forward_list/debug/
6084         iterator_self_move_assign_neg.cc: Likewise.
6085         * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
6086         Likewise.
6087         * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
6088         Likewise.
6089         * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
6090         Likewise.
6091         * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
6092         Likewise.
6093         * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
6094         Likewise.
6095         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
6096         Likewise.
6097         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
6098         Likewise.
6099         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
6100         Likewise.
6101         * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
6102         * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
6103         * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
6104         * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
6105         * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
6106         * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
6107         * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
6108         * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
6109         * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
6110         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
6111         * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
6112         Likewise.
6113         * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
6114         * testsuite/23_containers/map/debug/60499.cc: Likewise.
6115         * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
6116         * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
6117         * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
6118         * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
6119         * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
6120         * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
6121         * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
6122         Likewise.
6123         * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
6124         * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
6125         * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
6126         * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
6127         * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
6128         * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
6129         * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
6130         * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
6131         * testsuite/23_containers/multimap/debug/
6132         iterator_self_move_assign_neg.cc: Likewise.
6133         * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
6134         Likewise.
6135         * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
6136         * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
6137         * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
6138         * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
6139         * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
6140         * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
6141         * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
6142         * testsuite/23_containers/multiset/debug/
6143         iterator_self_move_assign_neg.cc: Likewise.
6144         * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
6145         Likewise.
6146         * testsuite/23_containers/set/debug/60499.cc: Likewise.
6147         * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
6148         * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
6149         * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
6150         * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
6151         * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
6152         * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
6153         * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
6154         Likewise.
6155         * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
6156         * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
6157         * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
6158         * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
6159         * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
6160         Likewise.
6161         * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
6162         * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
6163         * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
6164         Likewise.
6165         * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
6166         Likewise.
6167         * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
6168         Likewise.
6169         * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
6170         * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
6171         * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
6172         * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
6173         * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
6174         * testsuite/23_containers/unordered_map/debug/
6175         invalid_local_iterator_compare_neg.cc: Likewise.
6176         * testsuite/23_containers/unordered_map/debug/
6177         invalid_local_iterator_range_neg.cc: Likewise.
6178         * testsuite/23_containers/unordered_map/debug/
6179         iterator_self_move_assign_neg.cc: Likewise.
6180         * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
6181         Likewise.
6182         * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
6183         Likewise.
6184         * testsuite/23_containers/unordered_map/debug/
6185         use_erased_local_iterator_neg.cc: Likewise.
6186         * testsuite/23_containers/unordered_map/debug/
6187         use_invalid_iterator_neg.cc: Likewise.
6188         * testsuite/23_containers/unordered_map/debug/
6189         use_invalid_local_iterator_neg.cc: Likewise.
6190         * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
6191         * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
6192         Likewise.
6193         * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
6194         Likewise.
6195         * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
6196         Likewise.
6197         * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
6198         Likewise.
6199         * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
6200         Likewise.
6201         * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
6202         Likewise.
6203         * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
6204         Likewise.
6205         * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
6206         Likewise.
6207         * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
6208         Likewise.
6209         * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
6210         Likewise.
6211         * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
6212         Likewise.
6213         * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
6214         Likewise.
6215         * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
6216         Likewise.
6217         * testsuite/23_containers/unordered_multimap/debug/
6218         invalid_local_iterator_compare_neg.cc: Likewise.
6219         * testsuite/23_containers/unordered_multimap/debug/
6220         invalid_local_iterator_range_neg.cc: Likewise.
6221         * testsuite/23_containers/unordered_multimap/debug/
6222         iterator_self_move_assign_neg.cc: Likewise.
6223         * testsuite/23_containers/unordered_multimap/debug/
6224         max_load_factor_neg.cc: Likewise.
6225         * testsuite/23_containers/unordered_multimap/debug/
6226         self_move_assign_neg.cc: Likewise.
6227         * testsuite/23_containers/unordered_multimap/debug/
6228         use_erased_local_iterator_neg.cc: Likewise.
6229         * testsuite/23_containers/unordered_multimap/debug/
6230         use_invalid_iterator_neg.cc: Likewise.
6231         * testsuite/23_containers/unordered_multimap/debug/
6232         use_invalid_local_iterator_neg.cc: Likewise.
6233         * testsuite/23_containers/unordered_multiset/debug/60499.cc:
6234         Likewise.
6235         * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
6236         Likewise.
6237         * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
6238         Likewise.
6239         * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
6240         Likewise.
6241         * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
6242         Likewise.
6243         * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
6244         Likewise.
6245         * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
6246         Likewise.
6247         * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
6248         Likewise.
6249         * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
6250         Likewise.
6251         * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
6252         Likewise.
6253         * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
6254         Likewise.
6255         * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
6256         Likewise.
6257         * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
6258         Likewise.
6259         * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
6260         Likewise.
6261         * testsuite/23_containers/unordered_multiset/debug/
6262         invalid_local_iterator_compare_neg.cc: Likewise.
6263         * testsuite/23_containers/unordered_multiset/debug/
6264         invalid_local_iterator_range_neg.cc: Likewise.
6265         * testsuite/23_containers/unordered_multiset/debug/
6266         iterator_self_move_assign_neg.cc: Likewise.
6267         * testsuite/23_containers/unordered_multiset/debug/
6268         max_load_factor_neg.cc: Likewise.
6269         * testsuite/23_containers/unordered_multiset/debug/
6270         self_move_assign_neg.cc: Likewise.
6271         * testsuite/23_containers/unordered_multiset/debug/
6272         use_erased_local_iterator_neg.cc: Likewise.
6273         * testsuite/23_containers/unordered_multiset/debug/
6274         use_invalid_iterator_neg.cc: Likewise.
6275         * testsuite/23_containers/unordered_multiset/debug/
6276         use_invalid_local_iterator_neg.cc: Likewise.
6277         *  testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
6278         * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
6279         * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
6280         * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
6281         Likewise.
6282         * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
6283         * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
6284         * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
6285         Likewise.
6286         * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
6287         Likewise.
6288         * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
6289         Likewise.
6290         * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
6291         * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
6292         * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
6293         * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
6294         * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
6295         * testsuite/23_containers/unordered_set/debug/
6296         invalid_local_iterator_compare_neg.cc: Likewise.
6297         * testsuite/23_containers/unordered_set/debug/
6298         invalid_local_iterator_range_neg.cc: Likewise.
6299         * testsuite/23_containers/unordered_set/debug/
6300         iterator_self_move_assign_neg.cc: Likewise.
6301         * testsuite/23_containers/unordered_set/debug/
6302         max_load_factor_neg.cc: Likewise.
6303         * testsuite/23_containers/unordered_set/debug/
6304         self_move_assign_neg.cc: Likewise.
6305         * testsuite/23_containers/unordered_set/debug/
6306         use_erased_local_iterator_neg.cc: Likewise.
6307         * testsuite/23_containers/unordered_set/debug/
6308         use_invalid_iterator_neg.cc: Likewise.
6309         * testsuite/23_containers/unordered_set/debug/
6310         use_invalid_local_iterator_neg.cc: Likewise.
6311         * testsuite/23_containers/vector/debug/52433.cc: Likewise.
6312         * testsuite/23_containers/vector/debug/60499.cc: Likewise.
6313         * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
6314         * testsuite/23_containers/vector/debug/
6315         iterator_self_move_assign_neg.cc: Likewise.
6316         * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
6317         Likewise.
6318         * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
6319         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
6320         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
6321         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
6322         * testsuite/29_atomics/atomic/60658.cc: Likewise.
6323         * testsuite/29_atomics/atomic/60695.cc: Likewise.
6324         * testsuite/29_atomics/atomic/62259.cc: Likewise.
6325         * testsuite/29_atomics/atomic/64658.cc: Likewise.
6326         * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
6327         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
6328         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
6329         Likewise.
6331 2016-09-11  Jonathan Wakely  <jwakely@redhat.com>
6333         * libsupc++/new_opant.cc: Include exception_defines.h.
6334         * libsupc++/new_opvant.cc: Likewise.
6336 2016-09-09  Jason Merrill  <jason@redhat.com>
6338         Implement P0035R4, C++17 new of over-aligned types.
6339         * libsupc++/new: Declare aligned new/delete operators.
6340         * config/abi/pre/gnu.ver: Export them.
6341         * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
6342         _aligned_malloc.
6343         * libsupc++/new_opa.cc: New.
6344         * libsupc++/new_opant.cc: New.
6345         * libsupc++/new_opva.cc: New.
6346         * libsupc++/new_opva.cc: New.
6347         * libsupc++/del_opa.cc: New.
6348         * libsupc++/del_opant.cc: New.
6349         * libsupc++/del_opsa.cc: New.
6350         * libsupc++/del_opva.cc: New.
6351         * libsupc++/del_opvant.cc: New.
6352         * libsupc++/del_opvsa.cc: New.
6353         * libsupc++/Makefile.am: Build them.
6355 2016-09-05  Tim Shen  <timshen@google.com>
6357         * include/std/variant: include bits/move.h for std::addressof.
6359 2016-09-05  Mikhail Strelnikov  <mikhail.strelnikov@gmail.com>
6361         * include/std/variant (_Variant_storage::_M_storage()): Use
6362         std::addressof instead of operator& to take address.
6364 2016-09-02  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
6366         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
6367         setrlimit on both native and cross targets.
6368         * configure: Regenerate.
6370 2016-08-31  Jonathan Wakely  <jwakely@redhat.com>
6372         * include/bits/shared_ptr.h (_Assignable): New alias template.
6373         (shared_ptr::operator=(const shared_ptr<_Tp1>&))
6374         (shared_ptr::operator=(shared_ptr<_Tp1>&&))
6375         (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6376         _Assignable.
6377         * include/bits/shared_ptr_base.h (_Assignable): New alias template.
6378         (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
6379         (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
6380         (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6381         _Assignable.
6382         (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
6383         (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
6384         _Convertible.
6385         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
6386         match on any line.
6387         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
6388         * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
6389         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
6390         expected errors. Remove unnecessary code.
6391         * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
6393         * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
6394         comparison object.
6395         * testsuite/23_containers/set/move_comparison.cc: New test.
6397         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
6398         New test.
6400 2016-08-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
6402         PR libstdc++/77395
6403         * include/std/type_traits (is_constructible): Forward-declare...
6404         (__is_base_to_derived_ref): ...and use here.
6405         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
6406         * testsuite/20_util/is_constructible/77395.cc: New.
6407         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
6408         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
6409         Likewise.
6410         * testsuite/20_util/tuple/77395.cc: New.
6412 2016-08-30  Uros Bizjak  <ubizjak@gmail.com>
6414         * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
6415         directive above dg-require-namedlocale directive.
6416         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
6417         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
6418         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
6419         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
6420         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
6422 2016-08-27  Tim Shen  <timshen@google.com>
6424         PR libstdc++/77356
6425         * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
6426         _M_expression_term): Modify to support dash literal.
6427         * include/bits/regex_scanner.h: Add dash as a token type to make
6428         a different from the mandated dash literal by escaping.
6429         * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
6430         token in bracket expression parsing.
6431         * testsuite/28_regex/regression.cc: Add new testcases.
6433 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6435         PR libstdc++/51960
6436         * doc/xml/manual/intro.xml: Document DR 2127 change.
6437         * doc/html/*: Regenerate.
6438         * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
6439         (operator++(), operator++(int)): Use injected class name.
6440         * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
6442         * testsuite/*: Use { target c++11 } or { target c++14 } instead of
6443         using -std in dg-options.
6445 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6446             Pedro Alves  <palves@redhat.com>
6448         * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
6449         and restore dg-interpreter-batch-mode.
6450         * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
6451         gdb-dg-runtest instead of dg-runtest.
6452         * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
6454 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6456         * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
6457         precise patterns for basic_string constructors.
6458         (GLIBCXX_3.4.23): Export new constructors.
6459         * doc/xml/manual/intro.xml: Document LWG 2583 status.
6460         * doc/html/*: Regenerate.
6461         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
6462         (basic_string(const basic_string&, size_type, const Alloc&)): Add
6463         new constructor for LWG 2583.
6464         (basic_string(const basic_string&, size_type, size_type)): Remove
6465         default argument.
6466         [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
6467         * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
6468         * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
6469         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
6471 2016-08-24  Aditya Kumar  <hiraditya@msn.com>
6473         * include/bits/algorithmfwd.h: Remove trailing whitespace.
6474         * include/bits/shared_ptr_base.h: Likewise.
6476 2016-08-23  Jonathan Wakely  <jwakely@redhat.com>
6478         * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
6479         * include/profile/array (array): Likewise.
6480         (array::swap): Fix exception specification for zero-sized arrays.
6482         PR libstdc++/77334
6483         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
6484         (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
6485         * testsuite/23_containers/map/77334.cc: New test.
6487         * doc/xml/manual/using.xml: Remove reference to -pthreads option.
6488         * doc/html/*: Regenerate.
6490         * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
6491         * testsuite/experimental/feat-lib-fund.cc: Likewise.
6493         PR libstdc++/71771
6494         * include/bits/stl_iterator.h
6495         (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
6496         define for C++98 mode.
6497         (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
6498         * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
6499         -std=gnu++98.
6500         * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
6501         * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
6502         * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
6503         * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
6504         difference operator.
6505         * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
6506         difference operator for C++98.
6507         * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
6509         * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
6510         * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
6511         (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
6512         * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
6513         (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
6514         Likewise.
6515         * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
6516         _GLIBCXX14_CONSTEXPR.
6517         (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
6518         * include/std/array (array::begin, array::end, array::rbegin)
6519         (array::rend, array::cbegin, array:cend, array::crbegin)
6520         (array::crend, array::operator[], array::at, array::front)
6521         (array::back, array::data): Likewise.
6522         * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
6523         with separate tests for C++11, C++14, and C++17.
6524         * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
6525         * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
6526         * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
6528 2016-08-22  Tim Shen  <timshen@google.com>
6530         Split _M_dfs() into smaller functions.
6531         * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
6532         (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
6533         (_M_handle_line_end_assertion, _M_handle_word_boundary)
6534         (_M_handle_subexpr_lookahead, _M_handle_match)
6535         (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
6536         Add separate function declarations.
6537         * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
6539 2016-08-22  Gleb Natapov  <gleb@scylladb.com>
6541         PR libstdc++/68297
6542         * config/abi/pre/gnu-versioned-namespace.ver: Export
6543         __cxa_init_primary_exception and std::exception_ptr(void*).
6544         * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
6545         export __cxa_init_primary_exception and std::exception_ptr(void*).
6546         * include/Makefile.am: Add new headers.
6547         * include/Makefile.in: Regenerate.
6548         * libsupc++/Makefile.am: Add new headers.
6549         * libsupc++/Makefile.in: Regenerate.
6550         * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
6551         * libsupc++/cxxabi_init_exception.h: New header.
6552         (__cxa_init_primary_exception): Declare.
6553         * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
6554         (__cxa_throw): Use __cxa_init_primary_exception.
6555         * libsupc++/exception (std::exception): Move to ...
6556         * libsupc++/exception.h: New header.
6557         * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
6558         friend declaration.
6559         (__exception_ptr::__dest_thunk): New function template.
6560         (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
6561         Use __cxa_allocate_exception and __cxa_init_primary_exception to
6562         create exception_ptr.
6563         * libsupc++/typeinfo: Include bits/exception.h instead of exception.
6564         * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
6566 2016-08-22  Jonathan Wakely  <jwakely@redhat.com>
6568         * doc/xml/api.xml: Replace hardcoded links for specific versions with
6569         link to docs for all releases.
6570         * doc/html/*: Regenerate.
6572         PR libstdc++/77322
6573         * doc/xml/manual/intro.xml: Document DR 2062 change.
6574         * include/std/functional (function::swap): Add noexcept.
6575         (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
6576         * testsuite/20_util/function/77322.cc: New test.
6578 2016-08-19  Jonathan Wakely  <jwakely@redhat.com>
6580         * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
6581         *-*-solaris* instead of -pthreads.
6582         * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
6583         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
6584         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
6585         * testsuite/23_containers/list/pthread1.cc: Likewise.
6586         * testsuite/23_containers/list/pthread5.cc: Likewise.
6587         * testsuite/23_containers/map/pthread6.cc: Likewise.
6588         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
6589         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
6590         * testsuite/30_threads/shared_mutex/*: Likewise.
6591         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
6592         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6593         default_weaktoshared.cc: Likewise.
6594         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6595         mutex_weaktoshared.cc: Likewise.
6596         * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
6597         dg-require-effective-target instead of using -std option.
6598         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
6599         Likewise.
6600         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
6601         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
6602         Likewise.
6603         * testsuite/30_threads/async/*: Likewise.
6604         * testsuite/30_threads/call_once/*: Likewise.
6605         * testsuite/30_threads/condition_variable/*: Likewise.
6606         * testsuite/30_threads/condition_variable_any/*: Likewise.
6607         * testsuite/30_threads/future/*: Likewise.
6608         * testsuite/30_threads/lock/*: Likewise.
6609         * testsuite/30_threads/mutex/*: Likewise.
6610         * testsuite/30_threads/packaged_task/*: Likewise.
6611         * testsuite/30_threads/promise/*: Likewise.
6612         * testsuite/30_threads/recursive_mutex/*: Likewise.
6613         * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
6614         * testsuite/30_threads/shared_future/*: Likewise.
6615         * testsuite/30_threads/shared_lock/*: Likewise.
6616         * testsuite/30_threads/shared_timed_mutex/*: Likewise.
6617         * testsuite/30_threads/this_thread/*: Likewise.
6618         * testsuite/30_threads/thread/*: Likewise.
6619         * testsuite/30_threads/timed_mutex/*: Likewise.
6620         * testsuite/30_threads/try_lock/*: Likewise.
6621         * testsuite/30_threads/unique_lock/*: Likewise.
6623         * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
6624         * doc/html/*: Regenerate.
6625         * include/experimental/functional (_Not_fn, not_fn): Match C++17
6626         semantics.
6627         * include/std/functional (_Not_fn, not_fn): Define for C++17.
6628         * testsuite/20_util/not_fn/1.cc: New.
6629         * testsuite/experimental/functional/not_fn.cc: Test abstract class.
6630         Remove test for volatile-qualified wrapper.
6632         * include/std/atomic (atomic::is_always_lock_free): Define.
6633         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
6634         * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
6635         * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
6636         * doc/xml/manual/status_cxx2017.xml: Update status.
6637         * doc/html/*: Regenerate.
6639         * include/experimental/tuple (apply): Qualify call to __apply_impl.
6640         * include/std/tuple (apply): Likewise.
6641         * testsuite/experimental/system_error/value.cc: Fix ambiguities in
6642         C++17 mode.
6643         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
6644         * testsuite/experimental/type_traits/value.cc: Likewise.
6646         * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
6647         and variant.
6648         * doc/html/*: Regenerate.
6650 2016-08-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
6652         Implement the latest proposed resolution of LWG 2756.
6653         * include/std/optional (Optional_base(const _Tp&))
6654         (Optional_base(_Tp&&), using _Base::_Base): Remove.
6655         (optional(nullopt_t)): New.
6656         (optional(_Up&&)): Invoke base directly with in_place
6657         rather than creating a temporary, add default template
6658         argument, change constraints.
6659         (optional(const optional<_Up>&)): Invoke base directly
6660         with in_place, remove unnecessary constraints.
6661         (optional(optional<_Up>&& __t)): Likewise.
6662         (optional(in_place_t, _Args&&...)): New.
6663         (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
6664         (operator=(_Up&&)): Add default template argument, change constraints.
6665         (operator=(const optional<_Up>&)): Put is_same first in the
6666         constraints.
6667         (operator=(optional<_Up>&&)): Likewise.
6668         * testsuite/20_util/optional/assignment/5.cc: Add a test to
6669         verify assignment from something that can't be perfect-forwarded.
6670         * testsuite/20_util/optional/cons/value.cc: Add tests to verify
6671         that a nested optional is disengaged when constructed
6672         from a disengaged element type, and to verify that assignments
6673         from an engaged element type engage the optional.
6675 2016-08-18  Tim Shen  <timshen@google.com>
6677         Implement <variant>
6679         * include/Makefile.am: Add new file std/variant.
6680         * include/Makefile.in: Generated from Makefile.am.
6681         * include/bits/enable_special_members.h: Add a tag type to allow
6682         the construction in non-default constructor.
6683         * include/bits/uses_allocator.h: Add convenience traits to
6684         detect constructibility.
6685         * include/std/variant: Implement <variant>.
6686         * testsuite/20_util/variant/compile.cc: Compile-time tests.
6687         * testsuite/20_util/variant/run.cc: Runtime tests.
6689 2016-08-18  Jonathan Wakely  <jwakely@redhat.com>
6691         * doc/xml/manual/test.xml (test.run.permutations): Expand section.
6692         (test.new_tests): Rewrite section.
6693         (tests.dg.directives): New section.
6694         * doc/html/*: Regenerate.
6696         * doc/xml/manual/test.xml: Improve documentation of test targets.
6697         Document new-abi-baseline, check-debug, and check-parallel targets.
6699         * doc/xml/manual/build_hacking.xml: New section on shared library
6700         versioning.
6702         * doc/xml/manual/build_hacking.xml: Improve markup.
6703         * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
6704         to "Testing".
6705         * doc/xml/faq.xml: Change link text to "Testing".
6707         * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
6708         dg-options directive.
6710 2016-08-17  Jonathan Wakely  <jwakely@redhat.com>
6712         * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
6713         directive and use effective target instead of dg-options.
6715         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
6716         instead of -std in dg-options.
6717         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
6718         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
6719         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
6720         * testsuite/20_util/hash/quality.cc: Likewise.
6721         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
6722         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
6723         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
6724         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
6725         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
6726         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
6728         * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
6729         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
6730         * testsuite/27_io/rvalue_streams.cc: Likewise.
6732         * testsuite/26_numerics/complex/literals/types.cc: Add comment.
6734         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
6735         Remove duplicate dg-options directive.
6737         * testsuite/ext/profile/all.cc: Use effective target instead of
6738         -std=gnu++11. Use dg-additional-options instead of repeating options.
6740         * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
6741         -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
6742         instead of dg-excess-errors.
6744         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
6745         test for C++17.
6746         * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
6747         * testsuite/experimental/ratio/value.cc: Likewise.
6748         * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
6749         C++17.
6750         * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
6751         * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
6752         * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
6753         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
6754         * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
6755         * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
6756         * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
6757         * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
6758         * testsuite/tr1/5_numerical_facilities/special_functions/
6759         10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
6760         C++17 compatibility.
6762         * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
6763         expected signatures for C++14 compatibility.
6765         PR libstdc++/77264
6766         * include/bits/basic_string.h (operator=(__sv_type)
6767         (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
6768         (replace(size_type, size_type, __sv_type))
6769         (replace(const_iterator, const_iterator, __sv_type))
6770         (find(__sv_type, size_type), rfind(__sv_type, size_type))
6771         (compare(size_type, size_type, __sv_type)): Reformat.
6772         (_If_sv): Define helper for SFINAE constaints.
6773         (append(const _Tp&, size_type, size_type))
6774         (assign(const _Tp&, size_type, size_type))
6775         (insert(size_type, const _Tp&, size_type, size_type))
6776         (replace(size_type, size_type, const _Tp&, size_type, size_type)):
6777         Use _If_sv.
6778         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
6779         SFINAE constraints.
6780         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
6781         Likewise.
6782         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
6783         Likewise.
6784         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
6785         Likewise.
6786         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
6787         Likewise.
6788         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
6789         Likewise.
6790         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
6791         Likewise.
6792         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
6793         Likewise.
6794         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
6795         Likewise.
6796         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
6797         Likewise.
6798         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
6799         Likewise.
6801 2016-08-16  Jonathan Wakely  <jwakely@redhat.com>
6803         PR libstdc++/72847
6804         * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
6805         pointers to start and end of storage.
6806         * testsuite/23_containers/vector/bool/72847.cc: New test.
6807         * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
6808         _M_finish after deallocating.
6809         (vector<bool>::_M_fill_insert): Likewise.
6810         (vector<bool>::_M_insert_range): Likewise.
6811         (vector<bool>::_M_insert_aux): Likewise.
6813 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
6815         Implement LWG 2744 and LWG 2754.
6816         * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
6817         (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
6818         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
6819         Likewise.
6820         (emplace(_Args&&...)): Likewise.
6821         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
6822         * include/std/utility: (__is_in_place_type_impl): New.
6823         (__is_in_place_type): Likewise.
6824         * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
6825         emplace.
6826         * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
6827         in_place constructor.
6828         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
6829         * testsuite/20_util/any/requirements.cc: Add a test for
6830         in_place-constructing a non-default-constructible type.
6832 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
6834         Add a feature macro for C++17 make_from_tuple.
6835         * include/std/tuple (__cpp_lib_make_from_tuple): New.
6836         (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
6837         Qualify the call to get<>().
6838         * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
6840 2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
6842         * src/filesystem/ops.cc: Always include ostream and
6843         ext/stdio_filebuf.h.
6844         (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
6845         [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
6846         sendfile fails with ENOSYS or EINVAL.
6848 2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
6850         PR libstdc++/72840
6851         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
6852         syntax.
6854 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
6856         Implement C++17 make_from_tuple.
6857         * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
6858         * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
6860 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
6862         Implement LWG 2758.
6863         * include/bits/basic_string.h
6864         (append(__sv_type, size_type, size_type)): Turn into a template,
6865         change parameter type, constrain, add a conversion to __sv_type
6866         from the dependent parameter type.
6867         (assign(__sv_type, size_type, size_type)): Likewise.
6868         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
6869         (replace(size_type, size_type, __sv_type, size_type, size_type)):
6870         Likewise.
6871         (compare(size_type, size_type,__sv_type, size_type, size_type)):
6872         Likewise.
6873         * testsuite/21_strings/basic_string/lwg2758.cc: New.
6875 2016-08-06  Jonathan Wakely  <jwakely@redhat.com>
6877         * doc/xml/manual/status_cxx2017.xml: Update status table.
6878         * doc/html/manual/status.html: Regenerate.
6880         * testsuite/lib/libstdc++.exp: Fix typo in comment.
6882         PR libstdc++/72820
6883         * include/std/functional (_Function_base::_Base_manager::_M_clone):
6884         Qualify new operator.
6885         * testsuite/20_util/function/cons/72820.cc: New test.
6887         * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
6888         * doc/html/manual/status.html: Regenerate.
6889         * include/Makefile.am: Add new header.
6890         * include/Makefile.in: Regenerate.
6891         * include/bits/invoke.h: New header.
6892         (__invoke): Make constexpr. Add && to types in exception specification.
6893         * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
6894         names. Include <bits/invoke.h> and use std::__invoke.
6895         * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
6896         new header.
6897         (invoke): Add && to types in exception specification.
6898         * include/std/tuple (apply, __apply_impl): Define for C++17.
6899         * testsuite/20_util/tuple/apply/1.cc: New test.
6900         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
6901         lineno.
6903 2016-08-05  Jonathan Wakely  <jwakely@redhat.com>
6905         * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
6906         * doc/html/manual/status.html: Regenerate.
6908         * include/std/chrono (floor, ceil, round, abs): New for C++17.
6909         * testsuite/20_util/duration_cast/rounding.cc: New test.
6910         * testsuite/20_util/time_point_cast/rounding.cc: New test.
6911         * doc/xml/manual/status_cxx2017.xml: Update status table.
6912         * doc/html/manual/status.html: Regenerate.
6913         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
6914         dg-error lineno.
6915         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
6916         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
6917         * testsuite/20_util/duration/literals/range.cc: Likewise.
6919         * include/std/functional (__callable_functor): Remove.
6920         (_Function_handler::_M_invoke): Use __invoke instead of
6921         __callable_functor or mem_fn.
6922         (function::_Callable): Use lvalue in result_of expression.
6923         (function): Remove TODO comments about allocators.
6924         * testsuite/20_util/function/cons/refqual.cc: New test.
6926 2016-08-04  Jonathan Wakely  <jwakely@redhat.com>
6928         * doc/xml/manual/status_cxx2017.xml: Update status table.
6929         * include/std/functional (__inv_unwrap): Move to <type_traits>.
6930         (__invoke_impl): Remove exception specifications.
6931         (__invoke, invoke): Add exception specifications using
6932         __is_nothrow_callable.
6933         * include/std/type_traits (__inv_unwrap): Move from <functional>.
6934         (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
6935         (__is_callable, __is_nothrow_callable): New traits.
6936         (is_callable, is_callable_v): New C++17 traits.
6937         (is_nothrow_callable, is_nothrow_callable_v): Likewise.
6938         * testsuite/20_util/is_callable/requirements/
6939         explicit_instantiation.cc: New test.
6940         * testsuite/20_util/is_callable/requirements/
6941         explicit_instantiation_ext.cc: New test.
6942         * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
6943         * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
6944         test.
6945         * testsuite/20_util/is_callable/value.cc: New test.
6946         * testsuite/20_util/is_callable/value_ext.cc: New test.
6947         * testsuite/20_util/is_nothrow_callable/requirements/
6948         explicit_instantiation.cc: New test.
6949         * testsuite/20_util/is_nothrow_callable/requirements/
6950         explicit_instantiation_ext.cc: New test.
6951         * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
6952         New test.
6953         * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
6954         New test.
6955         * testsuite/20_util/is_nothrow_callable/value.cc: New test.
6956         * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
6958         * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
6959         * doc/html/manual/status.html: Regenerate.
6961         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
6962         effective target not dg-options. Move check for feature-test macro to:
6963         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
6964         New test.
6966         * include/std/functional (_Unwrap): Rename to __inv_unwrap.
6967         (__invfwd): Adjust.
6968         (__invoke_impl): Remove unused template parameters.
6969         * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
6970         parameter.
6971         * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
6972         and test __invoke extension for C++11.
6974 2016-08-03  Jonathan Wakely  <jwakely@redhat.com>
6976         * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
6977         Define feature-test macro.
6978         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
6979         for the macro.
6981         * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
6982         * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
6983         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
6984         * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
6985         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
6987         * include/std/utility (as_const): Define.
6988         * testsuite/20_util/as_const/1.cc: New test.
6989         * testsuite/20_util/as_const/rvalue_neg.cc: New test.
6991         * include/bits/shared_ptr.h (owner_less): Add default template
6992         argument.
6993         * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
6994         specialization.
6995         (owner_less<void>): Define specialization.
6996         * include/bits/stl_function.h (__cpp_lib_transparent_operators):
6997         Update value.
6998         * testsuite/20_util/owner_less/void.cc: New test.
6999         * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
7001         * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
7002         Define feature-test macro.
7003         * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
7004         * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
7005         * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
7006         (__cpp_lib_type_trait_variable_templates): Define.
7008         * include/bits/stl_function.h: Remove commented-out macro.
7009         * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
7010         Define feature-test macro.
7011         * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
7013         * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
7014         C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
7015         true.
7016         * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
7017         do #error for C++17.
7018         * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
7019         of __STDCPP_WANT_MATH_SPEC_FUNCS__.
7020         * include/tr1/bessel_function.tcc: Likewise.
7021         * include/tr1/beta_function.tcc: Likewise.
7022         * include/tr1/cmath: Likewise.
7023         * include/tr1/ell_integral.tcc: Likewise.
7024         * include/tr1/exp_integral.tcc: Likewise.
7025         * include/tr1/gamma.tcc: Likewise.
7026         * include/tr1/hypergeometric.tcc: Likewise.
7027         * include/tr1/legendre_function.tcc: Likewise.
7028         * include/tr1/modified_bessel_func.tcc: Likewise.
7029         * include/tr1/poly_hermite.tcc: Likewise.
7030         * include/tr1/poly_laguerre.tcc: Likewise.
7031         * include/tr1/riemann_zeta.tcc: Likewise.
7032         * include/tr1/special_function_util.h: Likewise.
7033         * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
7035         * include/std/type_traits (has_trivial_default_constructor): Remove.
7036         (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
7037         * testsuite/20_util/has_trivial_copy_assign/requirements/
7038         explicit_instantiation.cc: Remove test.
7039         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
7040         line number.
7041         * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
7042         Likewise.
7043         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
7044         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7045         explicit_instantiation.cc: Likewise.
7046         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7047         typedefs.cc: Likewise.
7048         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
7049         * testsuite/20_util/has_trivial_default_constructor/requirements/
7050         explicit_instantiation.cc: Likewise.
7051         * testsuite/20_util/has_trivial_default_constructor/requirements/
7052         typedefs.cc: Likewise.
7053         * testsuite/20_util/has_trivial_default_constructor/value.cc:
7054         Likewise.
7055         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7056         Check has_trivial_default_constructor, has_trivial_copy_constructor,
7057         and has_trivial_copy_assign are not defined.
7058         * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
7059         tests.
7060         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
7061         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
7062         dg-error line number.
7063         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7064         Likewise.
7066 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7068         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
7069         Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
7070         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
7071         Likewise.
7072         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
7073         Likewise.
7074         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
7075         Likewise.
7076         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
7077         Likewise.
7078         * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
7079         Likewise.
7080         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
7081         Likewise.
7083         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
7084         comments.
7086         * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
7087         dg-error to relevant line.
7088         * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
7089         Likewise.
7090         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
7092         * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
7094         * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
7095         options are present that aren't valid for C.
7096         * testsuite/abi/header_cxxabi.c: Likewise.
7098         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
7099         check_value.cc: Do not add special functions to namespace std in TR1
7100         test.
7102         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
7103         run for C++11 and later.
7104         * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
7105         Likewise.
7106         * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
7107         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
7108         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
7109         * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
7110         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
7111         Likewise.
7112         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
7113         Likewise.
7114         * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
7115         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
7116         Likewise.
7117         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
7118         Likewise.
7119         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
7120         Likewise.
7121         * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
7122         * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
7123         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
7124         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
7125         * testsuite/special_functions/03_beta/compile.cc: Likewise.
7126         * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
7127         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
7128         * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
7129         Likewise.
7130         * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
7131         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
7132         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
7133         * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
7134         Likewise.
7135         * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
7136         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
7137         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
7138         * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
7139         Likewise.
7140         * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
7141         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
7142         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
7143         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
7144         Likewise.
7145         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
7146         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
7147         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
7148         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
7149         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
7150         Likewise.
7151         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
7152         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
7153         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
7154         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
7155         Likewise.
7156         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
7157         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
7158         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
7159         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
7160         * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
7161         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
7162         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
7163         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
7164         * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
7165         * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
7166         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
7167         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
7168         * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
7169         * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
7170         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
7171         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
7172         * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
7173         * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
7174         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
7175         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
7176         * testsuite/special_functions/14_expint/compile.cc: Likewise.
7177         * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
7178         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
7179         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
7180         * testsuite/special_functions/15_hermite/compile.cc: Likewise.
7181         * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
7182         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
7183         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
7184         * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
7185         * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
7186         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
7187         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
7188         * testsuite/special_functions/17_legendre/compile.cc: Likewise.
7189         * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
7190         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
7191         * testsuite/special_functions/18_riemann_zeta/check_value.cc:
7192         Likewise.
7193         * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
7194         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
7195         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
7196         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
7197         * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
7198         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
7199         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
7200         * testsuite/special_functions/20_sph_legendre/check_value.cc:
7201         Likewise.
7202         * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
7203         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
7204         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
7205         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
7206         * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
7207         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
7209         * testsuite/tr1/5_numerical_facilities/special_functions/
7210         08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
7211         of [[gnu::unused]].
7212         * testsuite/tr1/5_numerical_facilities/special_functions/
7213         09_cyl_bessel_j/check_value.cc: Likewise.
7214         * testsuite/tr1/5_numerical_facilities/special_functions/
7215         10_cyl_bessel_k/check_value.cc: Likewise.
7216         * testsuite/tr1/5_numerical_facilities/special_functions/
7217         11_cyl_neumann/check_value.cc: Likewise.
7218         * testsuite/tr1/5_numerical_facilities/special_functions/
7219         21_sph_bessel/check_value.cc: Likewise.
7220         * testsuite/tr1/5_numerical_facilities/special_functions/
7221         23_sph_neumann/check_value.cc: Likewise.
7223 2016-08-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7225         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
7226         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
7227         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
7228         * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
7229         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
7230         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
7232 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7234         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
7235         test if -flto used.
7237         * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
7238         additional flags for compiling libtestc++.a objects.
7240 2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
7242         * include/bits/basic_string.h (data() const): Update comment.
7243         (data()): Add non-const overload for C++17.
7244         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
7245         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
7247         * include/bits/basic_string.tcc: Disable explicit instantiation
7248         declarations for C++17.
7250         * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
7251         ignored "xfail" from { dg-do compile { xfail selector } } directive.
7252         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
7253         Likewise.
7254         * testsuite/26_numerics/headers/cmath/
7255         c99_classification_macros_c++11.cc: Likewise.
7256         * testsuite/26_numerics/headers/cmath/
7257         c99_classification_macros_c++98.cc: Likewise.
7258         * testsuite/26_numerics/headers/cmath/
7259         c99_classification_macros_c.cc: Likewise.
7261         * testsuite/backward/hash_set/check_construct_destroy.cc: Account
7262         for different construct/destroy counts in C++98 mode.
7264         * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
7266         * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
7267         later.
7268         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
7269         Likewise.
7271         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
7272         C++98-compatible initialization for array.
7274         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
7275         unused header and variable from compile-only test.
7276         * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
7277         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
7278         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
7279         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
7280         Likewise.
7282         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
7283         Remove duplicate dg-options directive.
7285         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
7286         808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
7288         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
7289         linker options from compile-only tests.
7290         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7291         Likewise.
7293         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
7294         supported for C++11 and later.
7295         * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
7296         * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
7298 2016-08-01  Uros Bizjak  <ubizjak@gmail.com>
7300         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
7302 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7304         * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
7305         compile-only test.
7307         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7308         Ensure test is compiled with optimization.
7310         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7311         Adjust dg-prune-output pattern for error in C++98 mode.
7313         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
7314         run for C++11 or later.
7316         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
7317         test to not rely on GNU extension (escaped normal characters in POSIX
7318         BRE). Enable tests for other strings which are now supported.
7320         * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
7321         c++11 instead of setting -std=gnu++14.
7323         PR libstdc++/72745
7324         * include/std/array (get): Use positive message for static assertions.
7325         * include/std/functional (_Safe_tuple_element_t): Fix indentation.
7326         * include/std/tuple (tuple_element<I, tuple<>>): Add partial
7327         specialization for invalid indices, with static assertion.
7328         * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
7330         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
7331         dg-error to relevant line.
7332         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7333         Likewise.
7334         * testsuite/23_containers/forward_list/requirements/dr438/
7335         assign_neg.cc: Likewise.
7336         * testsuite/23_containers/forward_list/requirements/dr438/
7337         constructor_1_neg.cc: Likewise.
7338         * testsuite/23_containers/forward_list/requirements/dr438/
7339         constructor_2_neg.cc: Likewise.
7340         * testsuite/23_containers/forward_list/requirements/dr438/
7341         insert_neg.cc: Likewise.
7342         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
7343         Likewise.
7344         * testsuite/26_numerics/random/linear_congruential_engine/
7345         requirements/non_uint_neg.cc: Likewise.
7346         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
7347         Likewise. Also test for std::atomic_address.
7349 2016-07-31  Ville Voutilainen  <ville.voutilainen@gmail.com>
7351         Add missing variable traits, fix testsuite failures.
7352         * include/bits/uses_allocator.h (uses_allocator_v): New.
7353         * include/std/functional (is_bind_expression_v, is_placeholder_v):
7354         Likewise.
7355         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
7356         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
7357         * testsuite/20_util/duration/literals/range.cc: Likewise.
7358         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
7359         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
7360         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
7361         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
7362         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7363         Likewise.
7364         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
7365         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
7366         New.
7368 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7370         * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
7371         not test 128-bit types.
7372         * testsuite/20_util/is_floating_point/value.cc: Likewise.
7373         * testsuite/20_util/is_integral/value.cc: Likewise.
7374         * testsuite/20_util/is_signed/value.cc: Likewise.
7375         * testsuite/20_util/is_unsigned/value.cc: Likewise.
7376         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
7377         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
7378         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
7379         Likewise.
7380         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7381         Likewise.
7383         * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
7385 2016-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
7387         Implement C++17 variable templates for type traits.
7388         * include/std/chrono (treat_as_floating_point_v): New.
7389         * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
7390         (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
7391         (ratio_greater_equal_v): Likewise.
7392         * include/std/system_error (is_error_code_enum_v)
7393         (is_error_condition_enum_v): Likewise.
7394         * include/std/tuple (tuple_size_v): Likewise.
7395         * type_traits (conjunction_v, disjunction_v, negation_v)
7396         (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
7397         (is_array_v, is_pointer_v, is_lvalue_reference_v)
7398         (is_rvalue_reference_v, is_member_object_pointer_v)
7399         (is_member_function_pointer_v, is_enum_v, is_union_v)
7400         (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
7401         (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
7402         (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
7403         (is_trivially_copyable_v, is_standard_layout_v)
7404         (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
7405         (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
7406         (is_constructible_v, is_default_constructible_v)
7407         (is_copy_constructible_v, is_move_constructible_v)
7408         (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
7409         (is_destructible_v, is_trivially_constructible_v)
7410         (is_trivially_default_constructible_v)
7411         (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
7412         (is_trivially_assignable_v, is_trivially_copy_assignable_v)
7413         (is_trivially_move_assignable_v, is_trivially_destructible_v)
7414         (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
7415         (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
7416         (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
7417         (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
7418         (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
7419         (is_same_v, is_base_of_v, is_convertible_v): Likewise.
7420         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
7421         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
7422         Likewise.
7423         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
7424         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
7425         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
7427 2016-07-29  Andreas Schwab  <schwab@linux-m68k.org>
7429         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
7430         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
7431         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
7433 2016-07-29  Jonathan Wakely  <jwakely@redhat.com>
7435         * doc/xml/manual/abi.xml: Document 6.0.22 library version.
7436         * doc/html/manual/abi.html: Regenerate.
7438         * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
7439         * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
7440         symbols.
7441         * configure: Regenerate.
7442         * testsuite/util/testsuite_abi.cc: Add new symbol version.
7444         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
7445         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
7446         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
7447         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
7448         Likewise.
7449         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
7450         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
7451         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
7453 2016-07-28  Jonathan Wakely  <jwakely@redhat.com>
7455         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
7456         Adjust dg-prune-output pattern for error in C++98 mode.
7457         * testsuite/23_containers/deque/requirements/dr438/
7458         constructor_1_neg.cc: Likewise.
7459         * testsuite/23_containers/deque/requirements/dr438/
7460         constructor_2_neg.cc: Likewise.
7461         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
7462         Likewise.
7463         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
7464         Likewise.
7465         * testsuite/23_containers/list/requirements/dr438/
7466         constructor_1_neg.cc: Likewise.
7467         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7468         Likewise.
7469         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
7470         Likewise.
7471         * testsuite/23_containers/vector/requirements/dr438/
7472         constructor_1_neg.cc: Likewise.
7473         * testsuite/23_containers/vector/requirements/dr438/
7474         constructor_2_neg.cc: Likewise.
7475         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
7476         Likewise.
7478         * testsuite/23_containers/vector/check_construct_destroy.cc: Account
7479         for different construct/destroy counts in C++98 mode.
7481         * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
7482         dg-options to dg-additional-options so that default options are used.
7483         * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
7484         Likewise.
7485         * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
7486         * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
7487         Likewise.
7488         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7489         Use dg-additional-options instead of repeating the common options.
7491         * testsuite/22_locale/conversions/string/1.cc: Remove unintended
7492         dg-do compile directive.
7493         * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
7494         dg-do directive.
7495         * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
7497 2016-07-28  Ville Voutilainen  <ville.voutilainen@gmail.com>
7499         Implement std::string_view and P0254r2,
7500         Integrating std::string_view and std::string.
7501         * include/Makefile.am: Add string_view and string_view.tcc
7502         to the exported headers.
7503         * include/Makefile.in: Likewise.
7504         * include/bits/basic_string.h: Include <string_view> in C++17 mode.
7505         (__sv_type): New.
7506         (basic_string(__sv_type, const _Alloc&)): Likewise.
7507         (operator=(__sv_type)): Likewise.
7508         (operator __sv_type()): Likewise.
7509         (operator+=(__sv_type)): Likewise.
7510         (append(__sv_type __sv)): Likewise.
7511         (append(__sv_type, size_type, size_type)): Likewise.
7512         (assign(__sv_type)): Likewise.
7513         (assign(__sv_type, size_type, size_type)): Likewise.
7514         (insert(size_type, __sv_type)): Likewise.
7515         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
7516         (replace(size_type, size_type, __sv_type)): Likewise.
7517         (replace(size_type, size_type, __sv_type, size_type, size_type)):
7518         Likewise.
7519         (replace(const_iterator, const_iterator, __sv_type)): Likewise.
7520         (find(__sv_type, size_type)): Likewise.
7521         (rfind(__sv_type, size_type)): Likewise.
7522         (find_first_of(__sv_type, size_type)): Likewise.
7523         (find_last_of(__sv_type, size_type)): Likewise.
7524         (find_first_not_of(__sv_type, size_type)): Likewise.
7525         (find_last_not_of(__sv_type, size_type)): Likewise.
7526         (compare(__sv_type)): Likewise.
7527         (compare(size_type, size_type, __sv_type)): Likewise.
7528         (compare(size_type, size_type, __sv_type, size_type, size_type)):
7529         Likewise.
7530         * include/bits/string_view.tcc: New.
7531         * include/std/string_view: Likewise.
7532         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
7533         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
7534         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
7535         Likewise.
7536         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
7537         Likewise.
7538         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
7539         Likewise.
7540         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
7541         Likewise.
7542         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
7543         Likewise.
7544         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
7545         Likewise.
7546         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7547         Likewise.
7548         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
7549         Likewise.
7550         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
7551         Likewise.
7552         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
7553         Likewise.
7554         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
7555         Likewise.
7556         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
7557         Likewise.
7558         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
7559         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
7560         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
7561         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
7562         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
7563         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
7564         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
7565         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
7566         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
7567         * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
7568         Likewise.
7569         * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
7570         Likewise.
7571         * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
7572         Likewise.
7573         * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
7574         Likewise.
7575         * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
7576         Likewise.
7577         * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
7578         Likewise.
7579         * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
7580         Likewise.
7581         * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
7582         Likewise.
7583         * testsuite/21_strings/basic_string_view/include.cc: Likewise.
7584         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
7585         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
7586         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
7587         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
7588         Likewise.
7589         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
7590         Likewise.
7591         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
7592         Likewise.
7593         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
7594         Likewise.
7595         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
7596         Likewise.
7597         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
7598         Likewise.
7599         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
7600         Likewise.
7601         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
7602         Likewise.
7603         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
7604         Likewise.
7605         * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
7606         Likewise.
7607         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
7608         Likewise.
7609         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
7610         Likewise.
7611         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
7612         Likewise.
7613         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
7614         Likewise.
7615         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
7616         Likewise.
7617         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
7618         Likewise.
7619         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
7620         Likewise.
7621         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
7622         Likewise.
7623         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
7624         Likewise.
7625         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
7626         Likewise.
7627         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
7628         Likewise.
7629         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
7630         Likewise.
7631         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
7632         Likewise.
7633         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
7634         Likewise.
7635         * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
7636         Likewise.
7637         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
7638         Likewise.
7639         * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
7640         Likewise.
7641         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
7642         Likewise.
7643         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
7644         Likewise.
7645         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
7646         Likewise.
7647         * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
7648         Likewise.
7649         * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
7650         Likewise.
7651         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
7652         Likewise.
7653         * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
7654         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
7655         Likewise.
7656         * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
7657         Likewise.
7658         * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
7659         Likewise.
7660         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
7661         Likewise.
7662         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
7663         Likewise.
7664         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
7665         Likewise.
7666         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
7667         Likewise.
7668         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
7669         Likewise.
7670         * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
7671         Likewise.
7672         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
7673         * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
7675 2016-07-27  Jonathan Wakely  <jwakely@redhat.com>
7677         * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
7679 2016-07-25  Georeth Chow  <georeth2010@gmail.com>
7681         * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
7682         _S_concat enumerator.
7683         * testsuite/ext/rope/6.cc: New test.
7685 2016-07-25  Jonathan Wakely  <jwakely@redhat.com>
7687         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
7688         std::mt19937, std::thread and std::atomic to simplify test.
7689         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
7691 2016-07-22  Jonathan Wakely  <jwakely@redhat.com>
7693         PR libstdc++/71964
7694         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
7695         (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
7696         * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
7697         * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
7698         * testsuite/23_containers/set/allocator/71964.cc: New test.
7700         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
7701         delete[] instead of delete.
7703 2016-07-21  Jonathan Wakely  <jwakely@redhat.com>
7705         * include/experimental/propagate_const (propagate_const::__t): Rename
7706         to _M_t and remove comment. Qualify std::move and std::forward.
7707         * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
7709         * testsuite/23_containers/vector/zero_sized_allocations.cc:
7710         Define sized deallocation function.
7711         * testsuite/util/testsuite_new_operators.h:
7712         (operator delete(void*, const std::nothrow_t&)): Define nothrow
7713         deallocation function.
7715         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
7716         reads past the end of strings.
7717         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
7718         Likewise.
7719         * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
7720         invalid array accesses.
7721         * testsuite/experimental/string_view/operations/compare/char/1.cc:
7722         Fix read past the end of string.
7723         * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
7725         * testsuite/24_iterators/container_access.cc: Fix missing returns.
7726         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
7728         * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
7729         leak) memory for arguments to placement delete.
7730         * testsuite/20_util/addressof/1.cc: Don't leak memory.
7731         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
7732         * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
7733         Likewise.
7735 2016-07-20  Jonathan Wakely  <jwakely@redhat.com>
7737         * doc/xml/manual/intro.xml: Document DR 2684 status.
7738         * doc/html/*: Regenerate.
7740         * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
7741         (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
7742         (atomic_uint64_t): Define (LWG 2441).
7743         * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
7744         lines.
7745         * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
7746         the new types.
7747         * doc/xml/manual/intro.xml: Document DR 2441 status.
7749         * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
7750         to use perfect forwarding (LWG 2328).
7751         * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
7752         * doc/xml/manual/intro.xml: Document DR 2328 status.
7754         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
7755         static objects for catching nullptr as pointer to member types.
7757 2016-07-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
7759         Clean up optional's comments.
7760         * include/std/optional: Remove incorrect section headers
7761         from comments when redundant, replace bare section
7762         headers with more descriptive comments.
7764 2016-07-15  Jonathan Wakely  <jwakely@redhat.com>
7766         * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
7767         * include/bits/move.h: Likewise.
7768         * include/bits/postypes.h: Likewise.
7769         * include/debug/bitset: Likewise.
7770         * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
7771         * include/ext/string_conversions.h: Change C++0x to __cxx11 in
7772         comment.
7773         * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
7774         * testsuite/util/thread/all.h: Likewise.
7776         * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
7777         and adjust comment.
7779         PR c++/58796
7780         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
7781         nullptr match handlers of pointer type.
7783 2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
7785         Implement C++17 P0025 clamp.
7786         * include/bits/algorithmfwd.h: Declare clamp overloads.
7787         * include/bits/stl_algo.h: Implement clamp.  Feature __cpp_lib_clamp.
7788         * testsuite/25_algorithms/clamp/1.cc: New test.
7789         * testsuite/25_algorithms/clamp/2.cc: New test.
7790         * testsuite/25_algorithms/clamp/constexpr.cc: New test.
7791         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
7792         1.cc: New test.
7793         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
7794         pod.cc: New test.
7796 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
7798         Fix the constraints for any's assignment operator template to properly
7799         reject assignment from a non-copyable lvalue.
7800         * include/std/any (operator=(_ValueType&&)): Constrain the decayed
7801         type for is_copy_constructible,
7802         * testsuite/20_util/any/requirements.cc: Add a test for
7803         non-copyable lvalues.
7805 2016-07-14  Jonathan Wakely  <jwakely@redhat.com>
7807         * include/experimental/functional: Include <parallel/algorithm> in
7808         Parallel Mode.
7810         * testsuite/experimental/functional/searchers.cc: Include <algorithm>
7811         for std::search.
7813         PR libstdc++/70716
7814         * include/bits/forward_list.h (forward_list): Update doxygen comments
7815         to reflect allocator propagation semantics. Remove ambiguous
7816         statements about data being lost.
7817         * include/bits/stl_deque.h (deque): Likewise.
7818         * include/bits/stl_list.h (list): Likewise.
7819         * include/bits/stl_map.h (map): Likewise.
7820         * include/bits/stl_multimap.h (multimap): Likewise.
7821         * include/bits/stl_multiset.h (multiset): Likewise.
7822         * include/bits/stl_set.h (set): Likewise.
7823         * include/bits/stl_vector.h (vector): Likewise.
7824         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
7825         Likewise.
7826         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
7827         Likewise.
7829 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
7831         Implement P0032R3, Homogeneous interface for variant, any and optional,
7832         for the parts concerning any and optional.
7833         * include/std/any (_Storage()): Make constexpr and have it
7834         initialize _M_ptr.
7835         (any()): Make constexpr.
7836         (any(const any&)): Adjust.
7837         (any(any&&)): Likewise.
7838         (__any_constructible_t): New.
7839         (any(_ValueType&&)): Constrain.
7840         (any(in_place_type_t<_Tp>, _Args&&...)): New.
7841         (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
7842         Likewise.
7843         (~any()): Adjust.
7844         (operator=(const any&)): Likewise.
7845         (operator=(any&&)): Likewise.
7846         (operator=(_ValueType&&)): Constrain.
7847         (emplace(_Args&&...)): New.
7848         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
7849         (clear()): Remove.
7850         (reset()): New.
7851         (swap(any&)): Adjust.
7852         (empty()): Remove.
7853         (has_value()): New.
7854         (type()): Adjust.
7855         (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
7856         (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
7857         (make_any(_Args&&...)): Likewise.
7858         (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
7859         * include/std/optional (in_place_t, in_place): Remove.
7860         (bad_optional_access): Add a comment referring to LEWG 72.
7861         (emplace(_Args&&...)): Constrain.
7862         (has_value()): New.
7863         (reset()): Likewise.
7864         (make_optional(_Args&&...)): Likewise.
7865         (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
7866         * include/std/utility (in_place_tag): New.
7867         (__in_place, __in_place_type, __in_place_index): Likewise.
7868         (in_place_t, in_place_type_t, in_place_index_t): Likewise.
7869         (in_place(__in_place*)): Likewise.
7870         (in_place(__in_place_type<_Tp>*)): Likewise.
7871         (in_place(__in_place_index<_Idx>*)): Likewise.
7872         * testsuite/20_util/any/assign/1.cc: Adjust.
7873         * testsuite/20_util/any/assign/emplace.cc: New.
7874         * testsuite/20_util/any/assign/self.cc: Adjust.
7875         * testsuite/20_util/any/cons/1.cc: Likewise.
7876         * testsuite/20_util/any/cons/in_place.cc: New.
7877         * testsuite/20_util/any/make_any.cc: Likewise.
7878         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
7879         * testsuite/20_util/any/misc/swap.cc: Likewise.
7880         * testsuite/20_util/any/modifiers/1.cc: Likewise.
7881         * testsuite/20_util/any/requirements.cc: New.
7882         * testsuite/20_util/in_place/requirements.cc: Likewise.
7883         * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
7884         * testsuite/20_util/optional/in_place.cc: Likewise.
7885         * testsuite/20_util/optional/make_optional.cc: Add tests for
7886         the new overloads of make_optional.
7888 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
7890         Implement P0307R2, Making Optional Greater Equal Again.
7891         * include/experimental/optional (_Has_addressof): Fix the comment.
7892         * include/std/optional (_Has_addressof): Likewise.
7893         (operator=(_Up&&)): Constrain.
7894         (operator=(const optional<_Up>&)): Likewise.
7895         (operator=(optional<_Up>&&)): Likewise.
7896         (__optional_relop_t): New.
7897         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7898         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
7899         Constrain and make transparent.
7900         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7901         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
7902         Constrain and make transparent.
7903         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7904         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7905         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
7906         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
7907         (operator!=(const optional<_Tp>&, _Tp const&)):
7908         Constrain and make transparent.
7909         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
7910         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
7911         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
7912         (operator>(const optional<_Tp>&, const _Tp&)):
7913         Constrain and make transparent.
7914         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
7915         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
7916         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
7917         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
7918         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
7919         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
7920         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
7921         * testsuite/20_util/optional/relops/1.cc: Likewise.
7922         * testsuite/20_util/optional/relops/2.cc: Likewise.
7923         * testsuite/20_util/optional/relops/3.cc: Likewise.
7924         * testsuite/20_util/optional/relops/4.cc: Likewise.
7925         * testsuite/20_util/optional/requirements.cc: Add tests to verify
7926         that optional's relops are transparent and don't synthesize
7927         operators. Also test that assignment sfinaes.
7929 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
7931         PR libstdc++/71856
7932         * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
7933         * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
7934         Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
7935         on _GLIBCXX_ASSERTIONS.
7936         * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
7937         Include <unistd.h> for sleep.
7938         * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
7939         * include/parallel/merge.h: Likewise.
7940         * include/parallel/multiway_merge.h: Likewise.
7941         * include/parallel/partition.h: Likewise.
7942         * include/parallel/queue.h: Likewise.
7943         * include/parallel/sort.h: Likewise.
7944         * testsuite/25_algorithms/headers/algorithm/
7945         parallel_algorithm_assert.cc: New.
7947         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
7948         (replace(__const_iterator, __const_iterator, initializer_list<C>)):
7949         Forward to different overload.
7951         * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
7952         static.
7954 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
7956         Revert "Add non-const overload of std::string::data()".
7958 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
7960         Implement P0307R2, Making Optional Greater Equal Again.
7961         * include/experimental/optional (_Has_addressof): Fix the comment.
7962         * include/std/optional (_Has_addressof): Likewise.
7963         (operator=(_Up&&)): Constrain.
7964         (operator=(const optional<_Up>&)): Likewise.
7965         (operator=(optional<_Up>&&)): Likewise.
7966         (__optional_relop_t): New.
7967         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7968         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
7969         Constrain and make transparent.
7970         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7971         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
7972         Constrain and make transparent.
7973         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7974         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7975         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
7976         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
7977         (operator!=(const optional<_Tp>&, _Tp const&)):
7978         Constrain and make transparent.
7979         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
7980         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
7981         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
7982         (operator>(const optional<_Tp>&, const _Tp&)):
7983         Constrain and make transparent.
7984         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
7985         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
7986         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
7987         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
7988         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
7989         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
7990         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
7991         * testsuite/20_util/optional/relops/1.cc: Likewise.
7992         * testsuite/20_util/optional/relops/2.cc: Likewise.
7993         * testsuite/20_util/optional/relops/3.cc: Likewise.
7994         * testsuite/20_util/optional/relops/4.cc: Likewise.
7995         * testsuite/20_util/optional/requirements.cc: Add tests to verify
7996         that optional's relops are transparent and don't synthesize
7997         operators. Also test that assignment sfinaes.
7999 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8001         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
8002         New function.
8003         (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
8004         instead of _M_data().
8005         (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
8006         Likewise.
8007         (append(const basic_string&)): Likewise.
8008         (append(const basic_string&, size_type, size_type)): Likewise.
8009         (assign(const basic_string&, size_type, size_type)): Likewise.
8010         (insert(size_type, const basic_string&)): Likewise.
8011         (insert(size_type, const basic_string&, size_type, size_type)):
8012         Likewise.
8013         (replace(size_type, size_type, const basic_string&, size_type,
8014         size_type)): Likewise.
8015         (replace(__const_iterator, __const_iterator, const basic_string&)):
8016         Likewise.
8017         (c_str(), data()): Use c_str() instead of _M_data().
8018         (data()): Add non-const overload as per LWG 2391 and P0272R1.
8019         (compare(const basic_string&)): Use data() instead of _M_data().
8020         [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
8021         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
8022         Pass raw pointers to _S_copy.
8023         (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
8024         _S_assign.
8025         (find(const _CharT*, size_type, size_type)): Use data instead of
8026         _M_data().
8027         * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
8028         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
8029         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
8031 2016-07-12  Jonathan Wakely  <jwakely@redhat.com>
8033         * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
8034         * doc/xml/manual/intro.xml: Document DR 2458 status.
8035         * doc/html*: Regenerate.
8037         * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
8038         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8039         Only include <array>.
8040         * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
8041         Likewise.
8042         * doc/xml/manual/intro.xml: Document LWG 2212 support.
8043         * doc/html*: Regenerate.
8045         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8046         Add testcase from LWG 2164.
8048 2016-07-11  François Dumont  <fdumont@gcc.gnu.org>
8050         * include/bits/stl_vector.h (push_back(const value_type&)): Forward
8051         to _M_realloc_insert.
8052         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8053         (_M_realloc_insert): Declare new function.
8054         (_M_emplace_back_aux): Remove definition.
8055         * include/bits/vector.tcc (emplace_back(_Args...)):
8056         Use _M_realloc_insert.
8057         (insert(const_iterator, const value_type&)): Likewise.
8058         (_M_insert_rval, _M_emplace_aux): Likewise.
8059         (_M_emplace_back_aux): Remove declaration.
8060         (_M_realloc_insert): Define.
8061         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8062         Adjust expected results for emplacing an lvalue with reallocation.
8064 2016-07-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
8066         Implement std::optional.
8067         * include/Makefile.am: Add optional to exported headers.
8068         * include/Makefile.in: Likewise.
8069         * include/std/optional: New.
8070         * testsuite/20_util/optional/typedefs.cc: Likewise.
8071         * testsuite/20_util/optional/relops/2.cc: Likewise.
8072         * testsuite/20_util/optional/relops/3.cc: Likewise.
8073         * testsuite/20_util/optional/relops/4.cc: Likewise.
8074         * testsuite/20_util/optional/relops/5.cc: Likewise.
8075         * testsuite/20_util/optional/relops/1.cc: Likewise.
8076         * testsuite/20_util/optional/relops/6.cc: Likewise.
8077         * testsuite/20_util/optional/nullopt.cc: Likewise.
8078         * testsuite/20_util/optional/in_place.cc: Likewise.
8079         * testsuite/20_util/optional/make_optional.cc: Likewise.
8080         * testsuite/20_util/optional/assignment/2.cc: Likewise.
8081         * testsuite/20_util/optional/assignment/3.cc: Likewise.
8082         * testsuite/20_util/optional/assignment/4.cc: Likewise.
8083         * testsuite/20_util/optional/assignment/5.cc: Likewise.
8084         * testsuite/20_util/optional/assignment/1.cc: Likewise.
8085         * testsuite/20_util/optional/assignment/6.cc: Likewise.
8086         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
8087         * testsuite/20_util/optional/cons/default.cc: Likewise.
8088         * testsuite/20_util/optional/cons/move.cc: Likewise.
8089         * testsuite/20_util/optional/cons/value.cc: Likewise.
8090         * testsuite/20_util/optional/cons/copy.cc: Likewise.
8091         * testsuite/20_util/optional/requirements.cc: Likewise.
8092         * testsuite/20_util/optional/observers/2.cc: Likewise.
8093         * testsuite/20_util/optional/observers/3.cc: Likewise.
8094         * testsuite/20_util/optional/observers/4.cc: Likewise.
8095         * testsuite/20_util/optional/observers/5.cc: Likewise.
8096         * testsuite/20_util/optional/observers/1.cc: Likewise.
8097         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
8098         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
8099         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8100         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
8101         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
8102         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
8103         * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
8104         * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
8105         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
8106         * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
8107         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
8108         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
8109         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
8110         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
8111         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
8112         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
8113         * testsuite/20_util/optional/swap/1.cc: Likewise.
8115 2016-07-08  Jonathan Wakely  <jwakely@redhat.com>
8117         * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
8119 2016-07-07  Jonathan Wakely  <jwakely@redhat.com>
8121         * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
8122         * doc/html/*: Regenerate.
8124 2016-07-07  Ville Voutilainen  <ville.voutilainen@gmail.com>
8126         Implement std::any.
8127         * include/Makefile.am: Add any and c++17_warning.h to exported headers.
8128         * include/Makefile.in: Likewise.
8129         * include/std/any: New.
8130         * testsuite/20_util/any/assign/1.cc: Likewise.
8131         * testsuite/20_util/any/assign/2.cc: Likewise.
8132         * testsuite/20_util/any/assign/self.cc: Likewise.
8133         * testsuite/20_util/any/cons/1.cc: Likewise.
8134         * testsuite/20_util/any/cons/2.cc: Likewise.
8135         * testsuite/20_util/any/cons/aligned.cc: Likewise.
8136         * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
8137         * testsuite/20_util/any/misc/any_cast.cc: Likewise.
8138         * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
8139         * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
8140         * testsuite/20_util/any/misc/swap.cc: Likewise.
8141         * testsuite/20_util/any/modifiers/1.cc: Likewise.
8142         * testsuite/20_util/any/observers/type.cc: Likewise.
8143         * testsuite/20_util/any/typedefs.cc: Likewise.
8145 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8147         Add a new header for diagnosing the use of C++17 facilities
8148         in pre-C++17 modes.
8149         * include/bits/c++17_warning.h: New.
8151 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8153         Implement LWG 2451, optional<T> should 'forward' T's
8154         implicit conversions.
8155         * include/experimental/optional (__is_optional_impl, __is_optional):
8156         New.
8157         (optional()): Make constexpr and default.
8158         (optional(_Up&&), optional(const optional<_Up>&),
8159         optional(optional<_Up>&& __t): New.
8160         (operator=(_Up&&)): Constrain.
8161         (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
8162         * testsuite/experimental/optional/cons/value.cc:
8163         Add tests for the functionality added by LWG 2451.
8164         * testsuite/experimental/optional/cons/value_neg.cc: New.
8166 2016-07-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8168         Implement LWG 2509,
8169         any_cast doesn't work with rvalue reference targets and cannot
8170         move with a value target.
8171         * include/experimental/any (any(_ValueType&&)): Constrain and
8172         add an overload that doesn't forward.
8173         (any_cast(any&&)): Constrain and add an overload that moves.
8174         * testsuite/experimental/any/misc/any_cast.cc: Add tests for
8175         the functionality added by LWG 2509.
8177 2016-07-04  François Dumont  <fdumont@gcc.gnu.org>
8179         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8180         New test.
8181         * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
8182         test.
8184 2016-07-04  Jonathan Wakely  <jwakely@redhat.com>
8186         * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
8187         Define inline. Forward to _M_emplace_aux.
8188         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8189         (_M_insert_rval, _M_emplace_aux): Declare new functions.
8190         (_Temporary_value): New RAII type using allocator to construct/destroy.
8191         (_S_insert_aux_assign): Remove.
8192         (_M_insert_aux): Make non-variadic.
8193         * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
8194         Use _Temporary_value.
8195         (emplace(const_iterator, _Args&&...)): Remove definition.
8196         (_M_insert_rval, _M_emplace_aux): Define.
8197         (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
8198         (_M_fill_insert): Use _Temporary_value.
8199         * testsuite/23_containers/vector/allocator/construction.cc: New test.
8200         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8201         Adjust expected results for emplacing an lvalue with reallocation.
8202         * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
8203         expected results to account for construction/destruction of temporary
8204         using allocator.
8205         * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
8207 2016-07-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
8209         PR libstdc++/71313
8210         * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
8211         Call remove_all for children of a directory.
8212         * testsuite/experimental/filesystem/operations/create_directories.cc:
8213         Adjust.
8215 2016-07-02  François Dumont  <fdumont@gcc.gnu.org>
8217         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
8218         dg-error line numbers.
8219         * testsuite/23_containers/array/tuple_interface/
8220         tuple_element_debug_neg.cc: Likewise.
8221         * testsuite/25_algorithms/lexicographical_compare/debug/
8222         irreflexive_neg.cc: Remove.
8224 2016-06-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8226         * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
8227         than specific target.
8229 2016-06-27  François Dumont  <fdumont@gcc.gnu.org>
8231         PR libstdc++/71640
8232         * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
8233         friend declaration.
8235 2016-06-23  François Dumont  <fdumont@gcc.gnu.org>
8237         * include/debug/array (array<>::swap): Fix noexcept qualificaton for
8238         zero-size array.
8240 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8242         * configure.host: Remove mep-* support.
8244 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8246         * configure: Regenerate.
8247         * configure.host: Remove support for knetbsd.
8248         * crossconfig.m4: Likewise.
8250 2016-06-20  François Dumont  <fdumont@gcc.gnu.org>
8252         PR libstdc++/71181
8253         * include/tr1/hashtable_policy.h
8254         (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
8255         dereferenceable to avoid check on lower_bound result.
8256         (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
8257         (_Prime_rehash_policy::_M_need_rehash): Likewise.
8258         * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
8259         Always return a value greater than input value. Set _M_next_resize to
8260         max value when reaching highest prime number.
8261         * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
8262         being now useless.
8263         * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
8264         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
8265         (test02): New.
8266         * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
8267         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8268         Fix indentation.
8270 2016-06-17  Jonathan Wakely  <jwakely@redhat.com>
8272         PR libstdc++/71545
8273         * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
8274         Remove irreflexive checks.
8275         * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
8276         binary_search): Likewise.
8277         * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
8278         * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
8279         * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
8280         * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
8281         * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
8282         Add constructor from array.
8284 2016-06-16  François Dumont  <fdumont@gcc.gnu.org>
8286         * include/debug/debug.h
8287         (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
8288         (__glibcxx_requires_subscript): Move...
8289         * include/debug/assertions.h: ...here and add __builtin_expect.
8290         (_GLIBCXX_DEBUG_ONLY): Remove ; value.
8291         * include/bits/stl_deque.h
8292         (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
8293         (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
8294         (std::deque<>::back()): Likewise.
8295         (std::deque<>::pop_front()): Likewise.
8296         (std::deque<>::pop_back()): Likewise.
8297         (std::deque<>::swap(deque&)): Add allocator check.
8298         * include/bits/stl_vector.h
8299         (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
8300         (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
8301         (std::vector<>::back()): Likewise.
8302         (std::vector<>::pop_back()): Likewise.
8303         (std::vector<>::swap(vector&)): Add allocator check.
8305 2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>
8307         Provide swappable traits (p0185r1)
8308         * include/std/type_traits (is_swappable, is_nothrow_swappable,
8309         is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
8310         is_nothrow_swappable_v, is_swappable_with_v,
8311         is_nothrow_swappable_with_v): New.
8312         * include/bits/stl_pair.h: Use it as per p0185r1.
8313         * include/bits/stl_queue.h: Likewise.
8314         * include/bits/stl_stack.h: Likewise.
8315         * include/bits/unique_ptr.h: Likewise.
8316         * include/std/tuple: Likewise.
8317         * include/std/array: Likewise. Fix zero-size member swap.
8318         * include/bits/hashtable.h: Use __and_.
8319         * testsuite/20_util/is_nothrow_swappable/requirements/
8320         explicit_instantiation.cc: Change test options to std=gnu++17.
8321         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
8322         Likewise.
8323         * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
8324         * testsuite/20_util/is_swappable/requirements/
8325         explicit_instantiation.cc: Likewise.
8326         * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
8327         * testsuite/20_util/is_swappable/value.cc: Likewise.
8328         * testsuite/20_util/is_nothrow_swappable/requirements/
8329         explicit_instantiation_ext.cc: New.
8330         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
8331         New.
8332         * testsuite/20_util/is_nothrow_swappable/value.h: New.
8333         * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
8334         * testsuite/20_util/is_nothrow_swappable_with/requirements/
8335         explicit_instantiation.cc: New.
8336         * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
8337         New.
8338         * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
8339         * testsuite/20_util/is_swappable/requirements/
8340         explicit_instantiation_ext.cc: New.
8341         * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
8342         * testsuite/20_util/is_swappable/value.h: New.
8343         * testsuite/20_util/is_swappable/value_ext.cc: New.
8344         * testsuite/20_util/is_swappable_with/requirements/
8345         explicit_instantiation.cc: New.
8346         * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
8347         * testsuite/20_util/is_swappable_with/value.cc: New.
8348         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
8349         dg-error line numbers.
8350         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
8351         Likewise.
8353 2016-06-16  Jonathan Wakely  <jwakely@redhat.com>
8355         * include/std/array: Remove trailing whitespace.
8356         * include/std/atomic: Likewise.
8357         * include/std/bitset: Likewise.
8358         * include/std/chrono: Likewise.
8359         * include/std/complex: Likewise.
8360         * include/std/condition_variable: Likewise.
8361         * include/std/fstream: Likewise.
8362         * include/std/functional: Likewise.
8363         * include/std/future: Likewise.
8364         * include/std/iomanip: Likewise.
8365         * include/std/iosfwd: Likewise.
8366         * include/std/istream: Likewise.
8367         * include/std/limits: Likewise.
8368         * include/std/ratio: Likewise.
8369         * include/std/scoped_allocator: Likewise.
8370         * include/std/sstream: Likewise.
8371         * include/std/stdexcept: Likewise.
8372         * include/std/string: Likewise.
8373         * include/std/system_error: Likewise.
8374         * include/std/thread: Likewise.
8375         * include/std/tuple: Likewise.
8376         * include/std/type_traits: Likewise.
8377         * include/std/utility: Likewise.
8378         * include/std/valarray: Likewise.
8379         * include/std/vector: Likewise.
8381         * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
8382         new overloaded functions.
8383         * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
8384         to avoid creating a redundant temporary.
8385         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
8386         test.
8388 2016-06-15  François Dumont  <fdumont@gcc.gnu.org>
8390         * include/bits/stl_deque.h
8391         (std::deque<>::operator=): Call _M_assign_aux.
8392         (std::deque<>::assign(initializer_list<>)): Likewise.
8393         (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8394         (std::deque<>::insert(const_iterator, initializer_list<>)):
8395         Call _M_range_insert_aux.
8396         (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
8397         Likewise.
8398         (std::deque<>::_M_fill_assign): Call _M_fill_insert.
8399         (std::deque<>::_M_move_assign2): Call _M_assign_aux.
8400         * include/bits/deque.tcc
8401         (std::deque<>::operator=): Call _M_range_insert_aux.
8402         (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
8403         Likewise.
8404         * include/bits/stl_vector.h
8405         (std::vector<>::operator=): Call _M_assign_aux.
8406         (std::vector<>::assign(initializer_list<>)): Likewise.
8407         (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8408         (std::vector<>::insert(const_iterator, initializer_list<>)):
8409         Call _M_range_insert.
8410         * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
8412 2016-06-07  François Dumont  <fdumont@gcc.gnu.org>
8414         * include/std/tuple (_Head_base<>): Default specialization condition at
8415         type declaration.
8417 2016-06-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8419         Support allocators in tuples of zero size.
8420         * include/std/tuple (tuple<>::tuple(),
8421         tuple<>::tuple(allocator_arg_t, const _Alloc&),
8422         tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
8423         * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
8425 2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
8427         PR libstdc++/71320
8428         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
8429         Add or remove permissions according to perms argument.
8430         * testsuite/experimental/filesystem/operations/permissions.cc: New
8431         test.
8433 2016-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8435         Protect allocator-overloads of tuple-from-tuple constructors
8436         from cases that would create dangling references.
8437         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8438         const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
8439         tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
8440         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
8442 2016-05-29  Gerald Pfeifer  <gerald@pfeifer.com>
8444         * doc/xml/manual/backwards_compatibility.xml: Adjust
8445         lists.debian.org link to https.
8446         * doc/html/manual/backwards.html: Regenerate.
8448 2016-05-27  Jonathan Wakely  <jwakely@redhat.com>
8450         * doc/xml/manual/abi.xml: Adjust URL to use https.
8451         * doc/html/manual/*: Regenerate.
8453 2016-05-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
8455         PR libstdc++/66338
8456         * include/std/tuple (_TMC): Add a check for _NotSameTuple.
8457         * include/std/tuple (tuple(_UElements&&...)): Remove the separate
8458         check for _NotSameTuple.
8459         * include/std/tuple (_TMCT): New.
8460         * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
8461         * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
8462         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8463               const tuple<_UElements...>&)): Likewise.
8464         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8465               tuple<_UElements...>&&)): Likewise.
8466         * testsuite/20_util/tuple/cons/66338.cc: New.
8468 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
8470         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
8471         * configure: Regenerate.
8472         * config.h.in: Regenerate.
8474         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
8475         * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
8476         Remove const qualification on function. Replace
8477         _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
8478         (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
8479         (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
8481 2016-05-24  François Dumont  <fdumont@gcc.gnu.org>
8483         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
8484         * include/bits/hashtable_policy.h
8485         (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
8486         having load factor management.
8487         (_Mask_range_hashing): New.
8488         (__clp2): New.
8489         (_Power2_rehash_policy): New.
8490         (_Inserts<>): Remove last template parameter, _Unique_keys, so that
8491         partial specializations only depend on whether iterators are constant
8492         or not.
8493         * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
8494         test new hash policy.
8495         * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
8496         Likewise.
8497         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8498         Likewise.
8499         * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
8500         Likewise.
8501         * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
8502         Likewise.
8503         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
8504         New.
8505         * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
8506         using the new hash policy.
8507         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
8509 2016-05-24  Jonathan Wakely  <jwakely@redhat.com>
8511         * include/bits/stl_queue.h (priority_queue::value_compare): Define.
8513 2016-05-23  François Dumont  <fdumont@gcc.gnu.org>
8515         * include/debug/safe_iterator.h
8516         (_Safe_iterator<>::operator->()): Implement using underlying iterator
8517         operator ->.
8518         * include/debug/safe_local_iterator.h
8519         (_Safe_local_iterator<>::operator->()): Likewise.
8521 2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8523         * testsuite/experimental/memory_resource/1.cc: Add required argument
8524         to dg-require-atomic-builtins.
8526 2016-05-13  Jonathan Wakely  <jwakely@redhat.com>
8528         PR libstdc++/71073
8529         * include/debug/bitset: Add #pragma GCC system_header.
8530         * include/debug/deque: Likewise.
8531         * include/debug/list: Likewise.
8532         * include/debug/map: Likewise.
8533         * include/debug/set: Likewise.
8534         * include/debug/string: Likewise.
8535         * include/debug/unordered_map: Likewise.
8536         * include/debug/unordered_set: Likewise.
8537         * include/debug/vector: Likewise.
8538         * include/debug/functions.h: Adjust whitespace.
8540 2016-05-12  Jonathan Wakely  <jwakely@redhat.com>
8542         PR libstdc++/71081
8543         * testsuite/experimental/memory_resource/1.cc: Require atomics.
8545 2016-05-11  Jonathan Wakely  <jwakely@redhat.com>
8547         PR libstdc++/71049
8548         * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
8549         exception constructors with __sso_string parameters.
8551 2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
8553         * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
8554         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8555         Test begin and end functions.
8556         * testsuite/experimental/filesystem/iterators/
8557         recursive_directory_iterator.cc: Likewise.
8559         PR libstdc++/71038
8560         * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
8561         * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
8563         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8564         Overload operator* to move from rvalues.
8566         PR libstdc++/71036
8567         * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
8568         * testsuite/experimental/filesystem/operations/create_directory.cc:
8569         New test.
8571         PR libstdc++/71037
8572         * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
8573         base path to exception.
8574         * testsuite/experimental/filesystem/operations/canonical.cc: Test
8575         paths contained in exception.
8577         * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
8578         using declaration.
8580         PR libstdc++/71005
8581         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8582         New type.
8583         (directory_iterator::operator++(int)): Return proxy.
8584         (recursive_directory_iterator::operator++(int)): Likewise.
8585         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8586         Test post-increment.
8587         * testsuite/experimental/filesystem/iterators/
8588         recursive_directory_iterator.cc: Likewise.
8590 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8592         PR libstdc++/71004
8593         * testsuite/experimental/filesystem/iterators/
8594         recursive_directory_iterator.cc: Fix test02 to not call member
8595         functions on invalid iterator, and use VERIFY not assert.
8597 2016-05-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
8599         Avoid endless run-time recursion for copying single-element
8600         tuples where the element type is by-value constructible
8601         from any type.
8602         * include/std/tuple (_NotSameTuple): New.
8603         * include/std/tuple (tuple(_UElements&&...): Use it.
8604         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
8606 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8608         PR libstdc++/71004
8609         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
8610         Initialize scalar member variables in default constructor.
8611         * testsuite/experimental/filesystem/iterators/
8612         recursive_directory_iterator.cc: Test default construction.
8614 2016-05-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8616         * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
8618 2016-05-05  Jonathan Wakely  <jwakely@redhat.com>
8620         * testsuite/experimental/filesystem/path/native/string.cc: Add
8621         dg-require-filesystem-ts directive.
8623 2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
8625         PR libstdc++/70940
8626         * include/experimental/memory_resource
8627         (__resource_adaptor_imp::do_allocate): Do not default-construct
8628         rebound allocator.
8629         (__resource_adaptor_imp::do_deallocate): Likewise. Use
8630         allocator_traits to get pointer type.
8631         (__null_memory_resource::do_allocate): Remove unused parameters.
8632         (__null_memory_resource::do_deallocate): Likewise.
8633         (__null_memory_resource::do_is_equal): Likewise. Add return statement.
8634         * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
8635         * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
8636         move to ...
8637         * testsuite/experimental/memory_resource/1.cc: Here.
8638         * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
8639         * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
8641 2016-04-29  Chris Gregory  <czipperz@gmail.com>
8643         * config/*: Remove trailing whitespace.
8644         * src/*: Likewise.
8645         * testsuite/tr1/*: Likewise.
8646         * testsuite/util/*: Likewise.
8648 2016-04-28  Jonathan Wakely  <jwakely@redhat.com>
8650         PR libstdc++/70766
8651         * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
8652         __addressof.
8653         * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
8654         Likewise.
8655         * include/std/atomic (atomic<_Tp>): Likewise.
8656         * include/std/shared_mutex (shared_lock): Likewise.
8657         * testsuite/24_iterators/istream_iterator/70766.cc: New test.
8658         * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
8659         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
8660         * testsuite/29_atomics/atomic/70766.cc: New test.
8661         * testsuite/30_threads/shared_lock/70766.cc: New test.
8663         * include/bits/hashtable_policy.h (__detail::_Insert_base,
8664         __detail::_Insert): Improve comments.
8666 2016-04-27  Jonathan Wakely  <jwakely@redhat.com>
8668         PR libstdc++/70767
8669         * include/std/limits: Update comments about DRs.
8670         (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
8671         numeric_limits<const volatile _Tp>): Define unconditionally.
8673 2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
8675         PR libstdc++/70762
8676         * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
8677         static counter to return a different path on every call.
8679 2016-04-22  Tim Shen  <timshen@google.com>
8681         PR libstdc++/70745
8682         * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
8683         Fix the match_not_bow and match_not_eow behavior.
8684         * testsuite/28_regex/regression.cc: Add testcase.
8686 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
8688         PR libstdc++/69703
8689         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
8690         __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
8692 2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
8694         PR libstdc++/69703
8695         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
8696         Override endianness bit in mode.
8697         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
8698         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
8699         that little_endian mode is ignored.
8700         * testsuite/experimental/filesystem/path/native/string.cc: New test.
8702         PR libstdc++/70609
8703         * src/filesystem/ops.cc (close_fd): New function.
8704         (do_copy_file): Set permissions before copying file contents. Check
8705         result of closing file descriptors. Don't copy streambuf when file
8706         is empty.
8707         (copy(const path&, const path&, copy_options, error_code&)): Use
8708         lstat for source file when copy_symlinks is set.
8709         * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
8711         * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
8712         operator~ operator&=, operator|=, operator^=): Add noexcept to
8713         overloaded operators for copy_options, perms and directory_options.
8714         * src/filesystem/ops.cc (make_file_type, make_file_status,
8715         is_not_found_errno, file_time): Add noexcept.
8717 2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>
8719         * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
8721 2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
8723         PR libstdc++/41759
8724         * include/bits/random.h: Reword static assertion messages to state
8725         positive conditions.
8726         * include/bits/random.tcc: Likewise.
8727         * include/bits/uniform_int_dist.h: Likewise.
8728         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
8729         patterns.
8731         * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
8733         * config/cpu/sh/atomicity.h: Fix typo in comment.
8735         PR libstdc++/70294
8736         * include/std/thread (operator<, operator==): Move definitions to
8737         namespace-scope.
8738         * testsuite/30_threads/thread/id/70294.cc: New test.
8740         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
8741         -Wno-pedantic to dg-options.
8742         * testsuite/20_util/align/2.cc: Use type as operand of alignof.
8743         * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
8744         to dg-options.
8745         * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
8746         Remove extra semi-colon.
8747         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8748         Always supply second argument to static_assert.
8749         * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
8750         semi-colon.
8751         * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
8752         dg-options.
8753         * testsuite/26_numerics/complex/literals/values.cc: Likewise.
8754         * testsuite/29_atomics/atomic/60695.cc: Likewise.
8755         * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
8756         alignof when operand is an object not a type.
8757         * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
8758         * testsuite/decimal/make-decimal.cc: Likewise.
8759         * testsuite/experimental/type_traits/value.cc: Always supply second
8760         argument to static_assert.
8761         * testsuite/util/testsuite_common_types.h: Use __extension__ for
8762         __int128 types.
8764         * testsuite/experimental/type_erased_allocator/1.cc: Don't include
8765         internal header.
8766         * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
8767         * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
8768         * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
8769         Likewise. Add licence and change to compile-only test.
8771         * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
8772         unused parameter.
8773         * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
8775         * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
8776         warnings.
8778 2016-04-17  Edward Smith-Rowland  <3dw4rd@verizon.net>
8780         * include/bits/specfun.h: Trivial comment misspelling.
8782 2016-04-14  Jason Merrill  <jason@redhat.com>
8784         Revert Jonathan's empty ABI change from yesterday.
8786 2016-04-13  Martin Sebor  <msebor@redhat.com>
8788         PR c++/69517
8789         * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
8790         upper bound is positive.
8792 2016-04-13  Jonathan Wakely  <jwakely@redhat.com>
8794         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
8795         _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
8796         * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
8797         of functions taking empty structs by value. Add a template parameter
8798         to overloads without hints. Rename overloads with hints to
8799         _M_emplace_hint.
8800         (_Hashtable::_M_erase(true_type, const_iterator),
8801         _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
8802         by reordering parameters.
8803         * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
8804         _M_emplace_hint instead of _M_emplace.
8805         * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
8806         shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
8807         * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
8808         __shared_ptr): Likewise.
8809         * include/bits/stl_algo.h (replace_if): Likewise.
8810         * include/bits/stl_pair.h (piecewise_construct_t,
8811         piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
8812         * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
8813         __uses_alloc0): Likewise.
8814         * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
8815         * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
8816         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
8817         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
8818         * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
8819         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
8820         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
8822 2016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
8824         Document C++17/TR29124 C++ Special Math Functions.
8825         * include/bits/specfun.h: Add Doxygen markup.
8827 2016-04-07  Jonathan Wakely  <jwakely@redhat.com>
8829         * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
8831 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
8833         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
8834         * src/Makefile.in: Regenerate.
8836 2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
8838         PR libstdc++/70554
8839         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
8840         __atomic_fetch_add for bool.
8841         * configure: Regenerate.
8843         * testsuite/30_threads/thread/70503.cc: Require -static to work.
8845         PR libstdc++/70503
8846         * src/c++11/thread.cc (execute_native_thread_routine,
8847         execute_native_thread_routine_compat): Give internal linkage.
8848         * testsuite/30_threads/thread/70503.cc: New test.
8850 2016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8852         PR libstdc++/70437
8853         * include/bits/stl_pair.h (_ConstructiblePair,
8854         _ImplicitlyConvertiblePair, _MoveConstructiblePair,
8855         _ImplicitlyMoveConvertiblePair): Add shortcut conditions
8856         for same-type cases.
8857         * testsuite/20_util/pair/70437.cc: New.
8859 2016-03-24  Jonathan Wakely  <jwakely@redhat.com>
8861         PR libstdc++/69945
8862         * config/abi/pre/gnu.ver: Add new symbol.
8863         * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
8864         * testsuite/18_support/free_eh_pool.cc: New test.
8866 2016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8868         * include/Makefile.am (install-freestanding-headers): Add
8869         concept_check.h and move.h to the installed headers.
8870         * include/Makefile.in: Regenerated.
8871         * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
8872         freestanding implementations.
8873         * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
8874         that this macro has no effect for freestanding implementations.
8875         * doc/html/manual/using_macros.html: Likewise.
8877 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
8879         PR libstdc++/69939
8880         * include/experimental/tuple (__apply_impl): Qualify get and forward.
8882 2016-02-23  Jonathan Wakely  <jwakely@redhat.com>
8884         * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
8885         * doc/html/*: Regenerate.
8887         PR libstdc++/69893
8888         * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
8889         exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
8890         llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
8891         nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
8892         trunc) [__cplusplus >= 201103L]: Import from namespace std.
8893         (fabs) [__cplusplus < 201103L]: Import from namespace std.
8894         * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
8895         Likewise.
8896         * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
8897         namespace before including TR1 headers.
8898         * testsuite/tr1/headers/c++200x/math.cc: New test.
8900 2016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8902         PR libstdc++/69881
8903         * include/c_global/cstdarg: Undefine __need___va_list.
8904         * include/c_global/cstddef: Undefine all kinds of __need_*.
8906 2016-02-16  Tim Shen  <timshen@google.com>
8908         PR libstdc++/69794
8909         * include/bits/regex_scanner.h: Add different special character
8910         sets for grep and egrep regex.
8911         * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
8912         * testsuite/28_regex/regression.cc: Add new testcase.
8914 2016-02-08  Jonathan Wakely  <jwakely@redhat.com>
8916         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
8917         added 'constexpr' in previous commit.
8918         * configure: Regenerate.
8920         PR libstdc++/48891
8921         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
8922         checks for all targets except *-*-solaris2.* and ensure we find the
8923         libc math.h header not our own.
8924         * configure: Regenerate.
8926 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
8928         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
8929         New file.  Copied over from s390-linux-gnu.
8931 2016-02-04  Jonathan Wakely  <jwakely@redhat.com>
8933         PR libstdc++/69626
8934         * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
8935         with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
8936         * config.h.in: Regenerate.
8937         * configure: Regenerate.
8938         * testsuite/21_strings/c_strings/char/69626.cc: New.
8940         * doc/html/index.html: Regenerate.
8942         * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
8943         * doc/xml/manual/spine.xml: Update copyright years and author blurb.
8944         * doc/html/*: Regenerate.
8946 2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8948         PR libstdc++/69581
8949         * include/c_compatibility/math.h: Move header guards.
8950         * include/c_compatibility/stdlib.h: Likewise.
8952 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
8954         PR libstdc++/69506
8955         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
8957 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
8959         PR libstdc++/69450
8960         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
8961         isinf and isnan functions into two independent checks.  Check on hpux.
8962         * config.h.in: Regenerate.
8963         * configure: Regenerate.
8964         * include/c_global/cmath (isinf(double), isnan(double)): Use
8965         _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
8966         respectively.
8968 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
8970         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
8972 2016-01-27  Jonathan Wakely  <jwakely@redhat.com>
8974         PR libstdc++/69295
8975         * testsuite/ext/special_functions/hyperg/check_value.cc: Use
8976         -ffp-contract=off, and -ffloat-store to disable excess precision.
8977         * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
8978         -ffp-contract=off.
8980 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
8982         PR libstdc++/69478
8983         * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
8984         random_access_iterator_tag>): Check is_move_assignable when moving.
8985         (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
8986         Likewise.
8987         * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
8988         * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
8989         * testsuite/25_algorithms/move/69478.cc: New.
8990         * testsuite/25_algorithms/move_backward/69478.cc: new.
8992 2016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
8994         * include/c_compatibility/stdlib.h: Include wide character related
8995         definitions only when they are available in cstdlib.
8997 2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
8999         PR libstdc++/69464
9000         * include/Makefile.am: Add new header.
9001         * include/Makefile.in: Regenerate.
9002         * include/bits/random.h (uniform_int_distribution): Move to
9003         bits/uniform_int_dist.h.
9004         * include/bits/random.tcc (uniform_int_distribution::operator(),
9005         uniform_int_distribution::__generate_impl): Likewise.
9006         * include/bits/uniform_int_dist.h: New header.
9007         * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
9008         <bits/uniform_int_dist.h> instead of <random>.
9009         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
9010         move_iterators/1.cc: Include correct header for uninitialized_copy.
9011         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
9012         move_iterators/1.cc: Likewise.
9013         * testsuite/25_algorithms/nth_element/58800.cc: Include correct
9014         header for vector.
9015         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
9017 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
9019         PR libstdc++/69446
9020         * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9022 2016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
9024         TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
9025         * include/c_compatibility/math.h: Import the TR29124 functions
9026         into the global namespace.
9027         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
9028         xfail and make compile-only.
9029         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
9030         * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
9031         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
9032         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
9033         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
9034         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
9035         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
9036         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
9037         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
9038         * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
9039         * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
9040         * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
9041         * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
9042         * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
9043         * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
9044         * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
9045         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
9046         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
9047         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
9048         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
9050 2016-01-22  Jonathan Wakely  <jwakely@redhat.com>
9052         PR libstdc++/69116
9053         * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
9054         define result_type for types which can be safely used with valarrays.
9055         * testsuite/26_numerics/valarray/69116.cc: New.
9057         PR libstdc++/69413
9058         * config/os/gnu-linux/os_defines.h: Define
9059         _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
9060         * include/c_global/cmath (isinf, isnan): Check it.
9061         * doc/xml/manual/internals.xml: Document it.
9062         * doc/html/*: Regenerate.
9064 2016-01-21  Jonathan Wakely  <jwakely@redhat.com>
9066         PR libstdc++/69406
9067         * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
9068         * include/ext/type_traits.h: Likewise.
9069         * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
9070         for presence of C headers.
9071         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
9072         dg-error line number.
9073         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
9074         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
9075         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
9077 2016-01-20  Torvald Riegel  <triegel@redhat.com>
9079         PR libstdc++/69310
9080         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9082 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
9084         PR libstdc++/60401
9085         * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
9086         copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
9087         lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
9088         nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
9089         tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
9090         Add using declarations.
9091         * testsuite/26_numerics/headers/cmath/60401.cc: New.
9093         PR libstdc++/69386
9094         * include/c_global/ccomplex: Ensure C++ language linkage.
9095         * include/c_global/cmath: Likewise.
9096         * include/c_global/cstdlib: Likewise.
9097         * include/c_global/ctgmath: Likewise.
9098         * testsuite/17_intro/headers/c++2011/linkage.cc: New.
9100 2016-01-19  Jonathan Wakely  <jwakely@redhat.com>
9102         PR libstdc++/14608
9103         PR libstdc++/60401
9104         * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
9105         --enable-cheaders=c_global configs.
9106         * include/Makefile.in: Regenerate.
9107         * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
9108         test and allow inclusion from C files.
9109         * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
9110         (at_quick_exit, quick_exit): Add using directives.
9111         * include/c_global/cmath: Use #include_next for math.h.
9112         * include/c_global/cstdlib: Use #include_next for stdlib.h.
9113         * testsuite/26_numerics/headers/cmath/14608.cc: New.
9114         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
9115         Remove xfail for most targets.
9116         * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
9118 2016-01-18  Torvald Riegel  <triegel@redhat.com>
9120         * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
9121         (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
9122         and move after its definition.
9123         * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
9124         * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
9125         __GXX_WEAK__, and only provide transactional clones if
9126         _GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
9127         functions.
9129 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
9131         PR libstdc++/60637
9132         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
9134         PR libstdc++/69243
9135         * include/std/functional (_Function_base::_M_not_empty_function):
9136         Change overloads for pointers to take arguments by value.
9137         * testsuite/20_util/function/cons/57465.cc: Add tests for
9138         pointer-to-member cases.
9140         PR libstdc++/69340
9141         * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
9142         Use macros for exception handling and fix unused parameter warning.
9144 2016-01-17  John David Anglin  <danglin@gcc.gnu.org>
9146         PR libstdc++/68734
9147         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
9149 2016-01-17  Torvald Riegel  <triegel@redhat.com>
9151         * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
9153 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
9155         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
9156         __int128 symbols.
9158 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9160         PR libstdc++/69293
9161         * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
9162         static assertion that type is constructible from the arguments.
9163         * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
9164         * testsuite/20_util/uses_allocator/69293_neg.cc: New.
9165         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
9167         PR libstdc++/69294
9168         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9169         and isnan on AIX. Quote variables.
9170         * configure: Regenerate.
9172 2016-01-15  Torvald Riegel  <triegel@redhat.com>
9174         * include/bits/basic_string.h (basic_string): Declare friends.
9175         * include/bits/c++config (_GLIBCXX_TXN_SAFE,
9176         _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
9177         * include/std/stdexcept (logic_error, domain_error, invalid_argument,
9178         length_error, out_of_range, runtime_error, range_error,
9179         underflow_error, overflow_error): Declare members as transaction-safe.
9180         (logic_error, runtime_error): Declare friend functions.
9181         * libsupc++/exception (exception, bad_exception): Declare members as
9182         transaction-safe.
9183         * src/c++11/cow-stdexcept.cc: Define transactional clones for the
9184         transaction-safe members of exceptions and helper functions.
9185         * libsupc++/eh_exception.cc: Adjust and define transactional clones.
9186         * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
9187         (CXXABI_1.3.10): New.
9188         * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
9189         (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
9190         * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
9191         * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
9192         * include/Makefile.in: Regenerate.
9193         * config.h.in: Regenerate.
9194         * configure: Regenerate.
9195         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
9197 2016-01-15  Steve Ellcey  <sellcey@imgtec.com>
9199         * include/ext/random.tcc: Use __builtin_isfinite instead of
9200         std::isfinite.
9202 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9204         * include/bits/std_mutex.h: Fix Doxygen @file name.
9206 2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
9207             Jonathan Wakely  <jwakely@redhat.com>
9208             Florian Goth <CaptainSifff@gmx.de>
9210         Implement TR29124 C++ special Math Functions.
9211         * include/Makefile.am: Add new headers.
9212         * include/Makefile.in: Regenerate.
9213         * include/bits/specfun.h: New.
9214         * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
9215         * include/tr1/bessel_function.tcc: Ditto.
9216         * include/tr1/beta_function.tcc: Ditto.
9217         * include/tr1/cmath: Ditto.
9218         * include/tr1/ell_integral.tcc: Ditto.
9219         * include/tr1/exp_integral.tcc: Ditto.
9220         * include/tr1/gamma.tcc: Ditto.
9221         * include/tr1/hypergeometric.tcc: Ditto.
9222         * include/tr1/legendre_function.tcc: Ditto.
9223         * include/tr1/modified_bessel_func.tcc: Ditto.
9224         * include/tr1/poly_hermite.tcc: Ditto.
9225         * include/tr1/poly_laguerre.tcc: Ditto.
9226         * include/tr1/riemann_zeta.tcc: Ditto.
9227         * include/tr1/special_function_util.h: Ditto.
9228         * testsuite/ext/special_functions/conf_hyperg: New.
9229         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
9230         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
9231         * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
9232         * testsuite/ext/special_functions/hyperg: New.
9233         * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
9234         * testsuite/ext/special_functions/hyperg/check_value.cc: New.
9235         * testsuite/ext/special_functions/hyperg/compile.cc: New.
9236         * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
9237         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
9238         * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
9239         * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
9240         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
9241         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
9242         * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
9243         * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
9244         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
9245         * testsuite/special_functions/03_beta/check_nan.cc: New.
9246         * testsuite/special_functions/03_beta/check_value.cc: New.
9247         * testsuite/special_functions/03_beta/compile.cc: New.
9248         * testsuite/special_functions/03_beta/compile_2.cc: New.
9249         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
9250         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
9251         * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
9252         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
9253         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
9254         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
9255         * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
9256         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
9257         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
9258         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
9259         * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
9260         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
9261         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
9262         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
9263         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
9264         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
9265         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
9266         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
9267         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
9268         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
9269         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
9270         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
9271         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
9272         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
9273         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
9274         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
9275         * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
9276         * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
9277         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
9278         * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
9279         * testsuite/special_functions/11_ellint_1/check_value.cc: New.
9280         * testsuite/special_functions/11_ellint_1/compile.cc: New.
9281         * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
9282         * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
9283         * testsuite/special_functions/12_ellint_2/check_value.cc: New.
9284         * testsuite/special_functions/12_ellint_2/compile.cc: New.
9285         * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
9286         * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
9287         * testsuite/special_functions/13_ellint_3/check_value.cc: New.
9288         * testsuite/special_functions/13_ellint_3/compile.cc: New.
9289         * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
9290         * testsuite/special_functions/14_expint/check_nan.cc: New.
9291         * testsuite/special_functions/14_expint/check_value.cc: New.
9292         * testsuite/special_functions/14_expint/compile.cc: New.
9293         * testsuite/special_functions/14_expint/compile_2.cc: New.
9294         * testsuite/special_functions/15_hermite/check_nan.cc: New.
9295         * testsuite/special_functions/15_hermite/check_value.cc: New.
9296         * testsuite/special_functions/15_hermite/compile.cc: New.
9297         * testsuite/special_functions/15_hermite/compile_2.cc: New.
9298         * testsuite/special_functions/16_laguerre/check_nan.cc: New.
9299         * testsuite/special_functions/16_laguerre/check_value.cc: New.
9300         * testsuite/special_functions/16_laguerre/compile.cc: New.
9301         * testsuite/special_functions/16_laguerre/compile_2.cc: New.
9302         * testsuite/special_functions/17_legendre/check_nan.cc: New.
9303         * testsuite/special_functions/17_legendre/check_value.cc: New.
9304         * testsuite/special_functions/17_legendre/compile.cc: New.
9305         * testsuite/special_functions/17_legendre/compile_2.cc: New.
9306         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
9307         * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
9308         * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
9309         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
9310         * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
9311         * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
9312         * testsuite/special_functions/19_sph_bessel/compile.cc: New.
9313         * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
9314         * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
9315         * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
9316         * testsuite/special_functions/20_sph_legendre/compile.cc: New.
9317         * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
9318         * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
9319         * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
9320         * testsuite/special_functions/21_sph_neumann/compile.cc: New.
9321         * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
9322         * testsuite/util/specfun_testcase.h: New.
9323         * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
9324         * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
9325         * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
9326         * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
9327         * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
9328         * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
9329         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
9331 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
9333         PR libstdc++/48891
9334         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9335         and isnan functions.
9336         * config.h.in: Regenerate.
9337         * configure: Regenerate.
9338         * include/c_global/cmath (isinf(double), isnan(double))
9339         [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
9340         * testsuite/26_numerics/headers/cmath/48891.cc: New.
9342 2016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9344         PR libstdc++/66006
9345         * configure.host (abi_baseline_pair): Use separate baseline for
9346         Solaris 11+ and Solaris 10 with gld.
9347         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
9348         * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
9349         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
9351 2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
9353         PR libstdc++/68877
9354         * include/std/type_traits: Following N4511, reimplement __is_swappable
9355         and __is_nothrow_swappable. Move __is_swappable to namespace std,
9356         adjust callers. Use __is_nothrow_swappable in swap.
9357         * include/bits/move.h: Use __is_nothrow_swappable in swap.
9358         * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
9359         __is_swappable related tests.
9360         * testsuite/20_util/is_swappable/value.cc: New.
9361         * testsuite/20_util/is_swappable/requirements/
9362         explicit_instantiation.cc: New.
9363         * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
9364         * testsuite/25_algorithms/swap/68877.cc: New.
9366 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
9368         * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
9370         PR libstdc++/69005
9371         PR libstdc++/69222
9372         * include/std/functional (function::_Invoke): Remove, use result_of.
9373         (function::_Callable): Replace alias template with class template
9374         and use partial specialization instead of _NotSelf alias template.
9375         (function(_Functor)): Add "not self" constraint so that _Callable is
9376         not used while type is incomplete.
9377         * testsuite/20_util/function/69222.cc: New.
9379 2016-01-11  Jonathan Wakely  <jwakely@redhat.com>
9381         PR libstdc++/60976
9382         * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
9383         Define partial specialization.
9384         * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
9385         destroy members to std::allocator explicit specialization.
9387 2016-01-08  Jonathan Wakely  <jwakely@redhat.com>
9389         * testsuite/26_numerics/headers/cmath/
9390         c99_classification_macros_c++.cc: Rename to ...
9391         * testsuite/26_numerics/headers/cmath/
9392         c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
9393         * testsuite/26_numerics/headers/cmath/
9394         c99_classification_macros_c++0x.cc: Rename to ...
9395         * testsuite/26_numerics/headers/cmath/
9396         c99_classification_macros_c++11.cc: Here.
9398         PR libstdc++/69190
9399         * include/bits/uses_allocator.h: Add missing include.
9401 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
9403         PR libstdc++/69105
9404         PR libstdc++/69106
9405         PR libstdc++/69114
9406         * include/bits/stl_iterator.h (back_insert_iterator,
9407         front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
9408         * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
9409         * include/std/future (__future::base::_State_baseV2::__setter):
9410         Likewise.
9411         * include/std/scoped_allocator (__outermost): Likewise.
9412         * testsuite/20_util/scoped_allocator/69114.cc: New.
9413         * testsuite/20_util/uses_allocator/69114.cc: New.
9414         * testsuite/30_threads/promise/69106.cc: New.
9416 2016-01-06  Jonathan Wakely  <jwakely@redhat.com>
9418         PR libstdc++/69092
9419         * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
9420         Remove _GLIBCXX_NOEXCEPT.
9421         testsuite/21_strings/basic_string/cons/char/69092.cc: New.
9423         * include/Makefile.am: Adjust.
9424         * include/Makefile.in: Regenerate.
9425         * include/bits/mutex.h: Rename to bits/std_mutex.h.
9426         * include/std/condition_variable: Adjust include.
9427         * include/std/mutex: Likewise.
9429 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
9431         Update copyright years.
9433 Copyright (C) 2016 Free Software Foundation, Inc.
9435 Copying and distribution of this file, with or without modification,
9436 are permitted in any medium without royalty provided the copyright
9437 notice and this notice are preserved.