[Patch 4/17] Implement TARGET_C_EXCESS_PRECISION for m68k
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobd663f70962f2967b5ae23ec39f3d98dd96094da3
1 2016-11-23  Felix Morgner  <felix.morgner@gmail.com>
2             Jonathan Wakely  <jwakely@redhat.com>
4         PR libstdc++/78490
5         * include/experimental/propagate_const (propagate_const::operator=):
6         Add missing return statements.
7         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
8         Adjust dg-error line numbers.
9         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
11 2016-11-22  Uros Bizjak  <ubizjak@gmail.com>
13         * testsuite/Makefile.am
14         (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection
15         of -j argument.
16         * testsuite/Makefile.in: Regenereate.
18 2016-11-22  Jonathan Wakely  <jwakely@redhat.com>
20         PR libstdc++/78465
21         * testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests
22         with preprocessor conditions.
24 2016-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
26         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Update comments.
27         (__CORRECT_ISO_CPP11_MATH_H_PROTO): Rename to ...
28         (__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): ... this.
29         Add test for C++11 <math.h> integral overloads.
30         * configure: Regenerate.
31         * config.h.in: Regenerate.
33         * include/c_global/cmath [__cplusplus >= 201103L]: Reflect
34         __CORRECT_ISO_CPP11_MATH_H_PROTO to
35         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
36         * include/c_global/cmath [_GLIBCXX_USE_C99_MATH &&
37         !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC && __cplusplus >= 201103L]
38         (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO_INT.
39         (std::isfinite): Likewise.
40         (std::isinf): Likewise.
41         (std::isnan): Likewise.
42         (std::isnormal): Likewise.
43         (std::signbit): Likewise.
44         (std::isgreater): Likewise.
45         (std::isgreaterequal): Likewise.
46         (std::isless): Likewise.
47         (std::islessequal): Likewise.
48         (std::islessgreater): Likewise.
49         (std::isunordered): Likewise.
50         [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]
51         (std::acosh): Likewise.
52         (std::asinh): Likewise.
53         (std::atanh): Likewise.
54         (std::cbrt): Likewise.
55         (std::copysign): Likewise.
56         (std::erf): Likewise.
57         (std::erfc): Likewise.
58         (std::exp2): Likewise.
59         (std::expm1): Likewise.
60         (std::fdim): Likewise.
61         (std::fma): Likewise.
62         (std::fmax): Likewise.
63         (std::fmin): Likewise.
64         (std::hypot): Likewise.
65         (std::ilogb): Likewise.
66         (std::lgamma): Likewise.
67         (std::llrint): Likewise.
68         (std::llround): Likewise.
69         (std::log1p): Likewise.
70         (std::log2): Likewise.
71         (std::logb): Likewise.
72         (std::lrint): Likewise.
73         (std::lround): Likewise.
74         (std::nearbyint): Likewise.
75         (std::nextafter): Likewise.
76         (std::nexttoward): Likewise.
77         (std::remainder): Likewise.
78         (std::remquo): Likewise.
79         (std::rint): Likewise.
80         (std::round): Likewise.
81         (std::scalbln): Likewise.
82         (std::scalbn): Likewise.
83         (std::tgamma): Likewise.
84         (std::trunc): Likewise.
85         * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1 && __cplusplus >=
86         201103L]: Reflect __CORRECT_ISO_CPP11_MATH_H_PROTO to
87         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
89 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
91         PR libstdc++/59406
92         * include/bits/functional_hash.h: Add comment noting difference from
93         FNV-1a.
94         * include/tr1/functional_hash.h: Likewise.
95         * libsupc++/hash_bytes.cc: Likewise.
97         * include/bits/basic_string.h: Reuse _If_sv alias template for new
98         constructor.
100         * doc/xml/manual/intro.xml: Document LWG 2770 status. Remove entries
101         for 2742 and 2748.
102         * doc/html/*: Regenerate.
103         * include/std/utility (__tuple_size_cv_impl): New helper to safely
104         detect tuple_size<T>::value, as per LWG 2770.
105         (tuple_size<cv T>): Adjust partial specializations to derive from
106         __tuple_size_cv_impl.
107         * testsuite/20_util/tuple/cv_tuple_size.cc: Test SFINAE-friendliness.
109         * testsuite/libstdc++-prettyprinters/cxx17.cc: Adjust test for
110         variant<T&>.
112 2016-11-15  Tim Shen  <timshen@google.com>
114         * include/std/variant: Remove variant<T&>, variant<void>, variant<>
115         support to rebase on the post-Issaquah design.
116         * testsuite/20_util/variant/compile.cc: Likewise.
118 2016-11-15  Matthias Klose  <doko@ubuntu.com>
120         * configure: Regenerate.
122 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
124         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Fix license
125         text.
126         * testsuite/20_util/any/assign/emplace.cc: Likewise.
127         * testsuite/20_util/any/cons/in_place.cc: Likewise.
128         * testsuite/20_util/any/make_any.cc: Likewise.
129         * testsuite/20_util/any/requirements.cc: Likewise.
130         * testsuite/20_util/any/typedefs.cc: Likewise.
131         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
132         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
133         Likewise.
134         * testsuite/20_util/in_place/requirements.cc: Likewise.
135         * testsuite/20_util/optional/77288.cc: Likewise.
136         * testsuite/20_util/optional/assignment/1.cc: Likewise.
137         * testsuite/20_util/optional/assignment/2.cc: Likewise.
138         * testsuite/20_util/optional/assignment/3.cc: Likewise.
139         * testsuite/20_util/optional/assignment/4.cc: Likewise.
140         * testsuite/20_util/optional/assignment/5.cc: Likewise.
141         * testsuite/20_util/optional/assignment/6.cc: Likewise.
142         * testsuite/20_util/optional/assignment/7.cc: Likewise.
143         * testsuite/20_util/optional/cons/77727.cc: Likewise.
144         * testsuite/20_util/optional/cons/move.cc: Likewise.
145         * testsuite/20_util/optional/cons/value.cc: Likewise.
146         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
147         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
148         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
149         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
150         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
151         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
152         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
153         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
154         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
155         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
156         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
157         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
158         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
159         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
160         * testsuite/20_util/optional/hash.cc: Likewise.
161         * testsuite/20_util/optional/make_optional.cc: Likewise.
162         * testsuite/20_util/optional/observers/1.cc: Likewise.
163         * testsuite/20_util/optional/observers/2.cc: Likewise.
164         * testsuite/20_util/optional/observers/3.cc: Likewise.
165         * testsuite/20_util/optional/observers/4.cc: Likewise.
166         * testsuite/20_util/optional/observers/5.cc: Likewise.
167         * testsuite/20_util/optional/observers/6.cc: Likewise.
168         * testsuite/20_util/optional/relops/1.cc: Likewise.
169         * testsuite/20_util/optional/relops/2.cc: Likewise.
170         * testsuite/20_util/optional/relops/3.cc: Likewise.
171         * testsuite/20_util/optional/relops/4.cc: Likewise.
172         * testsuite/20_util/optional/relops/5.cc: Likewise.
173         * testsuite/20_util/optional/relops/6.cc: Likewise.
174         * testsuite/20_util/optional/requirements.cc: Likewise.
175         * testsuite/20_util/optional/swap/1.cc: Likewise.
176         * testsuite/20_util/optional/typedefs.cc: Likewise.
177         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
178         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
179         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
180         Likewise.
181         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
182         * testsuite/20_util/variant/hash.cc: Likewise.
183         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
184         * testsuite/experimental/any/typedefs.cc: Likewise.
185         * testsuite/experimental/array/make_array.cc: Likewise.
186         * testsuite/experimental/array/neg.cc: Likewise.
187         * testsuite/experimental/chrono/value.cc: Likewise.
188         * testsuite/experimental/deque/erasure.cc: Likewise.
189         * testsuite/experimental/forward_list/erasure.cc: Likewise.
190         * testsuite/experimental/list/erasure.cc: Likewise.
191         * testsuite/experimental/map/erasure.cc: Likewise.
192         * testsuite/experimental/memory/observer_ptr/assignment/assign.cc:
193         Likewise.
194         * testsuite/experimental/memory/observer_ptr/cons/cons.cc: Likewise.
195         * testsuite/experimental/memory/observer_ptr/hash/hash.cc: Likewise.
196         * testsuite/experimental/memory/observer_ptr/make_observer.cc:
197         Likewise.
198         * testsuite/experimental/memory/observer_ptr/relops/relops.cc:
199         Likewise.
200         * testsuite/experimental/memory/observer_ptr/requirements.cc: Likewise.
201         * testsuite/experimental/memory/observer_ptr/swap/swap.cc: Likewise.
202         * testsuite/experimental/memory/observer_ptr/typedefs.cc: Likewise.
203         * testsuite/experimental/optional/77288.cc: Likewise.
204         * testsuite/experimental/optional/assignment/1.cc: Likewise.
205         * testsuite/experimental/optional/assignment/2.cc: Likewise.
206         * testsuite/experimental/optional/assignment/3.cc: Likewise.
207         * testsuite/experimental/optional/assignment/4.cc: Likewise.
208         * testsuite/experimental/optional/assignment/5.cc: Likewise.
209         * testsuite/experimental/optional/assignment/6.cc: Likewise.
210         * testsuite/experimental/optional/cons/77727.cc: Likewise.
211         * testsuite/experimental/optional/cons/move.cc: Likewise.
212         * testsuite/experimental/optional/cons/value.cc: Likewise.
213         * testsuite/experimental/optional/cons/value_neg.cc: Likewise.
214         * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
215         * testsuite/experimental/optional/constexpr/make_optional.cc: Likewise.
216         * testsuite/experimental/optional/constexpr/observers/1.cc: Likewise.
217         * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
218         * testsuite/experimental/optional/constexpr/observers/3.cc: Likewise.
219         * testsuite/experimental/optional/constexpr/observers/4.cc: Likewise.
220         * testsuite/experimental/optional/constexpr/observers/5.cc: Likewise.
221         * testsuite/experimental/optional/constexpr/relops/1.cc: Likewise.
222         * testsuite/experimental/optional/constexpr/relops/2.cc: Likewise.
223         * testsuite/experimental/optional/constexpr/relops/3.cc: Likewise.
224         * testsuite/experimental/optional/constexpr/relops/4.cc: Likewise.
225         * testsuite/experimental/optional/constexpr/relops/5.cc: Likewise.
226         * testsuite/experimental/optional/constexpr/relops/6.cc: Likewise.
227         * testsuite/experimental/optional/make_optional.cc: Likewise.
228         * testsuite/experimental/optional/observers/1.cc: Likewise.
229         * testsuite/experimental/optional/observers/2.cc: Likewise.
230         * testsuite/experimental/optional/observers/3.cc: Likewise.
231         * testsuite/experimental/optional/observers/4.cc: Likewise.
232         * testsuite/experimental/optional/observers/5.cc: Likewise.
233         * testsuite/experimental/optional/relops/1.cc: Likewise.
234         * testsuite/experimental/optional/relops/2.cc: Likewise.
235         * testsuite/experimental/optional/relops/3.cc: Likewise.
236         * testsuite/experimental/optional/relops/4.cc: Likewise.
237         * testsuite/experimental/optional/relops/5.cc: Likewise.
238         * testsuite/experimental/optional/relops/6.cc: Likewise.
239         * testsuite/experimental/optional/requirements.cc: Likewise.
240         * testsuite/experimental/optional/swap/1.cc: Likewise.
241         * testsuite/experimental/optional/typedefs.cc: Likewise.
242         * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
243         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
244         Likewise.
245         * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
246         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
247         * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
248         * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
249         * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
250         * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
251         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
252         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
253         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
254         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
255         * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
256         * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
257         * testsuite/experimental/random/randint.cc: Likewise.
258         * testsuite/experimental/ratio/value.cc: Likewise.
259         * testsuite/experimental/set/erasure.cc: Likewise.
260         * testsuite/experimental/string/erasure.cc: Likewise.
261         * testsuite/experimental/string_view/typedefs.cc: Likewise.
262         * testsuite/experimental/system_error/value.cc: Likewise.
263         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
264         * testsuite/experimental/type_traits/value.cc: Likewise.
265         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
266         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
267         * testsuite/experimental/vector/erasure.cc: Likewise.
269         * doc/xml/manual/intro.xml: Document LWG 2742 status.
270         * doc/html/*: Regenerate.
271         * include/bits/basic_string.h
272         (basic_string(const T&, size_type, size_type, const Allocator&)): Add
273         constructor for substring of basic_string_view, as per LWG 2742 but
274         with additional constraint to fix ambiguity.
275         * testsuite/21_strings/basic_string/cons/char/9.cc: New test.
276         * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: New test.
278         * doc/xml/manual/intro.xml: Document LWG 2748 status.
279         * include/std/optional (optional<T>::swap): Use is_nothrow_swappable_v
280         for exception specification.
281         (swap(optional<T>&, optional<T>&)): Disable when T is not swappable.
282         * testsuite/20_util/optional/swap/2.cc: New test.
284 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
286         Implement P0513R0, Poisoning the Hash.
287         * include/bits/functional_hash.h (__poison_hash): New.
288         * include/bits/unique_ptr.h
289         (hash<unique_ptr<_Tp, _Dp>>): Derive from __poison_hash.
290         * include/std/optional (hash<optional<_Tp>>): Likewise.
291         * include/std/variant (hash<variant<_Types...>>): Likewise.
292         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
293         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
294         * testsuite/20_util/optional/hash.cc: New.
295         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
296         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Adjust.
297         * testsuite/20_util/unique_ptr/hash/1.cc: Add tests for
298         poisoned fancy pointer hashes.
299         * testsuite/20_util/variant/hash.cc: New.
301 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
303         Implement P0504R0 (Revisiting in-place tag types for
304         any/optional/variant).
305         * include/std/any (any(_ValueType&& __value)): Constrain
306         the __is_in_place_type with the decayed type.
307         (make_any): Adjust to use the new tag type.
308         * include/std/utility (in_place_tag): Remove.
309         (in_place_t): Turn into a non-reference tag type.
310         (__in_place, __in_place_type, __in_place_index): Remove.
311         (in_place): Turn into an inline variable of non-reference
312         tag type.
313         (in_place<_Tp>): Remove.
314         (in_place_index<_Idx>): Remove.
315         (in_place_type_t): New.
316         (in_place_type): Turn into a variable template of non-reference
317         type.
318         (in_place_index_t): New.
319         (in_place_index): Turn into a variable template of non-reference
320         type.
321         * include/std/variant
322         (_Variant_storage(in_place_index_t<_Np>, _Args&&...)): Adjust to
323         use the new tag type.
324         (_Union(in_place_index_t<0>, _Args&&...)): Likewise.
325         (_Union(in_place_index_t<_Np>, _Args&&...)): Likewise.
326         (_Variant_base()): Likewise.
327         (variant(_Tp&&)): Likewise.
328         (variant(in_place_type_t<_Tp>, _Args&&...)): Likewise.
329         (variant(in_place_type_t<_Tp>, initializer_list<_Up>,
330         _Args&&...)): Likewise.
331         (variant(in_place_index_t<_Np>, _Args&&...)): Likewise.
332         (variant(in_place_index_t<_Np>, initializer_list<_Up>,
333         _Args&&...)): Likewise
334         (variant(allocator_arg_t, const _Alloc&)): Likewise.
335         (variant(allocator_arg_t, const _Alloc&, _Tp&&)): Likewise.
336         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
337         _Args&&...)): Likewise.
338         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
339         initializer_list<_Up>, _Args&&...)): Likewise.
340         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
341         _Args&&...)): Likewise.
342         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
343         initializer_list<_Up>, _Args&&...)): Likewise.
344         (emplace(_Args&&...)): Likewise.
345         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
346         * testsuite/20_util/any/cons/explicit.cc: Likewise.
347         * testsuite/20_util/any/cons/in_place.cc: Likewise.
348         * testsuite/20_util/any/requirements.cc: Add tests to
349         check that any is not constructible from the new in_place_type_t
350         of any value category.
351         * testsuite/20_util/in_place/requirements.cc: Adjust to
352         use the new tag type.
353         * testsuite/20_util/variant/compile.cc: Likewise.
354         * testsuite/20_util/variant/run.cc: Likewise.
356 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
358         Use constexpr addressof in optional, SFINAE housekeeping
359         for any, optional and tuple.
360         * include/std/any (__do_emplace(_Args&&...)): New.
361         (__do_emplace(initializer_list<_Up>, _Args&&...)): Likewise.
362         (__any_constructible): Likewise.
363         (__any_constructible_t): Use __any_constructible.
364         (operator=(_ValueType&&)): SFINAE in the return type.
365         (emplace(_Args&&...)): Likewise.
366         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
367         * include/std/optional (_Has_addressof_mem): Remove.
368         (_Has_addressof_free): Likewise.
369         (_Has_addressof): Likewise.
370         (__constexpr_addressof(_Tp&)): Likewise.
371         (operator->): Use std::__addressof.
372         * include/std/tuple (operator=(const tuple<_UElements...>&)):
373         SFINAE in return type.
374         (operator=(tuple<_UElements...>&&)): Likewise.
375         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
377 2016-11-14  Jonathan Wakely  <jwakely@redhat.com>
379         * include/bits/move.h (addressof(const _Tp&&)): Add deleted overload,
380         as per LWG 2598.
382         * include/std/future (future::share(), future<R&>::share())
383         (future<void>::share()): Add noexcept, as per LWG 2556.
385 2016-11-13  Jonathan Wakely  <jwakely@redhat.com>
387         PR libstdc++/78326
388         * include/experimental/memory_resource (memory_resource::_S_max_align):
389         Change access to protected.
391         * doc/xml/manual/status_cxx2017.xml: Update status.
392         * doc/html/manual/status.html: Regenerate.
393         * include/bits/shared_ptr.h (shared_ptr(unique_ptr<_Yp, _Del>)): Add
394         extension constructor to maintain C++14 behaviour.
395         * include/bits/shared_ptr_base.h (__sp_array_delete): Add new struct.
396         (__shared_count(_Ptr, false_type), __shared_count(_Ptr, true_type)):
397         New constructors.
398         (__sp_compatible_with, __sp_is_constructible): Add specializations
399         for array support.
400         (__sp_is_constructible_arr, __sp_is_constructible_arrN): New helpers.
401         (__shared_ptr_access): New base class for observer member functions.
402         (__shared_ptr::element_type): Use remove_extent.
403         (__shared_ptr::_UniqCompatible): Add __sp_compatible_with check.
404         (__shared_ptr(_Yp*)): Use tag dispatching to call new __shared_count
405         constructor.
406         (__shared_ptr(unique_ptr<_Yp, _Del>)): Add extension constructor.
407         (__shared_ptr::operator*, __shared_ptr::operator->): Remove and
408         inherit from __shared_ptr_access base class.
409         (__shared_ptr::__has_esft_base): Return false for array types.
410         (__weak_ptr::element_type): Use remove_extent.
411         * include/experimental/bits/shared_ptr.h (__libfund_v1): Remove.
412         (__shared_ptr<__libfund_v1<_Tp>>): Remove specializations.
413         (__wak_ptr<__libfund_v1<_Tp>>): Likewise.
414         (experimental::__sp_compatible_v): Redefine using
415         __sp_compatible_with.
416         (experimental::__sp_is_constructible_v): Redefine using
417         __sp_is_constructible.
418         (get_deleter, operator<<): Change argument from __shared_ptr to
419         shared_ptr.
420         * testsuite/20_util/shared_ptr/cons/array.cc: New test.
421         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Adjust for
422         new behaviour.
423         * testsuite/20_util/shared_ptr/observers/array.cc: Test observers for
424         arrays.
425         * testsuite/20_util/shared_ptr/observers/array_neg.cc: New test.
427 2016-11-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
429         Implement P0403R1, Literal suffixes for basic_string_view.
430         * include/std/string_view
431         (operator""sv(const char*, size_t)): New.
432         (operator""sv(const wchar_t*, size_t)): Likewise.
433         (operator""sv(const char16_t*, size_t)): Likewise.
434         (operator""sv(const char32_t*, size_t)): Likewise.
435         * testsuite/21_strings/basic_string_view/literals/types.cc: New.
436         * testsuite/21_strings/basic_string_view/literals/values.cc: Likewise.
437         * testsuite/experimental/string_view/literals/values.cc: Add
438         tests for literals with embedded NULs.
440 2016-11-12  Jonathan Wakely  <jwakely@redhat.com>
442         * src/filesystem/ops.cc (is_empty): Fix typo in exception message.
444         * include/std/future (future_error): Fix public typo to private.
446 2016-11-11  Jonathan Wakely  <jwakely@redhat.com>
448         * include/std/future (future_error): Make existing constructor
449         private and add constructor from future_errc.
451         * include/bits/shared_ptr.h (hash<shared_ptr<T>>): Use element_type.
452         * include/bits/shared_ptr_base.h (hash<__shared_ptr<T, L>>): Likewise.
454 2016-11-10  François Dumont  <fdumont@gcc.gnu.org>
456         * src/c++11/debug.cc (format_word): Delete.
457         (print_literal): New. Replace call to print_word for literals.
459 2016-11-09  Tim Shen  <timshen@google.com>
461         * include/bits/regex.h (regex_iterator::regex_iterator()):
462         Define end() as _M_pregex == nullptr.
463         * include/bits/regex.tcc (regex_iterator::operator==(),
464         regex_iterator::operator++()): Fix operator==() and operator++() to
465         look at null-ness of _M_pregex on both sides.
466         * testsuite/28_regex/regression.cc: New testcase.
468 2016-11-07  Jason Merrill  <jason@redhat.com>
470         * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM)
471         (_GLIBCXX_NOEXCEPT_QUAL): New.
472         * include/std/type_traits (is_function): Use them.
473         * libsubc++/new (launder): Likewise.
474         * libsupc++/cxxabi.h (__pbase_type_info::__masks): Add
475         __noexcept_mask.
476         * libsupc++/pbase_type_info.cc (__do_catch): Handle function
477         pointer conversion.
479 2016-11-07  François Dumont  <fdumont@gcc.gnu.org>
481         * config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of
482         over-aligned types symbols.
484 2016-10-28  Jonathan Wakely  <jwakely@redhat.com>
486         * include/experimental/bits/fs_path.h (__is_path_src)
487         (_S_range_begin, _S_range_end): Overload to treat string_view as a
488         Source object.
489         (path::operator+=, path::compare): Overload for basic_string_view.
490         * testsuite/experimental/filesystem/path/construct/string_view.cc:
491         New test.
492         * testsuite/experimental/filesystem/path/construct/
493         string_view_cxx17.cc: New test.
495         * include/experimental/bits/fs_path.h
496         (path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from
497         iterator's value_type.
498         (path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise.
499         Do not use operation not supported by input iterators.
500         (path::__is_path_iter_src): Add partial specialization for const
501         encoded character types.
502         * testsuite/experimental/filesystem/path/construct/range.cc: Test
503         construction from input iterators with const value types.
505         * doc/xml/manual/status_cxx2017.xml: Update status.
506         * doc/html/*: Regenerate.
507         * include/std/type_traits (has_unique_object_representations): Guard
508         with __has_builtin check.
509         * libsupc++/new (launder): Define for C++17.
510         * testsuite/18_support/launder/1.cc: New test.
511         * testsuite/18_support/launder/requirements.cc: New test.
512         * testsuite/18_support/launder/requirements_neg.cc: New test.
514 2016-10-27  Uros Bizjak  <ubizjak@gmail.com>
516         PR libstdc++/70975
517         * src/filesystem/ops.cc (do_copy_file) [_GLIBCXX_USE_SENDFILE]:
518         Pass non-null pointer to sendfile for offset argument.
520 2016-10-27  Jonathan Wakely  <jwakely@redhat.com>
522         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
523         default.cc: Fix effective target selector.
524         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
525         parms.cc: Likewise.
526         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
527         equal.cc: Likewise.
528         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
529         generate.cc: Likewise.
530         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
531         inequal.cc: Likewise.
532         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
533         serialize.cc: Likewise.
535         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
536         Use end() function to get end iterator.
537         * testsuite/experimental/filesystem/iterators/pop.cc: Remove printf
538         statements that were present for debugging.
539         * testsuite/experimental/filesystem/iterators/
540         recursive_directory_iterator.cc: Use end() function to get end
541         iterator.
542         * testsuite/experimental/filesystem/operations/last_write_time.cc:
543         Only require file timestamps to be accurate to one second.
545 2016-10-26  François Dumont  <fdumont@gcc.gnu.org>
547         * include/bits/stl_map.h (map()): Make default.
548         * include/bits/stl_multimap.h (multimap()): Likewise.
549         * include/bits/stl_multiset.h (multiset()): Likewise.
550         * include/bits/stl_set.h (set()): Likewise.
551         * include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept.
552         (_Rb_tree()): Make default.
554 2016-10-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>
556         PR libstdc++/78110
557         * libsupc++/new_opa.cc: Don't include <malloc.h> in a free standing
558         environment.  Declare memalign directly in that case.
560 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
562         * testsuite/experimental/filesystem/iterators/pop.cc: Remove
563         unreliable dependency on directory order.
565 2016-10-26  Edward Smith-Rowland  <3dw4rd@verizon.net>
567         Implement uniform_inside_sphere_distribution extension.
568         * include/ext/random: Implement uniform_inside_sphere_distribution.
569         * include/ext/random.tcc: Ditto.
570         * testsuite/ext/random/uniform_inside_sphere_distribution/
571         cons/default.cc: New.
572         * testsuite/ext/random/uniform_inside_sphere_distribution/
573         cons/parms.cc: New.
574         * testsuite/ext/random/uniform_inside_sphere_distribution/
575         operators/equal.cc: New.
576         * testsuite/ext/random/uniform_inside_sphere_distribution/
577         operators/generate.cc: New.
578         * testsuite/ext/random/uniform_inside_sphere_distribution/
579         operators/inequal.cc: New.
580         * testsuite/ext/random/uniform_inside_sphere_distribution/
581         operators/serialize.cc: New.
583 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
585         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
586         Overload pop (LWG 2706).
587         * src/filesystem/dir.cc (recursive_directory_iterator::pop): Define
588         new overload.
589         * testsuite/experimental/filesystem/iterators/pop.cc: New test.
591         * src/filesystem/dir.cc (recursive_directory_iterator::increment):
592         Reset state on error.
593         * testsuite/experimental/filesystem/iterators/
594         recursive_directory_iterator.cc: Check state after increment error.
596         PR libstdc++/78111
597         * src/filesystem/ops.cc (canonical): Set error for non-existent path.
599 2016-10-26  Uros Bizjak  <ubizjak@gmail.com>
601         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
602         for PATH_MAX in realpath test.
603         * configure: Regenerate.
605 2016-10-25  Jonathan Wakely  <jwakely@redhat.com>
607         * src/filesystem/ops.cc
608         (last_write_time(const path&, file_time_type, error_code&)): Handle
609         negative times correctly.
610         * testsuite/experimental/filesystem/operations/last_write_time.cc:
611         Test writing file times.
613         * src/filesystem/ops.cc (do_copy_file): Report an error if source or
614         destination is not a regular file (LWG 2712).
615         (equivalent): Fix error handling and result when only one file exists.
616         * testsuite/experimental/filesystem/operations/copy.cc: Remove files
617         created by tests. Test copying directories.
618         * testsuite/experimental/filesystem/operations/copy_file.cc: Remove
619         files created by tests.
620         * testsuite/experimental/filesystem/operations/equivalent.cc: New.
621         * testsuite/experimental/filesystem/operations/is_empty.cc: New.
622         * testsuite/experimental/filesystem/operations/read_symlink.cc: Remove
623         file created by test.
624         * testsuite/experimental/filesystem/operations/remove_all.cc: New.
625         * testsuite/util/testsuite_fs.h (~scoped_file): Only try to remove
626         file if path is non-empty, to support removal by other means.
628 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
630         * src/filesystem/ops.cc (is_empty): Fix error handling.
631         * testsuite/experimental/filesystem/operations/is_empty.cc: New test.
633         PR libstdc++/71337
634         * src/filesystem/ops.cc (temp_directory_path): Pass error_code
635         argument to other filesystem operations.
636         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
637         Add testcase for inaccessible directory.
639         * src/filesystem/dir.cc (open_dir): Return same value for errors
640         whether ignored or not.
641         (_Dir::advance(error_code*, directory_options)): Return false on
642         error.
643         (directory_iterator(const path&, directory_options, error_code*)):
644         Create end iterator on error (LWG 2723).
645         (recursive_directory_iterator(const path&, directory_options,
646         error_code*)): Likewise.
647         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
648         Update expected behaviour on error.
649         * testsuite/experimental/filesystem/iterators/
650         recursive_directory_iterator.cc: Likewise.
652         * src/filesystem/ops.cc (close_fd): Remove.
653         (do_copy_file): Just use close(3) instead of close_fd, to prevent
654         retrying on error.
656         * src/filesystem/ops.cc (do_copy_file): Return an error if either
657         source or destination is not a regular file.
658         (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683
659         resolutions.
660         (read_symlink): Add missing ec.clear().
661         * testsuite/experimental/filesystem/operations/copy.cc: Update
662         expected behaviour for copying directories with create_symlinks.
663         Verify that error_code arguments are cleared if there's no error.
664         * testsuite/experimental/filesystem/operations/read_symlink.cc: New.
666 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
668         Cross-port exception-safety and move fixes of std::any to
669         std::experimental::any.
670         * include/experimental/any (operator=(const any&)):
671         Make strongly exception-safe.
672         (operator=(any&&)): clear() unconditionally in the case where
673         rhs has a value.
674         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
675         * testsuite/experimental/any/assign/2.cc: Adjust.
676         * testsuite/experimental/any/assign/exception.cc: New.
677         * testsuite/experimental/any/cons/2.cc: Adjust.
678         * testsuite/experimental/any/misc/any_cast_neg.cc: Ajust.
680 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
682         Cross-port the latest resolution of LWG2756 and some
683         bug-fixes to experimental::optional.
684         PR libstdc++/77288
685         PR libstdc++/77727
686         * include/experimental/optional (_Optional_base):
687         Remove constructors that take a _Tp.
688         (__is_optional_impl, __is_optional): Remove.
689         (__converts_from_optional): New.
690         (optional(_Up&&)): Fix constraints, call base with in_place.
691         (optional(const optional<_Up>&)): Fix constraints, use emplace.
692         (optional(optional<_Up>&&)): Likewise.
693         (operator=(_Up&&)): Fix constraints.
694         (operator=(const optional<_Up>&)): Likewise.
695         (operator=(optional<_Up>&&)): Likewise.
696         (emplace(_Args&&...)): Constrain.
697         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
698         * testsuite/experimental/optional/77288.cc: New.
699         * testsuite/experimental/optional/assignment/5.cc: Adjust.
700         * testsuite/experimental/optional/cons/77727.cc: New.
701         * testsuite/experimental/optional/cons/value.cc: Adjust.
703 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
705         * include/bits/stl_vector.h (vector::_M_data_ptr, vector::data):
706         Change return type of non-standard C++98 extension to match C++11.
708 2016-10-22  François Dumont  <fdumont@gcc.gnu.org>
710         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_ALGO)
711         (_GLIBCXX_END_NAMESPACE_ALGO): Default to respectively
712         _GLIBCXX_BEGIN_NAMESPACE_VERSION and _GLIBCXX_END_NAMESPACE_VERSION.
713         (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER, _GLIBCXX_END_NAMESPACE_CONTAINER):
714         Likewise.
716 2016-10-22  Jonathan Wakely  <jwakely@redhat.com>
718         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
719         Ignore symlink_nofollow flag if file is not a symlink.
720         * testsuite/experimental/filesystem/operations/permissions.cc: Test
721         symlink_nofollow on non-symlinks.
723 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
725         * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks):
726         Replace with symlink_nofollow (LWG 2720).
727         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
728         Handle symlink_nofollow.
729         * testsuite/experimental/filesystem/operations/create_symlink.cc: New
730         test.
731         * testsuite/experimental/filesystem/operations/permissions.cc: Test
732         overload taking error_code.
734         * include/experimental/bits/fs_ops.h
735         (exists(const path&, error_code&)): Clear error if status is known
736         (LWG 2725).
737         (status(const path&, error_code&)): Handle EOVERFLOW.
738         * testsuite/experimental/filesystem/operations/exists.cc: Test
739         overload taking an error_code.
741         * include/experimental/bits/fs_path.h (path::path(string_type&&))
742         (path::operator=(string&&), path::assign(string_type&&)): Define
743         construction and assignment from string_type rvalues (LWG 2707).
745 2016-10-21  Eelis van der Weegen  <eelis@eelis.net>
747         * include/bits/stl_algo.h (__gen_two_uniform_ints): Move logic out
748         of shuffle into new function.
749         (shuffle): Call __gen_two_uniform_ints.
750         (__sample<ForwardIterator, OutputIterator, Cat, Size, URBG>): Use
751         __gen_two_uniform_ints and perform two samples at a time.
753 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
755         * include/Makefile.am: Add <bits/refwrap.h> and <bits/std_function.h>.
756         Order alphabetically.
757         * include/Makefile.in: Regenerate.
758         * include/bits/refwrap.h: New header.
759         (_Maybe_get_result_type,_Weak_result_type_impl, _Weak_result_type)
760         (_Reference_wrapper_base_impl, _Reference_wrapper_base)
761         (reference_wrapper, ref, cref): Move here from <functional>.
762         * include/bits/shared_ptr_base.h: Include <bits/refwrap.h> and
763         <bits/stl_function.h> instead of <functional>.
764         * include/bits/std_function.h: New header.
765         (_Maybe_unary_or_binary_function, bad_function_call)
766         (__is_location_invariant, _Nocopy_types, _Any_data)
767         (_Simple_type_wrapper, _Function_base, _Function_handler, function):
768         Move here from <functional>.
769         * include/bits/unique_ptr.h: Include <bits/stl_function.h>.
770         * include/std/functional: Include new headers and move components to
771         them.
772         * include/std/future: Include <bits/std_function.h> instead of
773         <functional>.
774         * include/std/mutex: Likewise.
775         * include/std/regex: Likewise.
776         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
777         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
778         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
779         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
780         lines.
781         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
782         * testsuite/30_threads/packaged_task/49668.cc: Include <functional>.
784         * libsupc++/exception_ptr.h (make_exception_ptr): Qualify new.
785         * testsuite/18_support/exception_ptr/make_exception_ptr_2.cc: New
786         test.
788 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
790         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&))
791         (shared_ptr(auto_ptr&&)): Adjust template parameter lists.
792         * include/bits/shared_ptr.h (__sp_compatible_with)
793         (__sp_is_constructible): New helper traits for shared_ptr.
794         (shared_ptr::_Convertible): Replace with _Constructible.
795         (shared_ptr::_Constructible, shared_ptr::_Assignable): Forward checks
796         to base class.
797         (shared_ptr::shared_ptr, shared_ptr::operator=): Constrain template
798         with _Constructible and _Assignable.
799         (shared_ptr::shared_ptr(shared_ptr<_Tp1>, _Tp*)): Use element_type
800         instead of _Tp.
801         (operator<): Likewise.
802         (operator>): Define in terms of operator<.
803         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
804         element_type instead of _Tp.
805         (reinterpret_pointer_cast): Define for C++17.
806         (weak_ptr::_Convertible): Replace with _Constructible.
807         (weak_ptr::_Constructible, weak_ptr::_Assignable): Forward checks
808         to base class.
809         (weak_ptr::weak_ptr, weak_ptr::operator=): Constrain templates
810         with _Constructible and _Assignable.
811         * include/bits/shared_ptr_base.h (__shared_ptr::_Convertible): Replace
812         with _Compatible.
813         (__shared_ptr::_SafeConv): New constraint for incoming raw pointers.
814         (__shared_ptr::_Compatible): New constraint for converting from
815         other types of shared_ptr and weak_ptr.
816         (__shared_ptr::_Assignable): Define in terms of _Compatible.
817         (__shared_ptr::_UniqCompatible, __shared_ptr::_UniqAssignable): New
818         constraints for converting from unique_ptr.
819         (__shared_ptr::__shared_ptr, __shared_ptr::operator=): Constrain
820         template with _SaveConf, _Compatible and _Assignable. Remove
821         __glibcxx_function_requires concept checks. Add static assertion for
822         deleter expression being well-formed.
823         (__shared_ptr::__shared_ptr(__shared_ptr<_Tp1>, _Tp*))
824         (__shared_ptr::operator*, __shared_ptr::operator->)
825         (__shared_ptr::get, __shared_ptr::_M_ptr): Use element_type instead
826         of _Tp.
827         (operator<): Likewise.
828         (operator>): Define in terms of operator<.
829         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
830         element_type instead of _Tp.
831         (reinterpret_pointer_cast): Define for C++17.
832         (weak_ptr::_Convertible): Replace with _Compatible.
833         (weak_ptr::_Compatible, weak_ptr::_Assignable): New constraints for
834         conversions from other types of weak_ptr and shared_ptr.
835         (__weak_ptr::__weak_ptr, __weak_ptr::operator=): Constrain templates
836         with _Constructible and _Assignable.
837         (__weak_ptr::_M_ptr): Use element_type instead of _Tp.
838         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Adjust
839         dg-error pattern.
840         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Test conversions.
841         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
842         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
843         * testsuite/20_util/shared_ptr/casts/reinterpret.cc: New test.
845 2016-10-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
847         Do the operator= SFINAE in the return type for optional,
848         not in the template parameters.
849         * include/std/optional (operator=(_Up&&)): Move SFINAE
850         from template parameters to the return type.
851         (operator=(const optional<_Up>&)): Likewise.
852         (operator=(optional<_Up>&&)): Likewise.
854 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
856         * include/bits/allocator.h: Remove trailing whitespace, tab-indent.
857         * include/ext/new_allocator.h: Likewise.
859         PR libstdc++/78052
860         * include/bits/allocator.h (allocator<void>::construct)
861         (allocator<void>::destroy): Define.
862         * testsuite/20_util/allocator/void.cc: New test.
864         * testsuite/20_util/enable_shared_from_this/56383.cc: Add tests for
865         additional ambiguous cases.
867 2016-10-19  Jonathan Wakely  <jwakely@redhat.com>
869         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&)): Call
870         _M_enable_shared_from_this_with instead of
871         __enable_shared_from_this_helper.
872         * include/bits/shared_ptr.h (__enable_shared_from_this_helper):
873         Remove overload for std::enable_shared_from_this..
874         (__enable_shared_from_this_base): Define friend function to select a
875         std::enable_shared_from_this base class.
876         * include/bits/shared_ptr_base.h (__enable_shared_from_this_helper):
877         Remove all overloads.
878         (__shared_ptr): Change all relevant constructors to call
879         _M_enable_shared_from_this_with instead of
880         __enable_shared_from_this_helper.
881         (__shared_ptr::__efst_base_t, __shared_ptr::__has_efst_base): Helpers
882         to detect accessible and unambiguous enable_shared_from_this bases.
883         (__shared_ptr::_M_enable_shared_from_this_with): New function to
884         replace __enable_shared_from_this_helper overloads.
885         (__enable_shared_from_this_helper): Remove overload for
886         std::__enable_shared_from_this.
887         (__enable_shared_from_this_base): Define friend function to select a
888         std::__enable_shared_from_this base class.
889         * include/experimental/bits/shared_ptr.h (experimental::shared_ptr):
890         Change relevant constructors to call _M_enable_shared_from_this_with.
891         (experimental::shared_ptr::__efst_base_t)
892         (experimental::shared_ptr::__has_efst_base): Helpers to detect
893         accessible and unambiguous enable_shared_from_this bases.
894         (experimental::shared_ptr::_M_enable_shared_from_this_with): Define.
895         (experimental::__enable_shared_from_this_helper): Remove overload for
896         std::experimental::enable_shared_from_this.
897         (experimental::__expt_enable_shared_from_this_base): Define friend
898         function to select a std::experimental::enable_shared_from_this base.
899         * testsuite/experimental/memory/shared_ptr/cons/
900         enable_shared_from_this.cc: New test.
901         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
902         Adjust expected behaviour for shared_ptr<A[]>.
904         * include/debug/vector (__gnu_debug::vector::emplace_back): Fix return
905         type.
907         * include/backward/auto_ptr.h (dauto_ptr): Correct comment about
908         conversions from auto_ptr<Derived> rvalues to auto_ptr<Base>.
909         * testsuite/20_util/auto_ptr/assign_neg.cc: Remove redundant dg-error
910         directives that only match notes, not errors.
912         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
913         Add tests for valid and invalid conversions.
914         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
915         Likewise.
917         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests
918         to new file.
919         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file.  Fix
920         test for incompatible deleters to not also use incompatible types.
921         Add tests for incompatible array types.
923         * include/experimental/bits/shared_ptr.h
924         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_Compatible): Just use
925         is_convertible for non-array specialization.
926         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_UniqCompatible): New
927         constraint for conversions from unique_ptr.
928         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::__shared_ptr): Constrain.
929         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::reset): Likewise.
930         (__sp_compatible_v): New variable template for trait.
931         (__sp_is_constructible): New trait to check shared_ptr constraints.
932         (__sp_is_constructible_v): New variable template for trait.
933         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_SafeConv): New
934         constraint for construction/reset, using __sp_is_constructible_v.
935         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_UniqCompatible): New
936         constraint for conversions from unique_ptr.
937         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::__shared_ptr): Constrain.
938         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::reset): Likewise.
939         (shared_ptr::_SafeConv): Constraint for checking constructors.
940         (shared_ptr(Tp1*), shared_ptr(_Tp1, _Deleter))
941         (shared_ptr(_Tp1, _Deleter, _Alloc)): Constrain with _SafeConv.
942         (shared_ptr(const weak_ptr<_Tp1>&)): Constrain with _Compatible.
943         (shared_ptr(auto_ptr<_Tp1>&&)): Fix, remove TODO.
944         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
945         Remove tests using invalid conversions.
946         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc:
947         New test.
948         * testsuite/experimental/memory/shared_ptr/cons/torture.cc: New test.
949         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Remove
950         tests using invalid conversions.
951         * testsuite/experimental/memory/shared_ptr/modifiers/reset_neg.cc: New
952         test.
953         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
954         Remove tests using invalid conversions.
956         PR libstdc++/77990
957         * include/bits/unique_ptr.h (__uniq_ptr_impl): New type to
958         encapsulate implementation details.
959         (unique_ptr::unique_ptr(_Up)): Don't copy deleter object.
960         (unique_ptr::get, unique_ptr::get_deleter, unique_ptr::release):
961         Call member functions of implementation object.
962         (unique_ptr<T[], D>): Likewise.
963         * python/libstdcxx/v6/printers.py (UniquePointerPrinter): Adjust for
964         new implementation.
965         * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Likewise.
966         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
967         lines.
968         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
969         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
970         * testsuite/20_util/unique_ptr/cons/77990.cc: New test.
972 2016-10-18  Jonathan Wakely  <jwakely@redhat.com>
974         * include/experimental/bits/shared_ptr.h: Fix indentation.
976         * include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)):
977         Remove const from parameter.
978         (operator<(const shared_ptr<T>&, nullptr_t)): Use correct
979         specialization of std::less.
980         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
981         Test comparison with nullptr and actually call test functions.
983         * include/bits/uses_allocator.h (__is_uses_allocator_constructible_v)
984         (__is_nothrow_uses_allocator_constructible_v): Only define for C++14
985         and later.
987 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
989         * testsuite/27_io/basic_filebuf/close/12790-1.cc: Remove 'test'
990         variables.
991         * testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
992         * testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Likewise.
993         * testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Likewise.
994         * testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
995         * testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Likewise.
996         * testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
997         * testsuite/27_io/basic_filebuf/close/char/3.cc: Likewise.
998         * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise.
999         * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise.
1000         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc: Likewise.
1001         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc: Likewise.
1002         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
1003         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc: Likewise.
1004         * testsuite/27_io/basic_filebuf/cons/2020.cc: Likewise.
1005         * testsuite/27_io/basic_filebuf/cons/char/1.cc: Likewise.
1006         * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
1007         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: Likewise.
1008         * testsuite/27_io/basic_filebuf/imbue/12206.cc: Likewise.
1009         * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
1010         * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
1011         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
1012         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
1013         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
1014         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
1015         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
1016         * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
1017         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise.
1018         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
1019         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
1020         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
1021         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
1022         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
1023         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
1024         * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
1025         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
1026         * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Likewise.
1027         * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise.
1028         * testsuite/27_io/basic_filebuf/open/12790-1.cc: Likewise.
1029         * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
1030         * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
1031         * testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise.
1032         * testsuite/27_io/basic_filebuf/open/char/4.cc: Likewise.
1033         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1034         * testsuite/27_io/basic_filebuf/overflow/char/1.cc: Likewise.
1035         * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Likewise.
1036         * testsuite/27_io/basic_filebuf/overflow/char/2.cc: Likewise.
1037         * testsuite/27_io/basic_filebuf/overflow/char/3599.cc: Likewise.
1038         * testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Likewise.
1039         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Likewise.
1040         * testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Likewise.
1041         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
1042         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
1043         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
1044         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
1045         * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Likewise.
1046         * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise.
1047         * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise.
1048         * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise.
1049         * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise.
1050         * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise.
1051         * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise.
1052         * testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Likewise.
1053         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
1054         * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Likewise.
1055         * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Likewise.
1056         * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Likewise.
1057         * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise.
1058         * testsuite/27_io/basic_filebuf/seekoff/45628-2.cc: Likewise.
1059         * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
1060         * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise.
1061         * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
1062         * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Likewise.
1063         * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: Likewise.
1064         * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Likewise.
1065         * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Likewise.
1066         * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Likewise.
1067         * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Likewise.
1068         * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
1069         * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
1070         * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
1071         * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise.
1072         * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise.
1073         * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
1074         * testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Likewise.
1075         * testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: Likewise.
1076         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
1077         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: Likewise.
1078         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc: Likewise.
1079         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc: Likewise.
1080         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc: Likewise.
1081         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc: Likewise.
1082         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise.
1083         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Likewise.
1084         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.
1085         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
1086         Likewise.
1087         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
1088         * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Likewise.
1089         * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Likewise.
1090         * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Likewise.
1091         * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise.
1092         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
1093         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise.
1094         * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Likewise.
1095         * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Likewise.
1096         * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc: Likewise.
1097         * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Likewise.
1098         * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise.
1099         * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
1100         * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise.
1101         * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
1102         * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise.
1103         * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
1104         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Likewise.
1105         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc: Likewise.
1106         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc: Likewise.
1107         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc: Likewise.
1108         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc: Likewise.
1109         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
1110         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
1111         Likewise.
1112         * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
1113         * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Likewise.
1114         * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
1115         * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Likewise.
1116         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1117         * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise.
1118         * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise.
1119         * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise.
1120         * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise.
1121         * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise.
1122         * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise.
1123         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise.
1124         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
1125         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise.
1126         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
1127         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
1128         * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise.
1129         * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise.
1130         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise.
1131         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Likewise.
1132         * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise.
1133         * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise.
1134         * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise.
1135         * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise.
1136         * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise.
1137         * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise.
1138         * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Likewise.
1139         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Likewise.
1140         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
1141         * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Likewise.
1142         * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Likewise.
1143         * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
1144         * testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Likewise.
1145         * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise.
1146         * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise.
1147         * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise.
1148         * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise.
1149         * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise.
1150         * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise.
1151         * testsuite/27_io/basic_filebuf/sputc/char/59427.cc: Likewise.
1152         * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Likewise.
1153         * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise.
1154         * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise.
1155         * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise.
1156         * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Likewise.
1157         * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise.
1158         * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise.
1159         * testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.
1160         * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Likewise.
1161         * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Likewise.
1162         * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise.
1163         * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise.
1164         * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise.
1165         * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise.
1166         * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise.
1167         * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise.
1168         * testsuite/27_io/basic_filebuf/sync/char/1057.cc: Likewise.
1169         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Likewise.
1170         * testsuite/27_io/basic_filebuf/underflow/char/1.cc: Likewise.
1171         * testsuite/27_io/basic_filebuf/underflow/char/2.cc: Likewise.
1172         * testsuite/27_io/basic_filebuf/underflow/char/3.cc: Likewise.
1173         * testsuite/27_io/basic_filebuf/underflow/char/45841.cc: Likewise.
1174         * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: Likewise.
1175         * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
1176         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise.
1177         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise.
1178         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise.
1179         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise.
1180         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: Likewise.
1181         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Likewise.
1182         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise.
1183         * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
1184         * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
1185         * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise.
1186         * testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise.
1187         * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise.
1188         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Likewise.
1189         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
1190         * testsuite/27_io/basic_fstream/cons/1.cc: Likewise.
1191         * testsuite/27_io/basic_fstream/rdbuf/char/2832.cc: Likewise.
1192         * testsuite/27_io/basic_ifstream/cons/2020.cc: Likewise.
1193         * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise.
1194         * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise.
1195         * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise.
1196         * testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
1197         * testsuite/27_io/basic_ios/cons/2020.cc: Likewise.
1198         * testsuite/27_io/basic_ios/cons/char/1.cc: Likewise.
1199         * testsuite/27_io/basic_ios/cons/char/2.cc: Likewise.
1200         * testsuite/27_io/basic_ios/cons/char/3.cc: Likewise.
1201         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
1202         * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
1203         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
1204         * testsuite/27_io/basic_ios/imbue/14072.cc: Likewise.
1205         * testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
1206         * testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
1207         * testsuite/27_io/basic_istream/cons/3.cc: Likewise.
1208         * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Likewise.
1209         * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: Likewise.
1210         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1211         Likewise.
1212         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1213         Likewise.
1214         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1215         Likewise.
1216         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1217         Likewise.
1218         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1219         Likewise.
1220         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1221         Likewise.
1222         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1223         Likewise.
1224         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1225         Likewise.
1226         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1227         Likewise.
1228         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1229         Likewise.
1230         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1231         Likewise.
1232         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
1233         Likewise.
1234         * testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc:
1235         Likewise.
1236         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1237         exceptions_badbit_throw.cc: Likewise.
1238         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1239         exceptions_failbit.cc: Likewise.
1240         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1241         exceptions_failbit_throw.cc: Likewise.
1242         * testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc:
1243         Likewise.
1244         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
1245         Likewise.
1246         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc:
1247         Likewise.
1248         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc:
1249         Likewise.
1250         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc:
1251         Likewise.
1252         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
1253         Likewise.
1254         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc:
1255         Likewise.
1256         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
1257         Likewise.
1258         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
1259         Likewise.
1260         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc:
1261         Likewise.
1262         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1263         Likewise.
1264         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
1265         Likewise.
1266         * testsuite/27_io/basic_istream/extractors_arithmetic/
1267         wchar_t/9555-ia.cc: Likewise.
1268         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1269         dr696.cc: Likewise.
1270         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1271         exceptions_badbit_throw.cc: Likewise.
1272         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1273         exceptions_failbit.cc: Likewise.
1274         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1275         exceptions_failbit_throw.cc: Likewise.
1276         * testsuite/27_io/basic_istream/extractors_character/char/1.cc:
1277         Likewise.
1278         * testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc:
1279         Likewise.
1280         * testsuite/27_io/basic_istream/extractors_character/char/2.cc:
1281         Likewise.
1282         * testsuite/27_io/basic_istream/extractors_character/char/3.cc:
1283         Likewise.
1284         * testsuite/27_io/basic_istream/extractors_character/char/4.cc:
1285         Likewise.
1286         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1287         Likewise.
1288         * testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc:
1289         Likewise.
1290         * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
1291         Likewise.
1292         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1293         11095-i.cc: Likewise.
1294         * testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc:
1295         Likewise.
1296         * testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc:
1297         Likewise.
1298         * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
1299         Likewise.
1300         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1301         9555-ic.cc: Likewise.
1302         * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
1303         * testsuite/27_io/basic_istream/extractors_other/char/2.cc: Likewise.
1304         * testsuite/27_io/basic_istream/extractors_other/char/26181.cc:
1305         Likewise.
1306         * testsuite/27_io/basic_istream/extractors_other/char/3.cc: Likewise.
1307         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1308         Likewise.
1309         * testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc:
1310         Likewise.
1311         * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
1312         Likewise.
1313         * testsuite/27_io/basic_istream/extractors_other/char/
1314         error_failbit.cc: Likewise.
1315         * testsuite/27_io/basic_istream/extractors_other/char/
1316         exceptions_badbit_throw.cc: Likewise.
1317         * testsuite/27_io/basic_istream/extractors_other/char/
1318         exceptions_failbit_throw.cc: Likewise.
1319         * testsuite/27_io/basic_istream/extractors_other/char/
1320         exceptions_null.cc: Likewise.
1321         * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc:
1322         Likewise.
1323         * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc: Likewise.
1324         * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: Likewise.
1325         * testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
1326         Likewise.
1327         * testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc: Likewise.
1328         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc:
1329         Likewise.
1330         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc:
1331         Likewise.
1332         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc:
1333         Likewise.
1334         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1335         error_failbit.cc: Likewise.
1336         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1337         exceptions_badbit_throw.cc: Likewise.
1338         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1339         exceptions_failbit_throw.cc: Likewise.
1340         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1341         exceptions_null.cc: Likewise.
1342         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1343         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1344         * testsuite/27_io/basic_istream/get/char/3.cc: Likewise.
1345         * testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
1346         * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
1347         * testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise.
1348         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1349         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1350         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1351         * testsuite/27_io/basic_istream/getline/char/4.cc: Likewise.
1352         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
1353         * testsuite/27_io/basic_istream/getline/char/6.cc: Likewise.
1354         * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
1355         * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Likewise.
1356         * testsuite/27_io/basic_istream/getline/wchar_t/3.cc: Likewise.
1357         * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise.
1358         * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Likewise.
1359         * testsuite/27_io/basic_istream/getline/wchar_t/6.cc: Likewise.
1360         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1361         * testsuite/27_io/basic_istream/ignore/char/2.cc: Likewise.
1362         * testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise.
1363         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1364         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1365         * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
1366         * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
1367         * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
1368         * testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise.
1369         * testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise.
1370         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1371         * testsuite/27_io/basic_istream/peek/char/12296.cc: Likewise.
1372         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1373         * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
1374         * testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
1375         * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
1376         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1377         * testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
1378         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1379         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1380         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1381         * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
1382         * testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
1383         * testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
1384         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc: Likewise.
1385         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Likewise.
1386         * testsuite/27_io/basic_istream/readsome/char/8258.cc: Likewise.
1387         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
1388         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
1389         * testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
1390         * testsuite/27_io/basic_istream/seekg/char/2.cc: Likewise.
1391         * testsuite/27_io/basic_istream/seekg/char/26211.cc: Likewise.
1392         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1393         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1394         * testsuite/27_io/basic_istream/seekg/char/
1395         exceptions_badbit_throw.cc: Likewise.
1396         * testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise.
1397         * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise.
1398         * testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
1399         * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
1400         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
1401         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
1402         * testsuite/27_io/basic_istream/seekg/wchar_t/
1403         exceptions_badbit_throw.cc: Likewise.
1404         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
1405         * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
1406         * testsuite/27_io/basic_istream/sentry/char/1.cc: Likewise.
1407         * testsuite/27_io/basic_istream/sentry/char/2.cc: Likewise.
1408         * testsuite/27_io/basic_istream/sentry/char/3.cc: Likewise.
1409         * testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise.
1410         * testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
1411         * testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
1412         * testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
1413         * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise.
1414         * testsuite/27_io/basic_istream/tellg/char/2.cc: Likewise.
1415         * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
1416         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1417         * testsuite/27_io/basic_istream/tellg/char/
1418         exceptions_badbit_throw.cc: Likewise.
1419         * testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise.
1420         * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise.
1421         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
1422         * testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
1423         * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
1424         * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
1425         * testsuite/27_io/basic_istream/tellg/wchar_t/
1426         exceptions_badbit_throw.cc: Likewise.
1427         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
1428         * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
1429         * testsuite/27_io/basic_istream/ws/char/1.cc: Likewise.
1430         * testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
1431         * testsuite/27_io/basic_istringstream/cons/2020.cc: Likewise.
1432         * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Likewise.
1433         * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: Likewise.
1434         * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
1435         * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
1436         * testsuite/27_io/basic_ofstream/cons/2020.cc: Likewise.
1437         * testsuite/27_io/basic_ofstream/cons/char/1.cc: Likewise.
1438         * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
1439         * testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Likewise.
1440         * testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
1441         * testsuite/27_io/basic_ostream/cons/char/9827.cc: Likewise.
1442         * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: Likewise.
1443         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1444         * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
1445         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
1446         * testsuite/27_io/basic_ostream/ends/char/2.cc: Likewise.
1447         * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
1448         * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
1449         * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise.
1450         * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
1451         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1452         * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
1453         * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
1454         Likewise.
1455         * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
1456         * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
1457         * testsuite/27_io/basic_ostream/flush/wchar_t/
1458         exceptions_badbit_throw.cc: Likewise.
1459         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1460         Likewise.
1461         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1462         Likewise.
1463         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc:
1464         Likewise.
1465         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc:
1466         Likewise.
1467         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc:
1468         Likewise.
1469         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc:
1470         Likewise.
1471         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc:
1472         Likewise.
1473         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
1474         Likewise.
1475         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
1476         Likewise.
1477         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1478         exceptions_badbit_throw.cc: Likewise.
1479         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1480         exceptions_failbit_throw.cc: Likewise.
1481         * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc:
1482         Likewise.
1483         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1484         Likewise.
1485         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
1486         Likewise.
1487         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc:
1488         Likewise.
1489         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc:
1490         Likewise.
1491         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc:
1492         Likewise.
1493         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc:
1494         Likewise.
1495         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc:
1496         Likewise.
1497         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
1498         Likewise.
1499         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1500         9555-oa.cc: Likewise.
1501         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1502         exceptions_badbit_throw.cc: Likewise.
1503         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1504         exceptions_failbit_throw.cc: Likewise.
1505         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc:
1506         Likewise.
1507         * testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc:
1508         Likewise.
1509         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc:
1510         Likewise.
1511         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc: Likewise.
1512         * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
1513         Likewise.
1514         * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
1515         Likewise.
1516         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc: Likewise.
1517         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc: Likewise.
1518         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc: Likewise.
1519         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc: Likewise.
1520         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc: Likewise.
1521         * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
1522         Likewise.
1523         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1524         11095-od.cc: Likewise.
1525         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1526         11095-oe.cc: Likewise.
1527         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1528         11095-of.cc: Likewise.
1529         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc:
1530         Likewise.
1531         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1532         28277-1.cc: Likewise.
1533         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1534         28277-2.cc: Likewise.
1535         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1536         28277-3.cc: Likewise.
1537         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1538         28277-4.cc: Likewise.
1539         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc:
1540         Likewise.
1541         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc:
1542         Likewise.
1543         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc:
1544         Likewise.
1545         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc:
1546         Likewise.
1547         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1548         Likewise.
1549         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1550         Likewise.
1551         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1552         9555-oc.cc: Likewise.
1553         * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
1554         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Likewise.
1555         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Likewise.
1556         * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: Likewise.
1557         * testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc:
1558         Likewise.
1559         * testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc:
1560         Likewise.
1561         * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
1562         Likewise.
1563         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
1564         Likewise.
1565         * testsuite/27_io/basic_ostream/inserters_other/char/
1566         error_failbit.cc: Likewise.
1567         * testsuite/27_io/basic_ostream/inserters_other/char/
1568         exceptions_badbit_throw.cc: Likewise.
1569         * testsuite/27_io/basic_ostream/inserters_other/char/
1570         exceptions_failbit_throw.cc: Likewise.
1571         * testsuite/27_io/basic_ostream/inserters_other/char/
1572         exceptions_null.cc: Likewise.
1573         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: Likewise.
1574         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc: Likewise.
1575         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc: Likewise.
1576         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc: Likewise.
1577         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1578         9318-out.cc: Likewise.
1579         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1580         9424-out.cc: Likewise.
1581         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1582         9555-oo.cc: Likewise.
1583         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1584         error_code.cc: Likewise.
1585         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1586         error_failbit.cc: Likewise.
1587         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1588         exceptions_badbit_throw.cc: Likewise.
1589         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1590         exceptions_failbit_throw.cc: Likewise.
1591         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1592         exceptions_null.cc: Likewise.
1593         * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
1594         * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
1595         * testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Likewise.
1596         * testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc: Likewise.
1597         * testsuite/27_io/basic_ostream/seekp/char/
1598         exceptions_badbit_throw.cc: Likewise.
1599         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc: Likewise.
1600         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc: Likewise.
1601         * testsuite/27_io/basic_ostream/seekp/wchar_t/
1602         exceptions_badbit_throw.cc: Likewise.
1603         * testsuite/27_io/basic_ostream/sentry/char/1.cc: Likewise.
1604         * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
1605         * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
1606         * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
1607         * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
1608         * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
1609         * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
1610         * testsuite/27_io/basic_ostream/tellp/char/
1611         exceptions_badbit_throw.cc: Likewise.
1612         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
1613         * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
1614         * testsuite/27_io/basic_ostream/tellp/wchar_t/
1615         exceptions_badbit_throw.cc: Likewise.
1616         * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
1617         * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
1618         * testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise.
1619         * testsuite/27_io/basic_ostringstream/cons/char/3.cc: Likewise.
1620         * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
1621         * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: Likewise.
1622         * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
1623         * testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise.
1624         * testsuite/27_io/basic_ostringstream/str/char/2.cc: Likewise.
1625         * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
1626         * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
1627         * testsuite/27_io/basic_streambuf/cons/2020.cc: Likewise.
1628         * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
1629         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Likewise.
1630         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
1631         * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise.
1632         * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
1633         * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
1634         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise.
1635         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
1636         * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
1637         * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: Likewise.
1638         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Likewise.
1639         * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
1640         * testsuite/27_io/basic_streambuf/overflow/char/2.cc: Likewise.
1641         * testsuite/27_io/basic_streambuf/overflow/char/3599.cc: Likewise.
1642         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
1643         * testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc: Likewise.
1644         * testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc: Likewise.
1645         * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
1646         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
1647         * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
1648         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
1649         * testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc: Likewise.
1650         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
1651         * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
1652         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
1653         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
1654         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
1655         * testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise.
1656         * testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise.
1657         * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
1658         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Likewise.
1659         * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
1660         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Likewise.
1661         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
1662         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Likewise.
1663         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
1664         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Likewise.
1665         * testsuite/27_io/basic_stringbuf/overflow/char/2.cc: Likewise.
1666         * testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: Likewise.
1667         * testsuite/27_io/basic_stringbuf/overflow/char/3599.cc: Likewise.
1668         * testsuite/27_io/basic_stringbuf/overflow/char/9988.cc: Likewise.
1669         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc: Likewise.
1670         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc: Likewise.
1671         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Likewise.
1672         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc: Likewise.
1673         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc: Likewise.
1674         * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: Likewise.
1675         * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
1676         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
1677         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
1678         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
1679         * testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc: Likewise.
1680         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
1681         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc: Likewise.
1682         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise.
1683         * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: Likewise.
1684         * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: Likewise.
1685         * testsuite/27_io/basic_stringbuf/seekoff/char/2.cc: Likewise.
1686         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
1687         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
1688         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: Likewise.
1689         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc: Likewise.
1690         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
1691         * testsuite/27_io/basic_stringbuf/seekpos/char/2.cc: Likewise.
1692         * testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: Likewise.
1693         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Likewise.
1694         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
1695         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc: Likewise.
1696         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: Likewise.
1697         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc: Likewise.
1698         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Likewise.
1699         * testsuite/27_io/basic_stringbuf/setbuf/char/2.cc: Likewise.
1700         * testsuite/27_io/basic_stringbuf/setbuf/char/3.cc: Likewise.
1701         * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: Likewise.
1702         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Likewise.
1703         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc: Likewise.
1704         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc: Likewise.
1705         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
1706         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise.
1707         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
1708         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
1709         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
1710         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
1711         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
1712         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise.
1713         * testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc: Likewise.
1714         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise.
1715         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc: Likewise.
1716         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Likewise.
1717         * testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc: Likewise.
1718         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Likewise.
1719         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc: Likewise.
1720         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Likewise.
1721         * testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc: Likewise.
1722         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Likewise.
1723         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc: Likewise.
1724         * testsuite/27_io/basic_stringbuf/str/char/1.cc: Likewise.
1725         * testsuite/27_io/basic_stringbuf/str/char/2.cc: Likewise.
1726         * testsuite/27_io/basic_stringbuf/str/char/3.cc: Likewise.
1727         * testsuite/27_io/basic_stringbuf/str/char/3955.cc: Likewise.
1728         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Likewise.
1729         * testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc: Likewise.
1730         * testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc: Likewise.
1731         * testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc: Likewise.
1732         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
1733         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
1734         * testsuite/27_io/basic_stringbuf/sync/char/1057.cc: Likewise.
1735         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
1736         * testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise.
1737         * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Likewise.
1738         * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: Likewise.
1739         * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
1740         * testsuite/27_io/basic_stringstream/str/char/2.cc: Likewise.
1741         * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
1742         * testsuite/27_io/basic_stringstream/str/char/4.cc: Likewise.
1743         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
1744         * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
1745         * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
1746         * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
1747         * testsuite/27_io/fpos/11450.cc: Likewise.
1748         * testsuite/27_io/fpos/14252.cc: Likewise.
1749         * testsuite/27_io/fpos/14320-1.cc: Likewise.
1750         * testsuite/27_io/fpos/14320-2.cc: Likewise.
1751         * testsuite/27_io/fpos/14320-3.cc: Likewise.
1752         * testsuite/27_io/fpos/14320-4.cc: Likewise.
1753         * testsuite/27_io/fpos/14320-5.cc: Likewise.
1754         * testsuite/27_io/fpos/14775.cc: Likewise.
1755         * testsuite/27_io/fpos/mbstate_t/1.cc: Likewise.
1756         * testsuite/27_io/fpos/mbstate_t/12065.cc: Likewise.
1757         * testsuite/27_io/fpos/mbstate_t/2.cc: Likewise.
1758         * testsuite/27_io/fpos/mbstate_t/3.cc: Likewise.
1759         * testsuite/27_io/ios_base/callbacks/1.cc: Likewise.
1760         * testsuite/27_io/ios_base/failure/what-1.cc: Likewise.
1761         * testsuite/27_io/ios_base/failure/what-2.cc: Likewise.
1762         * testsuite/27_io/ios_base/failure/what-3.cc: Likewise.
1763         * testsuite/27_io/ios_base/failure/what-big.cc: Likewise.
1764         * testsuite/27_io/ios_base/state/1.cc: Likewise.
1765         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
1766         * testsuite/27_io/ios_base/storage/11584.cc: Likewise.
1767         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1768         * testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise.
1769         * testsuite/27_io/manipulators/adjustfield/char/1.cc: Likewise.
1770         * testsuite/27_io/manipulators/adjustfield/char/2.cc
1771         * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: Likewise.
1772         * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
1773         * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
1774         * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
1775         * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
1776         * testsuite/27_io/manipulators/extended/get_money/char/51288.cc:
1777         Likewise.
1778         * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
1779         Likewise.
1780         * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
1781         Likewise.
1782         * testsuite/27_io/manipulators/extended/get_time/char/1.cc
1783         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
1784         * testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: Likewise.
1785         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Likewise.
1786         * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
1787         * testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
1788         Likewise.
1789         * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
1790         Likewise.
1791         * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
1792         Likewise.
1793         * testsuite/27_io/manipulators/extended/put_time/char/1.cc: Likewise.
1794         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
1795         * testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: Likewise.
1796         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Likewise.
1797         * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
1798         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
1799         * testsuite/27_io/manipulators/standard/char/dr2344.cc: Likewise.
1800         * testsuite/27_io/manipulators/standard/char/quoted.cc: Likewise.
1801         * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
1802         * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
1803         * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: Likewise.
1804         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Likewise.
1805         * testsuite/27_io/objects/char/1.cc: Likewise.
1806         * testsuite/27_io/objects/char/10.cc: Likewise.
1807         * testsuite/27_io/objects/char/3045.cc: Likewise.
1808         * testsuite/27_io/objects/char/41037.cc: Likewise.
1809         * testsuite/27_io/objects/char/5.cc: Likewise.
1810         * testsuite/27_io/objects/char/6.cc: Likewise.
1811         * testsuite/27_io/objects/char/6548_xin.cc: Likewise.
1812         * testsuite/27_io/objects/char/6648-1_xin.cc: Likewise.
1813         * testsuite/27_io/objects/char/6648-2_xin.cc: Likewise.
1814         * testsuite/27_io/objects/char/7744_xin.cc: Likewise.
1815         * testsuite/27_io/objects/char/8.cc: Likewise.
1816         * testsuite/27_io/objects/char/9.cc: Likewise.
1817         * testsuite/27_io/objects/char/9661-2_xin.cc: Likewise.
1818         * testsuite/27_io/objects/char/dr455.cc: Likewise.
1819         * testsuite/27_io/objects/wchar_t/1.cc: Likewise.
1820         * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
1821         * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
1822         * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
1823         * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
1824         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
1825         * testsuite/27_io/objects/wchar_t/3045.cc: Likewise.
1826         * testsuite/27_io/objects/wchar_t/41037.cc: Likewise.
1827         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
1828         * testsuite/27_io/objects/wchar_t/6548_xin.cc: Likewise.
1829         * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: Likewise.
1830         * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: Likewise.
1831         * testsuite/27_io/objects/wchar_t/7744_xin.cc: Likewise.
1832         * testsuite/27_io/objects/wchar_t/8.cc: Likewise.
1833         * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
1834         * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: Likewise.
1835         * testsuite/27_io/objects/wchar_t/9662.cc: Likewise.
1836         * testsuite/27_io/objects/wchar_t/dr455.cc: Likewise.
1837         * testsuite/27_io/types/3.cc: Likewise.
1839 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1841         PR libstdc++/77994
1842         * include/bits/stl_algo.h (sample): Convert size argument to iterator
1843         difference type.
1844         * include/experimental/algorithm (experimental::sample): Likewise.
1845         * testsuite/25_algorithms/sample/2.cc: New test.
1847 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1849         * testsuite/unordered_map/insert/57619.C: Rename to 57619.cc.
1850         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
1852 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1854         * testsuite/array/capacity/empty.cc: Remove 'test' variables.
1855         * testsuite/array/capacity/max_size.cc: Likewise.
1856         * testsuite/array/capacity/size.cc: Likewise.
1857         * testsuite/array/comparison_operators/equal.cc: Likewise.
1858         * testsuite/array/comparison_operators/greater.cc: Likewise.
1859         * testsuite/array/comparison_operators/greater_or_equal.cc: Likewise.
1860         * testsuite/array/comparison_operators/less.cc: Likewise.
1861         * testsuite/array/comparison_operators/less_or_equal.cc: Likewise.
1862         * testsuite/array/comparison_operators/not_equal.cc: Likewise.
1863         * testsuite/array/element_access/54388.cc: Likewise.
1864         * testsuite/array/element_access/at_out_of_range.cc: Likewise.
1865         * testsuite/array/element_access/back.cc: Likewise.
1866         * testsuite/array/element_access/data.cc: Likewise.
1867         * testsuite/array/element_access/front.cc: Likewise.
1868         * testsuite/array/iterators/end_is_one_past.cc: Likewise.
1869         * testsuite/array/requirements/contiguous.cc: Likewise.
1870         * testsuite/array/requirements/fill.cc: Likewise.
1871         * testsuite/array/requirements/member_swap.cc: Likewise.
1872         * testsuite/array/requirements/zero_sized_arrays.cc: Likewise.
1873         * testsuite/array/specialized_algorithms/swap.cc: Likewise.
1874         * testsuite/array/tuple_interface/tuple_element.cc: Likewise.
1875         * testsuite/array/tuple_interface/tuple_element_cpp14.cc: Likewise.
1876         * testsuite/array/tuple_interface/tuple_size.cc: Likewise.
1877         * testsuite/bitset/all/1.cc: Likewise.
1878         * testsuite/bitset/cons/1.cc: Likewise.
1879         * testsuite/bitset/cons/16020.cc: Likewise.
1880         * testsuite/bitset/cons/2.cc: Likewise.
1881         * testsuite/bitset/cons/3.cc: Likewise.
1882         * testsuite/bitset/cons/50268.cc: Likewise.
1883         * testsuite/bitset/cons/6282.cc: Likewise.
1884         * testsuite/bitset/cons/dr1325-2.cc: Likewise.
1885         * testsuite/bitset/cons/dr396.cc: Likewise.
1886         * testsuite/bitset/ext/15361.cc: Likewise.
1887         * testsuite/bitset/input/1.cc: Likewise.
1888         * testsuite/bitset/operations/1.cc: Likewise.
1889         * testsuite/bitset/operations/13838.cc: Likewise.
1890         * testsuite/bitset/operations/2.cc: Likewise.
1891         * testsuite/bitset/test/1.cc: Likewise.
1892         * testsuite/bitset/to_string/1.cc: Likewise.
1893         * testsuite/bitset/to_string/dr396.cc: Likewise.
1894         * testsuite/bitset/to_ullong/1.cc: Likewise.
1895         * testsuite/bitset/to_ulong/1.cc: Likewise.
1896         * testsuite/deque/allocator/copy.cc: Likewise.
1897         * testsuite/deque/allocator/copy_assign.cc: Likewise.
1898         * testsuite/deque/allocator/ext_ptr.cc: Likewise.
1899         * testsuite/deque/allocator/minimal.cc: Likewise.
1900         * testsuite/deque/allocator/move.cc: Likewise.
1901         * testsuite/deque/allocator/move_assign.cc: Likewise.
1902         * testsuite/deque/allocator/swap.cc: Likewise.
1903         * testsuite/deque/capacity/29134-2.cc: Likewise.
1904         * testsuite/deque/capacity/29134.cc: Likewise.
1905         * testsuite/deque/capacity/moveable.cc: Likewise.
1906         * testsuite/deque/capacity/resize_size.cc: Likewise.
1907         * testsuite/deque/capacity/shrink_to_fit.cc: Likewise.
1908         * testsuite/deque/cons/1.cc: Likewise.
1909         * testsuite/deque/cons/2.cc: Likewise.
1910         * testsuite/deque/cons/assign/1.cc: Likewise.
1911         * testsuite/deque/cons/cons_size.cc: Likewise.
1912         * testsuite/deque/cons/moveable.cc: Likewise.
1913         * testsuite/deque/modifiers/erase/1.cc: Likewise.
1914         * testsuite/deque/modifiers/erase/2.cc: Likewise.
1915         * testsuite/deque/modifiers/erase/3.cc: Likewise.
1916         * testsuite/deque/modifiers/erase/moveable.cc: Likewise.
1917         * testsuite/deque/modifiers/moveable.cc: Likewise.
1918         * testsuite/deque/modifiers/push_back/49836.cc: Likewise.
1919         * testsuite/deque/modifiers/push_front/49836.cc: Likewise.
1920         * testsuite/deque/modifiers/swap/1.cc: Likewise.
1921         * testsuite/deque/modifiers/swap/2.cc: Likewise.
1922         * testsuite/deque/modifiers/swap/3.cc: Likewise.
1923         * testsuite/deque/operators/1.cc: Likewise.
1924         * testsuite/deque/operators/2.cc: Likewise.
1925         * testsuite/forward_list/allocator/copy.cc: Likewise.
1926         * testsuite/forward_list/allocator/copy_assign.cc: Likewise.
1927         * testsuite/forward_list/allocator/ext_ptr.cc: Likewise.
1928         * testsuite/forward_list/allocator/minimal.cc: Likewise.
1929         * testsuite/forward_list/allocator/move.cc: Likewise.
1930         * testsuite/forward_list/allocator/move_assign.cc: Likewise.
1931         * testsuite/forward_list/allocator/swap.cc: Likewise.
1932         * testsuite/forward_list/capacity/1.cc: Likewise.
1933         * testsuite/forward_list/capacity/resize_size.cc: Likewise.
1934         * testsuite/forward_list/comparable.cc: Likewise.
1935         * testsuite/forward_list/cons/1.cc: Likewise.
1936         * testsuite/forward_list/cons/2.cc: Likewise.
1937         * testsuite/forward_list/cons/3.cc: Likewise.
1938         * testsuite/forward_list/cons/4.cc: Likewise.
1939         * testsuite/forward_list/cons/5.cc: Likewise.
1940         * testsuite/forward_list/cons/6.cc: Likewise.
1941         * testsuite/forward_list/cons/7.cc: Likewise.
1942         * testsuite/forward_list/cons/8.cc: Likewise.
1943         * testsuite/forward_list/cons/9.cc: Likewise.
1944         * testsuite/forward_list/cons/cons_size.cc: Likewise.
1945         * testsuite/forward_list/cons/moveable.cc: Likewise.
1946         * testsuite/forward_list/debug/clear.cc: Likewise.
1947         * testsuite/forward_list/debug/construct4_neg.cc: Likewise.
1948         * testsuite/forward_list/debug/erase_after1_neg.cc: Likewise.
1949         * testsuite/forward_list/debug/move_assign_neg.cc: Likewise.
1950         * testsuite/forward_list/debug/move_constructor.cc: Likewise.
1951         * testsuite/forward_list/debug/move_neg.cc: Likewise.
1952         * testsuite/forward_list/debug/splice_after.cc: Likewise.
1953         * testsuite/forward_list/debug/swap.cc: Likewise.
1954         * testsuite/forward_list/modifiers/1.cc: Likewise.
1955         * testsuite/forward_list/modifiers/2.cc: Likewise.
1956         * testsuite/forward_list/modifiers/3.cc: Likewise.
1957         * testsuite/forward_list/modifiers/4.cc: Likewise.
1958         * testsuite/forward_list/modifiers/5.cc: Likewise.
1959         * testsuite/forward_list/modifiers/6.cc: Likewise.
1960         * testsuite/forward_list/operations/1.cc: Likewise.
1961         * testsuite/forward_list/operations/2.cc: Likewise.
1962         * testsuite/forward_list/operations/3.cc: Likewise.
1963         * testsuite/forward_list/operations/4.cc: Likewise.
1964         * testsuite/forward_list/operations/5.cc: Likewise.
1965         * testsuite/forward_list/operations/6.cc: Likewise.
1966         * testsuite/forward_list/operations/7.cc: Likewise.
1967         * testsuite/forward_list/operations/remove_freed.cc: Likewise.
1968         * testsuite/list/61347.cc: Likewise.
1969         * testsuite/list/allocator/copy.cc: Likewise.
1970         * testsuite/list/allocator/copy_assign.cc: Likewise.
1971         * testsuite/list/allocator/minimal.cc: Likewise.
1972         * testsuite/list/allocator/move.cc: Likewise.
1973         * testsuite/list/allocator/move_assign.cc: Likewise.
1974         * testsuite/list/allocator/swap.cc: Likewise.
1975         * testsuite/list/capacity/1.h: Likewise.
1976         * testsuite/list/capacity/29134.cc: Likewise.
1977         * testsuite/list/capacity/resize_size.cc: Likewise.
1978         * testsuite/list/cons/1.h: Likewise.
1979         * testsuite/list/cons/2.h: Likewise.
1980         * testsuite/list/cons/3.h: Likewise.
1981         * testsuite/list/cons/4.h: Likewise.
1982         * testsuite/list/cons/5.h: Likewise.
1983         * testsuite/list/cons/6.h: Likewise.
1984         * testsuite/list/cons/7.h: Likewise.
1985         * testsuite/list/cons/8.h: Likewise.
1986         * testsuite/list/cons/9.h: Likewise.
1987         * testsuite/list/cons/cons_size.cc: Likewise.
1988         * testsuite/list/cons/moveable.h: Likewise.
1989         * testsuite/list/debug/invalidation/1.cc: Likewise.
1990         * testsuite/list/debug/invalidation/2.cc: Likewise.
1991         * testsuite/list/debug/invalidation/3.cc: Likewise.
1992         * testsuite/list/debug/invalidation/4.cc: Likewise.
1993         * testsuite/list/modifiers/1.h: Likewise.
1994         * testsuite/list/modifiers/2.h: Likewise.
1995         * testsuite/list/modifiers/3.h: Likewise.
1996         * testsuite/list/modifiers/insert/25288.h: Likewise.
1997         * testsuite/list/modifiers/swap/1.h: Likewise.
1998         * testsuite/list/modifiers/swap/2.h: Likewise.
1999         * testsuite/list/modifiers/swap/3.h: Likewise.
2000         * testsuite/list/operations/1.h: Likewise.
2001         * testsuite/list/operations/2.h: Likewise.
2002         * testsuite/list/operations/3.h: Likewise.
2003         * testsuite/list/operations/4.h: Likewise.
2004         * testsuite/list/operations/42352.cc: Likewise.
2005         * testsuite/map/allocator/copy.cc: Likewise.
2006         * testsuite/map/allocator/copy_assign.cc: Likewise.
2007         * testsuite/map/allocator/init-list.cc: Likewise.
2008         * testsuite/map/allocator/minimal.cc: Likewise.
2009         * testsuite/map/allocator/move.cc: Likewise.
2010         * testsuite/map/allocator/move_assign.cc: Likewise.
2011         * testsuite/map/allocator/swap.cc: Likewise.
2012         * testsuite/map/capacity/29134.cc: Likewise.
2013         * testsuite/map/cons/moveable.cc: Likewise.
2014         * testsuite/map/debug/construct5_neg.cc: Likewise.
2015         * testsuite/map/debug/move_assign_neg.cc: Likewise.
2016         * testsuite/map/debug/move_neg.cc: Likewise.
2017         * testsuite/map/element_access/1.cc: Likewise.
2018         * testsuite/map/element_access/2.cc: Likewise.
2019         * testsuite/map/element_access/39901.cc: Likewise.
2020         * testsuite/map/init-list.cc: Likewise.
2021         * testsuite/map/modifiers/dr130.cc: Likewise.
2022         * testsuite/map/modifiers/emplace/1.cc: Likewise.
2023         * testsuite/map/modifiers/extract.cc: Likewise.
2024         * testsuite/map/modifiers/insert/1.cc: Likewise.
2025         * testsuite/map/modifiers/insert/16813.cc: Likewise.
2026         * testsuite/map/modifiers/insert/2.cc: Likewise.
2027         * testsuite/map/modifiers/insert/3.cc: Likewise.
2028         * testsuite/map/modifiers/insert/4.cc: Likewise.
2029         * testsuite/map/modifiers/insert/5.cc: Likewise.
2030         * testsuite/map/modifiers/insert_or_assign/1.cc: Likewise.
2031         * testsuite/map/modifiers/merge.cc: Likewise.
2032         * testsuite/map/modifiers/swap/1.cc: Likewise.
2033         * testsuite/map/modifiers/swap/2.cc: Likewise.
2034         * testsuite/map/modifiers/swap/3.cc: Likewise.
2035         * testsuite/map/modifiers/try_emplace/1.cc: Likewise.
2036         * testsuite/map/operations/1.cc: Likewise.
2037         * testsuite/map/operations/count.cc: Likewise.
2038         * testsuite/map/operators/1_neg.cc: Likewise.
2039         * testsuite/map/operators/2.cc: Likewise.
2040         * testsuite/multimap/allocator/copy.cc: Likewise.
2041         * testsuite/multimap/allocator/copy_assign.cc: Likewise.
2042         * testsuite/multimap/allocator/init-list.cc: Likewise.
2043         * testsuite/multimap/allocator/minimal.cc: Likewise.
2044         * testsuite/multimap/allocator/move.cc: Likewise.
2045         * testsuite/multimap/allocator/move_assign.cc: Likewise.
2046         * testsuite/multimap/allocator/swap.cc: Likewise.
2047         * testsuite/multimap/capacity/29134.cc: Likewise.
2048         * testsuite/multimap/cons/moveable.cc: Likewise.
2049         * testsuite/multimap/debug/construct5_neg.cc: Likewise.
2050         * testsuite/multimap/debug/move_assign_neg.cc: Likewise.
2051         * testsuite/multimap/debug/move_neg.cc: Likewise.
2052         * testsuite/multimap/init-list.cc: Likewise.
2053         * testsuite/multimap/modifiers/dr130.cc: Likewise.
2054         * testsuite/multimap/modifiers/emplace/1.cc: Likewise.
2055         * testsuite/multimap/modifiers/extract.cc: Likewise.
2056         * testsuite/multimap/modifiers/insert/1.cc: Likewise.
2057         * testsuite/multimap/modifiers/insert/2.cc: Likewise.
2058         * testsuite/multimap/modifiers/insert/22102.cc: Likewise.
2059         * testsuite/multimap/modifiers/insert/3.cc: Likewise.
2060         * testsuite/multimap/modifiers/insert/4.cc: Likewise.
2061         * testsuite/multimap/modifiers/merge.cc: Likewise.
2062         * testsuite/multimap/modifiers/swap/1.cc: Likewise.
2063         * testsuite/multimap/modifiers/swap/2.cc: Likewise.
2064         * testsuite/multimap/modifiers/swap/3.cc: Likewise.
2065         * testsuite/multimap/operations/1.cc: Likewise.
2066         * testsuite/multimap/operations/count.cc: Likewise.
2067         * testsuite/multiset/allocator/copy.cc: Likewise.
2068         * testsuite/multiset/allocator/copy_assign.cc: Likewise.
2069         * testsuite/multiset/allocator/init-list.cc: Likewise.
2070         * testsuite/multiset/allocator/minimal.cc: Likewise.
2071         * testsuite/multiset/allocator/move.cc: Likewise.
2072         * testsuite/multiset/allocator/move_assign.cc: Likewise.
2073         * testsuite/multiset/allocator/swap.cc: Likewise.
2074         * testsuite/multiset/capacity/29134.cc: Likewise.
2075         * testsuite/multiset/cons/moveable.cc: Likewise.
2076         * testsuite/multiset/debug/construct5_neg.cc: Likewise.
2077         * testsuite/multiset/debug/invalidation/2.cc: Likewise.
2078         * testsuite/multiset/debug/move_assign_neg.cc: Likewise.
2079         * testsuite/multiset/debug/move_neg.cc: Likewise.
2080         * testsuite/multiset/init-list.cc: Likewise.
2081         * testsuite/multiset/modifiers/dr130.cc: Likewise.
2082         * testsuite/multiset/modifiers/emplace/1.cc: Likewise.
2083         * testsuite/multiset/modifiers/extract.cc: Likewise.
2084         * testsuite/multiset/modifiers/insert/1.cc: Likewise.
2085         * testsuite/multiset/modifiers/insert/2.cc: Likewise.
2086         * testsuite/multiset/modifiers/insert/22102.cc: Likewise.
2087         * testsuite/multiset/modifiers/insert/3.cc: Likewise.
2088         * testsuite/multiset/modifiers/insert/4.cc: Likewise.
2089         * testsuite/multiset/modifiers/merge.cc: Likewise.
2090         * testsuite/multiset/modifiers/swap/1.cc: Likewise.
2091         * testsuite/multiset/modifiers/swap/2.cc: Likewise.
2092         * testsuite/multiset/modifiers/swap/3.cc: Likewise.
2093         * testsuite/multiset/operations/1.cc: Likewise.
2094         * testsuite/multiset/operations/count.cc: Likewise.
2095         * testsuite/priority_queue/moveable.cc: Likewise.
2096         * testsuite/queue/moveable.cc: Likewise.
2097         * testsuite/set/allocator/copy.cc: Likewise.
2098         * testsuite/set/allocator/copy_assign.cc: Likewise.
2099         * testsuite/set/allocator/init-list.cc: Likewise.
2100         * testsuite/set/allocator/minimal.cc: Likewise.
2101         * testsuite/set/allocator/move.cc: Likewise.
2102         * testsuite/set/allocator/move_assign.cc: Likewise.
2103         * testsuite/set/allocator/swap.cc: Likewise.
2104         * testsuite/set/capacity/29134.cc: Likewise.
2105         * testsuite/set/cons/moveable.cc: Likewise.
2106         * testsuite/set/debug/construct5_neg.cc: Likewise.
2107         * testsuite/set/debug/invalidation/2.cc: Likewise.
2108         * testsuite/set/debug/move_assign_neg.cc: Likewise.
2109         * testsuite/set/debug/move_neg.cc: Likewise.
2110         * testsuite/set/init-list.cc: Likewise.
2111         * testsuite/set/modifiers/17948.cc: Likewise.
2112         * testsuite/set/modifiers/dr130.cc: Likewise.
2113         * testsuite/set/modifiers/emplace/1.cc: Likewise.
2114         * testsuite/set/modifiers/extract.cc: Likewise.
2115         * testsuite/set/modifiers/insert/1.cc: Likewise.
2116         * testsuite/set/modifiers/insert/2.cc: Likewise.
2117         * testsuite/set/modifiers/insert/3.cc: Likewise.
2118         * testsuite/set/modifiers/merge.cc: Likewise.
2119         * testsuite/set/modifiers/swap/1.cc: Likewise.
2120         * testsuite/set/modifiers/swap/2.cc: Likewise.
2121         * testsuite/set/modifiers/swap/3.cc: Likewise.
2122         * testsuite/set/operations/1.cc: Likewise.
2123         * testsuite/set/operations/count.cc: Likewise.
2124         * testsuite/set/operators/1_neg.cc: Likewise.
2125         * testsuite/unordered_map/allocator/copy.cc: Likewise.
2126         * testsuite/unordered_map/allocator/copy_assign.cc: Likewise.
2127         * testsuite/unordered_map/allocator/minimal.cc: Likewise.
2128         * testsuite/unordered_map/allocator/move.cc: Likewise.
2129         * testsuite/unordered_map/allocator/move_assign.cc: Likewise.
2130         * testsuite/unordered_map/allocator/swap.cc: Likewise.
2131         * testsuite/unordered_map/cons/moveable.cc: Likewise.
2132         * testsuite/unordered_map/debug/construct5_neg.cc: Likewise.
2133         * testsuite/unordered_map/debug/move_assign_neg.cc: Likewise.
2134         * testsuite/unordered_map/debug/move_neg.cc: Likewise.
2135         * testsuite/unordered_map/dr761.cc: Likewise.
2136         * testsuite/unordered_map/erase/1.cc: Likewise.
2137         * testsuite/unordered_map/erase/24061-map.cc: Likewise.
2138         * testsuite/unordered_map/erase/54276.cc: Likewise.
2139         * testsuite/unordered_map/hash_policy/dr1189.cc: Likewise.
2140         * testsuite/unordered_map/init-list.cc: Likewise.
2141         * testsuite/unordered_map/insert/24061-map.cc: Likewise.
2142         * testsuite/unordered_map/insert/57619.C: Likewise.
2143         * testsuite/unordered_map/insert/array_syntax.cc: Likewise.
2144         * testsuite/unordered_map/insert/array_syntax_move.cc: Likewise.
2145         * testsuite/unordered_map/insert/map_range.cc: Likewise.
2146         * testsuite/unordered_map/insert/map_single.cc: Likewise.
2147         * testsuite/unordered_map/insert/map_single_move-1.cc: Likewise.
2148         * testsuite/unordered_map/insert/map_single_move-2.cc: Likewise.
2149         * testsuite/unordered_map/modifiers/61667.cc: Likewise.
2150         * testsuite/unordered_map/modifiers/emplace.cc: Likewise.
2151         * testsuite/unordered_map/modifiers/extract.cc: Likewise.
2152         * testsuite/unordered_map/modifiers/insert_or_assign.cc: Likewise.
2153         * testsuite/unordered_map/modifiers/merge.cc: Likewise.
2154         * testsuite/unordered_map/modifiers/reserve.cc: Likewise.
2155         * testsuite/unordered_map/modifiers/try_emplace.cc: Likewise.
2156         * testsuite/unordered_map/operations/count.cc: Likewise.
2157         * testsuite/unordered_map/operators/1.cc: Likewise.
2158         * testsuite/unordered_map/operators/2.cc: Likewise.
2159         * testsuite/unordered_multimap/allocator/copy.cc: Likewise.
2160         * testsuite/unordered_multimap/allocator/copy_assign.cc: Likewise.
2161         * testsuite/unordered_multimap/allocator/minimal.cc: Likewise.
2162         * testsuite/unordered_multimap/allocator/move.cc: Likewise.
2163         * testsuite/unordered_multimap/allocator/move_assign.cc: Likewise.
2164         * testsuite/unordered_multimap/allocator/swap.cc: Likewise.
2165         * testsuite/unordered_multimap/cons/moveable.cc: Likewise.
2166         * testsuite/unordered_multimap/debug/construct5_neg.cc: Likewise.
2167         * testsuite/unordered_multimap/debug/move_assign_neg.cc: Likewise.
2168         * testsuite/unordered_multimap/debug/move_neg.cc: Likewise.
2169         * testsuite/unordered_multimap/erase/1.cc: Likewise.
2170         * testsuite/unordered_multimap/erase/2.cc: Likewise.
2171         * testsuite/unordered_multimap/erase/24061-multimap.cc: Likewise.
2172         * testsuite/unordered_multimap/erase/51845-multimap.cc: Likewise.
2173         * testsuite/unordered_multimap/erase/54276.cc: Likewise.
2174         * testsuite/unordered_multimap/hash_policy/dr1189.cc: Likewise.
2175         * testsuite/unordered_multimap/init-list.cc: Likewise.
2176         * testsuite/unordered_multimap/insert/24061-multimap.cc: Likewise.
2177         * testsuite/unordered_multimap/insert/51866.cc: Likewise.
2178         * testsuite/unordered_multimap/insert/52476.cc: Likewise.
2179         * testsuite/unordered_multimap/insert/53115.cc: Likewise.
2180         * testsuite/unordered_multimap/insert/57619.C: Likewise.
2181         * testsuite/unordered_multimap/insert/hint.cc: Likewise.
2182         * testsuite/unordered_multimap/insert/multimap_range.cc: Likewise.
2183         * testsuite/unordered_multimap/insert/multimap_single.cc: Likewise.
2184         * testsuite/unordered_multimap/insert/multimap_single_move-1.cc:
2185         Likewise.
2186         * testsuite/unordered_multimap/insert/multimap_single_move-2.cc:
2187         Likewise.
2188         * testsuite/unordered_multimap/modifiers/emplace.cc: Likewise.
2189         * testsuite/unordered_multimap/modifiers/extract.cc: Likewise.
2190         * testsuite/unordered_multimap/modifiers/merge.cc: Likewise.
2191         * testsuite/unordered_multimap/modifiers/reserve.cc: Likewise.
2192         * testsuite/unordered_multimap/operations/count.cc: Likewise.
2193         * testsuite/unordered_multimap/operators/1.cc: Likewise.
2194         * testsuite/unordered_multimap/operators/2.cc: Likewise.
2195         * testsuite/unordered_multiset/allocator/copy.cc: Likewise.
2196         * testsuite/unordered_multiset/allocator/copy_assign.cc: Likewise.
2197         * testsuite/unordered_multiset/allocator/minimal.cc: Likewise.
2198         * testsuite/unordered_multiset/allocator/move.cc: Likewise.
2199         * testsuite/unordered_multiset/allocator/move_assign.cc: Likewise.
2200         * testsuite/unordered_multiset/allocator/swap.cc: Likewise.
2201         * testsuite/unordered_multiset/cons/copy.cc: Likewise.
2202         * testsuite/unordered_multiset/cons/moveable.cc: Likewise.
2203         * testsuite/unordered_multiset/debug/construct5_neg.cc: Likewise.
2204         * testsuite/unordered_multiset/debug/move_assign_neg.cc: Likewise.
2205         * testsuite/unordered_multiset/debug/move_neg.cc: Likewise.
2206         * testsuite/unordered_multiset/erase/1.cc: Likewise.
2207         * testsuite/unordered_multiset/erase/2.cc: Likewise.
2208         * testsuite/unordered_multiset/erase/24061-multiset.cc: Likewise.
2209         * testsuite/unordered_multiset/hash_policy/dr1189.cc: Likewise.
2210         * testsuite/unordered_multiset/init-list.cc: Likewise.
2211         * testsuite/unordered_multiset/insert/24061-multiset.cc: Likewise.
2212         * testsuite/unordered_multiset/insert/51866.cc: Likewise.
2213         * testsuite/unordered_multiset/insert/52476.cc: Likewise.
2214         * testsuite/unordered_multiset/insert/53115.cc: Likewise.
2215         * testsuite/unordered_multiset/insert/hash_policy.cc: Likewise.
2216         * testsuite/unordered_multiset/insert/multiset_range.cc: Likewise.
2217         * testsuite/unordered_multiset/insert/multiset_single.cc: Likewise.
2218         * testsuite/unordered_multiset/insert/multiset_single_move.cc: Likewise.
2219         * testsuite/unordered_multiset/modifiers/emplace.cc: Likewise.
2220         * testsuite/unordered_multiset/modifiers/extract.cc: Likewise.
2221         * testsuite/unordered_multiset/modifiers/merge.cc: Likewise.
2222         * testsuite/unordered_multiset/modifiers/reserve.cc: Likewise.
2223         * testsuite/unordered_multiset/operations/count.cc: Likewise.
2224         * testsuite/unordered_multiset/operators/1.cc: Likewise.
2225         * testsuite/unordered_set/allocator/copy.cc: Likewise.
2226         * testsuite/unordered_set/allocator/copy_assign.cc: Likewise.
2227         * testsuite/unordered_set/allocator/ext_ptr.cc: Likewise.
2228         * testsuite/unordered_set/allocator/minimal.cc: Likewise.
2229         * testsuite/unordered_set/allocator/move.cc: Likewise.
2230         * testsuite/unordered_set/allocator/move_assign.cc: Likewise.
2231         * testsuite/unordered_set/allocator/swap.cc: Likewise.
2232         * testsuite/unordered_set/buckets/swap.cc: Likewise.
2233         * testsuite/unordered_set/cons/moveable.cc: Likewise.
2234         * testsuite/unordered_set/debug/construct5_neg.cc: Likewise.
2235         * testsuite/unordered_set/debug/debug_functions.cc: Likewise.
2236         * testsuite/unordered_set/debug/move_assign_neg.cc: Likewise.
2237         * testsuite/unordered_set/debug/move_neg.cc: Likewise.
2238         * testsuite/unordered_set/erase/1.cc: Likewise.
2239         * testsuite/unordered_set/erase/24061-set.cc: Likewise.
2240         * testsuite/unordered_set/hash_policy/26132.cc: Likewise.
2241         * testsuite/unordered_set/hash_policy/71181.cc: Likewise.
2242         * testsuite/unordered_set/hash_policy/dr1189.cc: Likewise.
2243         * testsuite/unordered_set/hash_policy/load_factor.cc: Likewise.
2244         * testsuite/unordered_set/hash_policy/power2_rehash.cc: Likewise.
2245         * testsuite/unordered_set/hash_policy/prime_rehash.cc: Likewise.
2246         * testsuite/unordered_set/hash_policy/rehash.cc: Likewise.
2247         * testsuite/unordered_set/init-list.cc: Likewise.
2248         * testsuite/unordered_set/insert/24061-set.cc: Likewise.
2249         * testsuite/unordered_set/insert/hash_policy.cc: Likewise.
2250         * testsuite/unordered_set/insert/move_range.cc: Likewise.
2251         * testsuite/unordered_set/insert/set_range.cc: Likewise.
2252         * testsuite/unordered_set/insert/set_single.cc: Likewise.
2253         * testsuite/unordered_set/insert/set_single_move.cc: Likewise.
2254         * testsuite/unordered_set/max_load_factor/robustness.cc: Likewise.
2255         * testsuite/unordered_set/modifiers/emplace.cc: Likewise.
2256         * testsuite/unordered_set/modifiers/extract.cc: Likewise.
2257         * testsuite/unordered_set/modifiers/merge.cc: Likewise.
2258         * testsuite/unordered_set/modifiers/reserve.cc: Likewise.
2259         * testsuite/unordered_set/modifiers/swap.cc: Likewise.
2260         * testsuite/unordered_set/operations/count.cc: Likewise.
2261         * testsuite/unordered_set/operators/1.cc: Likewise.
2262         * testsuite/vector/allocator/copy.cc: Likewise.
2263         * testsuite/vector/allocator/copy_assign.cc: Likewise.
2264         * testsuite/vector/allocator/ext_ptr.cc: Likewise.
2265         * testsuite/vector/allocator/minimal.cc: Likewise.
2266         * testsuite/vector/allocator/move.cc: Likewise.
2267         * testsuite/vector/allocator/move_assign.cc: Likewise.
2268         * testsuite/vector/allocator/swap.cc: Likewise.
2269         * testsuite/vector/bool/6886.cc: Likewise.
2270         * testsuite/vector/bool/72847.cc: Likewise.
2271         * testsuite/vector/bool/allocator/copy.cc: Likewise.
2272         * testsuite/vector/bool/allocator/copy_assign.cc: Likewise.
2273         * testsuite/vector/bool/allocator/ext_ptr.cc: Likewise.
2274         * testsuite/vector/bool/allocator/move.cc: Likewise.
2275         * testsuite/vector/bool/allocator/move_assign.cc: Likewise.
2276         * testsuite/vector/bool/allocator/swap.cc: Likewise.
2277         * testsuite/vector/bool/capacity/1.cc: Likewise.
2278         * testsuite/vector/bool/capacity/29134.cc: Likewise.
2279         * testsuite/vector/bool/capacity/shrink_to_fit.cc: Likewise.
2280         * testsuite/vector/bool/cons/1.cc: Likewise.
2281         * testsuite/vector/bool/cons/2.cc: Likewise.
2282         * testsuite/vector/bool/modifiers/erase/1.cc: Likewise.
2283         * testsuite/vector/bool/modifiers/insert/1.cc: Likewise.
2284         * testsuite/vector/bool/modifiers/insert/31370.cc: Likewise.
2285         * testsuite/vector/bool/modifiers/swap/1.cc: Likewise.
2286         * testsuite/vector/bool/modifiers/swap/2.cc: Likewise.
2287         * testsuite/vector/bool/swap.cc: Likewise.
2288         * testsuite/vector/capacity/1.cc: Likewise.
2289         * testsuite/vector/capacity/2.cc: Likewise.
2290         * testsuite/vector/capacity/29134-2.cc: Likewise.
2291         * testsuite/vector/capacity/29134.cc: Likewise.
2292         * testsuite/vector/capacity/44190.cc: Likewise.
2293         * testsuite/vector/capacity/8230.cc: Likewise.
2294         * testsuite/vector/capacity/reserve/moveable.cc: Likewise.
2295         * testsuite/vector/capacity/reserve/moveable2.cc: Likewise.
2296         * testsuite/vector/capacity/resize/1.cc: Likewise.
2297         * testsuite/vector/capacity/resize/moveable.cc: Likewise.
2298         * testsuite/vector/capacity/resize/moveable2.cc: Likewise.
2299         * testsuite/vector/capacity/resize/resize_size.cc: Likewise.
2300         * testsuite/vector/capacity/shrink_to_fit.cc: Likewise.
2301         * testsuite/vector/capacity/shrink_to_fit2.cc: Likewise.
2302         * testsuite/vector/cons/3.cc: Likewise.
2303         * testsuite/vector/cons/4.cc: Likewise.
2304         * testsuite/vector/cons/cons_size.cc: Likewise.
2305         * testsuite/vector/cons/moveable.cc: Likewise.
2306         * testsuite/vector/data_access/1.cc: Likewise.
2307         * testsuite/vector/debug/debug_functions.cc: Likewise.
2308         * testsuite/vector/debug/move_assign_neg.cc: Likewise.
2309         * testsuite/vector/debug/move_neg.cc: Likewise.
2310         * testsuite/vector/debug/multithreaded_swap.cc: Likewise.
2311         * testsuite/vector/element_access/1.cc: Likewise.
2312         * testsuite/vector/ext_pointer/citerators.cc: Likewise.
2313         * testsuite/vector/ext_pointer/data_access.cc: Likewise.
2314         * testsuite/vector/ext_pointer/modifiers/element.cc: Likewise.
2315         * testsuite/vector/ext_pointer/modifiers/erase.cc: Likewise.
2316         * testsuite/vector/ext_pointer/modifiers/insert.cc: Likewise.
2317         * testsuite/vector/ext_pointer/resize.cc: Likewise.
2318         * testsuite/vector/modifiers/1.cc: Likewise.
2319         * testsuite/vector/modifiers/2.cc: Likewise.
2320         * testsuite/vector/modifiers/emplace/self_emplace.cc: Likewise.
2321         * testsuite/vector/modifiers/erase/1.cc: Likewise.
2322         * testsuite/vector/modifiers/erase/moveable.cc: Likewise.
2323         * testsuite/vector/modifiers/insert/1.cc: Likewise.
2324         * testsuite/vector/modifiers/insert/self_insert.cc: Likewise.
2325         * testsuite/vector/modifiers/moveable.cc: Likewise.
2326         * testsuite/vector/modifiers/moveable2.cc: Likewise.
2327         * testsuite/vector/modifiers/push_back/49836.cc: Likewise.
2328         * testsuite/vector/modifiers/swap/1.cc: Likewise.
2329         * testsuite/vector/modifiers/swap/2.cc: Likewise.
2330         * testsuite/vector/modifiers/swap/3.cc: Likewise.
2331         * testsuite/vector/zero_sized_allocations.cc: Likewise.
2333 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
2335         PR libstdc++/77998
2336         * include/std/future (__future_base::_Deferred_state)
2337         (__future_base::_Async_state_impl): Use decltype to deduce return
2338         type, instead of _Invoker::result_type.
2339         * include/std/thread (thread::_Invoker::operator()): Likewise.
2340         (thread::_Invoker::result_type): Remove.
2342         PR libstdc++/77987
2343         * include/bits/unique_ptr.h (unique_ptr<T[], D>::reset<U>(U)): Copy
2344         value to pointer of the correct type to swap, to support conversions
2345         allowed by LWG 2118 / N4089.
2346         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for
2347         incompatible deleters from ...
2348         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here.
2349         * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for
2350         incompatible pointers to ...
2351         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move
2352         destructor definition to base class. Test for invalid derived-to-base
2353         conversion.
2355         * doc/xml/manual/status_cxx2017.xml: Update status.
2356         * doc/html/*: Regenerate.
2357         * include/bits/deque.tcc (deque::emplace_front, deque::emplace_back):
2358         Return a reference in C++17 mode.
2359         * include/bits/forward_list.h (forward_list::emplace_front): Likewise.
2360         * include/bits/stl_bvector.h (vector<bool>::emplace_back): Likewise.
2361         * include/bits/stl_deque.h (deque::emplace_front, deque::emplace_back):
2362         Likewise.
2363         * include/bits/stl_list.h (list::emplace_front, list::emplace_back):
2364         Likewise.
2365         * include/bits/stl_queue.h (queue::emplace): Likewise.
2366         * include/bits/stl_stack.h (stack::emplace): Likewise.
2367         * include/bits/stl_vector.h (vector::emplace_back): Likewise.
2368         * include/bits/vector.tcc (vector::emplace_back): Likewise.
2369         * include/debug/deque (__gnu_debug::deque::emplace_front)
2370         (__gnu_debug::deque::emplace_back): Likewise.
2371         * include/debug/vector (__gnu_debug::vector::emplace_back): Likewise.
2372         * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
2373         New.
2374         * testsuite/23_containers/forward_list/modifiers/
2375         emplace_cxx17_return.cc: New.
2376         * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: New.
2377         * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: New.
2378         * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: New.
2379         * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: New.
2380         * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
2381         New.
2383 2016-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
2385         * testsuite/22_locale/classification/isblank.cc: Remove 'test'
2386         variables.
2387         * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
2388         * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Likewise.
2389         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
2390         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
2391         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise.
2392         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Likewise.
2393         * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
2394         * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Likewise.
2395         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
2396         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
2397         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise.
2398         * testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
2399         * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Likewise.
2400         * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
2401         * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise.
2402         * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise.
2403         * testsuite/22_locale/codecvt/in/wchar_t/5.cc: Likewise.
2404         * testsuite/22_locale/codecvt/in/wchar_t/6.cc: Likewise.
2405         * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise.
2406         * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
2407         * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
2408         * testsuite/22_locale/codecvt/length/char/1.cc: Likewise.
2409         * testsuite/22_locale/codecvt/length/char/2.cc: Likewise.
2410         * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Likewise.
2411         * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
2412         * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
2413         * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
2414         * testsuite/22_locale/codecvt/length/wchar_t/5.cc: Likewise.
2415         * testsuite/22_locale/codecvt/length/wchar_t/6.cc: Likewise.
2416         * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise.
2417         * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
2418         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Likewise.
2419         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
2420         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
2421         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise.
2422         * testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
2423         * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Likewise.
2424         * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
2425         * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise.
2426         * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
2427         * testsuite/22_locale/codecvt/out/wchar_t/5.cc: Likewise.
2428         * testsuite/22_locale/codecvt/out/wchar_t/6.cc: Likewise.
2429         * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
2430         * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
2431         * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Likewise.
2432         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
2433         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
2434         * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
2435         * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
2436         * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
2437         * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
2438         * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
2439         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
2440         * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
2441         * testsuite/22_locale/collate/hash/char/1.cc: Likewise.
2442         * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
2443         * testsuite/22_locale/collate/hash/wchar_t/1.cc: Likewise.
2444         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
2445         * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
2446         * testsuite/22_locale/collate/transform/char/28277.cc: Likewise.
2447         * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
2448         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
2449         * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise.
2450         * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
2451         * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
2452         * testsuite/22_locale/ctype/cons/char/1.cc: Likewise.
2453         * testsuite/22_locale/ctype/is/char/1.cc: Likewise.
2454         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
2455         * testsuite/22_locale/ctype/is/char/3.cc: Likewise.
2456         * testsuite/22_locale/ctype/is/char/9858.cc: Likewise.
2457         * testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
2458         * testsuite/22_locale/ctype/is/wchar_t/11740.cc: Likewise.
2459         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
2460         * testsuite/22_locale/ctype/narrow/char/1.cc: Likewise.
2461         * testsuite/22_locale/ctype/narrow/char/19955.cc: Likewise.
2462         * testsuite/22_locale/ctype/narrow/char/2.cc: Likewise.
2463         * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Likewise.
2464         * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Likewise.
2465         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise.
2466         * testsuite/22_locale/ctype/scan/char/1.cc: Likewise.
2467         * testsuite/22_locale/ctype/scan/wchar_t/1.cc: Likewise.
2468         * testsuite/22_locale/ctype/to/char/1.cc: Likewise.
2469         * testsuite/22_locale/ctype/to/wchar_t/1.cc: Likewise.
2470         * testsuite/22_locale/ctype/widen/char/1.cc: Likewise.
2471         * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Likewise.
2472         * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
2473         * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise.
2474         * testsuite/22_locale/ctype_base/11844.cc: Likewise.
2475         * testsuite/22_locale/facet/1.cc: Likewise.
2476         * testsuite/22_locale/facet/2.cc: Likewise.
2477         * testsuite/22_locale/facet/25421.cc: Likewise.
2478         * testsuite/22_locale/global_templates/1.cc: Likewise.
2479         * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
2480         Likewise.
2481         * testsuite/22_locale/global_templates/user_facet_hierarchies.cc:
2482         Likewise.
2483         * testsuite/22_locale/locale/13630.cc: Likewise.
2484         * testsuite/22_locale/locale/cons/12352.cc: Likewise.
2485         * testsuite/22_locale/locale/cons/12438.cc: Likewise.
2486         * testsuite/22_locale/locale/cons/2.cc: Likewise.
2487         * testsuite/22_locale/locale/cons/29217.cc: Likewise.
2488         * testsuite/22_locale/locale/cons/38365.cc: Likewise.
2489         * testsuite/22_locale/locale/cons/38368.cc: Likewise.
2490         * testsuite/22_locale/locale/cons/4.cc: Likewise.
2491         * testsuite/22_locale/locale/cons/40184.cc: Likewise.
2492         * testsuite/22_locale/locale/cons/5.cc: Likewise.
2493         * testsuite/22_locale/locale/cons/6.cc: Likewise.
2494         * testsuite/22_locale/locale/cons/7.cc: Likewise.
2495         * testsuite/22_locale/locale/cons/7222-c.cc: Likewise.
2496         * testsuite/22_locale/locale/cons/7222-env.cc: Likewise.
2497         * testsuite/22_locale/locale/cons/8.cc: Likewise.
2498         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
2499         * testsuite/22_locale/locale/global_locale_objects/1.cc: Likewise.
2500         * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
2501         * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
2502         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
2503         * testsuite/22_locale/locale/operations/1.cc: Likewise.
2504         * testsuite/22_locale/locale/operations/2.cc: Likewise.
2505         * testsuite/22_locale/messages/13631.cc: Likewise.
2506         * testsuite/22_locale/messages/members/char/1.cc: Likewise.
2507         * testsuite/22_locale/messages/members/char/2.cc: Likewise.
2508         * testsuite/22_locale/messages/members/char/3.cc: Likewise.
2509         * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
2510         * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
2511         * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
2512         * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
2513         * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
2514         * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
2515         * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
2516         * testsuite/22_locale/money_get/get/char/14.cc: Likewise.
2517         * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
2518         * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
2519         * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
2520         * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
2521         * testsuite/22_locale/money_get/get/char/19.cc: Likewise.
2522         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2523         * testsuite/22_locale/money_get/get/char/22131.cc: Likewise.
2524         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2525         * testsuite/22_locale/money_get/get/char/38399.cc: Likewise.
2526         * testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
2527         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2528         * testsuite/22_locale/money_get/get/char/5.cc: Likewise.
2529         * testsuite/22_locale/money_get/get/char/6.cc: Likewise.
2530         * testsuite/22_locale/money_get/get/char/7.cc: Likewise.
2531         * testsuite/22_locale/money_get/get/char/8.cc: Likewise.
2532         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2533         * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
2534         * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
2535         * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
2536         * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
2537         * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
2538         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Likewise.
2539         * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
2540         * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
2541         * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
2542         * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
2543         * testsuite/22_locale/money_get/get/wchar_t/19.cc: Likewise.
2544         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2545         * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
2546         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2547         * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
2548         * testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
2549         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2550         * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
2551         * testsuite/22_locale/money_get/get/wchar_t/6.cc: Likewise.
2552         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
2553         * testsuite/22_locale/money_get/get/wchar_t/8.cc: Likewise.
2554         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
2555         * testsuite/22_locale/money_put/put/char/12971.cc: Likewise.
2556         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
2557         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
2558         * testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
2559         * testsuite/22_locale/money_put/put/char/4.cc: Likewise.
2560         * testsuite/22_locale/money_put/put/char/5.cc: Likewise.
2561         * testsuite/22_locale/money_put/put/char/6.cc: Likewise.
2562         * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
2563         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
2564         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
2565         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2566         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2567         * testsuite/22_locale/money_put/put/wchar_t/39168.cc: Likewise.
2568         * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
2569         * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
2570         * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
2571         * testsuite/22_locale/moneypunct/40712.cc: Likewise.
2572         * testsuite/22_locale/moneypunct/members/char/1.cc: Likewise.
2573         * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
2574         * testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise.
2575         * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
2576         * testsuite/22_locale/moneypunct/requirements/false/intl.cc: Likewise.
2577         * testsuite/22_locale/moneypunct/requirements/true/intl.cc: Likewise.
2578         * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
2579         * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
2580         * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
2581         * testsuite/22_locale/num_get/get/char/11.cc: Likewise.
2582         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
2583         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
2584         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
2585         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
2586         * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
2587         * testsuite/22_locale/num_get/get/char/2.cc: Likewise.
2588         * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
2589         * testsuite/22_locale/num_get/get/char/23953.cc: Likewise.
2590         * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
2591         * testsuite/22_locale/num_get/get/char/37958.cc: Likewise.
2592         * testsuite/22_locale/num_get/get/char/39168.cc: Likewise.
2593         * testsuite/22_locale/num_get/get/char/39802.cc: Likewise.
2594         * testsuite/22_locale/num_get/get/char/4.cc: Likewise.
2595         * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
2596         * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
2597         * testsuite/22_locale/num_get/get/char/7.cc: Likewise.
2598         * testsuite/22_locale/num_get/get/char/8.cc: Likewise.
2599         * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
2600         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
2601         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
2602         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
2603         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
2604         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
2605         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
2606         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
2607         * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
2608         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Likewise.
2609         * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
2610         * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
2611         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
2612         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
2613         * testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
2614         * testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.
2615         * testsuite/22_locale/num_get/get/wchar_t/4.cc: Likewise.
2616         * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
2617         * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
2618         * testsuite/22_locale/num_get/get/wchar_t/7.cc: Likewise.
2619         * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
2620         * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
2621         * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
2622         * testsuite/22_locale/num_put/put/char/10.cc: Likewise.
2623         * testsuite/22_locale/num_put/put/char/11.cc: Likewise.
2624         * testsuite/22_locale/num_put/put/char/12.cc: Likewise.
2625         * testsuite/22_locale/num_put/put/char/14220.cc: Likewise.
2626         * testsuite/22_locale/num_put/put/char/15565.cc: Likewise.
2627         * testsuite/22_locale/num_put/put/char/2.cc: Likewise.
2628         * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
2629         * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
2630         * testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
2631         * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
2632         * testsuite/22_locale/num_put/put/char/38196.cc: Likewise.
2633         * testsuite/22_locale/num_put/put/char/38210.cc: Likewise.
2634         * testsuite/22_locale/num_put/put/char/4.cc: Likewise.
2635         * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
2636         * testsuite/22_locale/num_put/put/char/6.cc: Likewise.
2637         * testsuite/22_locale/num_put/put/char/7.cc: Likewise.
2638         * testsuite/22_locale/num_put/put/char/8.cc: Likewise.
2639         * testsuite/22_locale/num_put/put/char/9.cc: Likewise.
2640         * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
2641         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
2642         * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
2643         * testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise.
2644         * testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise.
2645         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2646         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: Likewise.
2647         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
2648         * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
2649         * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
2650         * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
2651         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
2652         * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
2653         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
2654         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
2655         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
2656         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
2657         * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
2658         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
2659         * testsuite/22_locale/num_put/put/wchar_t/9.cc: Likewise.
2660         * testsuite/22_locale/numpunct/members/char/1.cc: Likewise.
2661         * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
2662         * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
2663         * testsuite/22_locale/numpunct/members/char/cache_1.cc: Likewise.
2664         * testsuite/22_locale/numpunct/members/char/cache_2.cc: Likewise.
2665         * testsuite/22_locale/numpunct/members/pod/1.cc: Likewise.
2666         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Likewise.
2667         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
2668         * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: Likewise.
2669         * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: Likewise.
2670         * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
2671         * testsuite/22_locale/time_get/date_order/char/1.cc: Likewise.
2672         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Likewise.
2673         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
2674         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
2675         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
2676         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
2677         * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
2678         * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
2679         * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
2680         * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
2681         * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
2682         * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
2683         * testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
2684         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
2685         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
2686         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
2687         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
2688         * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
2689         * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
2690         * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
2691         * testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
2692         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
2693         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
2694         * testsuite/22_locale/time_get/get_monthname/char/3.cc: Likewise.
2695         * testsuite/22_locale/time_get/get_monthname/char/4.cc: Likewise.
2696         * testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
2697         * testsuite/22_locale/time_get/get_monthname/char/6.cc: Likewise.
2698         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
2699         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
2700         * testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc: Likewise.
2701         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: Likewise.
2702         * testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
2703         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
2704         * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
2705         * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
2706         * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
2707         * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
2708         * testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
2709         * testsuite/22_locale/time_get/get_time/char/6.cc: Likewise.
2710         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
2711         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
2712         * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
2713         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
2714         * testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
2715         * testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise.
2716         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
2717         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
2718         * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
2719         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
2720         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
2721         * testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
2722         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
2723         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
2724         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
2725         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
2726         * testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
2727         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
2728         * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
2729         * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
2730         * testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
2731         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
2732         * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
2733         * testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise.
2734         * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
2735         * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
2736         * testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
2737         * testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
2738         * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
2739         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
2740         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
2741         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
2742         * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
2743         * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
2744         * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
2745         * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
2746         * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
2747         * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
2748         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
2749         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
2750         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
2751         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
2752         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
2753         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
2754         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
2755         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
2756         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
2757         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
2758         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
2759         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
2760         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
2761         * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
2762         * testsuite/30_threads/async/42819.cc: Likewise.
2763         * testsuite/30_threads/async/any.cc: Likewise.
2764         * testsuite/30_threads/async/async.cc: Likewise.
2765         * testsuite/30_threads/async/except.cc: Likewise.
2766         * testsuite/30_threads/async/launch.cc: Likewise.
2767         * testsuite/30_threads/async/sync.cc: Likewise.
2768         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2769         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2770         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
2771         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
2772         * testsuite/30_threads/condition_variable/members/3.cc: Likewise.
2773         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2774         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
2775         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
2776         * testsuite/30_threads/future/members/45133.cc: Likewise.
2777         * testsuite/30_threads/future/members/get.cc: Likewise.
2778         * testsuite/30_threads/future/members/get2.cc: Likewise.
2779         * testsuite/30_threads/future/members/share.cc: Likewise.
2780         * testsuite/30_threads/future/members/valid.cc: Likewise.
2781         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
2782         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
2783         * testsuite/30_threads/lock/1.cc: Likewise.
2784         * testsuite/30_threads/lock/2.cc: Likewise.
2785         * testsuite/30_threads/lock/3.cc: Likewise.
2786         * testsuite/30_threads/lock/4.cc: Likewise.
2787         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
2788         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2789         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2790         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2791         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2792         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2793         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2794         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2795         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
2796         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
2797         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
2798         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
2799         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
2800         * testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
2801         Likewise.
2802         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
2803         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
2804         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
2805         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
2806         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
2807         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
2808         * testsuite/30_threads/promise/cons/move.cc: Likewise.
2809         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
2810         * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
2811         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
2812         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
2813         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
2814         * testsuite/30_threads/promise/members/swap.cc: Likewise.
2815         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
2816         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
2817         Likewise.
2818         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2819         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
2820         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
2821         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
2822         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
2823         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
2824         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
2825         Likewise.
2826         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
2827         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
2828         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
2829         Likewise.
2830         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
2831         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
2832         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2833         Likewise.
2834         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
2835         Likewise.
2836         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
2837         Likewise.
2838         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
2839         Likewise.
2840         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
2841         Likewise.
2842         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
2843         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
2844         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
2845         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2846         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
2847         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
2848         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
2849         * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
2850         * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
2851         * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
2852         * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
2853         * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
2854         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
2855         * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
2856         * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
2857         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
2858         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
2859         * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
2860         * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
2861         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
2862         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
2863         * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
2864         * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
2865         * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
2866         * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
2867         * testsuite/30_threads/this_thread/1.cc: Likewise.
2868         * testsuite/30_threads/this_thread/2.cc: Likewise.
2869         * testsuite/30_threads/this_thread/3.cc: Likewise.
2870         * testsuite/30_threads/this_thread/4.cc: Likewise.
2871         * testsuite/30_threads/this_thread/60421.cc: Likewise.
2872         * testsuite/30_threads/thread/cons/1.cc: Likewise.
2873         * testsuite/30_threads/thread/cons/2.cc: Likewise.
2874         * testsuite/30_threads/thread/cons/3.cc: Likewise.
2875         * testsuite/30_threads/thread/cons/4.cc: Likewise.
2876         * testsuite/30_threads/thread/cons/5.cc: Likewise.
2877         * testsuite/30_threads/thread/cons/6.cc: Likewise.
2878         * testsuite/30_threads/thread/cons/7.cc: Likewise.
2879         * testsuite/30_threads/thread/cons/8.cc: Likewise.
2880         * testsuite/30_threads/thread/cons/9.cc: Likewise.
2881         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
2882         * testsuite/30_threads/thread/members/1.cc: Likewise.
2883         * testsuite/30_threads/thread/members/2.cc: Likewise.
2884         * testsuite/30_threads/thread/members/3.cc: Likewise.
2885         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
2886         * testsuite/30_threads/thread/swap/1.cc: Likewise.
2887         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
2888         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
2889         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
2890         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
2891         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
2892         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
2893         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
2894         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
2895         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
2896         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
2897         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
2898         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
2899         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
2900         * testsuite/30_threads/try_lock/1.cc: Likewise.
2901         * testsuite/30_threads/try_lock/2.cc: Likewise.
2902         * testsuite/30_threads/try_lock/3.cc: Likewise.
2903         * testsuite/30_threads/try_lock/4.cc: Likewise.
2904         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2905         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2906         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2907         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2908         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2909         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2910         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2911         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2912         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2913         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2914         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2915         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2916         not_shared.cc: Likewise.
2917         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2918         not_shared2.cc: Likewise.
2919         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2920         not_shared3.cc: Likewise.
2921         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2922         shared.cc: Likewise.
2923         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2924         still_shared.cc: Likewise.
2925         * testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc:
2926         Likewise.
2927         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
2928         Likewise.
2929         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
2930         Likewise.
2931         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
2932         auto_ptr_rvalue_neg.cc: Likewise.
2933         * testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc:
2934         Likewise.
2935         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
2936         shared_ptr_neg.cc: Likewise.
2937         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
2938         Likewise.
2939         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
2940         Likewise.
2941         * testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc: Likewise.
2942         * testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc:
2943         Likewise.
2944         * testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc:
2945         Likewise.
2946         * testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc:
2947         Likewise.
2948         * testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc: Likewise.
2949         * testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc: Likewise.
2950         * testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc: Likewise.
2951         * testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc: Likewise.
2952         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc:
2953         Likewise.
2954         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
2955         Likewise.
2956         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc:
2957         Likewise.
2958         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc:
2959         Likewise.
2960         * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
2961         Likewise.
2962         * testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc:
2963         Likewise.
2964         * testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc:
2965         Likewise.
2966         * testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc:
2967         Likewise.
2968         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2969         default_weaktoshared.cc: Likewise.
2970         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2971         mutex_weaktoshared.cc: Likewise.
2972         * testsuite/tr1/3_function_objects/bind/all_bound.cc: Likewise.
2973         * testsuite/tr1/3_function_objects/bind/mixed.cc: Likewise.
2974         * testsuite/tr1/3_function_objects/bind/nested.cc: Likewise.
2975         * testsuite/tr1/3_function_objects/bind/placeholders.cc: Likewise.
2976         * testsuite/tr1/3_function_objects/bind/ref.cc: Likewise.
2977         * testsuite/tr1/3_function_objects/function/1.cc: Likewise.
2978         * testsuite/tr1/3_function_objects/function/2.cc: Likewise.
2979         * testsuite/tr1/3_function_objects/function/3.cc: Likewise.
2980         * testsuite/tr1/3_function_objects/function/4.cc: Likewise.
2981         * testsuite/tr1/3_function_objects/function/5.cc: Likewise.
2982         * testsuite/tr1/3_function_objects/function/6.cc: Likewise.
2983         * testsuite/tr1/3_function_objects/function/7.cc: Likewise.
2984         * testsuite/tr1/3_function_objects/function/8.cc: Likewise.
2985         * testsuite/tr1/3_function_objects/function/9.cc: Likewise.
2986         * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
2987         Likewise.
2988         * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
2989         Likewise.
2990         * testsuite/tr1/3_function_objects/result_of.cc: Likewise.
2991         * testsuite/tr1/4_metaprogramming/add_const/value.cc: Likewise.
2992         * testsuite/tr1/4_metaprogramming/add_cv/value.cc: Likewise.
2993         * testsuite/tr1/4_metaprogramming/add_pointer/value.cc: Likewise.
2994         * testsuite/tr1/4_metaprogramming/add_reference/value.cc: Likewise.
2995         * testsuite/tr1/4_metaprogramming/add_volatile/value.cc: Likewise.
2996         * testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: Likewise.
2997         * testsuite/tr1/4_metaprogramming/alignment_of/value.cc: Likewise.
2998         * testsuite/tr1/4_metaprogramming/extent/value.cc: Likewise.
2999         * testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc: Likewise.
3000         * testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc:
3001         Likewise.
3002         * testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc: Likewise.
3003         * testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc: Likewise.
3004         * testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc:
3005         Likewise.
3006         * testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc: Likewise.
3007         * testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc:
3008         Likewise.
3009         * testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc:
3010         Likewise.
3011         * testsuite/tr1/4_metaprogramming/integral_constant/
3012         static_definition.cc: Likewise.
3013         * testsuite/tr1/4_metaprogramming/integral_constant/
3014         true_false_value.cc: Likewise.
3015         * testsuite/tr1/4_metaprogramming/is_abstract/value.cc: Likewise.
3016         * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc: Likewise.
3017         * testsuite/tr1/4_metaprogramming/is_array/value.cc: Likewise.
3018         * testsuite/tr1/4_metaprogramming/is_base_of/value.cc: Likewise.
3019         * testsuite/tr1/4_metaprogramming/is_class/value.cc: Likewise.
3020         * testsuite/tr1/4_metaprogramming/is_compound/value.cc: Likewise.
3021         * testsuite/tr1/4_metaprogramming/is_const/value.cc: Likewise.
3022         * testsuite/tr1/4_metaprogramming/is_convertible/value.cc: Likewise.
3023         * testsuite/tr1/4_metaprogramming/is_empty/value.cc: Likewise.
3024         * testsuite/tr1/4_metaprogramming/is_enum/24808.cc: Likewise.
3025         * testsuite/tr1/4_metaprogramming/is_enum/value.cc: Likewise.
3026         * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc: Likewise.
3027         * testsuite/tr1/4_metaprogramming/is_function/24808.cc: Likewise.
3028         * testsuite/tr1/4_metaprogramming/is_function/value.cc: Likewise.
3029         * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc: Likewise.
3030         * testsuite/tr1/4_metaprogramming/is_integral/value.cc: Likewise.
3031         * testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc:
3032         Likewise.
3033         * testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc:
3034         Likewise.
3035         * testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc: Likewise.
3036         * testsuite/tr1/4_metaprogramming/is_object/24808.cc: Likewise.
3037         * testsuite/tr1/4_metaprogramming/is_object/value.cc: Likewise.
3038         * testsuite/tr1/4_metaprogramming/is_pod/value.cc: Likewise.
3039         * testsuite/tr1/4_metaprogramming/is_pointer/value.cc: Likewise.
3040         * testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc: Likewise.
3041         * testsuite/tr1/4_metaprogramming/is_reference/value.cc: Likewise.
3042         * testsuite/tr1/4_metaprogramming/is_same/value.cc: Likewise.
3043         * testsuite/tr1/4_metaprogramming/is_scalar/value.cc: Likewise.
3044         * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise.
3045         * testsuite/tr1/4_metaprogramming/is_union/value.cc: Likewise.
3046         * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc: Likewise.
3047         * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise.
3048         * testsuite/tr1/4_metaprogramming/is_volatile/value.cc: Likewise.
3049         * testsuite/tr1/4_metaprogramming/rank/value.cc: Likewise.
3050         * testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc: Likewise.
3051         * testsuite/tr1/4_metaprogramming/remove_const/value.cc: Likewise.
3052         * testsuite/tr1/4_metaprogramming/remove_cv/value.cc: Likewise.
3053         * testsuite/tr1/4_metaprogramming/remove_extent/value.cc: Likewise.
3054         * testsuite/tr1/4_metaprogramming/remove_pointer/value.cc: Likewise.
3055         * testsuite/tr1/4_metaprogramming/remove_reference/value.cc: Likewise.
3056         * testsuite/tr1/4_metaprogramming/remove_volatile/value.cc: Likewise.
3057         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3058         equal.cc: Likewise.
3059         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3060         not_equal.cc: Likewise.
3061         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3062         serialize.cc: Likewise.
3063         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3064         cons/default.cc: Likewise.
3065         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3066         cons/gen1.cc: Likewise.
3067         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3068         operators/equal.cc: Likewise.
3069         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3070         operators/not_equal.cc: Likewise.
3071         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3072         operators/serialize.cc: Likewise.
3073         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3074         cons/default.cc: Likewise.
3075         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3076         cons/gen1.cc: Likewise.
3077         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3078         operators/equal.cc: Likewise.
3079         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3080         operators/not_equal.cc: Likewise.
3081         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3082         operators/serialize.cc: Likewise.
3083         * testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc: Likewise.
3084         * testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc: Likewise.
3085         * testsuite/tr1/5_numerical_facilities/random/mt19937.cc: Likewise.
3086         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3087         default.cc: Likewise.
3088         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3089         token.cc: Likewise.
3090         * testsuite/tr1/5_numerical_facilities/random/ranlux3.cc: Likewise.
3091         * testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc: Likewise.
3092         * testsuite/tr1/5_numerical_facilities/random/ranlux4.cc: Likewise.
3093         * testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc
3094         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3095         cons/default.cc: Likewise.
3096         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3097         cons/gen1.cc: Likewise.
3098         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3099         operators/equal.cc: Likewise.
3100         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3101         operators/not_equal.cc: Likewise.
3102         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3103         operators/serialize.cc: Likewise.
3104         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3105         cons/default.cc: Likewise.
3106         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3107         cons/gen1.cc: Likewise.
3108         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3109         operators/equal.cc: Likewise.
3110         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3111         operators/not_equal.cc: Likewise.
3112         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3113         operators/serialize.cc: Likewise.
3114         * testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
3115         Likewise.
3116         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3117         default.cc: Likewise.
3118         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3119         range.cc: Likewise.
3120         * testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/
3121         default.cc: Likewise.
3122         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3123         equal.cc: Likewise.
3124         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3125         not_equal.cc: Likewise.
3126         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3127         serialize.cc: Likewise.
3128         * testsuite/tr1/5_numerical_facilities/special_functions/
3129         08_cyl_bessel_i/check_value.cc: Likewise.
3130         * testsuite/tr1/5_numerical_facilities/special_functions/
3131         08_cyl_bessel_i/pr56216.cc: Likewise.
3132         * testsuite/tr1/5_numerical_facilities/special_functions/
3133         09_cyl_bessel_j/check_value.cc: Likewise.
3134         * testsuite/tr1/5_numerical_facilities/special_functions/
3135         10_cyl_bessel_k/check_value.cc: Likewise.
3136         * testsuite/tr1/5_numerical_facilities/special_functions/
3137         11_cyl_neumann/check_value.cc: Likewise.
3138         * testsuite/tr1/5_numerical_facilities/special_functions/
3139         16_hermite/check_value.cc: Likewise.
3140         * testsuite/tr1/5_numerical_facilities/special_functions/
3141         21_sph_bessel/check_value.cc: Likewise.
3142         * testsuite/tr1/5_numerical_facilities/special_functions/
3143         23_sph_neumann/check_value.cc: Likewise.
3144         * testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise.
3145         * testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise.
3146         * testsuite/tr1/6_containers/array/capacity/size.cc: Likewise.
3147         * testsuite/tr1/6_containers/array/comparison_operators/equal.cc:
3148         Likewise.
3149         * testsuite/tr1/6_containers/array/comparison_operators/greater.cc:
3150         Likewise.
3151         * testsuite/tr1/6_containers/array/comparison_operators/
3152         greater_or_equal.cc: Likewise.
3153         * testsuite/tr1/6_containers/array/comparison_operators/less.cc:
3154         Likewise.
3155         * testsuite/tr1/6_containers/array/comparison_operators/
3156         less_or_equal.cc: Likewise.
3157         * testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc:
3158         Likewise.
3159         * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
3160         Likewise.
3161         * testsuite/tr1/6_containers/array/element_access/back.cc: Likewise.
3162         * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
3163         * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
3164         * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc:
3165         Likewise.
3166         * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
3167         * testsuite/tr1/6_containers/array/requirements/contiguous.cc: Likewise.
3168         * testsuite/tr1/6_containers/array/requirements/member_swap.cc:
3169         Likewise.
3170         * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
3171         Likewise.
3172         * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
3173         Likewise.
3174         * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
3175         * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
3176         Likewise.
3177         * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
3178         Likewise.
3179         * testsuite/tr1/6_containers/hash/24799.cc: Likewise.
3180         * testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise.
3181         *
3182         testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
3183         Likewise.
3184         * testsuite/tr1/6_containers/tuple/cons/assignment.cc: Likewise.
3185         * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise.
3186         * testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise.
3187         * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc:
3188         Likewise.
3189         * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
3190         Likewise.
3191         * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: Likewise.
3192         * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Likewise.
3193         * testsuite/tr1/6_containers/tuple/element_access/get.cc: Likewise.
3194         * testsuite/tr1/6_containers/tuple/tuple_size.cc: Likewise.
3195         * testsuite/tr1/6_containers/unordered_map/24064.cc: Likewise.
3196         * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
3197         Likewise.
3198         * testsuite/tr1/6_containers/unordered_map/erase/1.cc: Likewise.
3199         * testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc: Likewise.
3200         * testsuite/tr1/6_containers/unordered_map/find/map1.cc: Likewise.
3201         * testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc:
3202         Likewise.
3203         * testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc:
3204         Likewise.
3205         * testsuite/tr1/6_containers/unordered_map/insert/map_range.cc:
3206         Likewise.
3207         * testsuite/tr1/6_containers/unordered_map/insert/map_single.cc:
3208         Likewise.
3209         * testsuite/tr1/6_containers/unordered_map/swap/1.cc: Likewise.
3210         * testsuite/tr1/6_containers/unordered_map/swap/2.cc: Likewise.
3211         * testsuite/tr1/6_containers/unordered_multimap/capacity/
3212         29134-multimap.cc: Likewise.
3213         * testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise.
3214         * testsuite/tr1/6_containers/unordered_multimap/erase/
3215         24061-multimap.cc: Likewise.
3216         * testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc:
3217         Likewise.
3218         * testsuite/tr1/6_containers/unordered_multimap/insert/
3219         24061-multimap.cc: Likewise.
3220         * testsuite/tr1/6_containers/unordered_multimap/insert/
3221         multimap_range.cc: Likewise.
3222         * testsuite/tr1/6_containers/unordered_multimap/insert/
3223         multimap_single.cc: Likewise.
3224         * testsuite/tr1/6_containers/unordered_multimap/swap/1.cc: Likewise.
3225         * testsuite/tr1/6_containers/unordered_multimap/swap/2.cc: Likewise.
3226         * testsuite/tr1/6_containers/unordered_multiset/24054.cc: Likewise.
3227         * testsuite/tr1/6_containers/unordered_multiset/capacity/
3228         29134-multiset.cc: Likewise.
3229         * testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise.
3230         * testsuite/tr1/6_containers/unordered_multiset/erase/
3231         24061-multiset.cc: Likewise.
3232         * testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc:
3233         Likewise.
3234         * testsuite/tr1/6_containers/unordered_multiset/insert/
3235         24061-multiset.cc: Likewise.
3236         * testsuite/tr1/6_containers/unordered_multiset/insert/
3237         multiset_range.cc: Likewise.
3238         * testsuite/tr1/6_containers/unordered_multiset/insert/
3239         multiset_single.cc: Likewise.
3240         * testsuite/tr1/6_containers/unordered_multiset/swap/1.cc: Likewise.
3241         * testsuite/tr1/6_containers/unordered_multiset/swap/2.cc: Likewise.
3242         * testsuite/tr1/6_containers/unordered_set/23465.cc: Likewise.
3243         * testsuite/tr1/6_containers/unordered_set/26132.cc: Likewise.
3244         * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
3245         Likewise.
3246         * testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise.
3247         * testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc: Likewise.
3248         * testsuite/tr1/6_containers/unordered_set/find/set1.cc: Likewise.
3249         * testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc:
3250         Likewise.
3251         * testsuite/tr1/6_containers/unordered_set/insert/set_range.cc:
3252         Likewise.
3253         * testsuite/tr1/6_containers/unordered_set/insert/set_single.cc:
3254         Likewise.
3255         * testsuite/tr1/6_containers/unordered_set/swap/1.cc: Likewise.
3256         * testsuite/tr1/6_containers/unordered_set/swap/2.cc: Likewise.
3257         * testsuite/tr1/6_containers/utility/pair.cc: Likewise.
3258         * testsuite/tr1/7_regular_expressions/match_results/ctors/char/
3259         default.cc: Likewise.
3260         * testsuite/tr1/7_regular_expressions/regex_traits/char/
3261         translate_nocase.cc: Likewise.
3262         * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc:
3263         Likewise.
3264         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
3265         translate_nocase.cc: Likewise.
3266         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc:
3267         Likewise.
3268         * testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.
3269         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise.
3271 2016-10-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
3273         Make sure the return value of malloc_allocator::allocate
3274         is zero-initialized so that checking it for non-zero works
3275         later.
3276         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
3277         Initialize the return value.
3278         * testsuite/ext/malloc_allocator/sanity.cc: New.
3280 2016-10-14  Eelis van der Weegen  <eelis@eelis.net>
3282         * include/bits/stl_algo.h (shuffle): Extract two random numbers from
3283         each generator invocation when its range is large enough.
3285 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3287         * testsuite/experimental/algorithm/sample.cc: Qualify calls to
3288         resolve ambiguity between std::sample and std::experimental::sample.
3290         * include/std/functional (_Mu<A, false, true>, _Mu<A, true, false>):
3291         Simplify forwarding from tuple of references.
3292         (_Maybe_wrap_member_pointer): Remove.
3293         (_Bind::__call, _Bind::__call_c, _Bind::__call_v, _Bind::__call_c_v):
3294         Use std::__invoke.
3295         (_Bind::_Mu_type, _Bind::_Res_type_impl, _Bind::_Res_type)
3296         (_Bind::__dependent, _Bind::_Res_type_cv): New helpers to simplify
3297         return type deduction.
3298         (_Bind::operator(), _Bind::operator() const): Use new helpers.
3299         (_Bind::operator() volatile, _Bind::operator() const volatile):
3300         Likewise. Add deprecated attribute for C++17 mode.
3301         (_Bind_result::__call): Use std::__invoke.
3302         (_Bind_result::operator() volatile)
3303         (_Bind_result::operator() const volatile): Add deprecated attribute.
3304         (_Bind_helper::__maybe_type, _Bindres_helper::__maybe_type): Remove.
3305         (_Bind_helper, _Bindres_helper): Don't use _Maybe_wrap_member_pointer.
3306         (bind, bind<R>): Don't use __maybe_type.
3307         * src/c++11/compatibility-thread-c++0x.cc
3308         (_Maybe_wrap_member_pointer): Define here for compatibility symbols.
3309         * testsuite/20_util/bind/68912.cc: Don't test volatile-qualification
3310         in C++17 mode.
3311         * testsuite/20_util/bind/cv_quals.cc: Likewise.
3312         * testsuite/20_util/bind/cv_quals_2.cc: Likewise.
3314         * include/std/scoped_allocator (scoped_allocator_adaptor): Forward
3315         piecewise construction arguments as tuples of references, to avoid
3316         copies (related to LWG 2511).
3317         * testsuite/20_util/scoped_allocator/construct_pair.cc: New test.
3319 2016-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
3321         * testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables.
3322         * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
3323         * testsuite/26_numerics/complex/13450.cc: Likewise.
3324         * testsuite/26_numerics/complex/50880.cc: Likewise.
3325         * testsuite/26_numerics/complex/c99.cc: Likewise.
3326         * testsuite/26_numerics/complex/cons/48760.cc: Likewise.
3327         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
3328         * testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise.
3329         * testsuite/26_numerics/complex/dr844.cc: Likewise.
3330         * testsuite/26_numerics/complex/inserters_extractors/char/1.cc:
3331         Likewise.
3332         * testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc:
3333         Likewise.
3334         * testsuite/26_numerics/complex/value_operations/1.cc: Likewise.
3335         * testsuite/26_numerics/complex/value_operations/dr387.cc: Likewise.
3336         * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
3337         * testsuite/26_numerics/headers/cmath/
3338         c99_classification_macros_c++11.c: Likewise.c
3339         * testsuite/26_numerics/headers/cmath/
3340         c99_classification_macros_c++98.cc: Likewise.
3341         * testsuite/26_numerics/headers/cmath/c_math.cc: Likewise.
3342         * testsuite/26_numerics/headers/cmath/dr550.cc: Likewise.
3343         * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
3344         * testsuite/26_numerics/headers/cmath/powi.cc: Likewise.
3345         * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
3346         * testsuite/26_numerics/inner_product/1.cc: Likewise.
3347         * testsuite/26_numerics/iota/1.cc: Likewise.
3348         * testsuite/26_numerics/partial_sum/1.cc: Likewise.
3349         * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
3350         Likewise.
3351         * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
3352         Likewise.
3353         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3354         equal.cc: Likewise.
3355         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3356         inequal.cc: Likewise.
3357         * testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
3358         Likewise.
3359         * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
3360         Likewise.
3361         * testsuite/26_numerics/random/binomial_distribution/operators/
3362         equal.cc: Likewise.
3363         * testsuite/26_numerics/random/binomial_distribution/operators/
3364         inequal.cc: Likewise.
3365         * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
3366         Likewise.
3367         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
3368         Likewise.
3369         * testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc:
3370         Likewise.
3371         * testsuite/26_numerics/random/cauchy_distribution/operators/
3372         inequal.cc: Likewise.
3373         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3374         default.cc: Likewise.
3375         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3376         parms.cc: Likewise.
3377         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3378         equal.cc: Likewise.
3379         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3380         inequal.cc: Likewise.
3381         * testsuite/26_numerics/random/default_random_engine.cc: Likewise.
3382         * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
3383         Likewise.
3384         * testsuite/26_numerics/random/discard_block_engine/operators/equal.cc:
3385         Likewise.
3386         * testsuite/26_numerics/random/discard_block_engine/operators/
3387         inequal.cc: Likewise.
3388         * testsuite/26_numerics/random/discard_block_engine/operators/
3389         serialize.cc: Likewise.
3390         * testsuite/26_numerics/random/discrete_distribution/cons/
3391         default.cc: Likewise.
3392         * testsuite/26_numerics/random/discrete_distribution/cons/
3393         initlist.cc: Likewise.
3394         * testsuite/26_numerics/random/discrete_distribution/cons/
3395         num_xbound_fun.cc: Likewise.
3396         * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
3397         Likewise.
3398         * testsuite/26_numerics/random/discrete_distribution/operators/
3399         equal.cc: Likewise.
3400         * testsuite/26_numerics/random/discrete_distribution/operators/
3401         inequal.cc: Likewise.
3402         * testsuite/26_numerics/random/exponential_distribution/cons/
3403         default.cc: Likewise.
3404         * testsuite/26_numerics/random/exponential_distribution/cons/
3405         parms.cc: Likewise.
3406         * testsuite/26_numerics/random/exponential_distribution/operators/
3407         equal.cc: Likewise.
3408         * testsuite/26_numerics/random/exponential_distribution/operators/
3409         inequal.cc: Likewise.
3410         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3411         default.cc: Likewise.
3412         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3413         parms.cc: Likewise.
3414         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3415         equal.cc: Likewise.
3416         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3417         inequal.cc: Likewise.
3418         * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
3419         Likewise.
3420         * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
3421         Likewise.
3422         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3423         equal.cc: Likewise.
3424         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3425         inequal.cc: Likewise.
3426         * testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
3427         Likewise.
3428         * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
3429         Likewise.
3430         * testsuite/26_numerics/random/gamma_distribution/operators/equal.cc:
3431         Likewise.
3432         * testsuite/26_numerics/random/gamma_distribution/operators/
3433         inequal.cc: Likewise.
3434         * testsuite/26_numerics/random/geometric_distribution/cons/
3435         default.cc: Likewise.
3436         * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
3437         Likewise.
3438         * testsuite/26_numerics/random/geometric_distribution/operators/
3439         equal.cc: Likewise.
3440         * testsuite/26_numerics/random/geometric_distribution/operators/
3441         inequal.cc: Likewise.
3442         * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
3443         Likewise.
3444         * testsuite/26_numerics/random/independent_bits_engine/operators/
3445         equal.cc: Likewise.
3446         * testsuite/26_numerics/random/independent_bits_engine/operators/
3447         inequal.cc: Likewise.
3448         * testsuite/26_numerics/random/independent_bits_engine/operators/
3449         serialize.cc: Likewise.
3450         * testsuite/26_numerics/random/knuth_b.cc: Likewise.
3451         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3452         55215.cc: Likewise.
3453         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3454         default.cc: Likewise.
3455         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3456         51795.cc: Likewise.
3457         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3458         equal.cc: Likewise.
3459         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3460         inequal.cc: Likewise.
3461         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3462         serialize.cc: Likewise.
3463         * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
3464         Likewise.
3465         * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
3466         Likewise.
3467         * testsuite/26_numerics/random/lognormal_distribution/operators/
3468         equal.cc: Likewise.
3469         * testsuite/26_numerics/random/lognormal_distribution/operators/
3470         inequal.cc: Likewise.
3471         * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
3472         Likewise.
3473         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
3474         default.cc: Likewise.
3475         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3476         equal.cc: Likewise.
3477         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3478         inequal.cc: Likewise.
3479         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3480         serialize.cc: Likewise.
3481         * testsuite/26_numerics/random/minstd_rand.cc: Likewise.
3482         * testsuite/26_numerics/random/minstd_rand0.cc: Likewise.
3483         * testsuite/26_numerics/random/mt19937.cc: Likewise.
3484         * testsuite/26_numerics/random/mt19937_64.cc: Likewise.
3485         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3486         default.cc: Likewise.
3487         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3488         parms.cc: Likewise.
3489         * testsuite/26_numerics/random/negative_binomial_distribution/
3490         operators/equal.cc: Likewise.
3491         * testsuite/26_numerics/random/negative_binomial_distribution/
3492         operators/inequal.cc: Likewise.
3493         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
3494         Likewise.
3495         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
3496         Likewise.
3497         * testsuite/26_numerics/random/normal_distribution/operators/
3498         equal.cc: Likewise.
3499         * testsuite/26_numerics/random/normal_distribution/operators/
3500         inequal.cc: Likewise.
3501         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3502         default.cc: Likewise.
3503         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3504         initlist_fun.cc: Likewise.
3505         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3506         num_xbound_fun.cc: Likewise.
3507         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3508         range.cc: Likewise.
3509         * testsuite/26_numerics/random/piecewise_constant_distribution/
3510         operators/equal.cc: Likewise.
3511         * testsuite/26_numerics/random/piecewise_constant_distribution/
3512         operators/inequal.cc: Likewise.
3513         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3514         default.cc: Likewise.
3515         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3516         initlist_fun.cc: Likewise.
3517         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3518         num_xbound_fun.cc: Likewise.
3519         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3520         range.cc: Likewise.
3521         * testsuite/26_numerics/random/piecewise_linear_distribution/
3522         operators/equal.cc: Likewise.
3523         * testsuite/26_numerics/random/piecewise_linear_distribution/
3524         operators/inequal.cc: Likewise.
3525         * testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
3526         Likewise.
3527         * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
3528         Likewise.
3529         * testsuite/26_numerics/random/poisson_distribution/operators/
3530         equal.cc: Likewise.
3531         * testsuite/26_numerics/random/poisson_distribution/operators/
3532         inequal.cc: Likewise.
3533         * testsuite/26_numerics/random/random_device/cons/default.cc: Likewise.
3534         * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
3535         * testsuite/26_numerics/random/ranlux24.cc: Likewise.
3536         * testsuite/26_numerics/random/ranlux24_base.cc: Likewise.
3537         * testsuite/26_numerics/random/ranlux48.cc: Likewise.
3538         * testsuite/26_numerics/random/ranlux48_base.cc: Likewise.
3539         * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Likewise.
3540         * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
3541         Likewise.
3542         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3543         equal.cc: Likewise.
3544         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3545         inequal.cc: Likewise.
3546         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3547         serialize.cc: Likewise.
3548         * testsuite/26_numerics/random/student_t_distribution/cons/
3549         default.cc: Likewise.
3550         * testsuite/26_numerics/random/student_t_distribution/cons/
3551         parms.cc: Likewise.
3552         * testsuite/26_numerics/random/student_t_distribution/operators/
3553         equal.cc: Likewise.
3554         * testsuite/26_numerics/random/student_t_distribution/operators/
3555         inequal.cc: Likewise.
3556         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3557         55215.cc: Likewise.
3558         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3559         default.cc: Likewise.
3560         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3561         equal.cc: Likewise.
3562         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3563         inequal.cc: Likewise.
3564         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3565         serialize.cc: Likewise.
3566         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3567         default.cc: Likewise.
3568         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3569         parms.cc: Likewise.
3570         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3571         equal.cc: Likewise.
3572         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3573         inequal.cc: Likewise.
3574         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3575         default.cc: Likewise.
3576         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3577         parms.cc: Likewise.
3578         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3579         equal.cc: Likewise.
3580         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3581         inequal.cc: Likewise.
3582         * testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
3583         Likewise.
3584         * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
3585         Likewise.
3586         * testsuite/26_numerics/random/weibull_distribution/operators/
3587         equal.cc: Likewise.
3588         * testsuite/26_numerics/random/weibull_distribution/operators/
3589         inequal.cc: Likewise.
3590         * testsuite/26_numerics/slice/1.cc: Likewise.
3591         * testsuite/26_numerics/slice_array/array_assignment.cc: Likewise.
3592         * testsuite/26_numerics/valarray/27867.cc: Likewise.
3593         * testsuite/26_numerics/valarray/28277.cc: Likewise.
3594         * testsuite/26_numerics/valarray/30416.cc: Likewise.
3595         * testsuite/26_numerics/valarray/dr543.cc: Likewise.
3596         * testsuite/26_numerics/valarray/dr630-1.cc: Likewise.
3597         * testsuite/26_numerics/valarray/dr630-2.cc: Likewise.
3598         * testsuite/26_numerics/valarray/dr630-3.C: Likewise.
3599         * testsuite/26_numerics/valarray/init-list.cc: Likewise.
3600         * testsuite/26_numerics/valarray/moveable.cc: Likewise.
3601         * testsuite/26_numerics/valarray/operators.cc: Likewise.
3602         * testsuite/26_numerics/valarray/swap.cc: Likewise.
3603         * testsuite/experimental/deque/erasure.cc: Likewise.
3604         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
3605         Likewise.
3606         * testsuite/experimental/filesystem/iterators/
3607         recursive_directory_iterator.cc: Likewise.
3608         * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
3609         * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
3610         * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
3611         * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
3612         * testsuite/experimental/filesystem/operations/create_directories.cc:
3613         Likewise.
3614         * testsuite/experimental/filesystem/operations/create_directory.cc:
3615         Likewise.
3616         * testsuite/experimental/filesystem/operations/current_path.cc:
3617         Likewise.
3618         * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
3619         * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
3620         * testsuite/experimental/filesystem/operations/last_write_time.cc:
3621         Likewise.
3622         * testsuite/experimental/filesystem/operations/permissions.cc: Likewise.
3623         * testsuite/experimental/filesystem/operations/status.cc: Likewise.
3624         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
3625         Likewise.
3626         * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
3627         * testsuite/experimental/forward_list/erasure.cc: Likewise.
3628         * testsuite/experimental/list/erasure.cc: Likewise.
3629         * testsuite/experimental/map/erasure.cc: Likewise.
3630         * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Likewise.
3631         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
3632         Likewise.
3633         * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: Likewise.
3634         * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: Likewise.
3635         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: Likewise.
3636         * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
3637         Likewise.
3638         * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: Likewise.
3639         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
3640         Likewise.
3641         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
3642         Likewise.
3643         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
3644         Likewise.
3645         * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
3646         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Likewise.
3647         * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: Likewise.
3648         * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
3649         Likewise.
3650         * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
3651         Likewise.
3652         * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
3653         Likewise.
3654         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
3655         Likewise.
3656         * testsuite/experimental/memory_resource/1.cc: Likewise.
3657         * testsuite/experimental/memory_resource/null_memory_resource.cc:
3658         Likewise.
3659         * testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise.
3660         * testsuite/experimental/set/erasure.cc: Likewise.
3661         * testsuite/experimental/string/erasure.cc: Likewise.
3662         * testsuite/experimental/string_view/capacity/1.cc: Likewise.
3663         * testsuite/experimental/string_view/cons/char/1.cc: Likewise.
3664         * testsuite/experimental/string_view/cons/char/2.cc: Likewise.
3665         * testsuite/experimental/string_view/cons/char/3.cc: Likewise.
3666         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
3667         * testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise.
3668         * testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise.
3669         * testsuite/experimental/string_view/element_access/char/1.cc: Likewise.
3670         * testsuite/experimental/string_view/element_access/char/empty.cc:
3671         Likewise.
3672         * testsuite/experimental/string_view/element_access/char/
3673         front_back.cc: Likewise.
3674         * testsuite/experimental/string_view/element_access/wchar_t/1.cc:
3675         Likewise.
3676         * testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
3677         Likewise.
3678         * testsuite/experimental/string_view/element_access/wchar_t/
3679         front_back.cc: Likewise.
3680         * testsuite/experimental/string_view/inserters/char/1.cc: Likewise.
3681         * testsuite/experimental/string_view/inserters/char/2.cc: Likewise.
3682         * testsuite/experimental/string_view/inserters/char/3.cc: Likewise.
3683         * testsuite/experimental/string_view/inserters/pod/10081-out.cc:
3684         Likewise.
3685         * testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise.
3686         * testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise.
3687         * testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise.
3688         * testsuite/experimental/string_view/modifiers/remove_prefix/char/
3689         1.cc: Likewise.
3690         * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
3691         1.cc: Likewise.
3692         * testsuite/experimental/string_view/modifiers/remove_suffix/char/
3693         1.cc: Likewise.
3694         * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
3695         1.cc: Likewise.
3696         * testsuite/experimental/string_view/operations/compare/char/1.cc:
3697         Likewise.
3698         * testsuite/experimental/string_view/operations/compare/char/
3699         13650.cc: Likewise.
3700         * testsuite/experimental/string_view/operations/compare/wchar_t/
3701         1.cc: Likewise.
3702         * testsuite/experimental/string_view/operations/compare/wchar_t/
3703         13650.cc: Likewise.
3704         * testsuite/experimental/string_view/operations/copy/char/1.cc:
3705         Likewise.
3706         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
3707         Likewise.
3708         * testsuite/experimental/string_view/operations/data/char/1.cc:
3709         Likewise.
3710         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
3711         Likewise.
3712         * testsuite/experimental/string_view/operations/find/char/1.cc:
3713         Likewise.
3714         * testsuite/experimental/string_view/operations/find/char/2.cc:
3715         Likewise.
3716         * testsuite/experimental/string_view/operations/find/char/3.cc:
3717         Likewise.
3718         * testsuite/experimental/string_view/operations/find/char/4.cc:
3719         Likewise.
3720         * testsuite/experimental/string_view/operations/find/wchar_t/1.cc:
3721         Likewise.
3722         * testsuite/experimental/string_view/operations/find/wchar_t/2.cc:
3723         Likewise.
3724         * testsuite/experimental/string_view/operations/find/wchar_t/3.cc:
3725         Likewise.
3726         * testsuite/experimental/string_view/operations/find/wchar_t/4.cc:
3727         Likewise.
3728         * testsuite/experimental/string_view/operations/rfind/char/1.cc:
3729         Likewise.
3730         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
3731         Likewise.
3732         * testsuite/experimental/string_view/operations/rfind/char/3.cc:
3733         Likewise.
3734         * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc:
3735         Likewise.
3736         * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc:
3737         Likewise.
3738         * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc:
3739         Likewise.
3740         * testsuite/experimental/string_view/operations/substr/char/1.cc:
3741         Likewise.
3742         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
3743         Likewise.
3744         * testsuite/experimental/string_view/operations/to_string/1.cc:
3745         Likewise.
3746         * testsuite/experimental/string_view/operators/char/2.cc: Likewise.
3747         * testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise.
3748         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
3749         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
3750         * testsuite/experimental/vector/erasure.cc: Likewise.
3751         * testsuite/ext/array_allocator/1.cc: Likewise.
3752         * testsuite/ext/array_allocator/2.cc: Likewise.
3753         * testsuite/ext/array_allocator/3.cc: Likewise.
3754         * testsuite/ext/array_allocator/variadic_construct.cc: Likewise.
3755         * testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
3756         * testsuite/ext/codecvt/1.cc: Likewise.
3757         * testsuite/ext/codecvt/char-1.cc: Likewise.
3758         * testsuite/ext/codecvt/char-2.cc: Likewise.
3759         * testsuite/ext/codecvt/wchar_t.cc: Likewise.
3760         * testsuite/ext/enc_filebuf/char/13189.cc: Likewise.
3761         * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
3762         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
3763         * testsuite/ext/ext_pointer/1.cc: Likewise.
3764         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
3765         * testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
3766         * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: Likewise.
3767         * testsuite/ext/mt_allocator/tune-1.cc: Likewise.
3768         * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
3769         * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
3770         * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
3771         * testsuite/ext/mt_allocator/variadic_construct.cc: Likewise.
3772         * testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
3773         * testsuite/ext/pod_char_traits.cc: Likewise.
3774         * testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
3775         * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
3776         * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
3777         * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
3778         Likewise.
3779         * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
3780         Likewise.
3781         * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
3782         Likewise.
3783         * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
3784         * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
3785         * testsuite/ext/random/beta_distribution/operators/equal.cc: Likewise.
3786         * testsuite/ext/random/beta_distribution/operators/inequal.cc: Likewise.
3787         * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
3788         * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
3789         * testsuite/ext/random/hoyt_distribution/operators/equal.cc: Likewise.
3790         * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: Likewise.
3791         * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
3792         Likewise.
3793         * testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
3794         Likewise.
3795         * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
3796         Likewise.
3797         * testsuite/ext/random/hypergeometric_distribution/operators/
3798         equal.cc: Likewise.
3799         * testsuite/ext/random/hypergeometric_distribution/operators/
3800         inequal.cc: Likewise.
3801         * testsuite/ext/random/hypergeometric_distribution/operators/
3802         serialize.cc: Likewise.
3803         * testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
3804         * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
3805         * testsuite/ext/random/k_distribution/operators/equal.cc: Likewise.
3806         * testsuite/ext/random/k_distribution/operators/inequal.cc: Likewise.
3807         * testsuite/ext/random/k_distribution/operators/serialize.cc: Likewise.
3808         * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
3809         * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
3810         * testsuite/ext/random/logistic_distribution/operators/equal.cc:
3811         Likewise.
3812         * testsuite/ext/random/logistic_distribution/operators/inequal.cc:
3813         Likewise.
3814         * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
3815         Likewise.
3816         * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
3817         * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
3818         * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
3819         Likewise.
3820         * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
3821         Likewise.
3822         * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
3823         Likewise.
3824         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
3825         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
3826         * testsuite/ext/random/normal_mv_distribution/operators/equal.cc:
3827         Likewise.
3828         * testsuite/ext/random/normal_mv_distribution/operators/inequal.cc:
3829         Likewise.
3830         * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
3831         * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
3832         * testsuite/ext/random/pareto_distribution/operators/equal.cc: Likewise.
3833         * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
3834         Likewise.
3835         * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
3836         Likewise.
3837         * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
3838         * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
3839         * testsuite/ext/random/rice_distribution/operators/equal.cc: Likewise.
3840         * testsuite/ext/random/rice_distribution/operators/inequal.cc: Likewise.
3841         * testsuite/ext/random/rice_distribution/operators/serialize.cc:
3842         Likewise.
3843         * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
3844         default.cc: Likewise.
3845         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3846         equal.cc: Likewise.
3847         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3848         inequal.cc: Likewise.
3849         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3850         serialize.cc: Likewise.
3851         * testsuite/ext/random/triangular_distribution/cons/default.cc:
3852         Likewise.
3853         * testsuite/ext/random/triangular_distribution/cons/parms.cc: Likewise.
3854         * testsuite/ext/random/triangular_distribution/operators/equal.cc:
3855         Likewise.
3856         * testsuite/ext/random/triangular_distribution/operators/inequal.cc:
3857         Likewise.
3858         * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
3859         Likewise.
3860         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3861         equal.cc: Likewise.
3862         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3863         generate.cc: Likewise.
3864         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3865         inequal.cc: Likewise.
3866         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3867         serialize.cc: Likewise.
3868         * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise.
3869         * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
3870         * testsuite/ext/random/von_mises_distribution/operators/equal.cc:
3871         Likewise.
3872         * testsuite/ext/random/von_mises_distribution/operators/inequal.cc:
3873         Likewise.
3874         * testsuite/ext/rope/2.cc: Likewise.
3875         * testsuite/ext/rope/3.cc: Likewise.
3876         * testsuite/ext/rope/4.cc: Likewise.
3877         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
3878         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
3879         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise.
3880         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
3881         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
3882         * testsuite/ext/stdio_filebuf/char/10063-1.cc: Likewise.
3883         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
3884         * testsuite/ext/stdio_filebuf/char/10063-3.cc: Likewise.
3885         * testsuite/ext/stdio_filebuf/char/2.cc: Likewise.
3886         * testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.
3887         * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise.
3888         * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise.
3889         * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise.
3890         * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise.
3891         * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
3892         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
3893         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise.
3894         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise.
3895         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise.
3896         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise.
3897         * testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
3898         * testsuite/ext/type_traits/add_unsigned.cc: Likewise.
3899         * testsuite/ext/type_traits/remove_unsigned.cc: Likewise.
3900         * testsuite/ext/vstring/capacity/29134.cc: Likewise.
3901         * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
3902         * testsuite/ext/vstring/cons/58415-1.cc: Likewise.
3903         * testsuite/ext/vstring/cons/moveable.cc: Likewise.
3904         * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
3905         * testsuite/ext/vstring/element_access/char/front_back.cc: Likewise.
3906         * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
3907         * testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise.
3908         * testsuite/ext/vstring/hash/char/1.cc: Likewise.
3909         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
3910         * testsuite/ext/vstring/init-list.cc: Likewise.
3911         * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
3912         * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise.
3913         * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Likewise.
3914         * testsuite/ext/vstring/modifiers/pop_back/char/1.cc: Likewise.
3915         * testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc: Likewise.
3916         * testsuite/ext/vstring/operators/1.cc: Likewise.
3917         * testsuite/ext/vstring/operators/2.cc: Likewise.
3919 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3921         PR libstdc++/65122
3922         * include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
3923         aligned_alloc for types with extended alignment if available,
3924         otherwise throw bad_alloc if malloc doesn't return a suitable value.
3925         * include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
3926         (bitmap_allocator::deallocate): Use aligned new/delete for types with
3927         extended alignment.
3928         * include/ext/mt_allocator.h (__mt_alloc::allocate)
3929         (__mt_alloc::deallocate): Likewise.
3930         * include/ext/new_allocator.h (new_allocator::allocate)
3931         (new_allocator::deallocate): Likewise.
3932         * include/ext/pool_allocator.h (__pool_alloc::allocate)
3933         (__pool_alloc::deallocate): Likewise.
3934         * testsuite/20_util/allocator/overaligned.cc: New test.
3935         * testsuite/ext/bitmap_allocator/overaligned.cc: New test.
3936         * testsuite/ext/malloc_allocator/overaligned.cc: New test.
3937         * testsuite/ext/mt_allocator/overaligned.cc: New test.
3938         * testsuite/ext/new_allocator/overaligned.cc: New test.
3939         * testsuite/ext/pool_allocator/overaligned.cc: New test.
3941 2016-10-14  Tim Shen  <timshen@google.com>
3943         PR libstdc++/77944
3944         * include/std/variant: Include <bits/funcexcept.h> for __try and
3945         __catch.
3947 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3949         * include/std/functional (_Reference_wrapper_base_impl): Remove.
3950         (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
3951         (_Reference_wrapper_base): Inherit from new helpers.
3953 2016-10-13  Paolo Carlini  <paolo.carlini@oracle.com>
3955         * testsuite/24_iterators/container_access.cc: Remove 'test' variables.
3956         * testsuite/24_iterators/istream_iterator/2.cc: Likewise.
3957         * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
3958         * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
3959         * testsuite/24_iterators/operations/next.cc: Likewise.
3960         * testsuite/24_iterators/operations/prev.cc: Likewise.
3961         * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
3962         * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
3963         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
3964         * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
3965         * testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
3966         * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
3967         * testsuite/25_algorithms/all_of/1.cc: Likewise.
3968         * testsuite/25_algorithms/any_of/1.cc: Likewise.
3969         * testsuite/25_algorithms/binary_search/2.cc: Likewise.
3970         * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
3971         * testsuite/25_algorithms/clamp/1.cc: Likewise.
3972         * testsuite/25_algorithms/clamp/2.cc: Likewise.
3973         * testsuite/25_algorithms/copy/1.cc: Likewise.
3974         * testsuite/25_algorithms/copy/2.cc: Likewise.
3975         * testsuite/25_algorithms/copy/3.cc: Likewise.
3976         * testsuite/25_algorithms/copy/34595.cc: Likewise.
3977         * testsuite/25_algorithms/copy/4.cc: Likewise.
3978         * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
3979         * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
3980         * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
3981         * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
3982         * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
3983         * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
3984         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
3985         Likewise.
3986         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
3987         Likewise.
3988         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
3989         Likewise.
3990         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
3991         Likewise.
3992         * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
3993         * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
3994         * testsuite/25_algorithms/copy_n/1.cc: Likewise.
3995         * testsuite/25_algorithms/copy_n/2.cc: Likewise.
3996         * testsuite/25_algorithms/copy_n/3.cc: Likewise.
3997         * testsuite/25_algorithms/copy_n/4.cc: Likewise.
3998         * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
3999         * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
4000         * testsuite/25_algorithms/equal_range/2.cc: Likewise.
4001         * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
4002         * testsuite/25_algorithms/fill/1.cc: Likewise.
4003         * testsuite/25_algorithms/fill/2.cc: Likewise.
4004         * testsuite/25_algorithms/fill/3.cc: Likewise.
4005         * testsuite/25_algorithms/fill/4.cc: Likewise.
4006         * testsuite/25_algorithms/fill_n/1.cc: Likewise.
4007         * testsuite/25_algorithms/find/39546.cc: Likewise.
4008         * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
4009         * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
4010         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
4011         Likewise.
4012         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
4013         Likewise.
4014         * testsuite/25_algorithms/find_if/1.cc: Likewise.
4015         * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
4016         * testsuite/25_algorithms/for_each/1.cc: Likewise.
4017         * testsuite/25_algorithms/heap/1.cc: Likewise.
4018         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
4019         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
4020         * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
4021         * testsuite/25_algorithms/includes/1.cc: Likewise.
4022         * testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
4023         * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
4024         * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
4025         * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
4026         * testsuite/25_algorithms/is_heap/1.cc: Likewise.
4027         * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
4028         * testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
4029         * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
4030         * testsuite/25_algorithms/is_permutation/2.cc: Likewise.
4031         * testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
4032         * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
4033         * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
4034         * testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
4035         * testsuite/25_algorithms/lower_bound/2.cc: Likewise.
4036         * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
4037         * testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
4038         * testsuite/25_algorithms/max/1.cc: Likewise.
4039         * testsuite/25_algorithms/max/2.cc: Likewise.
4040         * testsuite/25_algorithms/max/3.cc: Likewise.
4041         * testsuite/25_algorithms/max/37547.cc: Likewise.
4042         * testsuite/25_algorithms/max/4.cc: Likewise.
4043         * testsuite/25_algorithms/min/1.cc: Likewise.
4044         * testsuite/25_algorithms/min/2.cc: Likewise.
4045         * testsuite/25_algorithms/min/3.cc: Likewise.
4046         * testsuite/25_algorithms/min/37547.cc: Likewise.
4047         * testsuite/25_algorithms/min/4.cc: Likewise.
4048         * testsuite/25_algorithms/minmax/1.cc: Likewise.
4049         * testsuite/25_algorithms/minmax/2.cc: Likewise.
4050         * testsuite/25_algorithms/minmax/3.cc: Likewise.
4051         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
4052         * testsuite/25_algorithms/minmax_element/1.cc: Likewise.
4053         * testsuite/25_algorithms/move/1.cc: Likewise.
4054         * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
4055         * testsuite/25_algorithms/move_backward/1.cc: Likewise.
4056         * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
4057         * testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
4058         * testsuite/25_algorithms/none_of/1.cc: Likewise.
4059         * testsuite/25_algorithms/nth_element/1.cc: Likewise.
4060         * testsuite/25_algorithms/nth_element/2.cc: Likewise.
4061         * testsuite/25_algorithms/nth_element/3.cc: Likewise.
4062         * testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
4063         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
4064         * testsuite/25_algorithms/partial_sort/2.cc: Likewise.
4065         * testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
4066         Likewise.
4067         * testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
4068         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
4069         * testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
4070         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
4071         * testsuite/25_algorithms/partition/1.cc: Likewise.
4072         * testsuite/25_algorithms/partition/moveable.cc: Likewise.
4073         * testsuite/25_algorithms/partition_copy/1.cc: Likewise.
4074         * testsuite/25_algorithms/partition_point/1.cc: Likewise.
4075         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
4076         * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
4077         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
4078         * testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
4079         * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
4080         * testsuite/25_algorithms/rotate/1.cc: Likewise.
4081         * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
4082         * testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
4083         * testsuite/25_algorithms/rotate/rotate.cc: Likewise.
4084         * testsuite/25_algorithms/search/1.cc: Likewise.
4085         * testsuite/25_algorithms/search_n/58358.cc: Likewise.
4086         * testsuite/25_algorithms/shuffle/1.cc: Likewise.
4087         * testsuite/25_algorithms/sort/1.cc: Likewise.
4088         * testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
4089         * testsuite/25_algorithms/sort/moveable.cc: Likewise.
4090         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
4091         * testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
4092         * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
4093         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
4094         * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
4095         * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
4096         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
4097         * testsuite/25_algorithms/stable_sort/2.cc: Likewise.
4098         * testsuite/25_algorithms/stable_sort/3.cc: Likewise.
4099         * testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
4100         * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
4101         Likewise.
4102         * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
4103         * testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
4104         * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
4105         * testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
4106         * testsuite/25_algorithms/unique/11480.cc: Likewise.
4107         * testsuite/25_algorithms/unique/2.cc: Likewise.
4108         * testsuite/25_algorithms/unique/moveable.cc: Likewise.
4109         * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
4110         * testsuite/25_algorithms/unique_copy/2.cc: Likewise.
4111         * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
4112         * testsuite/25_algorithms/upper_bound/2.cc: Likewise.
4113         * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
4114         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
4115         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
4116         Likewise.
4117         * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
4118         Likewise.
4119         * testsuite/28_regex/algorithms/regex_match/basic/
4120         string_range_00_03.cc: Likewise.
4121         * testsuite/28_regex/algorithms/regex_match/basic/
4122         string_range_01_03.cc: Likewise.
4123         * testsuite/28_regex/algorithms/regex_match/basic/
4124         string_range_02_03.cc: Likewise.
4125         * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
4126         Likewise.
4127         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
4128         Likewise.
4129         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
4130         Likewise.
4131         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
4132         Likewise.
4133         * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
4134         Likewise.
4135         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
4136         Likewise.
4137         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
4138         Likewise.
4139         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
4140         Likewise.
4141         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
4142         Likewise.
4143         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
4144         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
4145         Likewise.
4146         * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
4147         Likewise.
4148         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
4149         Likewise.
4150         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
4151         anymatcher.cc: Likewise.
4152         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
4153         Likewise.
4154         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
4155         Likewise.
4156         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
4157         Likewise.
4158         * testsuite/28_regex/algorithms/regex_match/extended/
4159         cstring_questionmark.cc: Likewise.
4160         * testsuite/28_regex/algorithms/regex_match/extended/
4161         cstring_range.cc: Likewise.
4162         * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
4163         Likewise.
4164         * testsuite/28_regex/algorithms/regex_match/extended/
4165         string_range_00_03.cc: Likewise.
4166         * testsuite/28_regex/algorithms/regex_match/extended/
4167         string_range_01_03.cc: Likewise.
4168         * testsuite/28_regex/algorithms/regex_match/extended/
4169         string_range_02_03.cc: Likewise.
4170         * testsuite/28_regex/algorithms/regex_match/extended/
4171         wstring_locale.cc: Likewise.
4172         * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
4173         Likewise.
4174         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
4175         * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
4176         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
4177         Likewise.
4178         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
4179         Likewise.
4180         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
4181         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
4182         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
4183         Likewise.
4184         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
4185         * testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
4186         * testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
4187         * testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
4188         * testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
4189         * testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
4190         * testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
4191         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
4192         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
4193         * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
4194         * testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
4195         * testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
4196         * testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
4197         * testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
4198         Likewise.
4199         * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
4200         Likewise.
4201         * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
4202         * testsuite/28_regex/basic_regex/ctors/extended/
4203         string_range_01_02_03.cc: Likewise.
4204         * testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
4205         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
4206         * testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
4207         * testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
4208         * testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
4209         * testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
4210         * testsuite/28_regex/constants/error_type.cc: Likewise.
4211         * testsuite/28_regex/constants/match_flag_type.cc: Likewise.
4212         * testsuite/28_regex/init-list.cc: Likewise.
4213         * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
4214         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
4215         Likewise.
4216         * testsuite/28_regex/iterators/regex_iterator/char/
4217         string_position_01.cc
4218         * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
4219         Likewise.
4220         * testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
4221         default.cc: Likewise.
4222         * testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
4223         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
4224         Likewise.
4225         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
4226         Likewise.
4227         * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
4228         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
4229         Likewise.
4230         * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
4231         default.cc: Likewise.
4232         * testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
4233         default.cc: Likewise.
4234         * testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
4235         Likewise.
4236         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4237         string_01.cc: Likewise.
4238         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4239         wstring_02.cc: Likewise.
4240         * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
4241         * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
4242         * testsuite/28_regex/match_results/format.cc: Likewise.
4243         * testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
4244         * testsuite/28_regex/match_results/swap.cc: Likewise.
4245         * testsuite/28_regex/match_results/typedefs.cc: Likewise.
4246         * testsuite/28_regex/regex_error/regex_error.cc: Likewise.
4247         * testsuite/28_regex/regression.cc: Likewise.
4248         * testsuite/28_regex/sub_match/cast_char.cc: Likewise.
4249         * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
4250         * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
4251         * testsuite/28_regex/sub_match/length.cc: Likewise.
4252         * testsuite/28_regex/traits/char/ctor.cc: Likewise.
4253         * testsuite/28_regex/traits/char/isctype.cc: Likewise.
4254         * testsuite/28_regex/traits/char/length.cc: Likewise.
4255         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
4256         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
4257         * testsuite/28_regex/traits/char/transform.cc: Likewise.
4258         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
4259         * testsuite/28_regex/traits/char/translate.cc: Likewise.
4260         * testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
4261         * testsuite/28_regex/traits/char/user_defined.cc: Likewise.
4262         * testsuite/28_regex/traits/char/value.cc: Likewise.
4263         * testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
4264         * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
4265         * testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
4266         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
4267         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
4268         * testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
4269         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
4270         * testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
4271         * testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
4272         * testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
4273         * testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
4274         * testsuite/29_atomics/atomic/60658.cc: Likewise.
4275         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
4276         * testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
4277         * testsuite/backward/11460.cc: Likewise.
4278         * testsuite/backward/hash_map/1.cc: Likewise.
4279         * testsuite/backward/hash_map/25896.cc: Likewise.
4280         * testsuite/backward/hash_set/1.cc: Likewise.
4281         * testsuite/backward/hash_set/25896.cc: Likewise.
4282         * testsuite/decimal/binary-arith.cc: Likewise.
4283         * testsuite/decimal/comparison.cc: Likewise.
4284         * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
4285         * testsuite/decimal/compound-assignment.cc: Likewise.
4286         * testsuite/decimal/conversion-from-float.cc: Likewise.
4287         * testsuite/decimal/conversion-from-integral.cc: Likewise.
4288         * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
4289         * testsuite/decimal/conversion-to-integral.cc: Likewise.
4290         * testsuite/decimal/ctor.cc: Likewise.
4291         * testsuite/decimal/incdec-memfunc.cc: Likewise.
4292         * testsuite/decimal/incdec.cc: Likewise.
4293         * testsuite/decimal/make-decimal.cc: Likewise.
4294         * testsuite/decimal/pr54036-1.cc: Likewise.
4295         * testsuite/decimal/pr54036-2.cc: Likewise.
4296         * testsuite/decimal/pr54036-3.cc: Likewise.
4297         * testsuite/decimal/unary-arith.cc: Likewise.
4298         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
4299         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
4300         Likewise.
4301         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
4302         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
4303         Likewise.
4304         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
4305         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
4306         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
4307         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
4308         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
4309         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
4310         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
4311         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
4312         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
4313         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
4314         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
4315         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
4316         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
4317         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
4318         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
4319         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
4320         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
4321         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
4322         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
4323         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
4324         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
4325         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
4326         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
4327         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
4328         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
4329         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
4330         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
4331         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
4332         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
4333         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
4334         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
4335         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
4336         * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
4337         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
4338         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
4339         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
4340         * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
4341         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
4342         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
4343         * testsuite/tr2/bases/value.cc: Likewise.
4344         * testsuite/tr2/direct_bases/value.cc: Likewise.
4345         * testsuite/util/debug/checks.h: Likewise.
4346         * testsuite/util/debug/unordered_checks.h: Likewise.
4347         * testsuite/util/testsuite_allocator.h: Likewise.
4348         * testsuite/util/testsuite_api.h: Likewise.
4349         * testsuite/util/testsuite_common_types.h: Likewise.
4350         * testsuite/util/testsuite_random.h: Likewise.
4351         * testsuite/util/testsuite_rvalref.h: Likewise.
4353 2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
4355         * include/bits/shared_ptr_base.h: Include <functional>.
4356         [!__cpp_rtti]: Do not include <typeinfo>.
4357         * include/experimental/array: Do not include <functional>.
4358         * include/experimental/memory: Include <bits/functional_hash.h>
4359         instead of <functional>.
4360         * include/experimental/propagate_const: Include <bits/stl_function.h>,
4361         <bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
4362         * include/experimental/tuple: Do not include <functional>.
4363         * include/std/future: Include <functional>.
4364         * include/std/memory: Do not include <functional>.
4365         * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
4366         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
4367         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
4368         missing includes.
4369         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4370         * testsuite/20_util/specialized_algorithms/memory_management_tools/
4371         1.cc: Likewise.
4372         * testsuite/30_threads/call_once/60497.cc: Likewise.
4373         * testsuite/30_threads/lock/2.cc: Likewise.
4374         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
4375         * testsuite/experimental/algorithm/sample.cc: Likewise.
4376         * testsuite/experimental/array/make_array.cc: Likewise.
4377         * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
4378         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
4379         Adjust dg-error lines.
4380         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
4381         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
4382         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
4383         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
4384         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
4386         * testsuite/experimental/algorithm/sample.cc: Add missing header.
4388         * include/experimental/propagate_const (element_type): Qualify
4389         declval.
4391         * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
4392         instead of assert.
4394         * include/experiumental/functional (boyer_moore_searcher)
4395         (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
4396         with _GLIBCXX_STD_C.
4397         * include/std/functional: Likewise.
4399         * include/std/chrono (floor): Replace non-constexpr operation.
4400         * testsuite/20_util/duration_cast/rounding.cc: Test conversion to
4401         durations with floating pointer representations.
4403         * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
4404         (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
4406         * include/std/functional (_Bind_simple, _Bind_simple_helper)
4407         (__bind_simple): Remove.
4408         * include/std/future: Include <bits/invoke.h> instead of <functional>.
4409         (__future_base::_Task_state::_M_run)
4410         (__future_base::_Task_state::_M_run_delayed): Use lambda expressions
4411         instead of __bind_simple.
4412         (__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
4413         (async): Use thread::__make_invoker instead of __bind_simple.
4414         * include/std/thread: Include <tuple> and <bits/invoke.h> instead of
4415         <functional>.
4416         (thread::_Invoker, thread::__make_invoker): Define helpers to do
4417         INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
4419         * include/std/functional (_Not_fn): Make exception specifications
4420         depend on whether negating the result can throw.
4421         * testsuite/20_util/not_fn/1.cc: Move to ...
4422         * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
4423         for types that can throw when negated and that cannot be negated.
4425         * include/bits/invoke.h (__invoke): Fix exception-specification.
4426         * include/std/functional (invoke): Likewise.
4427         * testsuite/20_util/function_objects/invoke/1.cc: New test.
4429 2016-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
4431         * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
4432         __builtin_printf and __builtin_abort.
4433         * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
4434         * scripts/testsuite_flags.in: Likewise.
4435         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
4436         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
4437         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
4438         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
4439         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
4440         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
4441         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
4442         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
4443         * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
4444         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
4445         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
4446         Likewise.
4447         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
4448         Likewise.
4449         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
4450         Likewise.
4451         * testsuite/27_io/objects/char/7.cc: Likewise.
4452         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
4453         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
4454         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
4455         * testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
4456         * testsuite/18_support/bad_alloc/what.cc: Likewise.
4457         * testsuite/18_support/bad_cast/what.cc: Likewise.
4458         * testsuite/18_support/bad_exception/what.cc: Likewise.
4459         * testsuite/18_support/bad_typeid/what.cc: Likewise.
4460         * testsuite/18_support/exception/38732.cc: Likewise.
4461         * testsuite/18_support/exception/what.cc: Likewise.
4462         * testsuite/18_support/exception_ptr/64241.cc: Likewise.
4463         * testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
4464         * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
4465         * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
4466         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
4467         * testsuite/18_support/nested_exception/cons.cc: Likewise.
4468         * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
4469         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
4470         * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
4471         * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
4472         * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
4473         * testsuite/18_support/numeric_limits/digits10.cc: Likewise.
4474         * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
4475         * testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
4476         * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
4477         * testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
4478         * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
4479         * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
4480         * testsuite/18_support/numeric_limits/min_max.cc: Likewise.
4481         * testsuite/18_support/numeric_limits/specialization_default_values.cc:
4482         Likewise.
4483         * testsuite/18_support/type_info/hash_code.cc: Likewise.
4484         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
4485         * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
4486         * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
4487         * testsuite/19_diagnostics/error_category/operators/
4488         not_equal.cc: Likewise.
4489         * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
4490         * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
4491         * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
4492         * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
4493         * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
4494         * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
4495         * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
4496         * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
4497         * testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
4498         Likewise.
4499         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
4500         * testsuite/19_diagnostics/error_condition/operators/equal.cc:
4501         Likewise.
4502         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
4503         Likewise.
4504         * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
4505         * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
4506         * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
4507         * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
4508         * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
4509         * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
4510         * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
4511         * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
4512         * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
4513         * testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
4514         * testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
4515         * testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
4516         * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
4517         * testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
4518         * testsuite/20_util/addressof/1.cc: Likewise.
4519         * testsuite/20_util/align/1.cc: Likewise.
4520         * testsuite/20_util/align/2.cc: Likewise.
4521         * testsuite/20_util/allocator/1.cc: Likewise.
4522         * testsuite/20_util/allocator/10378.cc: Likewise.
4523         * testsuite/20_util/allocator/8230.cc: Likewise.
4524         * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
4525         Likewise.
4526         * testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
4527         * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
4528         * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
4529         * testsuite/20_util/any/assign/exception.cc: Likewise.
4530         * testsuite/20_util/auto_ptr/1.cc: Likewise.
4531         * testsuite/20_util/auto_ptr/2.cc: Likewise.
4532         * testsuite/20_util/auto_ptr/3.cc: Likewise.
4533         * testsuite/20_util/auto_ptr/4.cc: Likewise.
4534         * testsuite/20_util/auto_ptr/5.cc: Likewise.
4535         * testsuite/20_util/auto_ptr/6.cc: Likewise.
4536         * testsuite/20_util/auto_ptr/7.cc: Likewise.
4537         * testsuite/20_util/bind/all_bound.cc: Likewise.
4538         * testsuite/20_util/bind/conv_result.cc: Likewise.
4539         * testsuite/20_util/bind/cv_quals.cc: Likewise.
4540         * testsuite/20_util/bind/cv_quals_2.cc
4541         * testsuite/20_util/bind/nested.cc: Likewise.
4542         * testsuite/20_util/bind/placeholders.cc: Likewise.
4543         * testsuite/20_util/bind/ref.cc: Likewise.
4544         * testsuite/20_util/bind/ref2.cc: Likewise.
4545         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
4546         * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
4547         * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
4548         * testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
4549         * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
4550         * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
4551         * testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
4552         * testsuite/20_util/duration/cons/1.cc: Likewise.
4553         * testsuite/20_util/duration/cons/2.cc: Likewise.
4554         * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
4555         * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
4556         * testsuite/20_util/enable_shared_from_this/members/assign.cc:
4557         Likewise.
4558         * testsuite/20_util/exchange/1.cc: Likewise.
4559         * testsuite/20_util/forward/a.cc: Likewise.
4560         * testsuite/20_util/forward/b.cc: Likewise.
4561         * testsuite/20_util/forward/d.cc: Likewise.
4562         * testsuite/20_util/function/1.cc: Likewise.
4563         * testsuite/20_util/function/2.cc: Likewise.
4564         * testsuite/20_util/function/3.cc: Likewise.
4565         * testsuite/20_util/function/4.cc: Likewise.
4566         * testsuite/20_util/function/43397.cc: Likewise.
4567         * testsuite/20_util/function/5.cc: Likewise.
4568         * testsuite/20_util/function/6.cc: Likewise.
4569         * testsuite/20_util/function/7.cc: Likewise.
4570         * testsuite/20_util/function/8.cc: Likewise.
4571         * testsuite/20_util/function/9.cc: Likewise.
4572         * testsuite/20_util/function/assign/move.cc: Likewise.
4573         * testsuite/20_util/function/cons/move.cc: Likewise.
4574         * testsuite/20_util/function_objects/dr660.cc: Likewise.
4575         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
4576         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
4577         * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
4578         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
4579         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
4580         * testsuite/20_util/hash/operators/size_t.cc: Likewise.
4581         * testsuite/20_util/hash/quality.cc: Likewise.
4582         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
4583         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
4584         * testsuite/20_util/is_function/24808.cc: Likewise.
4585         * testsuite/20_util/is_object/24808.cc: Likewise.
4586         * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
4587         * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
4588         * testsuite/20_util/owner_less/cmp.cc: Likewise.
4589         * testsuite/20_util/pair/1.cc: Likewise.
4590         * testsuite/20_util/pair/2.cc: Likewise.
4591         * testsuite/20_util/pair/3.cc: Likewise.
4592         * testsuite/20_util/pair/4.cc: Likewise.
4593         * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
4594         * testsuite/20_util/pair/moveable.cc: Likewise.
4595         * testsuite/20_util/pair/piecewise.cc: Likewise.
4596         * testsuite/20_util/pair/swap.cc: Likewise.
4597         * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
4598         * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
4599         * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
4600         * testsuite/20_util/ratio/cons/cons1.cc: Likewise.
4601         * testsuite/20_util/ratio/operations/45866.cc: Likewise.
4602         * testsuite/20_util/ratio/operations/47913.cc: Likewise.
4603         * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
4604         * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
4605         * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
4606         * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
4607         * testsuite/20_util/scoped_allocator/1.cc: Likewise.
4608         * testsuite/20_util/scoped_allocator/2.cc: Likewise.
4609         * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
4610         * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
4611         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
4612         * testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
4613         * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
4614         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
4615         Likewise.
4616         * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
4617         * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
4618         * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
4619         * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
4620         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
4621         * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
4622         * testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
4623         * testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
4624         * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
4625         * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
4626         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
4627         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
4628         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
4629         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
4630         Likewise.
4631         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
4632         Likewise.
4633         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
4634         * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
4635         * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
4636         * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
4637         * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
4638         * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
4639         * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
4640         * testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
4641         * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
4642         * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
4643         * testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
4644         * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
4645         * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
4646         * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
4647         * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
4648         * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
4649         * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
4650         * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
4651         * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
4652         * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
4653         * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
4654         * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
4655         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
4656         Likewise.
4657         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4658         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
4659         move_iterators/1.cc: Likewise.
4660         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
4661         move_iterators/1.cc: Likewise.
4662         * testsuite/20_util/temporary_buffer.cc: Likewise.
4663         * testsuite/20_util/time_point/1.cc: Likewise.
4664         * testsuite/20_util/time_point/2.cc: Likewise.
4665         * testsuite/20_util/time_point/3.cc: Likewise.
4666         * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
4667         * testsuite/20_util/tuple/48476.cc: Likewise.
4668         * testsuite/20_util/tuple/comparison_operators/comparisons.cc:
4669         Likewise.
4670         * testsuite/20_util/tuple/cons/allocators.cc: Likewise.
4671         * testsuite/20_util/tuple/cons/assignment.cc: Likewise.
4672         * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
4673         * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
4674         * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
4675         * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
4676         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
4677         * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
4678         Likewise.
4679         * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
4680         * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
4681         * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
4682         * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
4683         * testsuite/20_util/tuple/element_access/get.cc: Likewise.
4684         * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
4685         * testsuite/20_util/tuple/moveable.cc: Likewise.
4686         * testsuite/20_util/tuple/swap.cc: Likewise.
4687         * testsuite/20_util/tuple/tuple_size.cc: Likewise.
4688         * testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
4689         * testsuite/20_util/typeindex/hash.cc: Likewise.
4690         * testsuite/20_util/typeindex/hash_code.cc: Likewise.
4691         * testsuite/20_util/typeindex/name.cc: Likewise.
4692         * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
4693         * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
4694         * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
4695         * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
4696         * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
4697         * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
4698         * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
4699         * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
4700         * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
4701         * testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
4702         * testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
4703         * testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
4704         * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
4705         * testsuite/20_util/unique_ptr/specialized_algorithms/
4706         comparisons.cc: Likewise.
4707         * testsuite/20_util/unique_ptr/specialized_algorithms/
4708         comparisons_array.cc: Likewise.
4709         * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
4710         Likewise.
4711         * testsuite/20_util/uses_allocator/construction.cc: Likewise.
4712         * testsuite/20_util/uses_allocator/value.cc: Likewise.
4713         * testsuite/20_util/variant/run.cc: Likewise.
4714         * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
4715         * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
4716         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
4717         Likewise.
4718         * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
4719         * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
4720         Likewise.
4721         * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
4722         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
4723         Likewise.
4724         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
4725         Likewise.
4726         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
4727         Likewise.
4728         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
4729         Likewise.
4730         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
4731         Likewise.
4732         * testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
4733         * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
4734         * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
4735         * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
4736         * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
4737         Likewise.
4738         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
4739         * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
4740         Likewise.
4741         * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
4742         * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
4743         Likewise.
4744         * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
4745         * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
4746         * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
4747         * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
4748         * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
4749         * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
4750         * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
4751         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
4752         * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
4753         * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
4754         * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
4755         * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
4756         * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
4757         * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
4758         * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
4759         * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
4760         * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
4761         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
4762         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
4763         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
4764         * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
4765         * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
4766         Likewise.
4767         * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
4768         * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
4769         * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
4770         * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
4771         * testsuite/21_strings/basic_string/element_access/char/58163.cc:
4772         Likewise.
4773         * testsuite/21_strings/basic_string/element_access/char/empty.cc:
4774         Likewise.
4775         * testsuite/21_strings/basic_string/element_access/char/front_back.cc:
4776         Likewise.
4777         * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
4778         Likewise.
4779         * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
4780         Likewise.
4781         * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
4782         Likewise.
4783         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
4784         Likewise.
4785         * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
4786         Likewise.
4787         * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
4788         Likewise.
4789         * testsuite/21_strings/basic_string/element_access/wchar_t/
4790         front_back.cc: Likewise.
4791         * testsuite/21_strings/basic_string/init-list.cc: Likewise.
4792         * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
4793         Likewise.
4794         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
4795         Likewise.
4796         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
4797         Likewise.
4798         * testsuite/21_strings/basic_string/inserters_extractors/char/
4799         28277.cc: Likewise.
4800         * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
4801         Likewise.
4802         * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
4803         Likewise.
4804         * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
4805         Likewise.
4806         * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
4807         Likewise.
4808         * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
4809         Likewise.
4810         * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
4811         Likewise.
4812         * testsuite/21_strings/basic_string/inserters_extractors/pod/
4813         10081-in.cc: Likewise.
4814         * testsuite/21_strings/basic_string/inserters_extractors/pod/
4815         10081-out.cc: Likewise.
4816         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
4817         Likewise.
4818         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4819         10.cc: Likewise.
4820         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4821         11.cc: Likewise.
4822         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4823         28277.cc: Likewise.
4824         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
4825         Likewise.
4826         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
4827         Likewise.
4828         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
4829         Likewise.
4830         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
4831         Likewise.
4832         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
4833         Likewise.
4834         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
4835         Likewise.
4836         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
4837         Likewise.
4838         * testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
4839         Likewise.
4840         * testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
4841         Likewise.
4842         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
4843         Likewise.
4844         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
4845         Likewise.
4846         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
4847         Likewise.
4848         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
4849         Likewise.
4850         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
4851         Likewise.
4852         * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
4853         Likewise.
4854         * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
4855         Likewise.
4856         * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
4857         Likewise.
4858         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
4859         Likewise.
4860         * testsuite/21_strings/basic_string/modifiers/assign/char/
4861         move_assign.cc: Likewise.
4862         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
4863         Likewise.
4864         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
4865         Likewise.
4866         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
4867         Likewise.
4868         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
4869         Likewise.
4870         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
4871         move_assign.cc: Likewise.
4872         * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
4873         Likewise.
4874         * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
4875         Likewise.
4876         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
4877         Likewise.
4878         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
4879         Likewise.
4880         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
4881         Likewise.
4882         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
4883         Likewise.
4884         * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
4885         Likewise.
4886         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
4887         Likewise.
4888         * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
4889         Likewise.
4890         * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
4891         Likewise.
4892         * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
4893         Likewise.
4894         * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
4895         Likewise.
4896         * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
4897         Likewise.
4898         * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
4899         Likewise.
4900         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
4901         Likewise.
4902         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
4903         Likewise.
4904         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
4905         Likewise.
4906         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
4907         Likewise.
4908         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
4909         Likewise.
4910         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
4911         Likewise.
4912         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
4913         Likewise.
4914         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
4915         Likewise.
4916         * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
4917         Likewise.
4918         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
4919         Likewise.
4920         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
4921         Likewise.
4922         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
4923         Likewise.
4924         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
4925         Likewise.
4926         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
4927         Likewise.
4928         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
4929         Likewise.
4930         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
4931         Likewise.
4932         * testsuite/21_strings/basic_string/numeric_conversions/char/
4933         stoull.cc: Likewise.
4934         * testsuite/21_strings/basic_string/numeric_conversions/char/
4935         to_string.cc: Likewise.
4936         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4937         dr1261.cc: Likewise.
4938         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4939         stod.cc: Likewise.
4940         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4941         stof.cc: Likewise.
4942         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4943         stoi.cc: Likewise.
4944         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4945         stol.cc: Likewise.
4946         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4947         stold.cc: Likewise.
4948         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4949         stoll.cc: Likewise.
4950         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4951         stoul.cc: Likewise.
4952         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4953         stoull.cc: Likewise.
4954         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4955         to_wstring.cc: Likewise.
4956         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
4957         Likewise.
4958         * testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
4959         Likewise.
4960         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
4961         Likewise.
4962         * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
4963         Likewise.
4964         * testsuite/21_strings/basic_string/operations/compare/wchar_t/
4965         13650.cc: Likewise.
4966         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
4967         Likewise.
4968         * testsuite/21_strings/basic_string/operations/data/char/1.cc:
4969         Likewise.
4970         * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
4971         Likewise.
4972         * testsuite/21_strings/basic_string/operations/find/char/1.cc:
4973         Likewise.
4974         * testsuite/21_strings/basic_string/operations/find/char/2.cc:
4975         Likewise.
4976         * testsuite/21_strings/basic_string/operations/find/char/3.cc:
4977         Likewise.
4978         * testsuite/21_strings/basic_string/operations/find/char/4.cc:
4979         Likewise.
4980         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
4981         Likewise.
4982         * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
4983         Likewise.
4984         * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
4985         Likewise.
4986         * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
4987         Likewise.
4988         * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
4989         Likewise.
4990         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
4991         Likewise.
4992         * testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
4993         Likewise.
4994         * testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
4995         Likewise.
4996         * testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
4997         Likewise.
4998         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
4999         Likewise.
5000         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
5001         Likewise.
5002         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
5003         Likewise.
5004         * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
5005         Likewise.
5006         * testsuite/21_strings/basic_string/operations/substr/wchar_t/
5007         1.cc: Likewise.
5008         * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
5009         * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
5010         * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
5011         * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
5012         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
5013         * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
5014         * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
5015         * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
5016         * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
5017         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
5018         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
5019         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
5020         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
5021         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
5022         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
5023         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
5024         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
5025         * testsuite/21_strings/basic_string_view/element_access/char/
5026         1.cc: Likewise.
5027         * testsuite/21_strings/basic_string_view/element_access/char/
5028         empty.cc: Likewise.
5029         * testsuite/21_strings/basic_string_view/element_access/char/
5030         front_back.cc: Likewise.
5031         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5032         1.cc: Likewise.
5033         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5034         empty.cc: Likewise.
5035         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5036         front_back.cc: Likewise.
5037         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
5038         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
5039         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
5040         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
5041         Likewise.
5042         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
5043         Likewise.
5044         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
5045         Likewise.
5046         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
5047         Likewise.
5048         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5049         char/1.cc: Likewise.
5050         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5051         wchar_t/1.cc: Likewise.
5052         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5053         char/1.cc: Likewise.
5054         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5055         wchar_t/1.cc: Likewise.
5056         * testsuite/21_strings/basic_string_view/operations/compare/char/
5057         1.cc: Likewise.
5058         * testsuite/21_strings/basic_string_view/operations/compare/char/
5059         13650.cc: Likewise.
5060         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5061         1.cc: Likewise.
5062         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5063         13650.cc: Likewise.
5064         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
5065         Likewise.
5066         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
5067         Likewise.
5068         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
5069         Likewise.
5070         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
5071         Likewise.
5072         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
5073         Likewise.
5074         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
5075         Likewise.
5076         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
5077         Likewise.
5078         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
5079         Likewise.
5080         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5081         1.cc: Likewise.
5082         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5083         2.cc: Likewise.
5084         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5085         3.cc: Likewise.
5086         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5087         4.cc: Likewise.
5088         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5089         1.cc: Likewise.
5090         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5091         2.cc: Likewise.
5092         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5093         3.cc: Likewise.
5094         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5095         1.cc: Likewise.
5096         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5097         2.cc: Likewise.
5098         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5099         3.cc: Likewise.
5100         * testsuite/21_strings/basic_string_view/operations/string_conversion/
5101         1.cc: Likewise.
5102         * testsuite/21_strings/basic_string_view/operations/substr/char/
5103         1.cc: Likewise.
5104         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
5105         1.cc: Likewise.
5106         * testsuite/21_strings/basic_string_view/operators/char/2.cc:
5107         Likewise.
5108         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
5109         Likewise.
5110         * testsuite/21_strings/c_strings/char/1.cc: Likewise.
5111         * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
5112         * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
5113         * testsuite/21_strings/char_traits/requirements/char/57704.cc:
5114         Likewise.
5115         * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
5116         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
5118         * doc/xml/manual/test.xml: Fix typo.
5120 2016-10-12  Jonathan Wakely  <jwakely@redhat.com>
5122         * doc/xml/manual/status_cxx2017.xml: Add std::sample status.
5123         * doc/html/*: Regenerate.
5124         * include/experimental/algorithm (__sample): Move to bits/stl_algo.h
5125         and into namespace std.
5126         * include/bits/stl_algo.h (__sample): Define here. Fix invalid use
5127         of input iterator. Defend against overloaded comma operator.
5128         (sample): Define for C++17.
5129         * testsuite/25_algorithms/sample/1.cc: New test.
5131         * testsuite/util/testsuite_common_types.h
5132         (bitwise_assignment_operators): Use direct-initialization for C++11
5133         and later, to avoid CopyConstructible requirement.
5134         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
5135         line numbers.
5136         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
5137         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
5138         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
5139         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
5140         Adjust expected errors and line numbers.
5142         * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
5143         (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
5145         * include/bits/stl_uninitialized.h
5146         (__uninitialized_default_novalue_n_1<true>): Add missing return.
5147         * testsuite/20_util/specialized_algorithms/memory_management_tools/
5148         1.cc: Check return values of uninitialized_xxx_n algorithms.
5150         * libsupc++/nested_exception.h (throw_with_nested): Remove return.
5152         * doc/xml/manual/intro.xml: Document LWG 2442 status.
5153         * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
5154         [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
5155         partial specialization to unpack args and forward to std::invoke.
5156         (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
5157         instead of __bind_simple and __once_call_impl.
5158         (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
5159         __bind_simple.
5160         * testsuite/30_threads/call_once/dr2442.cc: New test.
5162 2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
5164         * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
5165         _M_assign_dispatch directly with correct tag.
5167         * doc/xml/manual/intro.xml: Document LWG 2484 status.
5168         * libsupc++/nested_exception.h (_Throw_with_nested_impl)
5169         (_Throw_with_nested_helper): Remove.
5170         (__throw_with_nested_impl): New overloaded functions to implement
5171         throw_with_nested logic.
5172         (throw_with_nested): Call __throw_with_nested_impl.
5173         (_Rethrow_if_nested_impl): Remove
5174         (__rethrow_if_nested_impl): New overloaded functions to implement
5175         rethrow_if_nested logic.
5176         (rethrow_if_nested): Call __rethrow_if_nested_impl.
5177         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
5178         problem cases from LWG 2484.
5180         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
5181         Register printer for std::__cxx11::list.
5182         * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
5183         std::__cxx11::list as well as std::list.
5185         * include/experimental/string_view (basic_string_view::_S_compare):
5186         Remove redundant const from return type.
5187         * include/std/string_view (basic_string_view:_S_compare): Likewise.
5189         * include/bits/std_mutex.h (mutex::native_handle)
5190         (lock_guard(mutex_type&, adopt_lock_t)
5191         (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
5192         * include/std/mutex (recursive_mutex, timed_mutex)
5193         (recursive_timed_mutex): Likewise.
5195 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5197         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5198         Replace <literallayout> with nested <variablelist> elements. Update
5199         some more outdated text.
5200         * doc/html/*: Regenerate.
5202 2016-10-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
5204         Make any's copy assignment operator exception-safe,
5205         don't copy the underlying value when any is moved,
5206         make in_place constructors explicit.
5207         * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
5208         Make explicit.
5209         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
5210         Likewise.
5211         (operator=(const any&)): Make strongly exception-safe.
5212         (operator=(any&&)): reset() unconditionally in the case where
5213         rhs has a value.
5214         (operator=(_ValueType&&)): Indent the return type.
5215         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
5216         * testsuite/20_util/any/assign/2.cc: Adjust.
5217         * testsuite/20_util/any/assign/exception.cc: New.
5218         * testsuite/20_util/any/cons/2.cc: Adjust.
5219         * testsuite/20_util/any/cons/explicit.cc: New.
5220         * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
5222 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5224         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5225         Describe other subdirectories and add markup. Remove outdated
5226         reference to check-script target.
5227         * doc/html/*: Regenerate.
5229         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
5231         * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
5232         with noexcept.
5234         * include/std/functional (_Bind_result::__enable_if_void): Use alias
5235         template instead of class template.
5236         (_Bind_result::__disable_if_void): Likewise.
5237         (_Bind_result::__call): Adjust uses of __enable_if_void and
5238         __disable_if_void.
5240         * doc/xml/manual/intro.xml: Document DR 2296 status.
5241         * doc/xml/manual/status_cxx2017.xml: Update status.
5242         * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
5243         call __builtin_addressof.
5244         (addressof): Add _GLIBCXX17_CONSTEXPR.
5245         * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
5246         * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
5247         * testsuite/20_util/forward/f_neg.cc: Likewise.
5249         * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
5250         * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
5251         is_always_equal.
5252         * testsuite/util/testsuite_allocator.h
5253         (uneq_allocator::is_always_equal): Define as false_type.
5255         * include/experimental/numeric (gcd, lcm): Make bool arguments
5256         ill-formed.
5257         * include/std/numeric (gcd, lcm): Likewise.
5258         * testsuite/26_numerics/gcd/gcd_neg.cc: New test.
5259         * testsuite/26_numerics/lcm/lcm_neg.cc: New test.
5261         * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
5262         Add noexcept.
5263         * include/bits/shared_ptr_base.h
5264         (__enable_shared_from_this::weak_from_this): Likewise.
5265         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
5266         Test exception-specification of weak_from_this.
5268 2016-10-07  Jonathan Wakely  <jwakely@redhat.com>
5270         * doc/xml/manual/status_cxx1998.xml: Improve documentation of
5271         implementation-defined properties.
5272         * doc/xml/manual/status_cxx2011.xml: Likewise.
5273         * doc/xml/manual/status_cxx2017.xml: Likewise.
5275         * doc/xml/manual/status_cxx2017.xml: Update status.
5276         * include/std/type_traits (has_unique_object_representations): Define.
5277         * testsuite/20_util/has_unique_object_representations/value.cc: New.
5278         * testsuite/20_util/has_unique_object_representations/requirements/
5279         explicit_instantiation.cc: New.
5280         * testsuite/20_util/has_unique_object_representations/requirements/
5281         typedefs.cc: New.
5283 2016-10-06  Jonathan Wakely  <jwakely@redhat.com>
5285         * doc/xml/manual/status_cxx2011.xml: Update status.
5286         * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
5287         New helpers for recursive OUTERMOST.
5288         (__outermost): Use __outermost_type::_S_outermost.
5289         (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
5290         (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
5291         __outermost_type helper.
5292         (scoped_allocator_adaptor::_Constructible): New alias template.
5293         (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
5294         Constrain template constructors.
5295         * testsuite/20_util/scoped_allocator/3.cc: New test.
5296         * testsuite/20_util/scoped_allocator/outermost.cc: New test.
5298 2016-10-05  Jonathan Wakely  <jwakely@redhat.com>
5300         PR libstdc++/70564
5301         * testsuite/20_util/not_fn/1.cc: Fix test.
5302         * testsuite/experimental/functional/not_fn.cc: Likewise.
5304         PR libstdc++/70101
5305         * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
5306         constructors.
5307         * testsuite/23_containers/priority_queue/allocator.cc: New test.
5309         PR libstdc++/77864
5310         * include/bits/stl_map.h (map::map()): Use nothrow constructibility
5311         of comparison function in conditional noexcept.
5312         * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
5313         * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
5314         * include/bits/stl_set.h (set::set()): Likewise.
5315         * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
5316         New test.
5317         * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
5318         Likewise.
5319         * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
5320         Likewise.
5321         * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
5322         Likewise.
5324         * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
5325         alias declaration.
5327         PR libstdc++/70564
5328         * include/experimental/functional (_Not_fn): Remove.
5329         (not_fn): Use std::_Not_fn.
5330         * include/std/functional (_Not_fn): Add second parameter to
5331         disambiguate copying from initialization by not_fn. Define for C++14.
5332         (not_fn): Add second argument to initialization.
5333         * testsuite/20_util/not_fn/1.cc: Copy call wrapper using
5334         direct-initialization.
5336 2016-10-03  François Dumont  <fdumont@gcc.gnu.org>
5338         * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
5339         declaration...
5340         * src/c++11/mutex_pool.h: ... here. New.
5341         * src/c++11/debug.cc: Use latter.
5343 2016-10-03  Jonathan Wakely  <jwakely@redhat.com>
5345         * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
5346         * doc/html/*: Regenerate.
5347         * include/experimental/numeric (__abs): Move to <numeric>.
5348         (gcd, lcm): Use __detail::gcd and __detail::lcm.
5349         * include/std/numeric (__detail::__abs_integral)
5350         (__detail::__gcd, __detail::__lcm): Define.
5351         (gcd, lcm): Define for C++17.
5352         * testsuite/26_numerics/gcd/1.cc: New test.
5353         * testsuite/26_numerics/lcm/1.cc: New test.
5354         * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
5355         * testsuite/experimental/numeric/lcd.cc: ... this.
5357         PR libstdc++/68323
5358         PR libstdc++/77794
5359         * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
5360         __cxa_thread_atexit and __gnu_cxx::__freeres.
5361         * include/Makefile.am: Add <experimental/bits/lfts_config.h>
5362         * include/Makefile.in: Regenerate.
5363         * include.bits/basic_string.h: Fix nesting of versioned namespaces.
5364         * include/bits/c++config: Declare versioned namespaces for literals.
5365         * include/bits/regex.h (basic_regex, match_results): Add workarounds
5366         for PR c++/59256.
5367         * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
5368         * include/std/chrono: Likewise.
5369         * include/std/complex: Likewise.
5370         * include/std/string_view: Likewise.
5371         * include/std/variant: Likewise. Add workaround for PR c++/59256.
5372         * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
5373         * include/experimental/bits/lfts_config.h: Declare versioned
5374         namespaces.
5375         * include/experimental/algorithm: Include
5376         <experimental/bits/lfts_config.h>.
5377         * include/experimental/any: Likewise.
5378         * include/experimental/bits/erase_if.h: Likewise.
5379         * include/experimental/chrono: Likewise.
5380         * include/experimental/functional: Likewise.
5381         * include/experimental/memory_resource: Likewise.
5382         * include/experimental/optional: Likewise.
5383         * include/experimental/propagate_const: Likewise.
5384         * include/experimental/random: Likewise.
5385         * include/experimental/ratio: Likewise.
5386         * include/experimental/system_error: Likewise.
5387         * include/experimental/tuple: Likewise.
5388         * include/experimental/type_traits: Likewise.
5389         * include/experimental/utility: Likewise.
5390         * include/experimental/string_view: Likewise. Fix nesting of
5391         versioned namespaces.
5392         * include/experimental/bits/string_view.tcc: Reopen inline namespace
5393         for non-inline function definitions.
5394         * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
5395         * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
5396         * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
5397         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
5398         Likewise.
5399         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
5400         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
5401         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
5402         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
5403         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
5404         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
5406         PR libstdc++/77814
5407         * include/bits/std_abs.h: Use "C++" language linkage.
5408         * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
5409         the end. Add <stdalign.h>.
5411 2016-10-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
5413         PR libstdc++/77802
5414         * testsuite/20_util/tuple/77802.cc: New.
5416         Revert:
5417         2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5418         Implement LWG 2729 for tuple.
5419         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5420         Suppress conditionally.
5421         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5422         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5423         (_Tuple_impl(const _Head&)): Constrain.
5424         (_Tuple_impl(_UHead&&)): Likewise.
5425         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5426         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5427         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5428         (operator=(const tuple&)): Enable conditionally.
5429         (operator=(tuple&&)): Suppress conditionally.
5430         (operator=(const tuple<_UElements...>&)): Constrain.
5431         (operator=(tuple<_UElements...>&&)): Likewise.
5432         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5433         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5434         (operator=(const tuple<_U1, _U2>&)): Constrain.
5435         (operator=(tuple<_U1, _U2>&&)): Likewise.
5436         (operator=(const pair<_U1, _U2>&)): Likewise.
5437         (operator=(pair<_U1, _U2>&&)): Likewise.
5438         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5439         * testsuite/20_util/tuple/tuple_traits.cc: New.
5441 2016-09-30  Jonathan Wakely  <jwakely@redhat.com>
5443         PR libstdc++/77795
5444         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
5445         for gets.
5446         * config.h.in: Regenerate.
5447         * configure: Regenerate.
5448         * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
5449         for C++98 and C++11.
5450         * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
5451         * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
5453         * doc/xml/manual/intro.xml: Document LWG 2192 changes.
5454         * doc/html/*: Regenerate.
5455         * include/Makefile.am: Add bits/std_abs.h.
5456         * include/Makefile.in: Regenerate.
5457         * include/bits/std_abs.h: New header defining all required overloads
5458         of std::abs in one place (LWG 2294).
5459         * include/c_global/cmath (abs(double), abs(float), abs(long double)):
5460         Move to bits/std_abs.h.
5461         (abs<_Tp>(_Tp)): Remove.
5462         * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
5463         Move to bits/std_abs.h.
5464         * testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
5465         * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
5466         * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
5467         * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.
5469         PR libstdc++/77801
5470         * include/experimental/numeric: Include <numeric>.
5471         (__abs): Define.
5472         (gcd, lcm): Use __abs instead of std::abs.
5473         * testsuite/experimental/numeric/77801.cc: New test.
5474         * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
5475         * testsuite/experimental/numeric/lcm.cc: Likewise.
5477 2016-09-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
5479         Make optional::reset noexcept, make optional::value
5480         work in constant expressions.
5481         * include/std/optional (_M_get): Make constexpr.
5482         (reset): Make noexcept.
5483         * testsuite/20_util/optional/assignment/7.cc: New.
5484         * testsuite/20_util/optional/observers/6.cc: New.
5486 2016-09-29  Jonathan Wakely  <jwakely@redhat.com>
5488         * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
5489         outside _GLIBCXX_USE_C99_MATH_TR1 condition.
5491 2016-09-29  Alan Modra  <amodra@gmail.com>
5493         * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
5494         * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
5495         Use LONG_DOUBLE_COMPAT_FLAGS.
5496         * Makefile.in: Regenerate.
5497         * configure: Regenerate.
5498         * doc/Makefile.in: Regenerate.
5499         * include/Makefile.in: Regenerate.
5500         * libsupc++/Makefile.in: Regenerate.
5501         * po/Makefile.in: Regenerate.
5502         * python/Makefile.in: Regenerate.
5503         * src/Makefile.in: Regenerate.
5504         * src/c++11/Makefile.in: Regenerate.
5505         * src/c++98/Makefile.in: Regenerate.
5506         * src/filesystem/Makefile.in: Regenerate.
5507         * testsuite/Makefile.in: Regenerate.
5509 2016-09-28  Jonathan Wakely  <jwakely@redhat.com>
5511         * include/std/chrono (system_clock): Fix typo in comment.
5513         * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
5514         definition.
5515         * src/filesystem/ops.cc (file_time): Take error_code parameter and
5516         check for overflow.
5517         (do_copy_file, last_write_time): Pass error_code in file_time calls.
5518         * testsuite/experimental/filesystem/operations/last_write_time.cc:
5519         New.
5520         * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
5522         PR libstdc++/77686
5523         * include/std/functional (_Any_data): Add may_alias attribute.
5525 2016-09-27  Jonathan Wakely  <jwakely@redhat.com>
5527         * doc/xml/manual/status_cxx2017.xml: Update status.
5528         * doc/html/*: Regenerate.
5529         * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
5530         * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
5532         * doc/xml/manual/status_cxx2017.xml: Update status.
5533         * include/c_global/cmath (hypot): Add three-dimensional overloads.
5534         * testsuite/26_numerics/headers/cmath/hypot.cc: New.
5536 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5538         PR libstdc++/77727
5539         * include/std/optional (optional(const optional<_Up>&)):
5540         Default-initialize the base and use emplace.
5541         (optional(optional<_Up>&&)): Likewise.
5542         * testsuite/20_util/optional/cons/77727.cc: New.
5544 2016-09-26  François Dumont  <fdumont@gcc.gnu.org>
5546         * include/debug/safe_base.h
5547         (_Safe_iterator_base::_M_detach_single): Make public.
5549 2016-09-26  Jonathan Wakely  <jwakely@redhat.com>
5551         * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
5552         redefine macro defined in <bits/stl_iterator.h>.
5554         * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
5555         iterator is not past-the-end.
5556         * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
5557         Likewise.
5558         * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
5559         Likewise.
5560         * include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
5561         * include/bits/unordered_map.h (unordered_map::extract(const_iterator))
5562         (unordered_multimap::extract(const_iterator)): Likewise.
5563         * include/bits/unordered_set.h (unordered_set::extract(const_iterator))
5564         (unordered_multiset::extract(const_iterator)): Likewise.
5566 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5568         PR libstdc++/77717
5569         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
5570         Fix an out-of-bounds access.
5572 2016-09-26  Marek Polacek  <polacek@redhat.com>
5574         PR c/7652
5575         * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
5577 2016-09-25  François Dumont  <fdumont@gcc.gnu.org>
5579         * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
5580         functional.
5581         (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
5582         * testsuite/23_containers/vector/debug/mutex_association.cc: New.
5584         * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
5585         bitset*)): Remove __unused__ attribute.
5586         * include/debug/safe_base.h (_Safe_iterator_base): Make
5587         _Safe_sequence_base a friend.
5588         (_Safe_iterator_base::_M_attach): Make protected.
5589         (_Safe_iterator_base::_M_attach_single): Likewise.
5590         (_Safe_iterator_base::_M_detach): Likewise.
5591         (_Safe_iterator_base::_M_detach_single): Likewise.
5592         (_Safe_sequence_base): Make _Safe_iterator_base a friend.
5593         (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
5594         (_Safe_sequence_base::_M_swap): Make protected.
5595         (_Safe_sequence_base::_M_attach): Make private.
5596         (_Safe_sequence_base::_M_attach_single): Likewise.
5597         (_Safe_sequence_base::_M_detach): Likewise.
5598         (_Safe_sequence_base::_M_detach_single): Likewise.
5599         * include/debug/safe_container.h
5600         (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
5601         * include/debug/safe_iterator.h
5602         (_Safe_iterator::operator++()): Name __scoped_lock instance.
5603         * include/debug/safe_iterator.tcc: Remove trailing line.
5604         * include/debug/safe_unordered_base.h
5605         (_Safe_local_iterator_base::_M_attach): Make protected.
5606         (_Safe_local_iterator_base::_M_attach_single): Likewise.
5607         (_Safe_local_iterator_base::_M_detach): Likewise.
5608         (_Safe_local_iterator_base::_M_detach_single): Likewise.
5609         (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
5610         (_Safe_unordered_container_base::_M_attach_local): Make private.
5611         (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
5612         (_Safe_unordered_container_base::_M_detach_local): Likewise.
5613         (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
5615         * include/parallel/algo.h: Generalize usage of std::__iterator_category.
5616         Adjust whitespaces.
5618 2016-09-23  Jonathan Wakely  <jwakely@redhat.com>
5620         PR libstdc++/56166
5621         PR libstdc++/77582
5622         * include/bits/basic_string.h (basic_string::clear()): Drop reference
5623         and use empty rep.
5624         * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
5625         Likewise.
5626         * testsuite/21_strings/basic_string/56166.cc: New.
5627         * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
5629         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
5630         (basic_string::erase(size_type, size_type)): Add fast path for
5631         truncating the string, by calling _M_set_length directly.
5632         (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
5633         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
5634         (basic_string::resize(size_type, _CharT)): Likewise.
5636 2016-09-22  Jason Merrill  <jason@redhat.com>
5638         * configure.ac: Define HAVE_MEMALIGN for newlib.
5640 2015-09-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5642         * config/cpu/m68k/atomicity.h: Adjust comment.
5643         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
5644         explicit atomicity_dir setup via configure.host.
5645         * configure.host (rtems-*): Set atomicity_dir.
5646         * configure: Regenerate.
5648 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5650         Implement C++17 node extraction and insertion (P0083R5)
5651         * doc/xml/manual/status_cxx2017.xml: Document status.
5652         * doc/html/*: Regenerate.
5653         * include/Makefile.am: Add bits/node_handle.h and reorder.
5654         * include/Makefile.in: Regenerate.
5655         * include/bits/hashtable.h (_Hashtable::node_type)
5656         (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
5657         (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
5658         (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
5659         (_Hash_merge_helper): Define primary template.
5660         * include/bits/node_handle.h: New header.
5661         * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
5662         friend.
5663         (map::node_type, map::insert_return_type, map::extract, map::merge)
5664         (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
5665         Define new members.
5666         (_Rb_tree_merge_helper): Specialize for map.
5667         * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
5668         as friend.
5669         (multimap::node_type, multimap::extract, multimap::merge)
5670         (multimap::insert(node_type&&))
5671         (multimap::insert(const_iterator, node_type&&)): Define.
5672         (_Rb_tree_merge_helper): Specialize for multimap.
5673         * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
5674         as friend.
5675         (multiset::node_type, multiset::extract, multiset::merge)
5676         (multiset::insert(node_type&&))
5677         (multiset::insert(const_iterator, node_type&&)): Define.
5678         * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
5679         friend.
5680         (set::node_type, set::insert_return_type, set::extract, set::merge)
5681         (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
5682         Define.
5683         (_Rb_tree_merge_helper): Specialize for set.
5684         * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
5685         (_Rb_tree::node_type, _Rb_tree::insert_return_type)
5686         (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
5687         (_Rb_tree::_M_reinsert_node_hint_unique)
5688         (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
5689         (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
5690         (_Rb_tree_merge_helper): Specialize for multiset.
5691         * include/bits/unordered_map.h (unordered_map): Declare
5692         unordered_map<> and unordered_multimap<> as friends.
5693         (unordered_map::node_type, unordered_map::insert_return_type)
5694         (unordered_map::extract, unordered_map::merge)
5695         (unordered_map::insert(node_type&&))
5696         (unordered_map::insert(const_iterator, node_type&&))
5697         (unordered_multimap): Declare _Hash_merge_helper as friend.
5698         (unordered_multimap::node_type, unordered_multimap::extract)
5699         (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
5700         (unordered_multimap::insert(const_iterator, node_type&&)): Define.
5701         (_Hash_merge_helper): Specialize for unordered maps and multimaps.
5702         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
5703         Declare _Hash_merge_helper as friend.
5704         (unordered_set::node_type, unordered_set::insert_return_type)
5705         (unordered_set::extract, unordered_set::merge)
5706         (unordered_set::insert(node_type&&))
5707         (unordered_set::insert(const_iterator, node_type&&)): Define.
5708         (unordered_multiset::node_type, unordered_multiset::extract)
5709         (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
5710         (unordered_multiset::insert(const_iterator, node_type&&)): Define.
5711         (_Hash_merge_helper): Specialize for unordered sets and multisets.
5712         * include/debug/map.h (map): Add using declarations or forwarding
5713         functions for new members.
5714         * include/debug/map.h (multimap): Likewise.
5715         * include/debug/map.h (multiset): Likewise.
5716         * include/debug/map.h (set): Likewise.
5717         * include/debug/unordered_map (unordered_map, unordered_multimap):
5718         Likewise.
5719         * include/debug/unordered_set( unordered_set, unordered_multiset):
5720         Likewise.
5721         * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
5722         helper function.
5723         (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
5724         (StdNodeHandlePrinter): Define printer for node handles.
5725         (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
5726         * testsuite/23_containers/map/modifiers/extract.cc: New.
5727         * testsuite/23_containers/map/modifiers/merge.cc: New.
5728         * testsuite/23_containers/multimap/modifiers/extract.cc: New.
5729         * testsuite/23_containers/multimap/modifiers/merge.cc: New.
5730         * testsuite/23_containers/multiset/modifiers/extract.cc: New.
5731         * testsuite/23_containers/multiset/modifiers/merge.cc: New.
5732         * testsuite/23_containers/set/modifiers/extract.cc: New.
5733         * testsuite/23_containers/set/modifiers/merge.cc: New.
5734         * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
5735         * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
5736         * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
5737         New.
5738         * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
5739         * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
5740         New.
5741         * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
5742         * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
5743         * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
5744         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
5745         dg-error lineno.
5746         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
5748 2016-09-22  Ville Voutilainen  <ville.voutilainen@gmail.com>
5750         Fix tests on old arm platforms for optional.
5751         * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
5753 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5755         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
5756         recent change to _Variant_storage.
5757         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
5758         reference type.
5760         * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
5761         std::forward and ::new. Cast pointer to void*.
5762         * include/std/variant (_Variant_storage, _Union, _Variant_base)
5763         (__access, __visit_invoke, variant, visit): Qualify std::forward.
5764         * testsuite/20_util/variant/compile.cc: Test for ADL problems.
5766 2016-09-22  Tim Shen  <timshen@google.com>
5768         * include/std/variant (variant::operator=): Fix assignment
5769         on references.
5770         * testsuite/20_util/variant/compile.cc: Add test.
5772 2016-09-22  Tim Shen  <timshen@google.com>
5774         PR libstdc++/77641
5775         * include/std/variant (_Variant_storage::_Variant_storage):
5776         Change _Variant_storage's union to be default constructible.
5777         * testsuite/20_util/variant/compile.cc: New test.
5779 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5781         PR libstdc++/77288
5782         * include/std/optional (__is_optional_impl, __is_optional): Remove.
5783         (__converts_from_optional, __assigns_from_optional): New.
5784         (optional(_Up&&)): Use is_same instead of __is_optional.
5785         (optional(const optional<_Up>&)): Constrain with
5786         __converts_from_optional.
5787         (optional(optional<_Up>&&)): Likewise.
5788         (operator=(_Up&&)): Use is_same instead of __is_optional, check
5789         is_same and is_scalar.
5790         (operator=(const optional<_Up>&)): Constrain with
5791         __converts_from_optional and __assigns_from_optional.
5792         (operator=(optional<_Up>&&)): Likewise.
5793         * testsuite/20_util/optional/77288.cc: New.
5794         * testsuite/20_util/optional/cons/value.cc: Adjust.
5796 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5798         Implement LWG 2729 for tuple.
5799         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5800         Suppress conditionally.
5801         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5802         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5803         (_Tuple_impl(const _Head&)): Constrain.
5804         (_Tuple_impl(_UHead&&)): Likewise.
5805         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5806         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5807         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5808         (operator=(const tuple&)): Enable conditionally.
5809         (operator=(tuple&&)): Suppress conditionally.
5810         (operator=(const tuple<_UElements...>&)): Constrain.
5811         (operator=(tuple<_UElements...>&&)): Likewise.
5812         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5813         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5814         (operator=(const tuple<_U1, _U2>&)): Constrain.
5815         (operator=(tuple<_U1, _U2>&&)): Likewise.
5816         (operator=(const pair<_U1, _U2>&)): Likewise.
5817         (operator=(pair<_U1, _U2>&&)): Likewise.
5818         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5819         * testsuite/20_util/tuple/tuple_traits.cc: New.
5821 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5823         PR libstdc++/77537
5824         Implement LWG 2729 for pair.
5825         * include/bits/stl_pair.h (_PCC): New.
5826         (_ConstructiblePair, _ImplicitlyConvertiblePair):
5827         Turn into static member functions of _PCC.
5828         (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
5829         (_PCCP): New.
5830         (pair(const _T1&, const _T2&)): Adjust.
5831         (_PCCFP): New.
5832         (pair(const pair<_U1, _U2>&)): Adjust.
5833         (pair(_U1&&, const _T2&)): Likewise.
5834         (pair(const _T1&, _U2&&)): Likewise.
5835         (pair(_U1&&, _U2&&)): Likewise.
5836         (pair(pair<_U1, _U2>&&)): Likewise.
5837         (operator=(const pair&)): Make conditionally deleted.
5838         (operator=(pair&&)): Make conditionally suppressed.
5839         (operator=(const pair<_U1, _U2>&)): Constrain.
5840         (operator=(pair<_U1, _U2>&&): Likewise.
5841         * include/std/type_traits (__nonesuch): New.
5842         * testsuite/20_util/pair/traits.cc: New.
5844 2016-09-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
5846         PR libstdc++/77619
5847         * include/bits/stl_construct.h: (_Construct_novalue): New.
5848         (_Destroy_n_aux, _Destroy_n): New.
5849         * include/bits/stl_uninitialized.h: (type_traits):
5850         New include in C++11 mode.
5851         (__uninitialized_default_novalue_1): New.
5852         (__uninitialized_default_novalue_n_1): Likewise.
5853         (__uninitialized_default_novalue): Likewise.
5854         (__uninitialized_default_novalue_n): Likewise.
5855         (__uninitialized_copy_n_pair): Likewise.
5856         (uninitialized_default_construct):
5857         Use __uninitialized_default_novalue.
5858         (uninitialized_default_construct_n):
5859         Use __uninitialized_default_novalue_n.
5860         (uninitialized_value_construct): Use __uninitialized_default.
5861         (uninitialized_value_construct_n): Use __uninitialized_default_n.
5862         (uninitialized_move): Use uninitialized_copy.
5863         (uninitialized_move_n): Use __uninitialized_copy_n_pair.
5864         (destroy_at): Use _Destroy.
5865         (destroy): Likewise.
5866         (destroy_n): Likewise.
5867         * testsuite/20_util/specialized_algorithms/
5868         memory_management_tools/1.cc: Add tests for exceptions,
5869         add tests for trivial cases for construct and move.
5871 2016-09-20  Jonathan Wakely  <jwakely@redhat.com>
5873         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
5874         (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
5876 2016-09-19  Jonathan Wakely  <jwakely@redhat.com>
5878         PR libstdc++/77645
5879         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
5880         (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
5881         division to int to work with Python 3.
5883         * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
5885         * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
5886         display_hint to be set by subclasses.
5887         (StdVariantPrinter): Use array for display_hint. Adjust output to be
5888         more similar to std::any and std::optional output.
5889         (register_type_printers): Add type printers for basic_string_view
5890         typedefs and experimental::any. Adjust type printers for
5891         fundamentals_v1 templates to match fundamentals_v2 and later.
5892         * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
5894         PR libstdc++/77645
5895         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
5896         argument.
5897         (ListWorkerBase.get_value_from_node): Define new method.
5898         (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
5900 2016-09-17  Jonathan Wakely  <jwakely@redhat.com>
5902         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
5903         (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
5904         Register for C++17 components in namespace std. Strip inline namespace
5905         from typename.
5907 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5909         * doc/xml/manual/profile_mode.xml: Fix typo.
5910         * doc/html/manual/profile_mode_devel.html: Regenerate.
5912 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5913             Marc Glisse  <marc.glisse@inria.fr>
5915         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
5916         (operator new(size_t, align_val_t)): Replace modulus operator with
5917         mask.
5919 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5921         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
5922         Increase alignment if less than sizeof(void*).
5923         [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
5924         Increase size if not a multiple of alignment.
5926 2016-09-15  Jonathan Wakely  <jwakely@redhat.com>
5928         * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
5929         * doc/html/*: Regenerate.
5931         * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
5932         -Wno-deprecated.
5933         * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
5935 2016-09-14  Marek Polacek  <polacek@redhat.com>
5937         * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
5938         -Wno-deprecated.
5940 2016-09-14  Christophe Lyon  <christophe.lyon@linaro.org>
5942         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
5943         Move dg-do directive before dg-skip.
5944         * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
5945         Move dg-do directive before dg-require.
5946         * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
5947         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
5948         * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
5949         * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
5950         * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
5951         * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
5952         * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
5953         * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
5954         * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
5955         * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
5956         * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
5957         * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
5958         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
5959         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
5960         * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
5961         Likewise.
5962         * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
5963         * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
5964         * testsuite/27_io/objects/char/12048-5.cc: Likewise.
5965         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
5966         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
5968 2016-09-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
5970         Implement P0040R3, Extending memory management tools.
5971         * include/bits/stl_uninitialized.h (utility): New include
5972         in C++17 mode.
5973         (uninitialized_default_construct): New.
5974         (uninitialized_default_construct_n): Likewise.
5975         (uninitialized_value_construct): Likewise.
5976         (uninitialized_value_construct_n): Likewise.
5977         (uninitialized_move): Likewise.
5978         (uninitialized_move_n): Likewise.
5979         (destroy_at, destroy, destroy_n): Likewise.
5980         * testsuite/20_util/specialized_algorithms/memory_management_tools/
5981         1.cc: New.
5983 2016-09-12  Jason Merrill  <jason@redhat.com>
5985         * config/abi/pre/gnu.ver: Use [jmy] for size_t.
5987 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
5989         Implement P0253R1, Fixing a design mistake in the searchers
5990         interface in Library Fundamentals.
5991         * include/std/functional: (utility): New include in C++17 mode.
5992         (default_searcher): Use a pair as return type, adjust the definition.
5993         (boyer_moore_searcher): Likewise.
5994         (boyer_moore_horspool_searcher): Likewise.
5995         * testsuite/20_util/function_objects/searchers.cc: Adjust.
5997 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
5999         Implement C++17 string searchers.
6000         * include/std/functional: (unordered_map, vector): New includes
6001         in C++17 mode.
6002         (array, bits/stl_algo.h): Likewise.
6003         (default_searcher, __boyer_moore_map_base): New.
6004         (__boyer_moore_array_base, __is_std_equal_to): Likewise.
6005         (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
6006         (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
6007         (make_boyer_moore_searcher): Likewise.
6008         (make_boyer_moore_horspool_searcher): Likewise.
6009         * testsuite/20_util/function_objects/searchers.cc: New.
6011 2016-09-12  Matthew Wahab  <matthew.wahab@arm.com>
6013         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
6014         Move dg-do directive before dg-require.
6015         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
6016         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
6017         Likewise.
6018         * testsuite/22_locale/codecvt/utf8.cc: Likewise.
6019         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
6020         * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
6021         * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
6022         * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
6023         * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
6024         * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
6025         * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
6026         * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
6027         * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
6028         * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
6029         * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
6030         * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
6031         Likewise.
6032         * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
6033         Likewise.
6034         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
6035         * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
6036         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
6037         Likewise.
6038         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
6039         Likewise.
6040         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
6041         Likewise.
6042         * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
6043         Likewise.
6044         * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
6045         Likewise.
6046         * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
6047         Likewise.
6048         * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
6049         Likewise.
6050         * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
6051         Likewise.
6052         * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
6053         Likewise.
6054         * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
6055         Likewise.
6056         * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
6057         Likewise.
6058         * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
6059         Likewise.
6060         * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
6061         Likewise.
6062         * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
6063         Likewise.
6064         * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
6065         Likewise.
6066         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
6067         Likewise.
6068         * testsuite/23_containers/forward_list/debug/
6069         iterator_self_move_assign_neg.cc: Likewise.
6070         * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
6071         Likewise.
6072         * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
6073         Likewise.
6074         * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
6075         Likewise.
6076         * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
6077         Likewise.
6078         * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
6079         Likewise.
6080         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
6081         Likewise.
6082         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
6083         Likewise.
6084         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
6085         Likewise.
6086         * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
6087         * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
6088         * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
6089         * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
6090         * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
6091         * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
6092         * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
6093         * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
6094         * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
6095         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
6096         * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
6097         Likewise.
6098         * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
6099         * testsuite/23_containers/map/debug/60499.cc: Likewise.
6100         * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
6101         * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
6102         * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
6103         * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
6104         * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
6105         * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
6106         * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
6107         Likewise.
6108         * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
6109         * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
6110         * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
6111         * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
6112         * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
6113         * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
6114         * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
6115         * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
6116         * testsuite/23_containers/multimap/debug/
6117         iterator_self_move_assign_neg.cc: Likewise.
6118         * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
6119         Likewise.
6120         * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
6121         * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
6122         * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
6123         * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
6124         * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
6125         * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
6126         * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
6127         * testsuite/23_containers/multiset/debug/
6128         iterator_self_move_assign_neg.cc: Likewise.
6129         * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
6130         Likewise.
6131         * testsuite/23_containers/set/debug/60499.cc: Likewise.
6132         * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
6133         * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
6134         * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
6135         * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
6136         * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
6137         * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
6138         * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
6139         Likewise.
6140         * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
6141         * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
6142         * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
6143         * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
6144         * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
6145         Likewise.
6146         * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
6147         * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
6148         * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
6149         Likewise.
6150         * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
6151         Likewise.
6152         * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
6153         Likewise.
6154         * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
6155         * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
6156         * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
6157         * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
6158         * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
6159         * testsuite/23_containers/unordered_map/debug/
6160         invalid_local_iterator_compare_neg.cc: Likewise.
6161         * testsuite/23_containers/unordered_map/debug/
6162         invalid_local_iterator_range_neg.cc: Likewise.
6163         * testsuite/23_containers/unordered_map/debug/
6164         iterator_self_move_assign_neg.cc: Likewise.
6165         * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
6166         Likewise.
6167         * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
6168         Likewise.
6169         * testsuite/23_containers/unordered_map/debug/
6170         use_erased_local_iterator_neg.cc: Likewise.
6171         * testsuite/23_containers/unordered_map/debug/
6172         use_invalid_iterator_neg.cc: Likewise.
6173         * testsuite/23_containers/unordered_map/debug/
6174         use_invalid_local_iterator_neg.cc: Likewise.
6175         * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
6176         * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
6177         Likewise.
6178         * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
6179         Likewise.
6180         * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
6181         Likewise.
6182         * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
6183         Likewise.
6184         * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
6185         Likewise.
6186         * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
6187         Likewise.
6188         * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
6189         Likewise.
6190         * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
6191         Likewise.
6192         * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
6193         Likewise.
6194         * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
6195         Likewise.
6196         * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
6197         Likewise.
6198         * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
6199         Likewise.
6200         * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
6201         Likewise.
6202         * testsuite/23_containers/unordered_multimap/debug/
6203         invalid_local_iterator_compare_neg.cc: Likewise.
6204         * testsuite/23_containers/unordered_multimap/debug/
6205         invalid_local_iterator_range_neg.cc: Likewise.
6206         * testsuite/23_containers/unordered_multimap/debug/
6207         iterator_self_move_assign_neg.cc: Likewise.
6208         * testsuite/23_containers/unordered_multimap/debug/
6209         max_load_factor_neg.cc: Likewise.
6210         * testsuite/23_containers/unordered_multimap/debug/
6211         self_move_assign_neg.cc: Likewise.
6212         * testsuite/23_containers/unordered_multimap/debug/
6213         use_erased_local_iterator_neg.cc: Likewise.
6214         * testsuite/23_containers/unordered_multimap/debug/
6215         use_invalid_iterator_neg.cc: Likewise.
6216         * testsuite/23_containers/unordered_multimap/debug/
6217         use_invalid_local_iterator_neg.cc: Likewise.
6218         * testsuite/23_containers/unordered_multiset/debug/60499.cc:
6219         Likewise.
6220         * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
6221         Likewise.
6222         * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
6223         Likewise.
6224         * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
6225         Likewise.
6226         * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
6227         Likewise.
6228         * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
6229         Likewise.
6230         * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
6231         Likewise.
6232         * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
6233         Likewise.
6234         * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
6235         Likewise.
6236         * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
6237         Likewise.
6238         * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
6239         Likewise.
6240         * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
6241         Likewise.
6242         * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
6243         Likewise.
6244         * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
6245         Likewise.
6246         * testsuite/23_containers/unordered_multiset/debug/
6247         invalid_local_iterator_compare_neg.cc: Likewise.
6248         * testsuite/23_containers/unordered_multiset/debug/
6249         invalid_local_iterator_range_neg.cc: Likewise.
6250         * testsuite/23_containers/unordered_multiset/debug/
6251         iterator_self_move_assign_neg.cc: Likewise.
6252         * testsuite/23_containers/unordered_multiset/debug/
6253         max_load_factor_neg.cc: Likewise.
6254         * testsuite/23_containers/unordered_multiset/debug/
6255         self_move_assign_neg.cc: Likewise.
6256         * testsuite/23_containers/unordered_multiset/debug/
6257         use_erased_local_iterator_neg.cc: Likewise.
6258         * testsuite/23_containers/unordered_multiset/debug/
6259         use_invalid_iterator_neg.cc: Likewise.
6260         * testsuite/23_containers/unordered_multiset/debug/
6261         use_invalid_local_iterator_neg.cc: Likewise.
6262         *  testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
6263         * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
6264         * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
6265         * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
6266         Likewise.
6267         * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
6268         * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
6269         * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
6270         Likewise.
6271         * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
6272         Likewise.
6273         * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
6274         Likewise.
6275         * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
6276         * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
6277         * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
6278         * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
6279         * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
6280         * testsuite/23_containers/unordered_set/debug/
6281         invalid_local_iterator_compare_neg.cc: Likewise.
6282         * testsuite/23_containers/unordered_set/debug/
6283         invalid_local_iterator_range_neg.cc: Likewise.
6284         * testsuite/23_containers/unordered_set/debug/
6285         iterator_self_move_assign_neg.cc: Likewise.
6286         * testsuite/23_containers/unordered_set/debug/
6287         max_load_factor_neg.cc: Likewise.
6288         * testsuite/23_containers/unordered_set/debug/
6289         self_move_assign_neg.cc: Likewise.
6290         * testsuite/23_containers/unordered_set/debug/
6291         use_erased_local_iterator_neg.cc: Likewise.
6292         * testsuite/23_containers/unordered_set/debug/
6293         use_invalid_iterator_neg.cc: Likewise.
6294         * testsuite/23_containers/unordered_set/debug/
6295         use_invalid_local_iterator_neg.cc: Likewise.
6296         * testsuite/23_containers/vector/debug/52433.cc: Likewise.
6297         * testsuite/23_containers/vector/debug/60499.cc: Likewise.
6298         * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
6299         * testsuite/23_containers/vector/debug/
6300         iterator_self_move_assign_neg.cc: Likewise.
6301         * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
6302         Likewise.
6303         * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
6304         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
6305         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
6306         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
6307         * testsuite/29_atomics/atomic/60658.cc: Likewise.
6308         * testsuite/29_atomics/atomic/60695.cc: Likewise.
6309         * testsuite/29_atomics/atomic/62259.cc: Likewise.
6310         * testsuite/29_atomics/atomic/64658.cc: Likewise.
6311         * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
6312         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
6313         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
6314         Likewise.
6316 2016-09-11  Jonathan Wakely  <jwakely@redhat.com>
6318         * libsupc++/new_opant.cc: Include exception_defines.h.
6319         * libsupc++/new_opvant.cc: Likewise.
6321 2016-09-09  Jason Merrill  <jason@redhat.com>
6323         Implement P0035R4, C++17 new of over-aligned types.
6324         * libsupc++/new: Declare aligned new/delete operators.
6325         * config/abi/pre/gnu.ver: Export them.
6326         * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
6327         _aligned_malloc.
6328         * libsupc++/new_opa.cc: New.
6329         * libsupc++/new_opant.cc: New.
6330         * libsupc++/new_opva.cc: New.
6331         * libsupc++/new_opva.cc: New.
6332         * libsupc++/del_opa.cc: New.
6333         * libsupc++/del_opant.cc: New.
6334         * libsupc++/del_opsa.cc: New.
6335         * libsupc++/del_opva.cc: New.
6336         * libsupc++/del_opvant.cc: New.
6337         * libsupc++/del_opvsa.cc: New.
6338         * libsupc++/Makefile.am: Build them.
6340 2016-09-05  Tim Shen  <timshen@google.com>
6342         * include/std/variant: include bits/move.h for std::addressof.
6344 2016-09-05  Mikhail Strelnikov  <mikhail.strelnikov@gmail.com>
6346         * include/std/variant (_Variant_storage::_M_storage()): Use
6347         std::addressof instead of operator& to take address.
6349 2016-09-02  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
6351         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
6352         setrlimit on both native and cross targets.
6353         * configure: Regenerate.
6355 2016-08-31  Jonathan Wakely  <jwakely@redhat.com>
6357         * include/bits/shared_ptr.h (_Assignable): New alias template.
6358         (shared_ptr::operator=(const shared_ptr<_Tp1>&))
6359         (shared_ptr::operator=(shared_ptr<_Tp1>&&))
6360         (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6361         _Assignable.
6362         * include/bits/shared_ptr_base.h (_Assignable): New alias template.
6363         (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
6364         (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
6365         (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6366         _Assignable.
6367         (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
6368         (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
6369         _Convertible.
6370         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
6371         match on any line.
6372         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
6373         * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
6374         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
6375         expected errors. Remove unnecessary code.
6376         * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
6378         * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
6379         comparison object.
6380         * testsuite/23_containers/set/move_comparison.cc: New test.
6382         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
6383         New test.
6385 2016-08-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
6387         PR libstdc++/77395
6388         * include/std/type_traits (is_constructible): Forward-declare...
6389         (__is_base_to_derived_ref): ...and use here.
6390         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
6391         * testsuite/20_util/is_constructible/77395.cc: New.
6392         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
6393         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
6394         Likewise.
6395         * testsuite/20_util/tuple/77395.cc: New.
6397 2016-08-30  Uros Bizjak  <ubizjak@gmail.com>
6399         * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
6400         directive above dg-require-namedlocale directive.
6401         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
6402         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
6403         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
6404         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
6405         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
6407 2016-08-27  Tim Shen  <timshen@google.com>
6409         PR libstdc++/77356
6410         * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
6411         _M_expression_term): Modify to support dash literal.
6412         * include/bits/regex_scanner.h: Add dash as a token type to make
6413         a different from the mandated dash literal by escaping.
6414         * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
6415         token in bracket expression parsing.
6416         * testsuite/28_regex/regression.cc: Add new testcases.
6418 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6420         PR libstdc++/51960
6421         * doc/xml/manual/intro.xml: Document DR 2127 change.
6422         * doc/html/*: Regenerate.
6423         * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
6424         (operator++(), operator++(int)): Use injected class name.
6425         * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
6427         * testsuite/*: Use { target c++11 } or { target c++14 } instead of
6428         using -std in dg-options.
6430 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6431             Pedro Alves  <palves@redhat.com>
6433         * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
6434         and restore dg-interpreter-batch-mode.
6435         * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
6436         gdb-dg-runtest instead of dg-runtest.
6437         * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
6439 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6441         * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
6442         precise patterns for basic_string constructors.
6443         (GLIBCXX_3.4.23): Export new constructors.
6444         * doc/xml/manual/intro.xml: Document LWG 2583 status.
6445         * doc/html/*: Regenerate.
6446         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
6447         (basic_string(const basic_string&, size_type, const Alloc&)): Add
6448         new constructor for LWG 2583.
6449         (basic_string(const basic_string&, size_type, size_type)): Remove
6450         default argument.
6451         [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
6452         * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
6453         * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
6454         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
6456 2016-08-24  Aditya Kumar  <hiraditya@msn.com>
6458         * include/bits/algorithmfwd.h: Remove trailing whitespace.
6459         * include/bits/shared_ptr_base.h: Likewise.
6461 2016-08-23  Jonathan Wakely  <jwakely@redhat.com>
6463         * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
6464         * include/profile/array (array): Likewise.
6465         (array::swap): Fix exception specification for zero-sized arrays.
6467         PR libstdc++/77334
6468         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
6469         (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
6470         * testsuite/23_containers/map/77334.cc: New test.
6472         * doc/xml/manual/using.xml: Remove reference to -pthreads option.
6473         * doc/html/*: Regenerate.
6475         * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
6476         * testsuite/experimental/feat-lib-fund.cc: Likewise.
6478         PR libstdc++/71771
6479         * include/bits/stl_iterator.h
6480         (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
6481         define for C++98 mode.
6482         (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
6483         * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
6484         -std=gnu++98.
6485         * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
6486         * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
6487         * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
6488         * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
6489         difference operator.
6490         * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
6491         difference operator for C++98.
6492         * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
6494         * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
6495         * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
6496         (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
6497         * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
6498         (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
6499         Likewise.
6500         * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
6501         _GLIBCXX14_CONSTEXPR.
6502         (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
6503         * include/std/array (array::begin, array::end, array::rbegin)
6504         (array::rend, array::cbegin, array:cend, array::crbegin)
6505         (array::crend, array::operator[], array::at, array::front)
6506         (array::back, array::data): Likewise.
6507         * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
6508         with separate tests for C++11, C++14, and C++17.
6509         * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
6510         * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
6511         * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
6513 2016-08-22  Tim Shen  <timshen@google.com>
6515         Split _M_dfs() into smaller functions.
6516         * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
6517         (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
6518         (_M_handle_line_end_assertion, _M_handle_word_boundary)
6519         (_M_handle_subexpr_lookahead, _M_handle_match)
6520         (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
6521         Add separate function declarations.
6522         * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
6524 2016-08-22  Gleb Natapov  <gleb@scylladb.com>
6526         PR libstdc++/68297
6527         * config/abi/pre/gnu-versioned-namespace.ver: Export
6528         __cxa_init_primary_exception and std::exception_ptr(void*).
6529         * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
6530         export __cxa_init_primary_exception and std::exception_ptr(void*).
6531         * include/Makefile.am: Add new headers.
6532         * include/Makefile.in: Regenerate.
6533         * libsupc++/Makefile.am: Add new headers.
6534         * libsupc++/Makefile.in: Regenerate.
6535         * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
6536         * libsupc++/cxxabi_init_exception.h: New header.
6537         (__cxa_init_primary_exception): Declare.
6538         * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
6539         (__cxa_throw): Use __cxa_init_primary_exception.
6540         * libsupc++/exception (std::exception): Move to ...
6541         * libsupc++/exception.h: New header.
6542         * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
6543         friend declaration.
6544         (__exception_ptr::__dest_thunk): New function template.
6545         (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
6546         Use __cxa_allocate_exception and __cxa_init_primary_exception to
6547         create exception_ptr.
6548         * libsupc++/typeinfo: Include bits/exception.h instead of exception.
6549         * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
6551 2016-08-22  Jonathan Wakely  <jwakely@redhat.com>
6553         * doc/xml/api.xml: Replace hardcoded links for specific versions with
6554         link to docs for all releases.
6555         * doc/html/*: Regenerate.
6557         PR libstdc++/77322
6558         * doc/xml/manual/intro.xml: Document DR 2062 change.
6559         * include/std/functional (function::swap): Add noexcept.
6560         (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
6561         * testsuite/20_util/function/77322.cc: New test.
6563 2016-08-19  Jonathan Wakely  <jwakely@redhat.com>
6565         * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
6566         *-*-solaris* instead of -pthreads.
6567         * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
6568         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
6569         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
6570         * testsuite/23_containers/list/pthread1.cc: Likewise.
6571         * testsuite/23_containers/list/pthread5.cc: Likewise.
6572         * testsuite/23_containers/map/pthread6.cc: Likewise.
6573         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
6574         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
6575         * testsuite/30_threads/shared_mutex/*: Likewise.
6576         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
6577         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6578         default_weaktoshared.cc: Likewise.
6579         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6580         mutex_weaktoshared.cc: Likewise.
6581         * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
6582         dg-require-effective-target instead of using -std option.
6583         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
6584         Likewise.
6585         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
6586         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
6587         Likewise.
6588         * testsuite/30_threads/async/*: Likewise.
6589         * testsuite/30_threads/call_once/*: Likewise.
6590         * testsuite/30_threads/condition_variable/*: Likewise.
6591         * testsuite/30_threads/condition_variable_any/*: Likewise.
6592         * testsuite/30_threads/future/*: Likewise.
6593         * testsuite/30_threads/lock/*: Likewise.
6594         * testsuite/30_threads/mutex/*: Likewise.
6595         * testsuite/30_threads/packaged_task/*: Likewise.
6596         * testsuite/30_threads/promise/*: Likewise.
6597         * testsuite/30_threads/recursive_mutex/*: Likewise.
6598         * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
6599         * testsuite/30_threads/shared_future/*: Likewise.
6600         * testsuite/30_threads/shared_lock/*: Likewise.
6601         * testsuite/30_threads/shared_timed_mutex/*: Likewise.
6602         * testsuite/30_threads/this_thread/*: Likewise.
6603         * testsuite/30_threads/thread/*: Likewise.
6604         * testsuite/30_threads/timed_mutex/*: Likewise.
6605         * testsuite/30_threads/try_lock/*: Likewise.
6606         * testsuite/30_threads/unique_lock/*: Likewise.
6608         * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
6609         * doc/html/*: Regenerate.
6610         * include/experimental/functional (_Not_fn, not_fn): Match C++17
6611         semantics.
6612         * include/std/functional (_Not_fn, not_fn): Define for C++17.
6613         * testsuite/20_util/not_fn/1.cc: New.
6614         * testsuite/experimental/functional/not_fn.cc: Test abstract class.
6615         Remove test for volatile-qualified wrapper.
6617         * include/std/atomic (atomic::is_always_lock_free): Define.
6618         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
6619         * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
6620         * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
6621         * doc/xml/manual/status_cxx2017.xml: Update status.
6622         * doc/html/*: Regenerate.
6624         * include/experimental/tuple (apply): Qualify call to __apply_impl.
6625         * include/std/tuple (apply): Likewise.
6626         * testsuite/experimental/system_error/value.cc: Fix ambiguities in
6627         C++17 mode.
6628         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
6629         * testsuite/experimental/type_traits/value.cc: Likewise.
6631         * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
6632         and variant.
6633         * doc/html/*: Regenerate.
6635 2016-08-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
6637         Implement the latest proposed resolution of LWG 2756.
6638         * include/std/optional (Optional_base(const _Tp&))
6639         (Optional_base(_Tp&&), using _Base::_Base): Remove.
6640         (optional(nullopt_t)): New.
6641         (optional(_Up&&)): Invoke base directly with in_place
6642         rather than creating a temporary, add default template
6643         argument, change constraints.
6644         (optional(const optional<_Up>&)): Invoke base directly
6645         with in_place, remove unnecessary constraints.
6646         (optional(optional<_Up>&& __t)): Likewise.
6647         (optional(in_place_t, _Args&&...)): New.
6648         (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
6649         (operator=(_Up&&)): Add default template argument, change constraints.
6650         (operator=(const optional<_Up>&)): Put is_same first in the
6651         constraints.
6652         (operator=(optional<_Up>&&)): Likewise.
6653         * testsuite/20_util/optional/assignment/5.cc: Add a test to
6654         verify assignment from something that can't be perfect-forwarded.
6655         * testsuite/20_util/optional/cons/value.cc: Add tests to verify
6656         that a nested optional is disengaged when constructed
6657         from a disengaged element type, and to verify that assignments
6658         from an engaged element type engage the optional.
6660 2016-08-18  Tim Shen  <timshen@google.com>
6662         Implement <variant>
6664         * include/Makefile.am: Add new file std/variant.
6665         * include/Makefile.in: Generated from Makefile.am.
6666         * include/bits/enable_special_members.h: Add a tag type to allow
6667         the construction in non-default constructor.
6668         * include/bits/uses_allocator.h: Add convenience traits to
6669         detect constructibility.
6670         * include/std/variant: Implement <variant>.
6671         * testsuite/20_util/variant/compile.cc: Compile-time tests.
6672         * testsuite/20_util/variant/run.cc: Runtime tests.
6674 2016-08-18  Jonathan Wakely  <jwakely@redhat.com>
6676         * doc/xml/manual/test.xml (test.run.permutations): Expand section.
6677         (test.new_tests): Rewrite section.
6678         (tests.dg.directives): New section.
6679         * doc/html/*: Regenerate.
6681         * doc/xml/manual/test.xml: Improve documentation of test targets.
6682         Document new-abi-baseline, check-debug, and check-parallel targets.
6684         * doc/xml/manual/build_hacking.xml: New section on shared library
6685         versioning.
6687         * doc/xml/manual/build_hacking.xml: Improve markup.
6688         * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
6689         to "Testing".
6690         * doc/xml/faq.xml: Change link text to "Testing".
6692         * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
6693         dg-options directive.
6695 2016-08-17  Jonathan Wakely  <jwakely@redhat.com>
6697         * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
6698         directive and use effective target instead of dg-options.
6700         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
6701         instead of -std in dg-options.
6702         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
6703         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
6704         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
6705         * testsuite/20_util/hash/quality.cc: Likewise.
6706         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
6707         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
6708         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
6709         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
6710         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
6711         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
6713         * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
6714         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
6715         * testsuite/27_io/rvalue_streams.cc: Likewise.
6717         * testsuite/26_numerics/complex/literals/types.cc: Add comment.
6719         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
6720         Remove duplicate dg-options directive.
6722         * testsuite/ext/profile/all.cc: Use effective target instead of
6723         -std=gnu++11. Use dg-additional-options instead of repeating options.
6725         * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
6726         -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
6727         instead of dg-excess-errors.
6729         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
6730         test for C++17.
6731         * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
6732         * testsuite/experimental/ratio/value.cc: Likewise.
6733         * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
6734         C++17.
6735         * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
6736         * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
6737         * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
6738         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
6739         * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
6740         * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
6741         * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
6742         * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
6743         * testsuite/tr1/5_numerical_facilities/special_functions/
6744         10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
6745         C++17 compatibility.
6747         * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
6748         expected signatures for C++14 compatibility.
6750         PR libstdc++/77264
6751         * include/bits/basic_string.h (operator=(__sv_type)
6752         (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
6753         (replace(size_type, size_type, __sv_type))
6754         (replace(const_iterator, const_iterator, __sv_type))
6755         (find(__sv_type, size_type), rfind(__sv_type, size_type))
6756         (compare(size_type, size_type, __sv_type)): Reformat.
6757         (_If_sv): Define helper for SFINAE constaints.
6758         (append(const _Tp&, size_type, size_type))
6759         (assign(const _Tp&, size_type, size_type))
6760         (insert(size_type, const _Tp&, size_type, size_type))
6761         (replace(size_type, size_type, const _Tp&, size_type, size_type)):
6762         Use _If_sv.
6763         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
6764         SFINAE constraints.
6765         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
6766         Likewise.
6767         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
6768         Likewise.
6769         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
6770         Likewise.
6771         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
6772         Likewise.
6773         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
6774         Likewise.
6775         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
6776         Likewise.
6777         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
6778         Likewise.
6779         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
6780         Likewise.
6781         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
6782         Likewise.
6783         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
6784         Likewise.
6786 2016-08-16  Jonathan Wakely  <jwakely@redhat.com>
6788         PR libstdc++/72847
6789         * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
6790         pointers to start and end of storage.
6791         * testsuite/23_containers/vector/bool/72847.cc: New test.
6792         * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
6793         _M_finish after deallocating.
6794         (vector<bool>::_M_fill_insert): Likewise.
6795         (vector<bool>::_M_insert_range): Likewise.
6796         (vector<bool>::_M_insert_aux): Likewise.
6798 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
6800         Implement LWG 2744 and LWG 2754.
6801         * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
6802         (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
6803         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
6804         Likewise.
6805         (emplace(_Args&&...)): Likewise.
6806         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
6807         * include/std/utility: (__is_in_place_type_impl): New.
6808         (__is_in_place_type): Likewise.
6809         * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
6810         emplace.
6811         * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
6812         in_place constructor.
6813         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
6814         * testsuite/20_util/any/requirements.cc: Add a test for
6815         in_place-constructing a non-default-constructible type.
6817 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
6819         Add a feature macro for C++17 make_from_tuple.
6820         * include/std/tuple (__cpp_lib_make_from_tuple): New.
6821         (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
6822         Qualify the call to get<>().
6823         * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
6825 2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
6827         * src/filesystem/ops.cc: Always include ostream and
6828         ext/stdio_filebuf.h.
6829         (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
6830         [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
6831         sendfile fails with ENOSYS or EINVAL.
6833 2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
6835         PR libstdc++/72840
6836         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
6837         syntax.
6839 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
6841         Implement C++17 make_from_tuple.
6842         * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
6843         * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
6845 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
6847         Implement LWG 2758.
6848         * include/bits/basic_string.h
6849         (append(__sv_type, size_type, size_type)): Turn into a template,
6850         change parameter type, constrain, add a conversion to __sv_type
6851         from the dependent parameter type.
6852         (assign(__sv_type, size_type, size_type)): Likewise.
6853         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
6854         (replace(size_type, size_type, __sv_type, size_type, size_type)):
6855         Likewise.
6856         (compare(size_type, size_type,__sv_type, size_type, size_type)):
6857         Likewise.
6858         * testsuite/21_strings/basic_string/lwg2758.cc: New.
6860 2016-08-06  Jonathan Wakely  <jwakely@redhat.com>
6862         * doc/xml/manual/status_cxx2017.xml: Update status table.
6863         * doc/html/manual/status.html: Regenerate.
6865         * testsuite/lib/libstdc++.exp: Fix typo in comment.
6867         PR libstdc++/72820
6868         * include/std/functional (_Function_base::_Base_manager::_M_clone):
6869         Qualify new operator.
6870         * testsuite/20_util/function/cons/72820.cc: New test.
6872         * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
6873         * doc/html/manual/status.html: Regenerate.
6874         * include/Makefile.am: Add new header.
6875         * include/Makefile.in: Regenerate.
6876         * include/bits/invoke.h: New header.
6877         (__invoke): Make constexpr. Add && to types in exception specification.
6878         * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
6879         names. Include <bits/invoke.h> and use std::__invoke.
6880         * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
6881         new header.
6882         (invoke): Add && to types in exception specification.
6883         * include/std/tuple (apply, __apply_impl): Define for C++17.
6884         * testsuite/20_util/tuple/apply/1.cc: New test.
6885         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
6886         lineno.
6888 2016-08-05  Jonathan Wakely  <jwakely@redhat.com>
6890         * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
6891         * doc/html/manual/status.html: Regenerate.
6893         * include/std/chrono (floor, ceil, round, abs): New for C++17.
6894         * testsuite/20_util/duration_cast/rounding.cc: New test.
6895         * testsuite/20_util/time_point_cast/rounding.cc: New test.
6896         * doc/xml/manual/status_cxx2017.xml: Update status table.
6897         * doc/html/manual/status.html: Regenerate.
6898         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
6899         dg-error lineno.
6900         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
6901         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
6902         * testsuite/20_util/duration/literals/range.cc: Likewise.
6904         * include/std/functional (__callable_functor): Remove.
6905         (_Function_handler::_M_invoke): Use __invoke instead of
6906         __callable_functor or mem_fn.
6907         (function::_Callable): Use lvalue in result_of expression.
6908         (function): Remove TODO comments about allocators.
6909         * testsuite/20_util/function/cons/refqual.cc: New test.
6911 2016-08-04  Jonathan Wakely  <jwakely@redhat.com>
6913         * doc/xml/manual/status_cxx2017.xml: Update status table.
6914         * include/std/functional (__inv_unwrap): Move to <type_traits>.
6915         (__invoke_impl): Remove exception specifications.
6916         (__invoke, invoke): Add exception specifications using
6917         __is_nothrow_callable.
6918         * include/std/type_traits (__inv_unwrap): Move from <functional>.
6919         (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
6920         (__is_callable, __is_nothrow_callable): New traits.
6921         (is_callable, is_callable_v): New C++17 traits.
6922         (is_nothrow_callable, is_nothrow_callable_v): Likewise.
6923         * testsuite/20_util/is_callable/requirements/
6924         explicit_instantiation.cc: New test.
6925         * testsuite/20_util/is_callable/requirements/
6926         explicit_instantiation_ext.cc: New test.
6927         * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
6928         * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
6929         test.
6930         * testsuite/20_util/is_callable/value.cc: New test.
6931         * testsuite/20_util/is_callable/value_ext.cc: New test.
6932         * testsuite/20_util/is_nothrow_callable/requirements/
6933         explicit_instantiation.cc: New test.
6934         * testsuite/20_util/is_nothrow_callable/requirements/
6935         explicit_instantiation_ext.cc: New test.
6936         * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
6937         New test.
6938         * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
6939         New test.
6940         * testsuite/20_util/is_nothrow_callable/value.cc: New test.
6941         * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
6943         * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
6944         * doc/html/manual/status.html: Regenerate.
6946         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
6947         effective target not dg-options. Move check for feature-test macro to:
6948         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
6949         New test.
6951         * include/std/functional (_Unwrap): Rename to __inv_unwrap.
6952         (__invfwd): Adjust.
6953         (__invoke_impl): Remove unused template parameters.
6954         * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
6955         parameter.
6956         * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
6957         and test __invoke extension for C++11.
6959 2016-08-03  Jonathan Wakely  <jwakely@redhat.com>
6961         * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
6962         Define feature-test macro.
6963         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
6964         for the macro.
6966         * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
6967         * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
6968         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
6969         * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
6970         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
6972         * include/std/utility (as_const): Define.
6973         * testsuite/20_util/as_const/1.cc: New test.
6974         * testsuite/20_util/as_const/rvalue_neg.cc: New test.
6976         * include/bits/shared_ptr.h (owner_less): Add default template
6977         argument.
6978         * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
6979         specialization.
6980         (owner_less<void>): Define specialization.
6981         * include/bits/stl_function.h (__cpp_lib_transparent_operators):
6982         Update value.
6983         * testsuite/20_util/owner_less/void.cc: New test.
6984         * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
6986         * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
6987         Define feature-test macro.
6988         * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
6989         * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
6990         * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
6991         (__cpp_lib_type_trait_variable_templates): Define.
6993         * include/bits/stl_function.h: Remove commented-out macro.
6994         * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
6995         Define feature-test macro.
6996         * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
6998         * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
6999         C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
7000         true.
7001         * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
7002         do #error for C++17.
7003         * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
7004         of __STDCPP_WANT_MATH_SPEC_FUNCS__.
7005         * include/tr1/bessel_function.tcc: Likewise.
7006         * include/tr1/beta_function.tcc: Likewise.
7007         * include/tr1/cmath: Likewise.
7008         * include/tr1/ell_integral.tcc: Likewise.
7009         * include/tr1/exp_integral.tcc: Likewise.
7010         * include/tr1/gamma.tcc: Likewise.
7011         * include/tr1/hypergeometric.tcc: Likewise.
7012         * include/tr1/legendre_function.tcc: Likewise.
7013         * include/tr1/modified_bessel_func.tcc: Likewise.
7014         * include/tr1/poly_hermite.tcc: Likewise.
7015         * include/tr1/poly_laguerre.tcc: Likewise.
7016         * include/tr1/riemann_zeta.tcc: Likewise.
7017         * include/tr1/special_function_util.h: Likewise.
7018         * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
7020         * include/std/type_traits (has_trivial_default_constructor): Remove.
7021         (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
7022         * testsuite/20_util/has_trivial_copy_assign/requirements/
7023         explicit_instantiation.cc: Remove test.
7024         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
7025         line number.
7026         * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
7027         Likewise.
7028         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
7029         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7030         explicit_instantiation.cc: Likewise.
7031         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7032         typedefs.cc: Likewise.
7033         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
7034         * testsuite/20_util/has_trivial_default_constructor/requirements/
7035         explicit_instantiation.cc: Likewise.
7036         * testsuite/20_util/has_trivial_default_constructor/requirements/
7037         typedefs.cc: Likewise.
7038         * testsuite/20_util/has_trivial_default_constructor/value.cc:
7039         Likewise.
7040         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7041         Check has_trivial_default_constructor, has_trivial_copy_constructor,
7042         and has_trivial_copy_assign are not defined.
7043         * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
7044         tests.
7045         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
7046         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
7047         dg-error line number.
7048         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7049         Likewise.
7051 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7053         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
7054         Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
7055         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
7056         Likewise.
7057         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
7058         Likewise.
7059         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
7060         Likewise.
7061         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
7062         Likewise.
7063         * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
7064         Likewise.
7065         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
7066         Likewise.
7068         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
7069         comments.
7071         * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
7072         dg-error to relevant line.
7073         * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
7074         Likewise.
7075         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
7077         * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
7079         * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
7080         options are present that aren't valid for C.
7081         * testsuite/abi/header_cxxabi.c: Likewise.
7083         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
7084         check_value.cc: Do not add special functions to namespace std in TR1
7085         test.
7087         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
7088         run for C++11 and later.
7089         * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
7090         Likewise.
7091         * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
7092         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
7093         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
7094         * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
7095         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
7096         Likewise.
7097         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
7098         Likewise.
7099         * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
7100         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
7101         Likewise.
7102         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
7103         Likewise.
7104         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
7105         Likewise.
7106         * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
7107         * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
7108         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
7109         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
7110         * testsuite/special_functions/03_beta/compile.cc: Likewise.
7111         * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
7112         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
7113         * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
7114         Likewise.
7115         * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
7116         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
7117         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
7118         * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
7119         Likewise.
7120         * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
7121         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
7122         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
7123         * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
7124         Likewise.
7125         * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
7126         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
7127         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
7128         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
7129         Likewise.
7130         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
7131         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
7132         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
7133         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
7134         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
7135         Likewise.
7136         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
7137         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
7138         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
7139         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
7140         Likewise.
7141         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
7142         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
7143         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
7144         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
7145         * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
7146         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
7147         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
7148         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
7149         * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
7150         * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
7151         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
7152         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
7153         * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
7154         * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
7155         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
7156         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
7157         * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
7158         * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
7159         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
7160         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
7161         * testsuite/special_functions/14_expint/compile.cc: Likewise.
7162         * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
7163         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
7164         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
7165         * testsuite/special_functions/15_hermite/compile.cc: Likewise.
7166         * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
7167         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
7168         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
7169         * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
7170         * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
7171         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
7172         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
7173         * testsuite/special_functions/17_legendre/compile.cc: Likewise.
7174         * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
7175         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
7176         * testsuite/special_functions/18_riemann_zeta/check_value.cc:
7177         Likewise.
7178         * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
7179         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
7180         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
7181         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
7182         * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
7183         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
7184         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
7185         * testsuite/special_functions/20_sph_legendre/check_value.cc:
7186         Likewise.
7187         * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
7188         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
7189         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
7190         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
7191         * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
7192         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
7194         * testsuite/tr1/5_numerical_facilities/special_functions/
7195         08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
7196         of [[gnu::unused]].
7197         * testsuite/tr1/5_numerical_facilities/special_functions/
7198         09_cyl_bessel_j/check_value.cc: Likewise.
7199         * testsuite/tr1/5_numerical_facilities/special_functions/
7200         10_cyl_bessel_k/check_value.cc: Likewise.
7201         * testsuite/tr1/5_numerical_facilities/special_functions/
7202         11_cyl_neumann/check_value.cc: Likewise.
7203         * testsuite/tr1/5_numerical_facilities/special_functions/
7204         21_sph_bessel/check_value.cc: Likewise.
7205         * testsuite/tr1/5_numerical_facilities/special_functions/
7206         23_sph_neumann/check_value.cc: Likewise.
7208 2016-08-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7210         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
7211         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
7212         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
7213         * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
7214         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
7215         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
7217 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7219         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
7220         test if -flto used.
7222         * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
7223         additional flags for compiling libtestc++.a objects.
7225 2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
7227         * include/bits/basic_string.h (data() const): Update comment.
7228         (data()): Add non-const overload for C++17.
7229         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
7230         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
7232         * include/bits/basic_string.tcc: Disable explicit instantiation
7233         declarations for C++17.
7235         * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
7236         ignored "xfail" from { dg-do compile { xfail selector } } directive.
7237         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
7238         Likewise.
7239         * testsuite/26_numerics/headers/cmath/
7240         c99_classification_macros_c++11.cc: Likewise.
7241         * testsuite/26_numerics/headers/cmath/
7242         c99_classification_macros_c++98.cc: Likewise.
7243         * testsuite/26_numerics/headers/cmath/
7244         c99_classification_macros_c.cc: Likewise.
7246         * testsuite/backward/hash_set/check_construct_destroy.cc: Account
7247         for different construct/destroy counts in C++98 mode.
7249         * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
7251         * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
7252         later.
7253         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
7254         Likewise.
7256         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
7257         C++98-compatible initialization for array.
7259         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
7260         unused header and variable from compile-only test.
7261         * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
7262         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
7263         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
7264         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
7265         Likewise.
7267         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
7268         Remove duplicate dg-options directive.
7270         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
7271         808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
7273         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
7274         linker options from compile-only tests.
7275         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7276         Likewise.
7278         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
7279         supported for C++11 and later.
7280         * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
7281         * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
7283 2016-08-01  Uros Bizjak  <ubizjak@gmail.com>
7285         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
7287 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7289         * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
7290         compile-only test.
7292         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7293         Ensure test is compiled with optimization.
7295         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7296         Adjust dg-prune-output pattern for error in C++98 mode.
7298         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
7299         run for C++11 or later.
7301         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
7302         test to not rely on GNU extension (escaped normal characters in POSIX
7303         BRE). Enable tests for other strings which are now supported.
7305         * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
7306         c++11 instead of setting -std=gnu++14.
7308         PR libstdc++/72745
7309         * include/std/array (get): Use positive message for static assertions.
7310         * include/std/functional (_Safe_tuple_element_t): Fix indentation.
7311         * include/std/tuple (tuple_element<I, tuple<>>): Add partial
7312         specialization for invalid indices, with static assertion.
7313         * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
7315         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
7316         dg-error to relevant line.
7317         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7318         Likewise.
7319         * testsuite/23_containers/forward_list/requirements/dr438/
7320         assign_neg.cc: Likewise.
7321         * testsuite/23_containers/forward_list/requirements/dr438/
7322         constructor_1_neg.cc: Likewise.
7323         * testsuite/23_containers/forward_list/requirements/dr438/
7324         constructor_2_neg.cc: Likewise.
7325         * testsuite/23_containers/forward_list/requirements/dr438/
7326         insert_neg.cc: Likewise.
7327         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
7328         Likewise.
7329         * testsuite/26_numerics/random/linear_congruential_engine/
7330         requirements/non_uint_neg.cc: Likewise.
7331         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
7332         Likewise. Also test for std::atomic_address.
7334 2016-07-31  Ville Voutilainen  <ville.voutilainen@gmail.com>
7336         Add missing variable traits, fix testsuite failures.
7337         * include/bits/uses_allocator.h (uses_allocator_v): New.
7338         * include/std/functional (is_bind_expression_v, is_placeholder_v):
7339         Likewise.
7340         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
7341         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
7342         * testsuite/20_util/duration/literals/range.cc: Likewise.
7343         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
7344         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
7345         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
7346         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
7347         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7348         Likewise.
7349         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
7350         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
7351         New.
7353 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7355         * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
7356         not test 128-bit types.
7357         * testsuite/20_util/is_floating_point/value.cc: Likewise.
7358         * testsuite/20_util/is_integral/value.cc: Likewise.
7359         * testsuite/20_util/is_signed/value.cc: Likewise.
7360         * testsuite/20_util/is_unsigned/value.cc: Likewise.
7361         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
7362         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
7363         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
7364         Likewise.
7365         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7366         Likewise.
7368         * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
7370 2016-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
7372         Implement C++17 variable templates for type traits.
7373         * include/std/chrono (treat_as_floating_point_v): New.
7374         * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
7375         (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
7376         (ratio_greater_equal_v): Likewise.
7377         * include/std/system_error (is_error_code_enum_v)
7378         (is_error_condition_enum_v): Likewise.
7379         * include/std/tuple (tuple_size_v): Likewise.
7380         * type_traits (conjunction_v, disjunction_v, negation_v)
7381         (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
7382         (is_array_v, is_pointer_v, is_lvalue_reference_v)
7383         (is_rvalue_reference_v, is_member_object_pointer_v)
7384         (is_member_function_pointer_v, is_enum_v, is_union_v)
7385         (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
7386         (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
7387         (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
7388         (is_trivially_copyable_v, is_standard_layout_v)
7389         (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
7390         (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
7391         (is_constructible_v, is_default_constructible_v)
7392         (is_copy_constructible_v, is_move_constructible_v)
7393         (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
7394         (is_destructible_v, is_trivially_constructible_v)
7395         (is_trivially_default_constructible_v)
7396         (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
7397         (is_trivially_assignable_v, is_trivially_copy_assignable_v)
7398         (is_trivially_move_assignable_v, is_trivially_destructible_v)
7399         (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
7400         (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
7401         (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
7402         (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
7403         (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
7404         (is_same_v, is_base_of_v, is_convertible_v): Likewise.
7405         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
7406         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
7407         Likewise.
7408         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
7409         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
7410         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
7412 2016-07-29  Andreas Schwab  <schwab@linux-m68k.org>
7414         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
7415         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
7416         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
7418 2016-07-29  Jonathan Wakely  <jwakely@redhat.com>
7420         * doc/xml/manual/abi.xml: Document 6.0.22 library version.
7421         * doc/html/manual/abi.html: Regenerate.
7423         * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
7424         * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
7425         symbols.
7426         * configure: Regenerate.
7427         * testsuite/util/testsuite_abi.cc: Add new symbol version.
7429         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
7430         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
7431         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
7432         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
7433         Likewise.
7434         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
7435         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
7436         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
7438 2016-07-28  Jonathan Wakely  <jwakely@redhat.com>
7440         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
7441         Adjust dg-prune-output pattern for error in C++98 mode.
7442         * testsuite/23_containers/deque/requirements/dr438/
7443         constructor_1_neg.cc: Likewise.
7444         * testsuite/23_containers/deque/requirements/dr438/
7445         constructor_2_neg.cc: Likewise.
7446         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
7447         Likewise.
7448         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
7449         Likewise.
7450         * testsuite/23_containers/list/requirements/dr438/
7451         constructor_1_neg.cc: Likewise.
7452         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7453         Likewise.
7454         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
7455         Likewise.
7456         * testsuite/23_containers/vector/requirements/dr438/
7457         constructor_1_neg.cc: Likewise.
7458         * testsuite/23_containers/vector/requirements/dr438/
7459         constructor_2_neg.cc: Likewise.
7460         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
7461         Likewise.
7463         * testsuite/23_containers/vector/check_construct_destroy.cc: Account
7464         for different construct/destroy counts in C++98 mode.
7466         * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
7467         dg-options to dg-additional-options so that default options are used.
7468         * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
7469         Likewise.
7470         * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
7471         * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
7472         Likewise.
7473         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7474         Use dg-additional-options instead of repeating the common options.
7476         * testsuite/22_locale/conversions/string/1.cc: Remove unintended
7477         dg-do compile directive.
7478         * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
7479         dg-do directive.
7480         * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
7482 2016-07-28  Ville Voutilainen  <ville.voutilainen@gmail.com>
7484         Implement std::string_view and P0254r2,
7485         Integrating std::string_view and std::string.
7486         * include/Makefile.am: Add string_view and string_view.tcc
7487         to the exported headers.
7488         * include/Makefile.in: Likewise.
7489         * include/bits/basic_string.h: Include <string_view> in C++17 mode.
7490         (__sv_type): New.
7491         (basic_string(__sv_type, const _Alloc&)): Likewise.
7492         (operator=(__sv_type)): Likewise.
7493         (operator __sv_type()): Likewise.
7494         (operator+=(__sv_type)): Likewise.
7495         (append(__sv_type __sv)): Likewise.
7496         (append(__sv_type, size_type, size_type)): Likewise.
7497         (assign(__sv_type)): Likewise.
7498         (assign(__sv_type, size_type, size_type)): Likewise.
7499         (insert(size_type, __sv_type)): Likewise.
7500         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
7501         (replace(size_type, size_type, __sv_type)): Likewise.
7502         (replace(size_type, size_type, __sv_type, size_type, size_type)):
7503         Likewise.
7504         (replace(const_iterator, const_iterator, __sv_type)): Likewise.
7505         (find(__sv_type, size_type)): Likewise.
7506         (rfind(__sv_type, size_type)): Likewise.
7507         (find_first_of(__sv_type, size_type)): Likewise.
7508         (find_last_of(__sv_type, size_type)): Likewise.
7509         (find_first_not_of(__sv_type, size_type)): Likewise.
7510         (find_last_not_of(__sv_type, size_type)): Likewise.
7511         (compare(__sv_type)): Likewise.
7512         (compare(size_type, size_type, __sv_type)): Likewise.
7513         (compare(size_type, size_type, __sv_type, size_type, size_type)):
7514         Likewise.
7515         * include/bits/string_view.tcc: New.
7516         * include/std/string_view: Likewise.
7517         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
7518         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
7519         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
7520         Likewise.
7521         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
7522         Likewise.
7523         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
7524         Likewise.
7525         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
7526         Likewise.
7527         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
7528         Likewise.
7529         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
7530         Likewise.
7531         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7532         Likewise.
7533         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
7534         Likewise.
7535         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
7536         Likewise.
7537         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
7538         Likewise.
7539         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
7540         Likewise.
7541         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
7542         Likewise.
7543         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
7544         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
7545         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
7546         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
7547         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
7548         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
7549         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
7550         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
7551         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
7552         * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
7553         Likewise.
7554         * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
7555         Likewise.
7556         * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
7557         Likewise.
7558         * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
7559         Likewise.
7560         * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
7561         Likewise.
7562         * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
7563         Likewise.
7564         * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
7565         Likewise.
7566         * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
7567         Likewise.
7568         * testsuite/21_strings/basic_string_view/include.cc: Likewise.
7569         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
7570         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
7571         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
7572         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
7573         Likewise.
7574         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
7575         Likewise.
7576         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
7577         Likewise.
7578         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
7579         Likewise.
7580         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
7581         Likewise.
7582         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
7583         Likewise.
7584         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
7585         Likewise.
7586         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
7587         Likewise.
7588         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
7589         Likewise.
7590         * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
7591         Likewise.
7592         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
7593         Likewise.
7594         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
7595         Likewise.
7596         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
7597         Likewise.
7598         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
7599         Likewise.
7600         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
7601         Likewise.
7602         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
7603         Likewise.
7604         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
7605         Likewise.
7606         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
7607         Likewise.
7608         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
7609         Likewise.
7610         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
7611         Likewise.
7612         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
7613         Likewise.
7614         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
7615         Likewise.
7616         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
7617         Likewise.
7618         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
7619         Likewise.
7620         * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
7621         Likewise.
7622         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
7623         Likewise.
7624         * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
7625         Likewise.
7626         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
7627         Likewise.
7628         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
7629         Likewise.
7630         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
7631         Likewise.
7632         * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
7633         Likewise.
7634         * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
7635         Likewise.
7636         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
7637         Likewise.
7638         * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
7639         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
7640         Likewise.
7641         * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
7642         Likewise.
7643         * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
7644         Likewise.
7645         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
7646         Likewise.
7647         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
7648         Likewise.
7649         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
7650         Likewise.
7651         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
7652         Likewise.
7653         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
7654         Likewise.
7655         * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
7656         Likewise.
7657         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
7658         * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
7660 2016-07-27  Jonathan Wakely  <jwakely@redhat.com>
7662         * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
7664 2016-07-25  Georeth Chow  <georeth2010@gmail.com>
7666         * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
7667         _S_concat enumerator.
7668         * testsuite/ext/rope/6.cc: New test.
7670 2016-07-25  Jonathan Wakely  <jwakely@redhat.com>
7672         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
7673         std::mt19937, std::thread and std::atomic to simplify test.
7674         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
7676 2016-07-22  Jonathan Wakely  <jwakely@redhat.com>
7678         PR libstdc++/71964
7679         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
7680         (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
7681         * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
7682         * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
7683         * testsuite/23_containers/set/allocator/71964.cc: New test.
7685         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
7686         delete[] instead of delete.
7688 2016-07-21  Jonathan Wakely  <jwakely@redhat.com>
7690         * include/experimental/propagate_const (propagate_const::__t): Rename
7691         to _M_t and remove comment. Qualify std::move and std::forward.
7692         * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
7694         * testsuite/23_containers/vector/zero_sized_allocations.cc:
7695         Define sized deallocation function.
7696         * testsuite/util/testsuite_new_operators.h:
7697         (operator delete(void*, const std::nothrow_t&)): Define nothrow
7698         deallocation function.
7700         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
7701         reads past the end of strings.
7702         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
7703         Likewise.
7704         * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
7705         invalid array accesses.
7706         * testsuite/experimental/string_view/operations/compare/char/1.cc:
7707         Fix read past the end of string.
7708         * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
7710         * testsuite/24_iterators/container_access.cc: Fix missing returns.
7711         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
7713         * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
7714         leak) memory for arguments to placement delete.
7715         * testsuite/20_util/addressof/1.cc: Don't leak memory.
7716         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
7717         * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
7718         Likewise.
7720 2016-07-20  Jonathan Wakely  <jwakely@redhat.com>
7722         * doc/xml/manual/intro.xml: Document DR 2684 status.
7723         * doc/html/*: Regenerate.
7725         * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
7726         (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
7727         (atomic_uint64_t): Define (LWG 2441).
7728         * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
7729         lines.
7730         * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
7731         the new types.
7732         * doc/xml/manual/intro.xml: Document DR 2441 status.
7734         * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
7735         to use perfect forwarding (LWG 2328).
7736         * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
7737         * doc/xml/manual/intro.xml: Document DR 2328 status.
7739         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
7740         static objects for catching nullptr as pointer to member types.
7742 2016-07-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
7744         Clean up optional's comments.
7745         * include/std/optional: Remove incorrect section headers
7746         from comments when redundant, replace bare section
7747         headers with more descriptive comments.
7749 2016-07-15  Jonathan Wakely  <jwakely@redhat.com>
7751         * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
7752         * include/bits/move.h: Likewise.
7753         * include/bits/postypes.h: Likewise.
7754         * include/debug/bitset: Likewise.
7755         * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
7756         * include/ext/string_conversions.h: Change C++0x to __cxx11 in
7757         comment.
7758         * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
7759         * testsuite/util/thread/all.h: Likewise.
7761         * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
7762         and adjust comment.
7764         PR c++/58796
7765         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
7766         nullptr match handlers of pointer type.
7768 2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
7770         Implement C++17 P0025 clamp.
7771         * include/bits/algorithmfwd.h: Declare clamp overloads.
7772         * include/bits/stl_algo.h: Implement clamp.  Feature __cpp_lib_clamp.
7773         * testsuite/25_algorithms/clamp/1.cc: New test.
7774         * testsuite/25_algorithms/clamp/2.cc: New test.
7775         * testsuite/25_algorithms/clamp/constexpr.cc: New test.
7776         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
7777         1.cc: New test.
7778         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
7779         pod.cc: New test.
7781 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
7783         Fix the constraints for any's assignment operator template to properly
7784         reject assignment from a non-copyable lvalue.
7785         * include/std/any (operator=(_ValueType&&)): Constrain the decayed
7786         type for is_copy_constructible,
7787         * testsuite/20_util/any/requirements.cc: Add a test for
7788         non-copyable lvalues.
7790 2016-07-14  Jonathan Wakely  <jwakely@redhat.com>
7792         * include/experimental/functional: Include <parallel/algorithm> in
7793         Parallel Mode.
7795         * testsuite/experimental/functional/searchers.cc: Include <algorithm>
7796         for std::search.
7798         PR libstdc++/70716
7799         * include/bits/forward_list.h (forward_list): Update doxygen comments
7800         to reflect allocator propagation semantics. Remove ambiguous
7801         statements about data being lost.
7802         * include/bits/stl_deque.h (deque): Likewise.
7803         * include/bits/stl_list.h (list): Likewise.
7804         * include/bits/stl_map.h (map): Likewise.
7805         * include/bits/stl_multimap.h (multimap): Likewise.
7806         * include/bits/stl_multiset.h (multiset): Likewise.
7807         * include/bits/stl_set.h (set): Likewise.
7808         * include/bits/stl_vector.h (vector): Likewise.
7809         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
7810         Likewise.
7811         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
7812         Likewise.
7814 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
7816         Implement P0032R3, Homogeneous interface for variant, any and optional,
7817         for the parts concerning any and optional.
7818         * include/std/any (_Storage()): Make constexpr and have it
7819         initialize _M_ptr.
7820         (any()): Make constexpr.
7821         (any(const any&)): Adjust.
7822         (any(any&&)): Likewise.
7823         (__any_constructible_t): New.
7824         (any(_ValueType&&)): Constrain.
7825         (any(in_place_type_t<_Tp>, _Args&&...)): New.
7826         (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
7827         Likewise.
7828         (~any()): Adjust.
7829         (operator=(const any&)): Likewise.
7830         (operator=(any&&)): Likewise.
7831         (operator=(_ValueType&&)): Constrain.
7832         (emplace(_Args&&...)): New.
7833         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
7834         (clear()): Remove.
7835         (reset()): New.
7836         (swap(any&)): Adjust.
7837         (empty()): Remove.
7838         (has_value()): New.
7839         (type()): Adjust.
7840         (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
7841         (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
7842         (make_any(_Args&&...)): Likewise.
7843         (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
7844         * include/std/optional (in_place_t, in_place): Remove.
7845         (bad_optional_access): Add a comment referring to LEWG 72.
7846         (emplace(_Args&&...)): Constrain.
7847         (has_value()): New.
7848         (reset()): Likewise.
7849         (make_optional(_Args&&...)): Likewise.
7850         (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
7851         * include/std/utility (in_place_tag): New.
7852         (__in_place, __in_place_type, __in_place_index): Likewise.
7853         (in_place_t, in_place_type_t, in_place_index_t): Likewise.
7854         (in_place(__in_place*)): Likewise.
7855         (in_place(__in_place_type<_Tp>*)): Likewise.
7856         (in_place(__in_place_index<_Idx>*)): Likewise.
7857         * testsuite/20_util/any/assign/1.cc: Adjust.
7858         * testsuite/20_util/any/assign/emplace.cc: New.
7859         * testsuite/20_util/any/assign/self.cc: Adjust.
7860         * testsuite/20_util/any/cons/1.cc: Likewise.
7861         * testsuite/20_util/any/cons/in_place.cc: New.
7862         * testsuite/20_util/any/make_any.cc: Likewise.
7863         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
7864         * testsuite/20_util/any/misc/swap.cc: Likewise.
7865         * testsuite/20_util/any/modifiers/1.cc: Likewise.
7866         * testsuite/20_util/any/requirements.cc: New.
7867         * testsuite/20_util/in_place/requirements.cc: Likewise.
7868         * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
7869         * testsuite/20_util/optional/in_place.cc: Likewise.
7870         * testsuite/20_util/optional/make_optional.cc: Add tests for
7871         the new overloads of make_optional.
7873 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
7875         Implement P0307R2, Making Optional Greater Equal Again.
7876         * include/experimental/optional (_Has_addressof): Fix the comment.
7877         * include/std/optional (_Has_addressof): Likewise.
7878         (operator=(_Up&&)): Constrain.
7879         (operator=(const optional<_Up>&)): Likewise.
7880         (operator=(optional<_Up>&&)): Likewise.
7881         (__optional_relop_t): New.
7882         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7883         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
7884         Constrain and make transparent.
7885         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7886         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
7887         Constrain and make transparent.
7888         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7889         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7890         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
7891         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
7892         (operator!=(const optional<_Tp>&, _Tp const&)):
7893         Constrain and make transparent.
7894         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
7895         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
7896         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
7897         (operator>(const optional<_Tp>&, const _Tp&)):
7898         Constrain and make transparent.
7899         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
7900         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
7901         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
7902         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
7903         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
7904         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
7905         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
7906         * testsuite/20_util/optional/relops/1.cc: Likewise.
7907         * testsuite/20_util/optional/relops/2.cc: Likewise.
7908         * testsuite/20_util/optional/relops/3.cc: Likewise.
7909         * testsuite/20_util/optional/relops/4.cc: Likewise.
7910         * testsuite/20_util/optional/requirements.cc: Add tests to verify
7911         that optional's relops are transparent and don't synthesize
7912         operators. Also test that assignment sfinaes.
7914 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
7916         PR libstdc++/71856
7917         * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
7918         * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
7919         Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
7920         on _GLIBCXX_ASSERTIONS.
7921         * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
7922         Include <unistd.h> for sleep.
7923         * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
7924         * include/parallel/merge.h: Likewise.
7925         * include/parallel/multiway_merge.h: Likewise.
7926         * include/parallel/partition.h: Likewise.
7927         * include/parallel/queue.h: Likewise.
7928         * include/parallel/sort.h: Likewise.
7929         * testsuite/25_algorithms/headers/algorithm/
7930         parallel_algorithm_assert.cc: New.
7932         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
7933         (replace(__const_iterator, __const_iterator, initializer_list<C>)):
7934         Forward to different overload.
7936         * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
7937         static.
7939 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
7941         Revert "Add non-const overload of std::string::data()".
7943 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
7945         Implement P0307R2, Making Optional Greater Equal Again.
7946         * include/experimental/optional (_Has_addressof): Fix the comment.
7947         * include/std/optional (_Has_addressof): Likewise.
7948         (operator=(_Up&&)): Constrain.
7949         (operator=(const optional<_Up>&)): Likewise.
7950         (operator=(optional<_Up>&&)): Likewise.
7951         (__optional_relop_t): New.
7952         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7953         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
7954         Constrain and make transparent.
7955         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7956         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
7957         Constrain and make transparent.
7958         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7959         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7960         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
7961         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
7962         (operator!=(const optional<_Tp>&, _Tp const&)):
7963         Constrain and make transparent.
7964         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
7965         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
7966         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
7967         (operator>(const optional<_Tp>&, const _Tp&)):
7968         Constrain and make transparent.
7969         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
7970         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
7971         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
7972         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
7973         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
7974         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
7975         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
7976         * testsuite/20_util/optional/relops/1.cc: Likewise.
7977         * testsuite/20_util/optional/relops/2.cc: Likewise.
7978         * testsuite/20_util/optional/relops/3.cc: Likewise.
7979         * testsuite/20_util/optional/relops/4.cc: Likewise.
7980         * testsuite/20_util/optional/requirements.cc: Add tests to verify
7981         that optional's relops are transparent and don't synthesize
7982         operators. Also test that assignment sfinaes.
7984 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
7986         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
7987         New function.
7988         (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
7989         instead of _M_data().
7990         (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
7991         Likewise.
7992         (append(const basic_string&)): Likewise.
7993         (append(const basic_string&, size_type, size_type)): Likewise.
7994         (assign(const basic_string&, size_type, size_type)): Likewise.
7995         (insert(size_type, const basic_string&)): Likewise.
7996         (insert(size_type, const basic_string&, size_type, size_type)):
7997         Likewise.
7998         (replace(size_type, size_type, const basic_string&, size_type,
7999         size_type)): Likewise.
8000         (replace(__const_iterator, __const_iterator, const basic_string&)):
8001         Likewise.
8002         (c_str(), data()): Use c_str() instead of _M_data().
8003         (data()): Add non-const overload as per LWG 2391 and P0272R1.
8004         (compare(const basic_string&)): Use data() instead of _M_data().
8005         [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
8006         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
8007         Pass raw pointers to _S_copy.
8008         (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
8009         _S_assign.
8010         (find(const _CharT*, size_type, size_type)): Use data instead of
8011         _M_data().
8012         * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
8013         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
8014         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
8016 2016-07-12  Jonathan Wakely  <jwakely@redhat.com>
8018         * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
8019         * doc/xml/manual/intro.xml: Document DR 2458 status.
8020         * doc/html*: Regenerate.
8022         * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
8023         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8024         Only include <array>.
8025         * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
8026         Likewise.
8027         * doc/xml/manual/intro.xml: Document LWG 2212 support.
8028         * doc/html*: Regenerate.
8030         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8031         Add testcase from LWG 2164.
8033 2016-07-11  François Dumont  <fdumont@gcc.gnu.org>
8035         * include/bits/stl_vector.h (push_back(const value_type&)): Forward
8036         to _M_realloc_insert.
8037         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8038         (_M_realloc_insert): Declare new function.
8039         (_M_emplace_back_aux): Remove definition.
8040         * include/bits/vector.tcc (emplace_back(_Args...)):
8041         Use _M_realloc_insert.
8042         (insert(const_iterator, const value_type&)): Likewise.
8043         (_M_insert_rval, _M_emplace_aux): Likewise.
8044         (_M_emplace_back_aux): Remove declaration.
8045         (_M_realloc_insert): Define.
8046         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8047         Adjust expected results for emplacing an lvalue with reallocation.
8049 2016-07-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
8051         Implement std::optional.
8052         * include/Makefile.am: Add optional to exported headers.
8053         * include/Makefile.in: Likewise.
8054         * include/std/optional: New.
8055         * testsuite/20_util/optional/typedefs.cc: Likewise.
8056         * testsuite/20_util/optional/relops/2.cc: Likewise.
8057         * testsuite/20_util/optional/relops/3.cc: Likewise.
8058         * testsuite/20_util/optional/relops/4.cc: Likewise.
8059         * testsuite/20_util/optional/relops/5.cc: Likewise.
8060         * testsuite/20_util/optional/relops/1.cc: Likewise.
8061         * testsuite/20_util/optional/relops/6.cc: Likewise.
8062         * testsuite/20_util/optional/nullopt.cc: Likewise.
8063         * testsuite/20_util/optional/in_place.cc: Likewise.
8064         * testsuite/20_util/optional/make_optional.cc: Likewise.
8065         * testsuite/20_util/optional/assignment/2.cc: Likewise.
8066         * testsuite/20_util/optional/assignment/3.cc: Likewise.
8067         * testsuite/20_util/optional/assignment/4.cc: Likewise.
8068         * testsuite/20_util/optional/assignment/5.cc: Likewise.
8069         * testsuite/20_util/optional/assignment/1.cc: Likewise.
8070         * testsuite/20_util/optional/assignment/6.cc: Likewise.
8071         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
8072         * testsuite/20_util/optional/cons/default.cc: Likewise.
8073         * testsuite/20_util/optional/cons/move.cc: Likewise.
8074         * testsuite/20_util/optional/cons/value.cc: Likewise.
8075         * testsuite/20_util/optional/cons/copy.cc: Likewise.
8076         * testsuite/20_util/optional/requirements.cc: Likewise.
8077         * testsuite/20_util/optional/observers/2.cc: Likewise.
8078         * testsuite/20_util/optional/observers/3.cc: Likewise.
8079         * testsuite/20_util/optional/observers/4.cc: Likewise.
8080         * testsuite/20_util/optional/observers/5.cc: Likewise.
8081         * testsuite/20_util/optional/observers/1.cc: Likewise.
8082         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
8083         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
8084         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8085         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
8086         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
8087         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
8088         * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
8089         * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
8090         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
8091         * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
8092         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
8093         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
8094         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
8095         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
8096         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
8097         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
8098         * testsuite/20_util/optional/swap/1.cc: Likewise.
8100 2016-07-08  Jonathan Wakely  <jwakely@redhat.com>
8102         * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
8104 2016-07-07  Jonathan Wakely  <jwakely@redhat.com>
8106         * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
8107         * doc/html/*: Regenerate.
8109 2016-07-07  Ville Voutilainen  <ville.voutilainen@gmail.com>
8111         Implement std::any.
8112         * include/Makefile.am: Add any and c++17_warning.h to exported headers.
8113         * include/Makefile.in: Likewise.
8114         * include/std/any: New.
8115         * testsuite/20_util/any/assign/1.cc: Likewise.
8116         * testsuite/20_util/any/assign/2.cc: Likewise.
8117         * testsuite/20_util/any/assign/self.cc: Likewise.
8118         * testsuite/20_util/any/cons/1.cc: Likewise.
8119         * testsuite/20_util/any/cons/2.cc: Likewise.
8120         * testsuite/20_util/any/cons/aligned.cc: Likewise.
8121         * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
8122         * testsuite/20_util/any/misc/any_cast.cc: Likewise.
8123         * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
8124         * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
8125         * testsuite/20_util/any/misc/swap.cc: Likewise.
8126         * testsuite/20_util/any/modifiers/1.cc: Likewise.
8127         * testsuite/20_util/any/observers/type.cc: Likewise.
8128         * testsuite/20_util/any/typedefs.cc: Likewise.
8130 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8132         Add a new header for diagnosing the use of C++17 facilities
8133         in pre-C++17 modes.
8134         * include/bits/c++17_warning.h: New.
8136 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8138         Implement LWG 2451, optional<T> should 'forward' T's
8139         implicit conversions.
8140         * include/experimental/optional (__is_optional_impl, __is_optional):
8141         New.
8142         (optional()): Make constexpr and default.
8143         (optional(_Up&&), optional(const optional<_Up>&),
8144         optional(optional<_Up>&& __t): New.
8145         (operator=(_Up&&)): Constrain.
8146         (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
8147         * testsuite/experimental/optional/cons/value.cc:
8148         Add tests for the functionality added by LWG 2451.
8149         * testsuite/experimental/optional/cons/value_neg.cc: New.
8151 2016-07-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8153         Implement LWG 2509,
8154         any_cast doesn't work with rvalue reference targets and cannot
8155         move with a value target.
8156         * include/experimental/any (any(_ValueType&&)): Constrain and
8157         add an overload that doesn't forward.
8158         (any_cast(any&&)): Constrain and add an overload that moves.
8159         * testsuite/experimental/any/misc/any_cast.cc: Add tests for
8160         the functionality added by LWG 2509.
8162 2016-07-04  François Dumont  <fdumont@gcc.gnu.org>
8164         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8165         New test.
8166         * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
8167         test.
8169 2016-07-04  Jonathan Wakely  <jwakely@redhat.com>
8171         * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
8172         Define inline. Forward to _M_emplace_aux.
8173         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8174         (_M_insert_rval, _M_emplace_aux): Declare new functions.
8175         (_Temporary_value): New RAII type using allocator to construct/destroy.
8176         (_S_insert_aux_assign): Remove.
8177         (_M_insert_aux): Make non-variadic.
8178         * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
8179         Use _Temporary_value.
8180         (emplace(const_iterator, _Args&&...)): Remove definition.
8181         (_M_insert_rval, _M_emplace_aux): Define.
8182         (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
8183         (_M_fill_insert): Use _Temporary_value.
8184         * testsuite/23_containers/vector/allocator/construction.cc: New test.
8185         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8186         Adjust expected results for emplacing an lvalue with reallocation.
8187         * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
8188         expected results to account for construction/destruction of temporary
8189         using allocator.
8190         * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
8192 2016-07-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
8194         PR libstdc++/71313
8195         * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
8196         Call remove_all for children of a directory.
8197         * testsuite/experimental/filesystem/operations/create_directories.cc:
8198         Adjust.
8200 2016-07-02  François Dumont  <fdumont@gcc.gnu.org>
8202         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
8203         dg-error line numbers.
8204         * testsuite/23_containers/array/tuple_interface/
8205         tuple_element_debug_neg.cc: Likewise.
8206         * testsuite/25_algorithms/lexicographical_compare/debug/
8207         irreflexive_neg.cc: Remove.
8209 2016-06-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8211         * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
8212         than specific target.
8214 2016-06-27  François Dumont  <fdumont@gcc.gnu.org>
8216         PR libstdc++/71640
8217         * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
8218         friend declaration.
8220 2016-06-23  François Dumont  <fdumont@gcc.gnu.org>
8222         * include/debug/array (array<>::swap): Fix noexcept qualificaton for
8223         zero-size array.
8225 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8227         * configure.host: Remove mep-* support.
8229 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8231         * configure: Regenerate.
8232         * configure.host: Remove support for knetbsd.
8233         * crossconfig.m4: Likewise.
8235 2016-06-20  François Dumont  <fdumont@gcc.gnu.org>
8237         PR libstdc++/71181
8238         * include/tr1/hashtable_policy.h
8239         (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
8240         dereferenceable to avoid check on lower_bound result.
8241         (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
8242         (_Prime_rehash_policy::_M_need_rehash): Likewise.
8243         * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
8244         Always return a value greater than input value. Set _M_next_resize to
8245         max value when reaching highest prime number.
8246         * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
8247         being now useless.
8248         * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
8249         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
8250         (test02): New.
8251         * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
8252         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8253         Fix indentation.
8255 2016-06-17  Jonathan Wakely  <jwakely@redhat.com>
8257         PR libstdc++/71545
8258         * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
8259         Remove irreflexive checks.
8260         * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
8261         binary_search): Likewise.
8262         * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
8263         * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
8264         * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
8265         * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
8266         * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
8267         Add constructor from array.
8269 2016-06-16  François Dumont  <fdumont@gcc.gnu.org>
8271         * include/debug/debug.h
8272         (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
8273         (__glibcxx_requires_subscript): Move...
8274         * include/debug/assertions.h: ...here and add __builtin_expect.
8275         (_GLIBCXX_DEBUG_ONLY): Remove ; value.
8276         * include/bits/stl_deque.h
8277         (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
8278         (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
8279         (std::deque<>::back()): Likewise.
8280         (std::deque<>::pop_front()): Likewise.
8281         (std::deque<>::pop_back()): Likewise.
8282         (std::deque<>::swap(deque&)): Add allocator check.
8283         * include/bits/stl_vector.h
8284         (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
8285         (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
8286         (std::vector<>::back()): Likewise.
8287         (std::vector<>::pop_back()): Likewise.
8288         (std::vector<>::swap(vector&)): Add allocator check.
8290 2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>
8292         Provide swappable traits (p0185r1)
8293         * include/std/type_traits (is_swappable, is_nothrow_swappable,
8294         is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
8295         is_nothrow_swappable_v, is_swappable_with_v,
8296         is_nothrow_swappable_with_v): New.
8297         * include/bits/stl_pair.h: Use it as per p0185r1.
8298         * include/bits/stl_queue.h: Likewise.
8299         * include/bits/stl_stack.h: Likewise.
8300         * include/bits/unique_ptr.h: Likewise.
8301         * include/std/tuple: Likewise.
8302         * include/std/array: Likewise. Fix zero-size member swap.
8303         * include/bits/hashtable.h: Use __and_.
8304         * testsuite/20_util/is_nothrow_swappable/requirements/
8305         explicit_instantiation.cc: Change test options to std=gnu++17.
8306         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
8307         Likewise.
8308         * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
8309         * testsuite/20_util/is_swappable/requirements/
8310         explicit_instantiation.cc: Likewise.
8311         * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
8312         * testsuite/20_util/is_swappable/value.cc: Likewise.
8313         * testsuite/20_util/is_nothrow_swappable/requirements/
8314         explicit_instantiation_ext.cc: New.
8315         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
8316         New.
8317         * testsuite/20_util/is_nothrow_swappable/value.h: New.
8318         * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
8319         * testsuite/20_util/is_nothrow_swappable_with/requirements/
8320         explicit_instantiation.cc: New.
8321         * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
8322         New.
8323         * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
8324         * testsuite/20_util/is_swappable/requirements/
8325         explicit_instantiation_ext.cc: New.
8326         * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
8327         * testsuite/20_util/is_swappable/value.h: New.
8328         * testsuite/20_util/is_swappable/value_ext.cc: New.
8329         * testsuite/20_util/is_swappable_with/requirements/
8330         explicit_instantiation.cc: New.
8331         * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
8332         * testsuite/20_util/is_swappable_with/value.cc: New.
8333         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
8334         dg-error line numbers.
8335         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
8336         Likewise.
8338 2016-06-16  Jonathan Wakely  <jwakely@redhat.com>
8340         * include/std/array: Remove trailing whitespace.
8341         * include/std/atomic: Likewise.
8342         * include/std/bitset: Likewise.
8343         * include/std/chrono: Likewise.
8344         * include/std/complex: Likewise.
8345         * include/std/condition_variable: Likewise.
8346         * include/std/fstream: Likewise.
8347         * include/std/functional: Likewise.
8348         * include/std/future: Likewise.
8349         * include/std/iomanip: Likewise.
8350         * include/std/iosfwd: Likewise.
8351         * include/std/istream: Likewise.
8352         * include/std/limits: Likewise.
8353         * include/std/ratio: Likewise.
8354         * include/std/scoped_allocator: Likewise.
8355         * include/std/sstream: Likewise.
8356         * include/std/stdexcept: Likewise.
8357         * include/std/string: Likewise.
8358         * include/std/system_error: Likewise.
8359         * include/std/thread: Likewise.
8360         * include/std/tuple: Likewise.
8361         * include/std/type_traits: Likewise.
8362         * include/std/utility: Likewise.
8363         * include/std/valarray: Likewise.
8364         * include/std/vector: Likewise.
8366         * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
8367         new overloaded functions.
8368         * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
8369         to avoid creating a redundant temporary.
8370         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
8371         test.
8373 2016-06-15  François Dumont  <fdumont@gcc.gnu.org>
8375         * include/bits/stl_deque.h
8376         (std::deque<>::operator=): Call _M_assign_aux.
8377         (std::deque<>::assign(initializer_list<>)): Likewise.
8378         (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8379         (std::deque<>::insert(const_iterator, initializer_list<>)):
8380         Call _M_range_insert_aux.
8381         (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
8382         Likewise.
8383         (std::deque<>::_M_fill_assign): Call _M_fill_insert.
8384         (std::deque<>::_M_move_assign2): Call _M_assign_aux.
8385         * include/bits/deque.tcc
8386         (std::deque<>::operator=): Call _M_range_insert_aux.
8387         (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
8388         Likewise.
8389         * include/bits/stl_vector.h
8390         (std::vector<>::operator=): Call _M_assign_aux.
8391         (std::vector<>::assign(initializer_list<>)): Likewise.
8392         (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8393         (std::vector<>::insert(const_iterator, initializer_list<>)):
8394         Call _M_range_insert.
8395         * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
8397 2016-06-07  François Dumont  <fdumont@gcc.gnu.org>
8399         * include/std/tuple (_Head_base<>): Default specialization condition at
8400         type declaration.
8402 2016-06-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8404         Support allocators in tuples of zero size.
8405         * include/std/tuple (tuple<>::tuple(),
8406         tuple<>::tuple(allocator_arg_t, const _Alloc&),
8407         tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
8408         * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
8410 2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
8412         PR libstdc++/71320
8413         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
8414         Add or remove permissions according to perms argument.
8415         * testsuite/experimental/filesystem/operations/permissions.cc: New
8416         test.
8418 2016-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8420         Protect allocator-overloads of tuple-from-tuple constructors
8421         from cases that would create dangling references.
8422         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8423         const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
8424         tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
8425         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
8427 2016-05-29  Gerald Pfeifer  <gerald@pfeifer.com>
8429         * doc/xml/manual/backwards_compatibility.xml: Adjust
8430         lists.debian.org link to https.
8431         * doc/html/manual/backwards.html: Regenerate.
8433 2016-05-27  Jonathan Wakely  <jwakely@redhat.com>
8435         * doc/xml/manual/abi.xml: Adjust URL to use https.
8436         * doc/html/manual/*: Regenerate.
8438 2016-05-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
8440         PR libstdc++/66338
8441         * include/std/tuple (_TMC): Add a check for _NotSameTuple.
8442         * include/std/tuple (tuple(_UElements&&...)): Remove the separate
8443         check for _NotSameTuple.
8444         * include/std/tuple (_TMCT): New.
8445         * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
8446         * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
8447         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8448               const tuple<_UElements...>&)): Likewise.
8449         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8450               tuple<_UElements...>&&)): Likewise.
8451         * testsuite/20_util/tuple/cons/66338.cc: New.
8453 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
8455         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
8456         * configure: Regenerate.
8457         * config.h.in: Regenerate.
8459         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
8460         * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
8461         Remove const qualification on function. Replace
8462         _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
8463         (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
8464         (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
8466 2016-05-24  François Dumont  <fdumont@gcc.gnu.org>
8468         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
8469         * include/bits/hashtable_policy.h
8470         (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
8471         having load factor management.
8472         (_Mask_range_hashing): New.
8473         (__clp2): New.
8474         (_Power2_rehash_policy): New.
8475         (_Inserts<>): Remove last template parameter, _Unique_keys, so that
8476         partial specializations only depend on whether iterators are constant
8477         or not.
8478         * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
8479         test new hash policy.
8480         * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
8481         Likewise.
8482         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8483         Likewise.
8484         * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
8485         Likewise.
8486         * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
8487         Likewise.
8488         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
8489         New.
8490         * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
8491         using the new hash policy.
8492         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
8494 2016-05-24  Jonathan Wakely  <jwakely@redhat.com>
8496         * include/bits/stl_queue.h (priority_queue::value_compare): Define.
8498 2016-05-23  François Dumont  <fdumont@gcc.gnu.org>
8500         * include/debug/safe_iterator.h
8501         (_Safe_iterator<>::operator->()): Implement using underlying iterator
8502         operator ->.
8503         * include/debug/safe_local_iterator.h
8504         (_Safe_local_iterator<>::operator->()): Likewise.
8506 2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8508         * testsuite/experimental/memory_resource/1.cc: Add required argument
8509         to dg-require-atomic-builtins.
8511 2016-05-13  Jonathan Wakely  <jwakely@redhat.com>
8513         PR libstdc++/71073
8514         * include/debug/bitset: Add #pragma GCC system_header.
8515         * include/debug/deque: Likewise.
8516         * include/debug/list: Likewise.
8517         * include/debug/map: Likewise.
8518         * include/debug/set: Likewise.
8519         * include/debug/string: Likewise.
8520         * include/debug/unordered_map: Likewise.
8521         * include/debug/unordered_set: Likewise.
8522         * include/debug/vector: Likewise.
8523         * include/debug/functions.h: Adjust whitespace.
8525 2016-05-12  Jonathan Wakely  <jwakely@redhat.com>
8527         PR libstdc++/71081
8528         * testsuite/experimental/memory_resource/1.cc: Require atomics.
8530 2016-05-11  Jonathan Wakely  <jwakely@redhat.com>
8532         PR libstdc++/71049
8533         * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
8534         exception constructors with __sso_string parameters.
8536 2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
8538         * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
8539         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8540         Test begin and end functions.
8541         * testsuite/experimental/filesystem/iterators/
8542         recursive_directory_iterator.cc: Likewise.
8544         PR libstdc++/71038
8545         * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
8546         * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
8548         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8549         Overload operator* to move from rvalues.
8551         PR libstdc++/71036
8552         * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
8553         * testsuite/experimental/filesystem/operations/create_directory.cc:
8554         New test.
8556         PR libstdc++/71037
8557         * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
8558         base path to exception.
8559         * testsuite/experimental/filesystem/operations/canonical.cc: Test
8560         paths contained in exception.
8562         * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
8563         using declaration.
8565         PR libstdc++/71005
8566         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8567         New type.
8568         (directory_iterator::operator++(int)): Return proxy.
8569         (recursive_directory_iterator::operator++(int)): Likewise.
8570         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8571         Test post-increment.
8572         * testsuite/experimental/filesystem/iterators/
8573         recursive_directory_iterator.cc: Likewise.
8575 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8577         PR libstdc++/71004
8578         * testsuite/experimental/filesystem/iterators/
8579         recursive_directory_iterator.cc: Fix test02 to not call member
8580         functions on invalid iterator, and use VERIFY not assert.
8582 2016-05-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
8584         Avoid endless run-time recursion for copying single-element
8585         tuples where the element type is by-value constructible
8586         from any type.
8587         * include/std/tuple (_NotSameTuple): New.
8588         * include/std/tuple (tuple(_UElements&&...): Use it.
8589         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
8591 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8593         PR libstdc++/71004
8594         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
8595         Initialize scalar member variables in default constructor.
8596         * testsuite/experimental/filesystem/iterators/
8597         recursive_directory_iterator.cc: Test default construction.
8599 2016-05-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8601         * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
8603 2016-05-05  Jonathan Wakely  <jwakely@redhat.com>
8605         * testsuite/experimental/filesystem/path/native/string.cc: Add
8606         dg-require-filesystem-ts directive.
8608 2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
8610         PR libstdc++/70940
8611         * include/experimental/memory_resource
8612         (__resource_adaptor_imp::do_allocate): Do not default-construct
8613         rebound allocator.
8614         (__resource_adaptor_imp::do_deallocate): Likewise. Use
8615         allocator_traits to get pointer type.
8616         (__null_memory_resource::do_allocate): Remove unused parameters.
8617         (__null_memory_resource::do_deallocate): Likewise.
8618         (__null_memory_resource::do_is_equal): Likewise. Add return statement.
8619         * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
8620         * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
8621         move to ...
8622         * testsuite/experimental/memory_resource/1.cc: Here.
8623         * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
8624         * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
8626 2016-04-29  Chris Gregory  <czipperz@gmail.com>
8628         * config/*: Remove trailing whitespace.
8629         * src/*: Likewise.
8630         * testsuite/tr1/*: Likewise.
8631         * testsuite/util/*: Likewise.
8633 2016-04-28  Jonathan Wakely  <jwakely@redhat.com>
8635         PR libstdc++/70766
8636         * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
8637         __addressof.
8638         * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
8639         Likewise.
8640         * include/std/atomic (atomic<_Tp>): Likewise.
8641         * include/std/shared_mutex (shared_lock): Likewise.
8642         * testsuite/24_iterators/istream_iterator/70766.cc: New test.
8643         * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
8644         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
8645         * testsuite/29_atomics/atomic/70766.cc: New test.
8646         * testsuite/30_threads/shared_lock/70766.cc: New test.
8648         * include/bits/hashtable_policy.h (__detail::_Insert_base,
8649         __detail::_Insert): Improve comments.
8651 2016-04-27  Jonathan Wakely  <jwakely@redhat.com>
8653         PR libstdc++/70767
8654         * include/std/limits: Update comments about DRs.
8655         (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
8656         numeric_limits<const volatile _Tp>): Define unconditionally.
8658 2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
8660         PR libstdc++/70762
8661         * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
8662         static counter to return a different path on every call.
8664 2016-04-22  Tim Shen  <timshen@google.com>
8666         PR libstdc++/70745
8667         * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
8668         Fix the match_not_bow and match_not_eow behavior.
8669         * testsuite/28_regex/regression.cc: Add testcase.
8671 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
8673         PR libstdc++/69703
8674         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
8675         __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
8677 2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
8679         PR libstdc++/69703
8680         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
8681         Override endianness bit in mode.
8682         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
8683         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
8684         that little_endian mode is ignored.
8685         * testsuite/experimental/filesystem/path/native/string.cc: New test.
8687         PR libstdc++/70609
8688         * src/filesystem/ops.cc (close_fd): New function.
8689         (do_copy_file): Set permissions before copying file contents. Check
8690         result of closing file descriptors. Don't copy streambuf when file
8691         is empty.
8692         (copy(const path&, const path&, copy_options, error_code&)): Use
8693         lstat for source file when copy_symlinks is set.
8694         * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
8696         * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
8697         operator~ operator&=, operator|=, operator^=): Add noexcept to
8698         overloaded operators for copy_options, perms and directory_options.
8699         * src/filesystem/ops.cc (make_file_type, make_file_status,
8700         is_not_found_errno, file_time): Add noexcept.
8702 2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>
8704         * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
8706 2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
8708         PR libstdc++/41759
8709         * include/bits/random.h: Reword static assertion messages to state
8710         positive conditions.
8711         * include/bits/random.tcc: Likewise.
8712         * include/bits/uniform_int_dist.h: Likewise.
8713         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
8714         patterns.
8716         * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
8718         * config/cpu/sh/atomicity.h: Fix typo in comment.
8720         PR libstdc++/70294
8721         * include/std/thread (operator<, operator==): Move definitions to
8722         namespace-scope.
8723         * testsuite/30_threads/thread/id/70294.cc: New test.
8725         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
8726         -Wno-pedantic to dg-options.
8727         * testsuite/20_util/align/2.cc: Use type as operand of alignof.
8728         * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
8729         to dg-options.
8730         * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
8731         Remove extra semi-colon.
8732         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8733         Always supply second argument to static_assert.
8734         * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
8735         semi-colon.
8736         * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
8737         dg-options.
8738         * testsuite/26_numerics/complex/literals/values.cc: Likewise.
8739         * testsuite/29_atomics/atomic/60695.cc: Likewise.
8740         * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
8741         alignof when operand is an object not a type.
8742         * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
8743         * testsuite/decimal/make-decimal.cc: Likewise.
8744         * testsuite/experimental/type_traits/value.cc: Always supply second
8745         argument to static_assert.
8746         * testsuite/util/testsuite_common_types.h: Use __extension__ for
8747         __int128 types.
8749         * testsuite/experimental/type_erased_allocator/1.cc: Don't include
8750         internal header.
8751         * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
8752         * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
8753         * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
8754         Likewise. Add licence and change to compile-only test.
8756         * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
8757         unused parameter.
8758         * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
8760         * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
8761         warnings.
8763 2016-04-17  Edward Smith-Rowland  <3dw4rd@verizon.net>
8765         * include/bits/specfun.h: Trivial comment misspelling.
8767 2016-04-14  Jason Merrill  <jason@redhat.com>
8769         Revert Jonathan's empty ABI change from yesterday.
8771 2016-04-13  Martin Sebor  <msebor@redhat.com>
8773         PR c++/69517
8774         * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
8775         upper bound is positive.
8777 2016-04-13  Jonathan Wakely  <jwakely@redhat.com>
8779         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
8780         _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
8781         * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
8782         of functions taking empty structs by value. Add a template parameter
8783         to overloads without hints. Rename overloads with hints to
8784         _M_emplace_hint.
8785         (_Hashtable::_M_erase(true_type, const_iterator),
8786         _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
8787         by reordering parameters.
8788         * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
8789         _M_emplace_hint instead of _M_emplace.
8790         * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
8791         shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
8792         * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
8793         __shared_ptr): Likewise.
8794         * include/bits/stl_algo.h (replace_if): Likewise.
8795         * include/bits/stl_pair.h (piecewise_construct_t,
8796         piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
8797         * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
8798         __uses_alloc0): Likewise.
8799         * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
8800         * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
8801         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
8802         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
8803         * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
8804         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
8805         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
8807 2016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
8809         Document C++17/TR29124 C++ Special Math Functions.
8810         * include/bits/specfun.h: Add Doxygen markup.
8812 2016-04-07  Jonathan Wakely  <jwakely@redhat.com>
8814         * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
8816 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
8818         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
8819         * src/Makefile.in: Regenerate.
8821 2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
8823         PR libstdc++/70554
8824         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
8825         __atomic_fetch_add for bool.
8826         * configure: Regenerate.
8828         * testsuite/30_threads/thread/70503.cc: Require -static to work.
8830         PR libstdc++/70503
8831         * src/c++11/thread.cc (execute_native_thread_routine,
8832         execute_native_thread_routine_compat): Give internal linkage.
8833         * testsuite/30_threads/thread/70503.cc: New test.
8835 2016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8837         PR libstdc++/70437
8838         * include/bits/stl_pair.h (_ConstructiblePair,
8839         _ImplicitlyConvertiblePair, _MoveConstructiblePair,
8840         _ImplicitlyMoveConvertiblePair): Add shortcut conditions
8841         for same-type cases.
8842         * testsuite/20_util/pair/70437.cc: New.
8844 2016-03-24  Jonathan Wakely  <jwakely@redhat.com>
8846         PR libstdc++/69945
8847         * config/abi/pre/gnu.ver: Add new symbol.
8848         * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
8849         * testsuite/18_support/free_eh_pool.cc: New test.
8851 2016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8853         * include/Makefile.am (install-freestanding-headers): Add
8854         concept_check.h and move.h to the installed headers.
8855         * include/Makefile.in: Regenerated.
8856         * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
8857         freestanding implementations.
8858         * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
8859         that this macro has no effect for freestanding implementations.
8860         * doc/html/manual/using_macros.html: Likewise.
8862 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
8864         PR libstdc++/69939
8865         * include/experimental/tuple (__apply_impl): Qualify get and forward.
8867 2016-02-23  Jonathan Wakely  <jwakely@redhat.com>
8869         * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
8870         * doc/html/*: Regenerate.
8872         PR libstdc++/69893
8873         * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
8874         exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
8875         llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
8876         nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
8877         trunc) [__cplusplus >= 201103L]: Import from namespace std.
8878         (fabs) [__cplusplus < 201103L]: Import from namespace std.
8879         * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
8880         Likewise.
8881         * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
8882         namespace before including TR1 headers.
8883         * testsuite/tr1/headers/c++200x/math.cc: New test.
8885 2016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8887         PR libstdc++/69881
8888         * include/c_global/cstdarg: Undefine __need___va_list.
8889         * include/c_global/cstddef: Undefine all kinds of __need_*.
8891 2016-02-16  Tim Shen  <timshen@google.com>
8893         PR libstdc++/69794
8894         * include/bits/regex_scanner.h: Add different special character
8895         sets for grep and egrep regex.
8896         * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
8897         * testsuite/28_regex/regression.cc: Add new testcase.
8899 2016-02-08  Jonathan Wakely  <jwakely@redhat.com>
8901         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
8902         added 'constexpr' in previous commit.
8903         * configure: Regenerate.
8905         PR libstdc++/48891
8906         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
8907         checks for all targets except *-*-solaris2.* and ensure we find the
8908         libc math.h header not our own.
8909         * configure: Regenerate.
8911 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
8913         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
8914         New file.  Copied over from s390-linux-gnu.
8916 2016-02-04  Jonathan Wakely  <jwakely@redhat.com>
8918         PR libstdc++/69626
8919         * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
8920         with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
8921         * config.h.in: Regenerate.
8922         * configure: Regenerate.
8923         * testsuite/21_strings/c_strings/char/69626.cc: New.
8925         * doc/html/index.html: Regenerate.
8927         * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
8928         * doc/xml/manual/spine.xml: Update copyright years and author blurb.
8929         * doc/html/*: Regenerate.
8931 2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8933         PR libstdc++/69581
8934         * include/c_compatibility/math.h: Move header guards.
8935         * include/c_compatibility/stdlib.h: Likewise.
8937 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
8939         PR libstdc++/69506
8940         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
8942 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
8944         PR libstdc++/69450
8945         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
8946         isinf and isnan functions into two independent checks.  Check on hpux.
8947         * config.h.in: Regenerate.
8948         * configure: Regenerate.
8949         * include/c_global/cmath (isinf(double), isnan(double)): Use
8950         _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
8951         respectively.
8953 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
8955         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
8957 2016-01-27  Jonathan Wakely  <jwakely@redhat.com>
8959         PR libstdc++/69295
8960         * testsuite/ext/special_functions/hyperg/check_value.cc: Use
8961         -ffp-contract=off, and -ffloat-store to disable excess precision.
8962         * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
8963         -ffp-contract=off.
8965 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
8967         PR libstdc++/69478
8968         * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
8969         random_access_iterator_tag>): Check is_move_assignable when moving.
8970         (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
8971         Likewise.
8972         * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
8973         * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
8974         * testsuite/25_algorithms/move/69478.cc: New.
8975         * testsuite/25_algorithms/move_backward/69478.cc: new.
8977 2016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
8979         * include/c_compatibility/stdlib.h: Include wide character related
8980         definitions only when they are available in cstdlib.
8982 2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
8984         PR libstdc++/69464
8985         * include/Makefile.am: Add new header.
8986         * include/Makefile.in: Regenerate.
8987         * include/bits/random.h (uniform_int_distribution): Move to
8988         bits/uniform_int_dist.h.
8989         * include/bits/random.tcc (uniform_int_distribution::operator(),
8990         uniform_int_distribution::__generate_impl): Likewise.
8991         * include/bits/uniform_int_dist.h: New header.
8992         * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
8993         <bits/uniform_int_dist.h> instead of <random>.
8994         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
8995         move_iterators/1.cc: Include correct header for uninitialized_copy.
8996         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
8997         move_iterators/1.cc: Likewise.
8998         * testsuite/25_algorithms/nth_element/58800.cc: Include correct
8999         header for vector.
9000         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
9002 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
9004         PR libstdc++/69446
9005         * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9007 2016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
9009         TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
9010         * include/c_compatibility/math.h: Import the TR29124 functions
9011         into the global namespace.
9012         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
9013         xfail and make compile-only.
9014         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
9015         * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
9016         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
9017         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
9018         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
9019         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
9020         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
9021         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
9022         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
9023         * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
9024         * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
9025         * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
9026         * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
9027         * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
9028         * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
9029         * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
9030         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
9031         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
9032         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
9033         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
9035 2016-01-22  Jonathan Wakely  <jwakely@redhat.com>
9037         PR libstdc++/69116
9038         * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
9039         define result_type for types which can be safely used with valarrays.
9040         * testsuite/26_numerics/valarray/69116.cc: New.
9042         PR libstdc++/69413
9043         * config/os/gnu-linux/os_defines.h: Define
9044         _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
9045         * include/c_global/cmath (isinf, isnan): Check it.
9046         * doc/xml/manual/internals.xml: Document it.
9047         * doc/html/*: Regenerate.
9049 2016-01-21  Jonathan Wakely  <jwakely@redhat.com>
9051         PR libstdc++/69406
9052         * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
9053         * include/ext/type_traits.h: Likewise.
9054         * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
9055         for presence of C headers.
9056         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
9057         dg-error line number.
9058         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
9059         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
9060         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
9062 2016-01-20  Torvald Riegel  <triegel@redhat.com>
9064         PR libstdc++/69310
9065         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9067 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
9069         PR libstdc++/60401
9070         * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
9071         copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
9072         lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
9073         nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
9074         tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
9075         Add using declarations.
9076         * testsuite/26_numerics/headers/cmath/60401.cc: New.
9078         PR libstdc++/69386
9079         * include/c_global/ccomplex: Ensure C++ language linkage.
9080         * include/c_global/cmath: Likewise.
9081         * include/c_global/cstdlib: Likewise.
9082         * include/c_global/ctgmath: Likewise.
9083         * testsuite/17_intro/headers/c++2011/linkage.cc: New.
9085 2016-01-19  Jonathan Wakely  <jwakely@redhat.com>
9087         PR libstdc++/14608
9088         PR libstdc++/60401
9089         * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
9090         --enable-cheaders=c_global configs.
9091         * include/Makefile.in: Regenerate.
9092         * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
9093         test and allow inclusion from C files.
9094         * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
9095         (at_quick_exit, quick_exit): Add using directives.
9096         * include/c_global/cmath: Use #include_next for math.h.
9097         * include/c_global/cstdlib: Use #include_next for stdlib.h.
9098         * testsuite/26_numerics/headers/cmath/14608.cc: New.
9099         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
9100         Remove xfail for most targets.
9101         * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
9103 2016-01-18  Torvald Riegel  <triegel@redhat.com>
9105         * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
9106         (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
9107         and move after its definition.
9108         * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
9109         * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
9110         __GXX_WEAK__, and only provide transactional clones if
9111         _GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
9112         functions.
9114 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
9116         PR libstdc++/60637
9117         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
9119         PR libstdc++/69243
9120         * include/std/functional (_Function_base::_M_not_empty_function):
9121         Change overloads for pointers to take arguments by value.
9122         * testsuite/20_util/function/cons/57465.cc: Add tests for
9123         pointer-to-member cases.
9125         PR libstdc++/69340
9126         * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
9127         Use macros for exception handling and fix unused parameter warning.
9129 2016-01-17  John David Anglin  <danglin@gcc.gnu.org>
9131         PR libstdc++/68734
9132         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
9134 2016-01-17  Torvald Riegel  <triegel@redhat.com>
9136         * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
9138 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
9140         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
9141         __int128 symbols.
9143 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9145         PR libstdc++/69293
9146         * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
9147         static assertion that type is constructible from the arguments.
9148         * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
9149         * testsuite/20_util/uses_allocator/69293_neg.cc: New.
9150         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
9152         PR libstdc++/69294
9153         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9154         and isnan on AIX. Quote variables.
9155         * configure: Regenerate.
9157 2016-01-15  Torvald Riegel  <triegel@redhat.com>
9159         * include/bits/basic_string.h (basic_string): Declare friends.
9160         * include/bits/c++config (_GLIBCXX_TXN_SAFE,
9161         _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
9162         * include/std/stdexcept (logic_error, domain_error, invalid_argument,
9163         length_error, out_of_range, runtime_error, range_error,
9164         underflow_error, overflow_error): Declare members as transaction-safe.
9165         (logic_error, runtime_error): Declare friend functions.
9166         * libsupc++/exception (exception, bad_exception): Declare members as
9167         transaction-safe.
9168         * src/c++11/cow-stdexcept.cc: Define transactional clones for the
9169         transaction-safe members of exceptions and helper functions.
9170         * libsupc++/eh_exception.cc: Adjust and define transactional clones.
9171         * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
9172         (CXXABI_1.3.10): New.
9173         * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
9174         (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
9175         * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
9176         * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
9177         * include/Makefile.in: Regenerate.
9178         * config.h.in: Regenerate.
9179         * configure: Regenerate.
9180         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
9182 2016-01-15  Steve Ellcey  <sellcey@imgtec.com>
9184         * include/ext/random.tcc: Use __builtin_isfinite instead of
9185         std::isfinite.
9187 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9189         * include/bits/std_mutex.h: Fix Doxygen @file name.
9191 2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
9192             Jonathan Wakely  <jwakely@redhat.com>
9193             Florian Goth <CaptainSifff@gmx.de>
9195         Implement TR29124 C++ special Math Functions.
9196         * include/Makefile.am: Add new headers.
9197         * include/Makefile.in: Regenerate.
9198         * include/bits/specfun.h: New.
9199         * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
9200         * include/tr1/bessel_function.tcc: Ditto.
9201         * include/tr1/beta_function.tcc: Ditto.
9202         * include/tr1/cmath: Ditto.
9203         * include/tr1/ell_integral.tcc: Ditto.
9204         * include/tr1/exp_integral.tcc: Ditto.
9205         * include/tr1/gamma.tcc: Ditto.
9206         * include/tr1/hypergeometric.tcc: Ditto.
9207         * include/tr1/legendre_function.tcc: Ditto.
9208         * include/tr1/modified_bessel_func.tcc: Ditto.
9209         * include/tr1/poly_hermite.tcc: Ditto.
9210         * include/tr1/poly_laguerre.tcc: Ditto.
9211         * include/tr1/riemann_zeta.tcc: Ditto.
9212         * include/tr1/special_function_util.h: Ditto.
9213         * testsuite/ext/special_functions/conf_hyperg: New.
9214         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
9215         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
9216         * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
9217         * testsuite/ext/special_functions/hyperg: New.
9218         * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
9219         * testsuite/ext/special_functions/hyperg/check_value.cc: New.
9220         * testsuite/ext/special_functions/hyperg/compile.cc: New.
9221         * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
9222         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
9223         * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
9224         * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
9225         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
9226         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
9227         * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
9228         * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
9229         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
9230         * testsuite/special_functions/03_beta/check_nan.cc: New.
9231         * testsuite/special_functions/03_beta/check_value.cc: New.
9232         * testsuite/special_functions/03_beta/compile.cc: New.
9233         * testsuite/special_functions/03_beta/compile_2.cc: New.
9234         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
9235         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
9236         * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
9237         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
9238         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
9239         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
9240         * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
9241         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
9242         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
9243         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
9244         * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
9245         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
9246         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
9247         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
9248         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
9249         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
9250         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
9251         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
9252         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
9253         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
9254         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
9255         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
9256         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
9257         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
9258         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
9259         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
9260         * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
9261         * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
9262         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
9263         * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
9264         * testsuite/special_functions/11_ellint_1/check_value.cc: New.
9265         * testsuite/special_functions/11_ellint_1/compile.cc: New.
9266         * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
9267         * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
9268         * testsuite/special_functions/12_ellint_2/check_value.cc: New.
9269         * testsuite/special_functions/12_ellint_2/compile.cc: New.
9270         * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
9271         * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
9272         * testsuite/special_functions/13_ellint_3/check_value.cc: New.
9273         * testsuite/special_functions/13_ellint_3/compile.cc: New.
9274         * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
9275         * testsuite/special_functions/14_expint/check_nan.cc: New.
9276         * testsuite/special_functions/14_expint/check_value.cc: New.
9277         * testsuite/special_functions/14_expint/compile.cc: New.
9278         * testsuite/special_functions/14_expint/compile_2.cc: New.
9279         * testsuite/special_functions/15_hermite/check_nan.cc: New.
9280         * testsuite/special_functions/15_hermite/check_value.cc: New.
9281         * testsuite/special_functions/15_hermite/compile.cc: New.
9282         * testsuite/special_functions/15_hermite/compile_2.cc: New.
9283         * testsuite/special_functions/16_laguerre/check_nan.cc: New.
9284         * testsuite/special_functions/16_laguerre/check_value.cc: New.
9285         * testsuite/special_functions/16_laguerre/compile.cc: New.
9286         * testsuite/special_functions/16_laguerre/compile_2.cc: New.
9287         * testsuite/special_functions/17_legendre/check_nan.cc: New.
9288         * testsuite/special_functions/17_legendre/check_value.cc: New.
9289         * testsuite/special_functions/17_legendre/compile.cc: New.
9290         * testsuite/special_functions/17_legendre/compile_2.cc: New.
9291         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
9292         * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
9293         * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
9294         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
9295         * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
9296         * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
9297         * testsuite/special_functions/19_sph_bessel/compile.cc: New.
9298         * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
9299         * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
9300         * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
9301         * testsuite/special_functions/20_sph_legendre/compile.cc: New.
9302         * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
9303         * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
9304         * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
9305         * testsuite/special_functions/21_sph_neumann/compile.cc: New.
9306         * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
9307         * testsuite/util/specfun_testcase.h: New.
9308         * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
9309         * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
9310         * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
9311         * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
9312         * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
9313         * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
9314         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
9316 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
9318         PR libstdc++/48891
9319         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9320         and isnan functions.
9321         * config.h.in: Regenerate.
9322         * configure: Regenerate.
9323         * include/c_global/cmath (isinf(double), isnan(double))
9324         [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
9325         * testsuite/26_numerics/headers/cmath/48891.cc: New.
9327 2016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9329         PR libstdc++/66006
9330         * configure.host (abi_baseline_pair): Use separate baseline for
9331         Solaris 11+ and Solaris 10 with gld.
9332         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
9333         * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
9334         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
9336 2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
9338         PR libstdc++/68877
9339         * include/std/type_traits: Following N4511, reimplement __is_swappable
9340         and __is_nothrow_swappable. Move __is_swappable to namespace std,
9341         adjust callers. Use __is_nothrow_swappable in swap.
9342         * include/bits/move.h: Use __is_nothrow_swappable in swap.
9343         * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
9344         __is_swappable related tests.
9345         * testsuite/20_util/is_swappable/value.cc: New.
9346         * testsuite/20_util/is_swappable/requirements/
9347         explicit_instantiation.cc: New.
9348         * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
9349         * testsuite/25_algorithms/swap/68877.cc: New.
9351 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
9353         * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
9355         PR libstdc++/69005
9356         PR libstdc++/69222
9357         * include/std/functional (function::_Invoke): Remove, use result_of.
9358         (function::_Callable): Replace alias template with class template
9359         and use partial specialization instead of _NotSelf alias template.
9360         (function(_Functor)): Add "not self" constraint so that _Callable is
9361         not used while type is incomplete.
9362         * testsuite/20_util/function/69222.cc: New.
9364 2016-01-11  Jonathan Wakely  <jwakely@redhat.com>
9366         PR libstdc++/60976
9367         * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
9368         Define partial specialization.
9369         * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
9370         destroy members to std::allocator explicit specialization.
9372 2016-01-08  Jonathan Wakely  <jwakely@redhat.com>
9374         * testsuite/26_numerics/headers/cmath/
9375         c99_classification_macros_c++.cc: Rename to ...
9376         * testsuite/26_numerics/headers/cmath/
9377         c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
9378         * testsuite/26_numerics/headers/cmath/
9379         c99_classification_macros_c++0x.cc: Rename to ...
9380         * testsuite/26_numerics/headers/cmath/
9381         c99_classification_macros_c++11.cc: Here.
9383         PR libstdc++/69190
9384         * include/bits/uses_allocator.h: Add missing include.
9386 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
9388         PR libstdc++/69105
9389         PR libstdc++/69106
9390         PR libstdc++/69114
9391         * include/bits/stl_iterator.h (back_insert_iterator,
9392         front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
9393         * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
9394         * include/std/future (__future::base::_State_baseV2::__setter):
9395         Likewise.
9396         * include/std/scoped_allocator (__outermost): Likewise.
9397         * testsuite/20_util/scoped_allocator/69114.cc: New.
9398         * testsuite/20_util/uses_allocator/69114.cc: New.
9399         * testsuite/30_threads/promise/69106.cc: New.
9401 2016-01-06  Jonathan Wakely  <jwakely@redhat.com>
9403         PR libstdc++/69092
9404         * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
9405         Remove _GLIBCXX_NOEXCEPT.
9406         testsuite/21_strings/basic_string/cons/char/69092.cc: New.
9408         * include/Makefile.am: Adjust.
9409         * include/Makefile.in: Regenerate.
9410         * include/bits/mutex.h: Rename to bits/std_mutex.h.
9411         * include/std/condition_variable: Adjust include.
9412         * include/std/mutex: Likewise.
9414 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
9416         Update copyright years.
9418 Copyright (C) 2016 Free Software Foundation, Inc.
9420 Copying and distribution of this file, with or without modification,
9421 are permitted in any medium without royalty provided the copyright
9422 notice and this notice are preserved.