PR go/78431
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob70197d9eb1ff4a210a8dd383ab34138bea44064b
1 2016-11-22  Uros Bizjak  <ubizjak@gmail.com>
3         * testsuite/Makefile.am
4         (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection
5         of -j argument.
6         * testsuite/Makefile.in: Regenereate.
8 2016-11-22  Jonathan Wakely  <jwakely@redhat.com>
10         PR libstdc++/78465
11         * testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests
12         with preprocessor conditions.
14 2016-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
16         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Update comments.
17         (__CORRECT_ISO_CPP11_MATH_H_PROTO): Rename to ...
18         (__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): ... this.
19         Add test for C++11 <math.h> integral overloads.
20         * configure: Regenerate.
21         * config.h.in: Regenerate.
23         * include/c_global/cmath [__cplusplus >= 201103L]: Reflect
24         __CORRECT_ISO_CPP11_MATH_H_PROTO to
25         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
26         * include/c_global/cmath [_GLIBCXX_USE_C99_MATH &&
27         !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC && __cplusplus >= 201103L]
28         (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO_INT.
29         (std::isfinite): Likewise.
30         (std::isinf): Likewise.
31         (std::isnan): Likewise.
32         (std::isnormal): Likewise.
33         (std::signbit): Likewise.
34         (std::isgreater): Likewise.
35         (std::isgreaterequal): Likewise.
36         (std::isless): Likewise.
37         (std::islessequal): Likewise.
38         (std::islessgreater): Likewise.
39         (std::isunordered): Likewise.
40         [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]
41         (std::acosh): Likewise.
42         (std::asinh): Likewise.
43         (std::atanh): Likewise.
44         (std::cbrt): Likewise.
45         (std::copysign): Likewise.
46         (std::erf): Likewise.
47         (std::erfc): Likewise.
48         (std::exp2): Likewise.
49         (std::expm1): Likewise.
50         (std::fdim): Likewise.
51         (std::fma): Likewise.
52         (std::fmax): Likewise.
53         (std::fmin): Likewise.
54         (std::hypot): Likewise.
55         (std::ilogb): Likewise.
56         (std::lgamma): Likewise.
57         (std::llrint): Likewise.
58         (std::llround): Likewise.
59         (std::log1p): Likewise.
60         (std::log2): Likewise.
61         (std::logb): Likewise.
62         (std::lrint): Likewise.
63         (std::lround): Likewise.
64         (std::nearbyint): Likewise.
65         (std::nextafter): Likewise.
66         (std::nexttoward): Likewise.
67         (std::remainder): Likewise.
68         (std::remquo): Likewise.
69         (std::rint): Likewise.
70         (std::round): Likewise.
71         (std::scalbln): Likewise.
72         (std::scalbn): Likewise.
73         (std::tgamma): Likewise.
74         (std::trunc): Likewise.
75         * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1 && __cplusplus >=
76         201103L]: Reflect __CORRECT_ISO_CPP11_MATH_H_PROTO to
77         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
79 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
81         PR libstdc++/59406
82         * include/bits/functional_hash.h: Add comment noting difference from
83         FNV-1a.
84         * include/tr1/functional_hash.h: Likewise.
85         * libsupc++/hash_bytes.cc: Likewise.
87         * include/bits/basic_string.h: Reuse _If_sv alias template for new
88         constructor.
90         * doc/xml/manual/intro.xml: Document LWG 2770 status. Remove entries
91         for 2742 and 2748.
92         * doc/html/*: Regenerate.
93         * include/std/utility (__tuple_size_cv_impl): New helper to safely
94         detect tuple_size<T>::value, as per LWG 2770.
95         (tuple_size<cv T>): Adjust partial specializations to derive from
96         __tuple_size_cv_impl.
97         * testsuite/20_util/tuple/cv_tuple_size.cc: Test SFINAE-friendliness.
99         * testsuite/libstdc++-prettyprinters/cxx17.cc: Adjust test for
100         variant<T&>.
102 2016-11-15  Tim Shen  <timshen@google.com>
104         * include/std/variant: Remove variant<T&>, variant<void>, variant<>
105         support to rebase on the post-Issaquah design.
106         * testsuite/20_util/variant/compile.cc: Likewise.
108 2016-11-15  Matthias Klose  <doko@ubuntu.com>
110         * configure: Regenerate.
112 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
114         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Fix license
115         text.
116         * testsuite/20_util/any/assign/emplace.cc: Likewise.
117         * testsuite/20_util/any/cons/in_place.cc: Likewise.
118         * testsuite/20_util/any/make_any.cc: Likewise.
119         * testsuite/20_util/any/requirements.cc: Likewise.
120         * testsuite/20_util/any/typedefs.cc: Likewise.
121         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
122         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
123         Likewise.
124         * testsuite/20_util/in_place/requirements.cc: Likewise.
125         * testsuite/20_util/optional/77288.cc: Likewise.
126         * testsuite/20_util/optional/assignment/1.cc: Likewise.
127         * testsuite/20_util/optional/assignment/2.cc: Likewise.
128         * testsuite/20_util/optional/assignment/3.cc: Likewise.
129         * testsuite/20_util/optional/assignment/4.cc: Likewise.
130         * testsuite/20_util/optional/assignment/5.cc: Likewise.
131         * testsuite/20_util/optional/assignment/6.cc: Likewise.
132         * testsuite/20_util/optional/assignment/7.cc: Likewise.
133         * testsuite/20_util/optional/cons/77727.cc: Likewise.
134         * testsuite/20_util/optional/cons/move.cc: Likewise.
135         * testsuite/20_util/optional/cons/value.cc: Likewise.
136         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
137         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
138         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
139         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
140         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
141         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
142         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
143         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
144         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
145         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
146         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
147         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
148         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
149         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
150         * testsuite/20_util/optional/hash.cc: Likewise.
151         * testsuite/20_util/optional/make_optional.cc: Likewise.
152         * testsuite/20_util/optional/observers/1.cc: Likewise.
153         * testsuite/20_util/optional/observers/2.cc: Likewise.
154         * testsuite/20_util/optional/observers/3.cc: Likewise.
155         * testsuite/20_util/optional/observers/4.cc: Likewise.
156         * testsuite/20_util/optional/observers/5.cc: Likewise.
157         * testsuite/20_util/optional/observers/6.cc: Likewise.
158         * testsuite/20_util/optional/relops/1.cc: Likewise.
159         * testsuite/20_util/optional/relops/2.cc: Likewise.
160         * testsuite/20_util/optional/relops/3.cc: Likewise.
161         * testsuite/20_util/optional/relops/4.cc: Likewise.
162         * testsuite/20_util/optional/relops/5.cc: Likewise.
163         * testsuite/20_util/optional/relops/6.cc: Likewise.
164         * testsuite/20_util/optional/requirements.cc: Likewise.
165         * testsuite/20_util/optional/swap/1.cc: Likewise.
166         * testsuite/20_util/optional/typedefs.cc: Likewise.
167         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
168         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
169         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
170         Likewise.
171         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
172         * testsuite/20_util/variant/hash.cc: Likewise.
173         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
174         * testsuite/experimental/any/typedefs.cc: Likewise.
175         * testsuite/experimental/array/make_array.cc: Likewise.
176         * testsuite/experimental/array/neg.cc: Likewise.
177         * testsuite/experimental/chrono/value.cc: Likewise.
178         * testsuite/experimental/deque/erasure.cc: Likewise.
179         * testsuite/experimental/forward_list/erasure.cc: Likewise.
180         * testsuite/experimental/list/erasure.cc: Likewise.
181         * testsuite/experimental/map/erasure.cc: Likewise.
182         * testsuite/experimental/memory/observer_ptr/assignment/assign.cc:
183         Likewise.
184         * testsuite/experimental/memory/observer_ptr/cons/cons.cc: Likewise.
185         * testsuite/experimental/memory/observer_ptr/hash/hash.cc: Likewise.
186         * testsuite/experimental/memory/observer_ptr/make_observer.cc:
187         Likewise.
188         * testsuite/experimental/memory/observer_ptr/relops/relops.cc:
189         Likewise.
190         * testsuite/experimental/memory/observer_ptr/requirements.cc: Likewise.
191         * testsuite/experimental/memory/observer_ptr/swap/swap.cc: Likewise.
192         * testsuite/experimental/memory/observer_ptr/typedefs.cc: Likewise.
193         * testsuite/experimental/optional/77288.cc: Likewise.
194         * testsuite/experimental/optional/assignment/1.cc: Likewise.
195         * testsuite/experimental/optional/assignment/2.cc: Likewise.
196         * testsuite/experimental/optional/assignment/3.cc: Likewise.
197         * testsuite/experimental/optional/assignment/4.cc: Likewise.
198         * testsuite/experimental/optional/assignment/5.cc: Likewise.
199         * testsuite/experimental/optional/assignment/6.cc: Likewise.
200         * testsuite/experimental/optional/cons/77727.cc: Likewise.
201         * testsuite/experimental/optional/cons/move.cc: Likewise.
202         * testsuite/experimental/optional/cons/value.cc: Likewise.
203         * testsuite/experimental/optional/cons/value_neg.cc: Likewise.
204         * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
205         * testsuite/experimental/optional/constexpr/make_optional.cc: Likewise.
206         * testsuite/experimental/optional/constexpr/observers/1.cc: Likewise.
207         * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
208         * testsuite/experimental/optional/constexpr/observers/3.cc: Likewise.
209         * testsuite/experimental/optional/constexpr/observers/4.cc: Likewise.
210         * testsuite/experimental/optional/constexpr/observers/5.cc: Likewise.
211         * testsuite/experimental/optional/constexpr/relops/1.cc: Likewise.
212         * testsuite/experimental/optional/constexpr/relops/2.cc: Likewise.
213         * testsuite/experimental/optional/constexpr/relops/3.cc: Likewise.
214         * testsuite/experimental/optional/constexpr/relops/4.cc: Likewise.
215         * testsuite/experimental/optional/constexpr/relops/5.cc: Likewise.
216         * testsuite/experimental/optional/constexpr/relops/6.cc: Likewise.
217         * testsuite/experimental/optional/make_optional.cc: Likewise.
218         * testsuite/experimental/optional/observers/1.cc: Likewise.
219         * testsuite/experimental/optional/observers/2.cc: Likewise.
220         * testsuite/experimental/optional/observers/3.cc: Likewise.
221         * testsuite/experimental/optional/observers/4.cc: Likewise.
222         * testsuite/experimental/optional/observers/5.cc: Likewise.
223         * testsuite/experimental/optional/relops/1.cc: Likewise.
224         * testsuite/experimental/optional/relops/2.cc: Likewise.
225         * testsuite/experimental/optional/relops/3.cc: Likewise.
226         * testsuite/experimental/optional/relops/4.cc: Likewise.
227         * testsuite/experimental/optional/relops/5.cc: Likewise.
228         * testsuite/experimental/optional/relops/6.cc: Likewise.
229         * testsuite/experimental/optional/requirements.cc: Likewise.
230         * testsuite/experimental/optional/swap/1.cc: Likewise.
231         * testsuite/experimental/optional/typedefs.cc: Likewise.
232         * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
233         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
234         Likewise.
235         * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
236         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
237         * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
238         * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
239         * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
240         * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
241         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
242         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
243         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
244         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
245         * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
246         * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
247         * testsuite/experimental/random/randint.cc: Likewise.
248         * testsuite/experimental/ratio/value.cc: Likewise.
249         * testsuite/experimental/set/erasure.cc: Likewise.
250         * testsuite/experimental/string/erasure.cc: Likewise.
251         * testsuite/experimental/string_view/typedefs.cc: Likewise.
252         * testsuite/experimental/system_error/value.cc: Likewise.
253         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
254         * testsuite/experimental/type_traits/value.cc: Likewise.
255         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
256         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
257         * testsuite/experimental/vector/erasure.cc: Likewise.
259         * doc/xml/manual/intro.xml: Document LWG 2742 status.
260         * doc/html/*: Regenerate.
261         * include/bits/basic_string.h
262         (basic_string(const T&, size_type, size_type, const Allocator&)): Add
263         constructor for substring of basic_string_view, as per LWG 2742 but
264         with additional constraint to fix ambiguity.
265         * testsuite/21_strings/basic_string/cons/char/9.cc: New test.
266         * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: New test.
268         * doc/xml/manual/intro.xml: Document LWG 2748 status.
269         * include/std/optional (optional<T>::swap): Use is_nothrow_swappable_v
270         for exception specification.
271         (swap(optional<T>&, optional<T>&)): Disable when T is not swappable.
272         * testsuite/20_util/optional/swap/2.cc: New test.
274 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
276         Implement P0513R0, Poisoning the Hash.
277         * include/bits/functional_hash.h (__poison_hash): New.
278         * include/bits/unique_ptr.h
279         (hash<unique_ptr<_Tp, _Dp>>): Derive from __poison_hash.
280         * include/std/optional (hash<optional<_Tp>>): Likewise.
281         * include/std/variant (hash<variant<_Types...>>): Likewise.
282         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
283         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
284         * testsuite/20_util/optional/hash.cc: New.
285         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
286         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Adjust.
287         * testsuite/20_util/unique_ptr/hash/1.cc: Add tests for
288         poisoned fancy pointer hashes.
289         * testsuite/20_util/variant/hash.cc: New.
291 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
293         Implement P0504R0 (Revisiting in-place tag types for
294         any/optional/variant).
295         * include/std/any (any(_ValueType&& __value)): Constrain
296         the __is_in_place_type with the decayed type.
297         (make_any): Adjust to use the new tag type.
298         * include/std/utility (in_place_tag): Remove.
299         (in_place_t): Turn into a non-reference tag type.
300         (__in_place, __in_place_type, __in_place_index): Remove.
301         (in_place): Turn into an inline variable of non-reference
302         tag type.
303         (in_place<_Tp>): Remove.
304         (in_place_index<_Idx>): Remove.
305         (in_place_type_t): New.
306         (in_place_type): Turn into a variable template of non-reference
307         type.
308         (in_place_index_t): New.
309         (in_place_index): Turn into a variable template of non-reference
310         type.
311         * include/std/variant
312         (_Variant_storage(in_place_index_t<_Np>, _Args&&...)): Adjust to
313         use the new tag type.
314         (_Union(in_place_index_t<0>, _Args&&...)): Likewise.
315         (_Union(in_place_index_t<_Np>, _Args&&...)): Likewise.
316         (_Variant_base()): Likewise.
317         (variant(_Tp&&)): Likewise.
318         (variant(in_place_type_t<_Tp>, _Args&&...)): Likewise.
319         (variant(in_place_type_t<_Tp>, initializer_list<_Up>,
320         _Args&&...)): Likewise.
321         (variant(in_place_index_t<_Np>, _Args&&...)): Likewise.
322         (variant(in_place_index_t<_Np>, initializer_list<_Up>,
323         _Args&&...)): Likewise
324         (variant(allocator_arg_t, const _Alloc&)): Likewise.
325         (variant(allocator_arg_t, const _Alloc&, _Tp&&)): Likewise.
326         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
327         _Args&&...)): Likewise.
328         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
329         initializer_list<_Up>, _Args&&...)): Likewise.
330         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
331         _Args&&...)): Likewise.
332         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
333         initializer_list<_Up>, _Args&&...)): Likewise.
334         (emplace(_Args&&...)): Likewise.
335         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
336         * testsuite/20_util/any/cons/explicit.cc: Likewise.
337         * testsuite/20_util/any/cons/in_place.cc: Likewise.
338         * testsuite/20_util/any/requirements.cc: Add tests to
339         check that any is not constructible from the new in_place_type_t
340         of any value category.
341         * testsuite/20_util/in_place/requirements.cc: Adjust to
342         use the new tag type.
343         * testsuite/20_util/variant/compile.cc: Likewise.
344         * testsuite/20_util/variant/run.cc: Likewise.
346 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
348         Use constexpr addressof in optional, SFINAE housekeeping
349         for any, optional and tuple.
350         * include/std/any (__do_emplace(_Args&&...)): New.
351         (__do_emplace(initializer_list<_Up>, _Args&&...)): Likewise.
352         (__any_constructible): Likewise.
353         (__any_constructible_t): Use __any_constructible.
354         (operator=(_ValueType&&)): SFINAE in the return type.
355         (emplace(_Args&&...)): Likewise.
356         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
357         * include/std/optional (_Has_addressof_mem): Remove.
358         (_Has_addressof_free): Likewise.
359         (_Has_addressof): Likewise.
360         (__constexpr_addressof(_Tp&)): Likewise.
361         (operator->): Use std::__addressof.
362         * include/std/tuple (operator=(const tuple<_UElements...>&)):
363         SFINAE in return type.
364         (operator=(tuple<_UElements...>&&)): Likewise.
365         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
367 2016-11-14  Jonathan Wakely  <jwakely@redhat.com>
369         * include/bits/move.h (addressof(const _Tp&&)): Add deleted overload,
370         as per LWG 2598.
372         * include/std/future (future::share(), future<R&>::share())
373         (future<void>::share()): Add noexcept, as per LWG 2556.
375 2016-11-13  Jonathan Wakely  <jwakely@redhat.com>
377         PR libstdc++/78326
378         * include/experimental/memory_resource (memory_resource::_S_max_align):
379         Change access to protected.
381         * doc/xml/manual/status_cxx2017.xml: Update status.
382         * doc/html/manual/status.html: Regenerate.
383         * include/bits/shared_ptr.h (shared_ptr(unique_ptr<_Yp, _Del>)): Add
384         extension constructor to maintain C++14 behaviour.
385         * include/bits/shared_ptr_base.h (__sp_array_delete): Add new struct.
386         (__shared_count(_Ptr, false_type), __shared_count(_Ptr, true_type)):
387         New constructors.
388         (__sp_compatible_with, __sp_is_constructible): Add specializations
389         for array support.
390         (__sp_is_constructible_arr, __sp_is_constructible_arrN): New helpers.
391         (__shared_ptr_access): New base class for observer member functions.
392         (__shared_ptr::element_type): Use remove_extent.
393         (__shared_ptr::_UniqCompatible): Add __sp_compatible_with check.
394         (__shared_ptr(_Yp*)): Use tag dispatching to call new __shared_count
395         constructor.
396         (__shared_ptr(unique_ptr<_Yp, _Del>)): Add extension constructor.
397         (__shared_ptr::operator*, __shared_ptr::operator->): Remove and
398         inherit from __shared_ptr_access base class.
399         (__shared_ptr::__has_esft_base): Return false for array types.
400         (__weak_ptr::element_type): Use remove_extent.
401         * include/experimental/bits/shared_ptr.h (__libfund_v1): Remove.
402         (__shared_ptr<__libfund_v1<_Tp>>): Remove specializations.
403         (__wak_ptr<__libfund_v1<_Tp>>): Likewise.
404         (experimental::__sp_compatible_v): Redefine using
405         __sp_compatible_with.
406         (experimental::__sp_is_constructible_v): Redefine using
407         __sp_is_constructible.
408         (get_deleter, operator<<): Change argument from __shared_ptr to
409         shared_ptr.
410         * testsuite/20_util/shared_ptr/cons/array.cc: New test.
411         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Adjust for
412         new behaviour.
413         * testsuite/20_util/shared_ptr/observers/array.cc: Test observers for
414         arrays.
415         * testsuite/20_util/shared_ptr/observers/array_neg.cc: New test.
417 2016-11-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
419         Implement P0403R1, Literal suffixes for basic_string_view.
420         * include/std/string_view
421         (operator""sv(const char*, size_t)): New.
422         (operator""sv(const wchar_t*, size_t)): Likewise.
423         (operator""sv(const char16_t*, size_t)): Likewise.
424         (operator""sv(const char32_t*, size_t)): Likewise.
425         * testsuite/21_strings/basic_string_view/literals/types.cc: New.
426         * testsuite/21_strings/basic_string_view/literals/values.cc: Likewise.
427         * testsuite/experimental/string_view/literals/values.cc: Add
428         tests for literals with embedded NULs.
430 2016-11-12  Jonathan Wakely  <jwakely@redhat.com>
432         * src/filesystem/ops.cc (is_empty): Fix typo in exception message.
434         * include/std/future (future_error): Fix public typo to private.
436 2016-11-11  Jonathan Wakely  <jwakely@redhat.com>
438         * include/std/future (future_error): Make existing constructor
439         private and add constructor from future_errc.
441         * include/bits/shared_ptr.h (hash<shared_ptr<T>>): Use element_type.
442         * include/bits/shared_ptr_base.h (hash<__shared_ptr<T, L>>): Likewise.
444 2016-11-10  François Dumont  <fdumont@gcc.gnu.org>
446         * src/c++11/debug.cc (format_word): Delete.
447         (print_literal): New. Replace call to print_word for literals.
449 2016-11-09  Tim Shen  <timshen@google.com>
451         * include/bits/regex.h (regex_iterator::regex_iterator()):
452         Define end() as _M_pregex == nullptr.
453         * include/bits/regex.tcc (regex_iterator::operator==(),
454         regex_iterator::operator++()): Fix operator==() and operator++() to
455         look at null-ness of _M_pregex on both sides.
456         * testsuite/28_regex/regression.cc: New testcase.
458 2016-11-07  Jason Merrill  <jason@redhat.com>
460         * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM)
461         (_GLIBCXX_NOEXCEPT_QUAL): New.
462         * include/std/type_traits (is_function): Use them.
463         * libsubc++/new (launder): Likewise.
464         * libsupc++/cxxabi.h (__pbase_type_info::__masks): Add
465         __noexcept_mask.
466         * libsupc++/pbase_type_info.cc (__do_catch): Handle function
467         pointer conversion.
469 2016-11-07  François Dumont  <fdumont@gcc.gnu.org>
471         * config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of
472         over-aligned types symbols.
474 2016-10-28  Jonathan Wakely  <jwakely@redhat.com>
476         * include/experimental/bits/fs_path.h (__is_path_src)
477         (_S_range_begin, _S_range_end): Overload to treat string_view as a
478         Source object.
479         (path::operator+=, path::compare): Overload for basic_string_view.
480         * testsuite/experimental/filesystem/path/construct/string_view.cc:
481         New test.
482         * testsuite/experimental/filesystem/path/construct/
483         string_view_cxx17.cc: New test.
485         * include/experimental/bits/fs_path.h
486         (path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from
487         iterator's value_type.
488         (path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise.
489         Do not use operation not supported by input iterators.
490         (path::__is_path_iter_src): Add partial specialization for const
491         encoded character types.
492         * testsuite/experimental/filesystem/path/construct/range.cc: Test
493         construction from input iterators with const value types.
495         * doc/xml/manual/status_cxx2017.xml: Update status.
496         * doc/html/*: Regenerate.
497         * include/std/type_traits (has_unique_object_representations): Guard
498         with __has_builtin check.
499         * libsupc++/new (launder): Define for C++17.
500         * testsuite/18_support/launder/1.cc: New test.
501         * testsuite/18_support/launder/requirements.cc: New test.
502         * testsuite/18_support/launder/requirements_neg.cc: New test.
504 2016-10-27  Uros Bizjak  <ubizjak@gmail.com>
506         PR libstdc++/70975
507         * src/filesystem/ops.cc (do_copy_file) [_GLIBCXX_USE_SENDFILE]:
508         Pass non-null pointer to sendfile for offset argument.
510 2016-10-27  Jonathan Wakely  <jwakely@redhat.com>
512         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
513         default.cc: Fix effective target selector.
514         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
515         parms.cc: Likewise.
516         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
517         equal.cc: Likewise.
518         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
519         generate.cc: Likewise.
520         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
521         inequal.cc: Likewise.
522         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
523         serialize.cc: Likewise.
525         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
526         Use end() function to get end iterator.
527         * testsuite/experimental/filesystem/iterators/pop.cc: Remove printf
528         statements that were present for debugging.
529         * testsuite/experimental/filesystem/iterators/
530         recursive_directory_iterator.cc: Use end() function to get end
531         iterator.
532         * testsuite/experimental/filesystem/operations/last_write_time.cc:
533         Only require file timestamps to be accurate to one second.
535 2016-10-26  François Dumont  <fdumont@gcc.gnu.org>
537         * include/bits/stl_map.h (map()): Make default.
538         * include/bits/stl_multimap.h (multimap()): Likewise.
539         * include/bits/stl_multiset.h (multiset()): Likewise.
540         * include/bits/stl_set.h (set()): Likewise.
541         * include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept.
542         (_Rb_tree()): Make default.
544 2016-10-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>
546         PR libstdc++/78110
547         * libsupc++/new_opa.cc: Don't include <malloc.h> in a free standing
548         environment.  Declare memalign directly in that case.
550 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
552         * testsuite/experimental/filesystem/iterators/pop.cc: Remove
553         unreliable dependency on directory order.
555 2016-10-26  Edward Smith-Rowland  <3dw4rd@verizon.net>
557         Implement uniform_inside_sphere_distribution extension.
558         * include/ext/random: Implement uniform_inside_sphere_distribution.
559         * include/ext/random.tcc: Ditto.
560         * testsuite/ext/random/uniform_inside_sphere_distribution/
561         cons/default.cc: New.
562         * testsuite/ext/random/uniform_inside_sphere_distribution/
563         cons/parms.cc: New.
564         * testsuite/ext/random/uniform_inside_sphere_distribution/
565         operators/equal.cc: New.
566         * testsuite/ext/random/uniform_inside_sphere_distribution/
567         operators/generate.cc: New.
568         * testsuite/ext/random/uniform_inside_sphere_distribution/
569         operators/inequal.cc: New.
570         * testsuite/ext/random/uniform_inside_sphere_distribution/
571         operators/serialize.cc: New.
573 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
575         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
576         Overload pop (LWG 2706).
577         * src/filesystem/dir.cc (recursive_directory_iterator::pop): Define
578         new overload.
579         * testsuite/experimental/filesystem/iterators/pop.cc: New test.
581         * src/filesystem/dir.cc (recursive_directory_iterator::increment):
582         Reset state on error.
583         * testsuite/experimental/filesystem/iterators/
584         recursive_directory_iterator.cc: Check state after increment error.
586         PR libstdc++/78111
587         * src/filesystem/ops.cc (canonical): Set error for non-existent path.
589 2016-10-26  Uros Bizjak  <ubizjak@gmail.com>
591         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
592         for PATH_MAX in realpath test.
593         * configure: Regenerate.
595 2016-10-25  Jonathan Wakely  <jwakely@redhat.com>
597         * src/filesystem/ops.cc
598         (last_write_time(const path&, file_time_type, error_code&)): Handle
599         negative times correctly.
600         * testsuite/experimental/filesystem/operations/last_write_time.cc:
601         Test writing file times.
603         * src/filesystem/ops.cc (do_copy_file): Report an error if source or
604         destination is not a regular file (LWG 2712).
605         (equivalent): Fix error handling and result when only one file exists.
606         * testsuite/experimental/filesystem/operations/copy.cc: Remove files
607         created by tests. Test copying directories.
608         * testsuite/experimental/filesystem/operations/copy_file.cc: Remove
609         files created by tests.
610         * testsuite/experimental/filesystem/operations/equivalent.cc: New.
611         * testsuite/experimental/filesystem/operations/is_empty.cc: New.
612         * testsuite/experimental/filesystem/operations/read_symlink.cc: Remove
613         file created by test.
614         * testsuite/experimental/filesystem/operations/remove_all.cc: New.
615         * testsuite/util/testsuite_fs.h (~scoped_file): Only try to remove
616         file if path is non-empty, to support removal by other means.
618 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
620         * src/filesystem/ops.cc (is_empty): Fix error handling.
621         * testsuite/experimental/filesystem/operations/is_empty.cc: New test.
623         PR libstdc++/71337
624         * src/filesystem/ops.cc (temp_directory_path): Pass error_code
625         argument to other filesystem operations.
626         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
627         Add testcase for inaccessible directory.
629         * src/filesystem/dir.cc (open_dir): Return same value for errors
630         whether ignored or not.
631         (_Dir::advance(error_code*, directory_options)): Return false on
632         error.
633         (directory_iterator(const path&, directory_options, error_code*)):
634         Create end iterator on error (LWG 2723).
635         (recursive_directory_iterator(const path&, directory_options,
636         error_code*)): Likewise.
637         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
638         Update expected behaviour on error.
639         * testsuite/experimental/filesystem/iterators/
640         recursive_directory_iterator.cc: Likewise.
642         * src/filesystem/ops.cc (close_fd): Remove.
643         (do_copy_file): Just use close(3) instead of close_fd, to prevent
644         retrying on error.
646         * src/filesystem/ops.cc (do_copy_file): Return an error if either
647         source or destination is not a regular file.
648         (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683
649         resolutions.
650         (read_symlink): Add missing ec.clear().
651         * testsuite/experimental/filesystem/operations/copy.cc: Update
652         expected behaviour for copying directories with create_symlinks.
653         Verify that error_code arguments are cleared if there's no error.
654         * testsuite/experimental/filesystem/operations/read_symlink.cc: New.
656 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
658         Cross-port exception-safety and move fixes of std::any to
659         std::experimental::any.
660         * include/experimental/any (operator=(const any&)):
661         Make strongly exception-safe.
662         (operator=(any&&)): clear() unconditionally in the case where
663         rhs has a value.
664         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
665         * testsuite/experimental/any/assign/2.cc: Adjust.
666         * testsuite/experimental/any/assign/exception.cc: New.
667         * testsuite/experimental/any/cons/2.cc: Adjust.
668         * testsuite/experimental/any/misc/any_cast_neg.cc: Ajust.
670 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
672         Cross-port the latest resolution of LWG2756 and some
673         bug-fixes to experimental::optional.
674         PR libstdc++/77288
675         PR libstdc++/77727
676         * include/experimental/optional (_Optional_base):
677         Remove constructors that take a _Tp.
678         (__is_optional_impl, __is_optional): Remove.
679         (__converts_from_optional): New.
680         (optional(_Up&&)): Fix constraints, call base with in_place.
681         (optional(const optional<_Up>&)): Fix constraints, use emplace.
682         (optional(optional<_Up>&&)): Likewise.
683         (operator=(_Up&&)): Fix constraints.
684         (operator=(const optional<_Up>&)): Likewise.
685         (operator=(optional<_Up>&&)): Likewise.
686         (emplace(_Args&&...)): Constrain.
687         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
688         * testsuite/experimental/optional/77288.cc: New.
689         * testsuite/experimental/optional/assignment/5.cc: Adjust.
690         * testsuite/experimental/optional/cons/77727.cc: New.
691         * testsuite/experimental/optional/cons/value.cc: Adjust.
693 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
695         * include/bits/stl_vector.h (vector::_M_data_ptr, vector::data):
696         Change return type of non-standard C++98 extension to match C++11.
698 2016-10-22  François Dumont  <fdumont@gcc.gnu.org>
700         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_ALGO)
701         (_GLIBCXX_END_NAMESPACE_ALGO): Default to respectively
702         _GLIBCXX_BEGIN_NAMESPACE_VERSION and _GLIBCXX_END_NAMESPACE_VERSION.
703         (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER, _GLIBCXX_END_NAMESPACE_CONTAINER):
704         Likewise.
706 2016-10-22  Jonathan Wakely  <jwakely@redhat.com>
708         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
709         Ignore symlink_nofollow flag if file is not a symlink.
710         * testsuite/experimental/filesystem/operations/permissions.cc: Test
711         symlink_nofollow on non-symlinks.
713 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
715         * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks):
716         Replace with symlink_nofollow (LWG 2720).
717         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
718         Handle symlink_nofollow.
719         * testsuite/experimental/filesystem/operations/create_symlink.cc: New
720         test.
721         * testsuite/experimental/filesystem/operations/permissions.cc: Test
722         overload taking error_code.
724         * include/experimental/bits/fs_ops.h
725         (exists(const path&, error_code&)): Clear error if status is known
726         (LWG 2725).
727         (status(const path&, error_code&)): Handle EOVERFLOW.
728         * testsuite/experimental/filesystem/operations/exists.cc: Test
729         overload taking an error_code.
731         * include/experimental/bits/fs_path.h (path::path(string_type&&))
732         (path::operator=(string&&), path::assign(string_type&&)): Define
733         construction and assignment from string_type rvalues (LWG 2707).
735 2016-10-21  Eelis van der Weegen  <eelis@eelis.net>
737         * include/bits/stl_algo.h (__gen_two_uniform_ints): Move logic out
738         of shuffle into new function.
739         (shuffle): Call __gen_two_uniform_ints.
740         (__sample<ForwardIterator, OutputIterator, Cat, Size, URBG>): Use
741         __gen_two_uniform_ints and perform two samples at a time.
743 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
745         * include/Makefile.am: Add <bits/refwrap.h> and <bits/std_function.h>.
746         Order alphabetically.
747         * include/Makefile.in: Regenerate.
748         * include/bits/refwrap.h: New header.
749         (_Maybe_get_result_type,_Weak_result_type_impl, _Weak_result_type)
750         (_Reference_wrapper_base_impl, _Reference_wrapper_base)
751         (reference_wrapper, ref, cref): Move here from <functional>.
752         * include/bits/shared_ptr_base.h: Include <bits/refwrap.h> and
753         <bits/stl_function.h> instead of <functional>.
754         * include/bits/std_function.h: New header.
755         (_Maybe_unary_or_binary_function, bad_function_call)
756         (__is_location_invariant, _Nocopy_types, _Any_data)
757         (_Simple_type_wrapper, _Function_base, _Function_handler, function):
758         Move here from <functional>.
759         * include/bits/unique_ptr.h: Include <bits/stl_function.h>.
760         * include/std/functional: Include new headers and move components to
761         them.
762         * include/std/future: Include <bits/std_function.h> instead of
763         <functional>.
764         * include/std/mutex: Likewise.
765         * include/std/regex: Likewise.
766         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
767         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
768         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
769         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
770         lines.
771         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
772         * testsuite/30_threads/packaged_task/49668.cc: Include <functional>.
774         * libsupc++/exception_ptr.h (make_exception_ptr): Qualify new.
775         * testsuite/18_support/exception_ptr/make_exception_ptr_2.cc: New
776         test.
778 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
780         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&))
781         (shared_ptr(auto_ptr&&)): Adjust template parameter lists.
782         * include/bits/shared_ptr.h (__sp_compatible_with)
783         (__sp_is_constructible): New helper traits for shared_ptr.
784         (shared_ptr::_Convertible): Replace with _Constructible.
785         (shared_ptr::_Constructible, shared_ptr::_Assignable): Forward checks
786         to base class.
787         (shared_ptr::shared_ptr, shared_ptr::operator=): Constrain template
788         with _Constructible and _Assignable.
789         (shared_ptr::shared_ptr(shared_ptr<_Tp1>, _Tp*)): Use element_type
790         instead of _Tp.
791         (operator<): Likewise.
792         (operator>): Define in terms of operator<.
793         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
794         element_type instead of _Tp.
795         (reinterpret_pointer_cast): Define for C++17.
796         (weak_ptr::_Convertible): Replace with _Constructible.
797         (weak_ptr::_Constructible, weak_ptr::_Assignable): Forward checks
798         to base class.
799         (weak_ptr::weak_ptr, weak_ptr::operator=): Constrain templates
800         with _Constructible and _Assignable.
801         * include/bits/shared_ptr_base.h (__shared_ptr::_Convertible): Replace
802         with _Compatible.
803         (__shared_ptr::_SafeConv): New constraint for incoming raw pointers.
804         (__shared_ptr::_Compatible): New constraint for converting from
805         other types of shared_ptr and weak_ptr.
806         (__shared_ptr::_Assignable): Define in terms of _Compatible.
807         (__shared_ptr::_UniqCompatible, __shared_ptr::_UniqAssignable): New
808         constraints for converting from unique_ptr.
809         (__shared_ptr::__shared_ptr, __shared_ptr::operator=): Constrain
810         template with _SaveConf, _Compatible and _Assignable. Remove
811         __glibcxx_function_requires concept checks. Add static assertion for
812         deleter expression being well-formed.
813         (__shared_ptr::__shared_ptr(__shared_ptr<_Tp1>, _Tp*))
814         (__shared_ptr::operator*, __shared_ptr::operator->)
815         (__shared_ptr::get, __shared_ptr::_M_ptr): Use element_type instead
816         of _Tp.
817         (operator<): Likewise.
818         (operator>): Define in terms of operator<.
819         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
820         element_type instead of _Tp.
821         (reinterpret_pointer_cast): Define for C++17.
822         (weak_ptr::_Convertible): Replace with _Compatible.
823         (weak_ptr::_Compatible, weak_ptr::_Assignable): New constraints for
824         conversions from other types of weak_ptr and shared_ptr.
825         (__weak_ptr::__weak_ptr, __weak_ptr::operator=): Constrain templates
826         with _Constructible and _Assignable.
827         (__weak_ptr::_M_ptr): Use element_type instead of _Tp.
828         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Adjust
829         dg-error pattern.
830         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Test conversions.
831         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
832         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
833         * testsuite/20_util/shared_ptr/casts/reinterpret.cc: New test.
835 2016-10-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
837         Do the operator= SFINAE in the return type for optional,
838         not in the template parameters.
839         * include/std/optional (operator=(_Up&&)): Move SFINAE
840         from template parameters to the return type.
841         (operator=(const optional<_Up>&)): Likewise.
842         (operator=(optional<_Up>&&)): Likewise.
844 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
846         * include/bits/allocator.h: Remove trailing whitespace, tab-indent.
847         * include/ext/new_allocator.h: Likewise.
849         PR libstdc++/78052
850         * include/bits/allocator.h (allocator<void>::construct)
851         (allocator<void>::destroy): Define.
852         * testsuite/20_util/allocator/void.cc: New test.
854         * testsuite/20_util/enable_shared_from_this/56383.cc: Add tests for
855         additional ambiguous cases.
857 2016-10-19  Jonathan Wakely  <jwakely@redhat.com>
859         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&)): Call
860         _M_enable_shared_from_this_with instead of
861         __enable_shared_from_this_helper.
862         * include/bits/shared_ptr.h (__enable_shared_from_this_helper):
863         Remove overload for std::enable_shared_from_this..
864         (__enable_shared_from_this_base): Define friend function to select a
865         std::enable_shared_from_this base class.
866         * include/bits/shared_ptr_base.h (__enable_shared_from_this_helper):
867         Remove all overloads.
868         (__shared_ptr): Change all relevant constructors to call
869         _M_enable_shared_from_this_with instead of
870         __enable_shared_from_this_helper.
871         (__shared_ptr::__efst_base_t, __shared_ptr::__has_efst_base): Helpers
872         to detect accessible and unambiguous enable_shared_from_this bases.
873         (__shared_ptr::_M_enable_shared_from_this_with): New function to
874         replace __enable_shared_from_this_helper overloads.
875         (__enable_shared_from_this_helper): Remove overload for
876         std::__enable_shared_from_this.
877         (__enable_shared_from_this_base): Define friend function to select a
878         std::__enable_shared_from_this base class.
879         * include/experimental/bits/shared_ptr.h (experimental::shared_ptr):
880         Change relevant constructors to call _M_enable_shared_from_this_with.
881         (experimental::shared_ptr::__efst_base_t)
882         (experimental::shared_ptr::__has_efst_base): Helpers to detect
883         accessible and unambiguous enable_shared_from_this bases.
884         (experimental::shared_ptr::_M_enable_shared_from_this_with): Define.
885         (experimental::__enable_shared_from_this_helper): Remove overload for
886         std::experimental::enable_shared_from_this.
887         (experimental::__expt_enable_shared_from_this_base): Define friend
888         function to select a std::experimental::enable_shared_from_this base.
889         * testsuite/experimental/memory/shared_ptr/cons/
890         enable_shared_from_this.cc: New test.
891         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
892         Adjust expected behaviour for shared_ptr<A[]>.
894         * include/debug/vector (__gnu_debug::vector::emplace_back): Fix return
895         type.
897         * include/backward/auto_ptr.h (dauto_ptr): Correct comment about
898         conversions from auto_ptr<Derived> rvalues to auto_ptr<Base>.
899         * testsuite/20_util/auto_ptr/assign_neg.cc: Remove redundant dg-error
900         directives that only match notes, not errors.
902         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
903         Add tests for valid and invalid conversions.
904         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
905         Likewise.
907         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests
908         to new file.
909         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file.  Fix
910         test for incompatible deleters to not also use incompatible types.
911         Add tests for incompatible array types.
913         * include/experimental/bits/shared_ptr.h
914         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_Compatible): Just use
915         is_convertible for non-array specialization.
916         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_UniqCompatible): New
917         constraint for conversions from unique_ptr.
918         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::__shared_ptr): Constrain.
919         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::reset): Likewise.
920         (__sp_compatible_v): New variable template for trait.
921         (__sp_is_constructible): New trait to check shared_ptr constraints.
922         (__sp_is_constructible_v): New variable template for trait.
923         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_SafeConv): New
924         constraint for construction/reset, using __sp_is_constructible_v.
925         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_UniqCompatible): New
926         constraint for conversions from unique_ptr.
927         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::__shared_ptr): Constrain.
928         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::reset): Likewise.
929         (shared_ptr::_SafeConv): Constraint for checking constructors.
930         (shared_ptr(Tp1*), shared_ptr(_Tp1, _Deleter))
931         (shared_ptr(_Tp1, _Deleter, _Alloc)): Constrain with _SafeConv.
932         (shared_ptr(const weak_ptr<_Tp1>&)): Constrain with _Compatible.
933         (shared_ptr(auto_ptr<_Tp1>&&)): Fix, remove TODO.
934         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
935         Remove tests using invalid conversions.
936         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc:
937         New test.
938         * testsuite/experimental/memory/shared_ptr/cons/torture.cc: New test.
939         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Remove
940         tests using invalid conversions.
941         * testsuite/experimental/memory/shared_ptr/modifiers/reset_neg.cc: New
942         test.
943         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
944         Remove tests using invalid conversions.
946         PR libstdc++/77990
947         * include/bits/unique_ptr.h (__uniq_ptr_impl): New type to
948         encapsulate implementation details.
949         (unique_ptr::unique_ptr(_Up)): Don't copy deleter object.
950         (unique_ptr::get, unique_ptr::get_deleter, unique_ptr::release):
951         Call member functions of implementation object.
952         (unique_ptr<T[], D>): Likewise.
953         * python/libstdcxx/v6/printers.py (UniquePointerPrinter): Adjust for
954         new implementation.
955         * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Likewise.
956         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
957         lines.
958         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
959         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
960         * testsuite/20_util/unique_ptr/cons/77990.cc: New test.
962 2016-10-18  Jonathan Wakely  <jwakely@redhat.com>
964         * include/experimental/bits/shared_ptr.h: Fix indentation.
966         * include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)):
967         Remove const from parameter.
968         (operator<(const shared_ptr<T>&, nullptr_t)): Use correct
969         specialization of std::less.
970         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
971         Test comparison with nullptr and actually call test functions.
973         * include/bits/uses_allocator.h (__is_uses_allocator_constructible_v)
974         (__is_nothrow_uses_allocator_constructible_v): Only define for C++14
975         and later.
977 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
979         * testsuite/27_io/basic_filebuf/close/12790-1.cc: Remove 'test'
980         variables.
981         * testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
982         * testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Likewise.
983         * testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Likewise.
984         * testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
985         * testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Likewise.
986         * testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
987         * testsuite/27_io/basic_filebuf/close/char/3.cc: Likewise.
988         * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise.
989         * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise.
990         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc: Likewise.
991         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc: Likewise.
992         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
993         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc: Likewise.
994         * testsuite/27_io/basic_filebuf/cons/2020.cc: Likewise.
995         * testsuite/27_io/basic_filebuf/cons/char/1.cc: Likewise.
996         * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
997         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: Likewise.
998         * testsuite/27_io/basic_filebuf/imbue/12206.cc: Likewise.
999         * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
1000         * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
1001         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
1002         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
1003         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
1004         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
1005         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
1006         * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
1007         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise.
1008         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
1009         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
1010         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
1011         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
1012         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
1013         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
1014         * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
1015         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
1016         * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Likewise.
1017         * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise.
1018         * testsuite/27_io/basic_filebuf/open/12790-1.cc: Likewise.
1019         * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
1020         * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
1021         * testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise.
1022         * testsuite/27_io/basic_filebuf/open/char/4.cc: Likewise.
1023         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1024         * testsuite/27_io/basic_filebuf/overflow/char/1.cc: Likewise.
1025         * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Likewise.
1026         * testsuite/27_io/basic_filebuf/overflow/char/2.cc: Likewise.
1027         * testsuite/27_io/basic_filebuf/overflow/char/3599.cc: Likewise.
1028         * testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Likewise.
1029         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Likewise.
1030         * testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Likewise.
1031         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
1032         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
1033         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
1034         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
1035         * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Likewise.
1036         * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise.
1037         * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise.
1038         * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise.
1039         * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise.
1040         * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise.
1041         * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise.
1042         * testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Likewise.
1043         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
1044         * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Likewise.
1045         * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Likewise.
1046         * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Likewise.
1047         * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise.
1048         * testsuite/27_io/basic_filebuf/seekoff/45628-2.cc: Likewise.
1049         * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
1050         * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise.
1051         * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
1052         * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Likewise.
1053         * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: Likewise.
1054         * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Likewise.
1055         * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Likewise.
1056         * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Likewise.
1057         * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Likewise.
1058         * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
1059         * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
1060         * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
1061         * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise.
1062         * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise.
1063         * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
1064         * testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Likewise.
1065         * testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: Likewise.
1066         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
1067         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: Likewise.
1068         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc: Likewise.
1069         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc: Likewise.
1070         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc: Likewise.
1071         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc: Likewise.
1072         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise.
1073         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Likewise.
1074         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.
1075         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
1076         Likewise.
1077         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
1078         * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Likewise.
1079         * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Likewise.
1080         * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Likewise.
1081         * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise.
1082         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
1083         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise.
1084         * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Likewise.
1085         * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Likewise.
1086         * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc: Likewise.
1087         * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Likewise.
1088         * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise.
1089         * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
1090         * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise.
1091         * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
1092         * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise.
1093         * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
1094         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Likewise.
1095         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc: Likewise.
1096         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc: Likewise.
1097         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc: Likewise.
1098         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc: Likewise.
1099         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
1100         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
1101         Likewise.
1102         * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
1103         * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Likewise.
1104         * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
1105         * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Likewise.
1106         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1107         * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise.
1108         * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise.
1109         * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise.
1110         * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise.
1111         * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise.
1112         * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise.
1113         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise.
1114         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
1115         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise.
1116         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
1117         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
1118         * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise.
1119         * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise.
1120         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise.
1121         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Likewise.
1122         * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise.
1123         * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise.
1124         * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise.
1125         * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise.
1126         * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise.
1127         * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise.
1128         * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Likewise.
1129         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Likewise.
1130         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
1131         * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Likewise.
1132         * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Likewise.
1133         * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
1134         * testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Likewise.
1135         * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise.
1136         * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise.
1137         * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise.
1138         * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise.
1139         * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise.
1140         * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise.
1141         * testsuite/27_io/basic_filebuf/sputc/char/59427.cc: Likewise.
1142         * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Likewise.
1143         * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise.
1144         * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise.
1145         * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise.
1146         * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Likewise.
1147         * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise.
1148         * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise.
1149         * testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.
1150         * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Likewise.
1151         * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Likewise.
1152         * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise.
1153         * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise.
1154         * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise.
1155         * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise.
1156         * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise.
1157         * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise.
1158         * testsuite/27_io/basic_filebuf/sync/char/1057.cc: Likewise.
1159         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Likewise.
1160         * testsuite/27_io/basic_filebuf/underflow/char/1.cc: Likewise.
1161         * testsuite/27_io/basic_filebuf/underflow/char/2.cc: Likewise.
1162         * testsuite/27_io/basic_filebuf/underflow/char/3.cc: Likewise.
1163         * testsuite/27_io/basic_filebuf/underflow/char/45841.cc: Likewise.
1164         * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: Likewise.
1165         * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
1166         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise.
1167         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise.
1168         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise.
1169         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise.
1170         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: Likewise.
1171         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Likewise.
1172         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise.
1173         * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
1174         * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
1175         * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise.
1176         * testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise.
1177         * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise.
1178         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Likewise.
1179         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
1180         * testsuite/27_io/basic_fstream/cons/1.cc: Likewise.
1181         * testsuite/27_io/basic_fstream/rdbuf/char/2832.cc: Likewise.
1182         * testsuite/27_io/basic_ifstream/cons/2020.cc: Likewise.
1183         * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise.
1184         * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise.
1185         * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise.
1186         * testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
1187         * testsuite/27_io/basic_ios/cons/2020.cc: Likewise.
1188         * testsuite/27_io/basic_ios/cons/char/1.cc: Likewise.
1189         * testsuite/27_io/basic_ios/cons/char/2.cc: Likewise.
1190         * testsuite/27_io/basic_ios/cons/char/3.cc: Likewise.
1191         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
1192         * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
1193         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
1194         * testsuite/27_io/basic_ios/imbue/14072.cc: Likewise.
1195         * testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
1196         * testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
1197         * testsuite/27_io/basic_istream/cons/3.cc: Likewise.
1198         * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Likewise.
1199         * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: Likewise.
1200         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1201         Likewise.
1202         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1203         Likewise.
1204         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1205         Likewise.
1206         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1207         Likewise.
1208         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1209         Likewise.
1210         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1211         Likewise.
1212         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1213         Likewise.
1214         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1215         Likewise.
1216         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1217         Likewise.
1218         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1219         Likewise.
1220         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1221         Likewise.
1222         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
1223         Likewise.
1224         * testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc:
1225         Likewise.
1226         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1227         exceptions_badbit_throw.cc: Likewise.
1228         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1229         exceptions_failbit.cc: Likewise.
1230         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1231         exceptions_failbit_throw.cc: Likewise.
1232         * testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc:
1233         Likewise.
1234         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
1235         Likewise.
1236         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc:
1237         Likewise.
1238         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc:
1239         Likewise.
1240         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc:
1241         Likewise.
1242         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
1243         Likewise.
1244         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc:
1245         Likewise.
1246         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
1247         Likewise.
1248         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
1249         Likewise.
1250         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc:
1251         Likewise.
1252         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1253         Likewise.
1254         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
1255         Likewise.
1256         * testsuite/27_io/basic_istream/extractors_arithmetic/
1257         wchar_t/9555-ia.cc: Likewise.
1258         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1259         dr696.cc: Likewise.
1260         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1261         exceptions_badbit_throw.cc: Likewise.
1262         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1263         exceptions_failbit.cc: Likewise.
1264         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1265         exceptions_failbit_throw.cc: Likewise.
1266         * testsuite/27_io/basic_istream/extractors_character/char/1.cc:
1267         Likewise.
1268         * testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc:
1269         Likewise.
1270         * testsuite/27_io/basic_istream/extractors_character/char/2.cc:
1271         Likewise.
1272         * testsuite/27_io/basic_istream/extractors_character/char/3.cc:
1273         Likewise.
1274         * testsuite/27_io/basic_istream/extractors_character/char/4.cc:
1275         Likewise.
1276         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1277         Likewise.
1278         * testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc:
1279         Likewise.
1280         * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
1281         Likewise.
1282         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1283         11095-i.cc: Likewise.
1284         * testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc:
1285         Likewise.
1286         * testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc:
1287         Likewise.
1288         * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
1289         Likewise.
1290         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1291         9555-ic.cc: Likewise.
1292         * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
1293         * testsuite/27_io/basic_istream/extractors_other/char/2.cc: Likewise.
1294         * testsuite/27_io/basic_istream/extractors_other/char/26181.cc:
1295         Likewise.
1296         * testsuite/27_io/basic_istream/extractors_other/char/3.cc: Likewise.
1297         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1298         Likewise.
1299         * testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc:
1300         Likewise.
1301         * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
1302         Likewise.
1303         * testsuite/27_io/basic_istream/extractors_other/char/
1304         error_failbit.cc: Likewise.
1305         * testsuite/27_io/basic_istream/extractors_other/char/
1306         exceptions_badbit_throw.cc: Likewise.
1307         * testsuite/27_io/basic_istream/extractors_other/char/
1308         exceptions_failbit_throw.cc: Likewise.
1309         * testsuite/27_io/basic_istream/extractors_other/char/
1310         exceptions_null.cc: Likewise.
1311         * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc:
1312         Likewise.
1313         * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc: Likewise.
1314         * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: Likewise.
1315         * testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
1316         Likewise.
1317         * testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc: Likewise.
1318         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc:
1319         Likewise.
1320         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc:
1321         Likewise.
1322         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc:
1323         Likewise.
1324         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1325         error_failbit.cc: Likewise.
1326         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1327         exceptions_badbit_throw.cc: Likewise.
1328         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1329         exceptions_failbit_throw.cc: Likewise.
1330         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1331         exceptions_null.cc: Likewise.
1332         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1333         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1334         * testsuite/27_io/basic_istream/get/char/3.cc: Likewise.
1335         * testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
1336         * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
1337         * testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise.
1338         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1339         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1340         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1341         * testsuite/27_io/basic_istream/getline/char/4.cc: Likewise.
1342         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
1343         * testsuite/27_io/basic_istream/getline/char/6.cc: Likewise.
1344         * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
1345         * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Likewise.
1346         * testsuite/27_io/basic_istream/getline/wchar_t/3.cc: Likewise.
1347         * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise.
1348         * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Likewise.
1349         * testsuite/27_io/basic_istream/getline/wchar_t/6.cc: Likewise.
1350         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1351         * testsuite/27_io/basic_istream/ignore/char/2.cc: Likewise.
1352         * testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise.
1353         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1354         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1355         * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
1356         * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
1357         * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
1358         * testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise.
1359         * testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise.
1360         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1361         * testsuite/27_io/basic_istream/peek/char/12296.cc: Likewise.
1362         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1363         * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
1364         * testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
1365         * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
1366         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1367         * testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
1368         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1369         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1370         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1371         * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
1372         * testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
1373         * testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
1374         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc: Likewise.
1375         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Likewise.
1376         * testsuite/27_io/basic_istream/readsome/char/8258.cc: Likewise.
1377         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
1378         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
1379         * testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
1380         * testsuite/27_io/basic_istream/seekg/char/2.cc: Likewise.
1381         * testsuite/27_io/basic_istream/seekg/char/26211.cc: Likewise.
1382         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1383         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1384         * testsuite/27_io/basic_istream/seekg/char/
1385         exceptions_badbit_throw.cc: Likewise.
1386         * testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise.
1387         * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise.
1388         * testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
1389         * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
1390         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
1391         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
1392         * testsuite/27_io/basic_istream/seekg/wchar_t/
1393         exceptions_badbit_throw.cc: Likewise.
1394         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
1395         * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
1396         * testsuite/27_io/basic_istream/sentry/char/1.cc: Likewise.
1397         * testsuite/27_io/basic_istream/sentry/char/2.cc: Likewise.
1398         * testsuite/27_io/basic_istream/sentry/char/3.cc: Likewise.
1399         * testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise.
1400         * testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
1401         * testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
1402         * testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
1403         * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise.
1404         * testsuite/27_io/basic_istream/tellg/char/2.cc: Likewise.
1405         * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
1406         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1407         * testsuite/27_io/basic_istream/tellg/char/
1408         exceptions_badbit_throw.cc: Likewise.
1409         * testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise.
1410         * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise.
1411         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
1412         * testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
1413         * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
1414         * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
1415         * testsuite/27_io/basic_istream/tellg/wchar_t/
1416         exceptions_badbit_throw.cc: Likewise.
1417         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
1418         * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
1419         * testsuite/27_io/basic_istream/ws/char/1.cc: Likewise.
1420         * testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
1421         * testsuite/27_io/basic_istringstream/cons/2020.cc: Likewise.
1422         * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Likewise.
1423         * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: Likewise.
1424         * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
1425         * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
1426         * testsuite/27_io/basic_ofstream/cons/2020.cc: Likewise.
1427         * testsuite/27_io/basic_ofstream/cons/char/1.cc: Likewise.
1428         * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
1429         * testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Likewise.
1430         * testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
1431         * testsuite/27_io/basic_ostream/cons/char/9827.cc: Likewise.
1432         * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: Likewise.
1433         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1434         * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
1435         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
1436         * testsuite/27_io/basic_ostream/ends/char/2.cc: Likewise.
1437         * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
1438         * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
1439         * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise.
1440         * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
1441         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1442         * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
1443         * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
1444         Likewise.
1445         * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
1446         * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
1447         * testsuite/27_io/basic_ostream/flush/wchar_t/
1448         exceptions_badbit_throw.cc: Likewise.
1449         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1450         Likewise.
1451         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1452         Likewise.
1453         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc:
1454         Likewise.
1455         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc:
1456         Likewise.
1457         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc:
1458         Likewise.
1459         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc:
1460         Likewise.
1461         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc:
1462         Likewise.
1463         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
1464         Likewise.
1465         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
1466         Likewise.
1467         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1468         exceptions_badbit_throw.cc: Likewise.
1469         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1470         exceptions_failbit_throw.cc: Likewise.
1471         * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc:
1472         Likewise.
1473         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1474         Likewise.
1475         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
1476         Likewise.
1477         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc:
1478         Likewise.
1479         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc:
1480         Likewise.
1481         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc:
1482         Likewise.
1483         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc:
1484         Likewise.
1485         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc:
1486         Likewise.
1487         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
1488         Likewise.
1489         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1490         9555-oa.cc: Likewise.
1491         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1492         exceptions_badbit_throw.cc: Likewise.
1493         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1494         exceptions_failbit_throw.cc: Likewise.
1495         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc:
1496         Likewise.
1497         * testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc:
1498         Likewise.
1499         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc:
1500         Likewise.
1501         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc: Likewise.
1502         * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
1503         Likewise.
1504         * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
1505         Likewise.
1506         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc: Likewise.
1507         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc: Likewise.
1508         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc: Likewise.
1509         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc: Likewise.
1510         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc: Likewise.
1511         * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
1512         Likewise.
1513         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1514         11095-od.cc: Likewise.
1515         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1516         11095-oe.cc: Likewise.
1517         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1518         11095-of.cc: Likewise.
1519         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc:
1520         Likewise.
1521         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1522         28277-1.cc: Likewise.
1523         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1524         28277-2.cc: Likewise.
1525         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1526         28277-3.cc: Likewise.
1527         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1528         28277-4.cc: Likewise.
1529         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc:
1530         Likewise.
1531         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc:
1532         Likewise.
1533         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc:
1534         Likewise.
1535         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc:
1536         Likewise.
1537         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1538         Likewise.
1539         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1540         Likewise.
1541         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1542         9555-oc.cc: Likewise.
1543         * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
1544         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Likewise.
1545         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Likewise.
1546         * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: Likewise.
1547         * testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc:
1548         Likewise.
1549         * testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc:
1550         Likewise.
1551         * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
1552         Likewise.
1553         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
1554         Likewise.
1555         * testsuite/27_io/basic_ostream/inserters_other/char/
1556         error_failbit.cc: Likewise.
1557         * testsuite/27_io/basic_ostream/inserters_other/char/
1558         exceptions_badbit_throw.cc: Likewise.
1559         * testsuite/27_io/basic_ostream/inserters_other/char/
1560         exceptions_failbit_throw.cc: Likewise.
1561         * testsuite/27_io/basic_ostream/inserters_other/char/
1562         exceptions_null.cc: Likewise.
1563         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: Likewise.
1564         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc: Likewise.
1565         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc: Likewise.
1566         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc: Likewise.
1567         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1568         9318-out.cc: Likewise.
1569         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1570         9424-out.cc: Likewise.
1571         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1572         9555-oo.cc: Likewise.
1573         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1574         error_code.cc: Likewise.
1575         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1576         error_failbit.cc: Likewise.
1577         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1578         exceptions_badbit_throw.cc: Likewise.
1579         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1580         exceptions_failbit_throw.cc: Likewise.
1581         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1582         exceptions_null.cc: Likewise.
1583         * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
1584         * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
1585         * testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Likewise.
1586         * testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc: Likewise.
1587         * testsuite/27_io/basic_ostream/seekp/char/
1588         exceptions_badbit_throw.cc: Likewise.
1589         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc: Likewise.
1590         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc: Likewise.
1591         * testsuite/27_io/basic_ostream/seekp/wchar_t/
1592         exceptions_badbit_throw.cc: Likewise.
1593         * testsuite/27_io/basic_ostream/sentry/char/1.cc: Likewise.
1594         * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
1595         * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
1596         * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
1597         * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
1598         * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
1599         * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
1600         * testsuite/27_io/basic_ostream/tellp/char/
1601         exceptions_badbit_throw.cc: Likewise.
1602         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
1603         * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
1604         * testsuite/27_io/basic_ostream/tellp/wchar_t/
1605         exceptions_badbit_throw.cc: Likewise.
1606         * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
1607         * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
1608         * testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise.
1609         * testsuite/27_io/basic_ostringstream/cons/char/3.cc: Likewise.
1610         * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
1611         * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: Likewise.
1612         * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
1613         * testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise.
1614         * testsuite/27_io/basic_ostringstream/str/char/2.cc: Likewise.
1615         * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
1616         * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
1617         * testsuite/27_io/basic_streambuf/cons/2020.cc: Likewise.
1618         * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
1619         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Likewise.
1620         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
1621         * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise.
1622         * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
1623         * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
1624         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise.
1625         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
1626         * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
1627         * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: Likewise.
1628         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Likewise.
1629         * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
1630         * testsuite/27_io/basic_streambuf/overflow/char/2.cc: Likewise.
1631         * testsuite/27_io/basic_streambuf/overflow/char/3599.cc: Likewise.
1632         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
1633         * testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc: Likewise.
1634         * testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc: Likewise.
1635         * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
1636         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
1637         * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
1638         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
1639         * testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc: Likewise.
1640         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
1641         * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
1642         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
1643         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
1644         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
1645         * testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise.
1646         * testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise.
1647         * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
1648         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Likewise.
1649         * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
1650         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Likewise.
1651         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
1652         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Likewise.
1653         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
1654         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Likewise.
1655         * testsuite/27_io/basic_stringbuf/overflow/char/2.cc: Likewise.
1656         * testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: Likewise.
1657         * testsuite/27_io/basic_stringbuf/overflow/char/3599.cc: Likewise.
1658         * testsuite/27_io/basic_stringbuf/overflow/char/9988.cc: Likewise.
1659         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc: Likewise.
1660         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc: Likewise.
1661         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Likewise.
1662         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc: Likewise.
1663         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc: Likewise.
1664         * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: Likewise.
1665         * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
1666         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
1667         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
1668         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
1669         * testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc: Likewise.
1670         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
1671         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc: Likewise.
1672         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise.
1673         * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: Likewise.
1674         * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: Likewise.
1675         * testsuite/27_io/basic_stringbuf/seekoff/char/2.cc: Likewise.
1676         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
1677         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
1678         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: Likewise.
1679         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc: Likewise.
1680         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
1681         * testsuite/27_io/basic_stringbuf/seekpos/char/2.cc: Likewise.
1682         * testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: Likewise.
1683         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Likewise.
1684         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
1685         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc: Likewise.
1686         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: Likewise.
1687         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc: Likewise.
1688         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Likewise.
1689         * testsuite/27_io/basic_stringbuf/setbuf/char/2.cc: Likewise.
1690         * testsuite/27_io/basic_stringbuf/setbuf/char/3.cc: Likewise.
1691         * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: Likewise.
1692         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Likewise.
1693         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc: Likewise.
1694         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc: Likewise.
1695         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
1696         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise.
1697         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
1698         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
1699         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
1700         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
1701         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
1702         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise.
1703         * testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc: Likewise.
1704         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise.
1705         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc: Likewise.
1706         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Likewise.
1707         * testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc: Likewise.
1708         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Likewise.
1709         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc: Likewise.
1710         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Likewise.
1711         * testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc: Likewise.
1712         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Likewise.
1713         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc: Likewise.
1714         * testsuite/27_io/basic_stringbuf/str/char/1.cc: Likewise.
1715         * testsuite/27_io/basic_stringbuf/str/char/2.cc: Likewise.
1716         * testsuite/27_io/basic_stringbuf/str/char/3.cc: Likewise.
1717         * testsuite/27_io/basic_stringbuf/str/char/3955.cc: Likewise.
1718         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Likewise.
1719         * testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc: Likewise.
1720         * testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc: Likewise.
1721         * testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc: Likewise.
1722         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
1723         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
1724         * testsuite/27_io/basic_stringbuf/sync/char/1057.cc: Likewise.
1725         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
1726         * testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise.
1727         * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Likewise.
1728         * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: Likewise.
1729         * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
1730         * testsuite/27_io/basic_stringstream/str/char/2.cc: Likewise.
1731         * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
1732         * testsuite/27_io/basic_stringstream/str/char/4.cc: Likewise.
1733         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
1734         * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
1735         * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
1736         * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
1737         * testsuite/27_io/fpos/11450.cc: Likewise.
1738         * testsuite/27_io/fpos/14252.cc: Likewise.
1739         * testsuite/27_io/fpos/14320-1.cc: Likewise.
1740         * testsuite/27_io/fpos/14320-2.cc: Likewise.
1741         * testsuite/27_io/fpos/14320-3.cc: Likewise.
1742         * testsuite/27_io/fpos/14320-4.cc: Likewise.
1743         * testsuite/27_io/fpos/14320-5.cc: Likewise.
1744         * testsuite/27_io/fpos/14775.cc: Likewise.
1745         * testsuite/27_io/fpos/mbstate_t/1.cc: Likewise.
1746         * testsuite/27_io/fpos/mbstate_t/12065.cc: Likewise.
1747         * testsuite/27_io/fpos/mbstate_t/2.cc: Likewise.
1748         * testsuite/27_io/fpos/mbstate_t/3.cc: Likewise.
1749         * testsuite/27_io/ios_base/callbacks/1.cc: Likewise.
1750         * testsuite/27_io/ios_base/failure/what-1.cc: Likewise.
1751         * testsuite/27_io/ios_base/failure/what-2.cc: Likewise.
1752         * testsuite/27_io/ios_base/failure/what-3.cc: Likewise.
1753         * testsuite/27_io/ios_base/failure/what-big.cc: Likewise.
1754         * testsuite/27_io/ios_base/state/1.cc: Likewise.
1755         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
1756         * testsuite/27_io/ios_base/storage/11584.cc: Likewise.
1757         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1758         * testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise.
1759         * testsuite/27_io/manipulators/adjustfield/char/1.cc: Likewise.
1760         * testsuite/27_io/manipulators/adjustfield/char/2.cc
1761         * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: Likewise.
1762         * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
1763         * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
1764         * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
1765         * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
1766         * testsuite/27_io/manipulators/extended/get_money/char/51288.cc:
1767         Likewise.
1768         * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
1769         Likewise.
1770         * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
1771         Likewise.
1772         * testsuite/27_io/manipulators/extended/get_time/char/1.cc
1773         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
1774         * testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: Likewise.
1775         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Likewise.
1776         * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
1777         * testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
1778         Likewise.
1779         * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
1780         Likewise.
1781         * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
1782         Likewise.
1783         * testsuite/27_io/manipulators/extended/put_time/char/1.cc: Likewise.
1784         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
1785         * testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: Likewise.
1786         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Likewise.
1787         * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
1788         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
1789         * testsuite/27_io/manipulators/standard/char/dr2344.cc: Likewise.
1790         * testsuite/27_io/manipulators/standard/char/quoted.cc: Likewise.
1791         * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
1792         * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
1793         * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: Likewise.
1794         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Likewise.
1795         * testsuite/27_io/objects/char/1.cc: Likewise.
1796         * testsuite/27_io/objects/char/10.cc: Likewise.
1797         * testsuite/27_io/objects/char/3045.cc: Likewise.
1798         * testsuite/27_io/objects/char/41037.cc: Likewise.
1799         * testsuite/27_io/objects/char/5.cc: Likewise.
1800         * testsuite/27_io/objects/char/6.cc: Likewise.
1801         * testsuite/27_io/objects/char/6548_xin.cc: Likewise.
1802         * testsuite/27_io/objects/char/6648-1_xin.cc: Likewise.
1803         * testsuite/27_io/objects/char/6648-2_xin.cc: Likewise.
1804         * testsuite/27_io/objects/char/7744_xin.cc: Likewise.
1805         * testsuite/27_io/objects/char/8.cc: Likewise.
1806         * testsuite/27_io/objects/char/9.cc: Likewise.
1807         * testsuite/27_io/objects/char/9661-2_xin.cc: Likewise.
1808         * testsuite/27_io/objects/char/dr455.cc: Likewise.
1809         * testsuite/27_io/objects/wchar_t/1.cc: Likewise.
1810         * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
1811         * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
1812         * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
1813         * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
1814         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
1815         * testsuite/27_io/objects/wchar_t/3045.cc: Likewise.
1816         * testsuite/27_io/objects/wchar_t/41037.cc: Likewise.
1817         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
1818         * testsuite/27_io/objects/wchar_t/6548_xin.cc: Likewise.
1819         * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: Likewise.
1820         * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: Likewise.
1821         * testsuite/27_io/objects/wchar_t/7744_xin.cc: Likewise.
1822         * testsuite/27_io/objects/wchar_t/8.cc: Likewise.
1823         * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
1824         * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: Likewise.
1825         * testsuite/27_io/objects/wchar_t/9662.cc: Likewise.
1826         * testsuite/27_io/objects/wchar_t/dr455.cc: Likewise.
1827         * testsuite/27_io/types/3.cc: Likewise.
1829 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1831         PR libstdc++/77994
1832         * include/bits/stl_algo.h (sample): Convert size argument to iterator
1833         difference type.
1834         * include/experimental/algorithm (experimental::sample): Likewise.
1835         * testsuite/25_algorithms/sample/2.cc: New test.
1837 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1839         * testsuite/unordered_map/insert/57619.C: Rename to 57619.cc.
1840         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
1842 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1844         * testsuite/array/capacity/empty.cc: Remove 'test' variables.
1845         * testsuite/array/capacity/max_size.cc: Likewise.
1846         * testsuite/array/capacity/size.cc: Likewise.
1847         * testsuite/array/comparison_operators/equal.cc: Likewise.
1848         * testsuite/array/comparison_operators/greater.cc: Likewise.
1849         * testsuite/array/comparison_operators/greater_or_equal.cc: Likewise.
1850         * testsuite/array/comparison_operators/less.cc: Likewise.
1851         * testsuite/array/comparison_operators/less_or_equal.cc: Likewise.
1852         * testsuite/array/comparison_operators/not_equal.cc: Likewise.
1853         * testsuite/array/element_access/54388.cc: Likewise.
1854         * testsuite/array/element_access/at_out_of_range.cc: Likewise.
1855         * testsuite/array/element_access/back.cc: Likewise.
1856         * testsuite/array/element_access/data.cc: Likewise.
1857         * testsuite/array/element_access/front.cc: Likewise.
1858         * testsuite/array/iterators/end_is_one_past.cc: Likewise.
1859         * testsuite/array/requirements/contiguous.cc: Likewise.
1860         * testsuite/array/requirements/fill.cc: Likewise.
1861         * testsuite/array/requirements/member_swap.cc: Likewise.
1862         * testsuite/array/requirements/zero_sized_arrays.cc: Likewise.
1863         * testsuite/array/specialized_algorithms/swap.cc: Likewise.
1864         * testsuite/array/tuple_interface/tuple_element.cc: Likewise.
1865         * testsuite/array/tuple_interface/tuple_element_cpp14.cc: Likewise.
1866         * testsuite/array/tuple_interface/tuple_size.cc: Likewise.
1867         * testsuite/bitset/all/1.cc: Likewise.
1868         * testsuite/bitset/cons/1.cc: Likewise.
1869         * testsuite/bitset/cons/16020.cc: Likewise.
1870         * testsuite/bitset/cons/2.cc: Likewise.
1871         * testsuite/bitset/cons/3.cc: Likewise.
1872         * testsuite/bitset/cons/50268.cc: Likewise.
1873         * testsuite/bitset/cons/6282.cc: Likewise.
1874         * testsuite/bitset/cons/dr1325-2.cc: Likewise.
1875         * testsuite/bitset/cons/dr396.cc: Likewise.
1876         * testsuite/bitset/ext/15361.cc: Likewise.
1877         * testsuite/bitset/input/1.cc: Likewise.
1878         * testsuite/bitset/operations/1.cc: Likewise.
1879         * testsuite/bitset/operations/13838.cc: Likewise.
1880         * testsuite/bitset/operations/2.cc: Likewise.
1881         * testsuite/bitset/test/1.cc: Likewise.
1882         * testsuite/bitset/to_string/1.cc: Likewise.
1883         * testsuite/bitset/to_string/dr396.cc: Likewise.
1884         * testsuite/bitset/to_ullong/1.cc: Likewise.
1885         * testsuite/bitset/to_ulong/1.cc: Likewise.
1886         * testsuite/deque/allocator/copy.cc: Likewise.
1887         * testsuite/deque/allocator/copy_assign.cc: Likewise.
1888         * testsuite/deque/allocator/ext_ptr.cc: Likewise.
1889         * testsuite/deque/allocator/minimal.cc: Likewise.
1890         * testsuite/deque/allocator/move.cc: Likewise.
1891         * testsuite/deque/allocator/move_assign.cc: Likewise.
1892         * testsuite/deque/allocator/swap.cc: Likewise.
1893         * testsuite/deque/capacity/29134-2.cc: Likewise.
1894         * testsuite/deque/capacity/29134.cc: Likewise.
1895         * testsuite/deque/capacity/moveable.cc: Likewise.
1896         * testsuite/deque/capacity/resize_size.cc: Likewise.
1897         * testsuite/deque/capacity/shrink_to_fit.cc: Likewise.
1898         * testsuite/deque/cons/1.cc: Likewise.
1899         * testsuite/deque/cons/2.cc: Likewise.
1900         * testsuite/deque/cons/assign/1.cc: Likewise.
1901         * testsuite/deque/cons/cons_size.cc: Likewise.
1902         * testsuite/deque/cons/moveable.cc: Likewise.
1903         * testsuite/deque/modifiers/erase/1.cc: Likewise.
1904         * testsuite/deque/modifiers/erase/2.cc: Likewise.
1905         * testsuite/deque/modifiers/erase/3.cc: Likewise.
1906         * testsuite/deque/modifiers/erase/moveable.cc: Likewise.
1907         * testsuite/deque/modifiers/moveable.cc: Likewise.
1908         * testsuite/deque/modifiers/push_back/49836.cc: Likewise.
1909         * testsuite/deque/modifiers/push_front/49836.cc: Likewise.
1910         * testsuite/deque/modifiers/swap/1.cc: Likewise.
1911         * testsuite/deque/modifiers/swap/2.cc: Likewise.
1912         * testsuite/deque/modifiers/swap/3.cc: Likewise.
1913         * testsuite/deque/operators/1.cc: Likewise.
1914         * testsuite/deque/operators/2.cc: Likewise.
1915         * testsuite/forward_list/allocator/copy.cc: Likewise.
1916         * testsuite/forward_list/allocator/copy_assign.cc: Likewise.
1917         * testsuite/forward_list/allocator/ext_ptr.cc: Likewise.
1918         * testsuite/forward_list/allocator/minimal.cc: Likewise.
1919         * testsuite/forward_list/allocator/move.cc: Likewise.
1920         * testsuite/forward_list/allocator/move_assign.cc: Likewise.
1921         * testsuite/forward_list/allocator/swap.cc: Likewise.
1922         * testsuite/forward_list/capacity/1.cc: Likewise.
1923         * testsuite/forward_list/capacity/resize_size.cc: Likewise.
1924         * testsuite/forward_list/comparable.cc: Likewise.
1925         * testsuite/forward_list/cons/1.cc: Likewise.
1926         * testsuite/forward_list/cons/2.cc: Likewise.
1927         * testsuite/forward_list/cons/3.cc: Likewise.
1928         * testsuite/forward_list/cons/4.cc: Likewise.
1929         * testsuite/forward_list/cons/5.cc: Likewise.
1930         * testsuite/forward_list/cons/6.cc: Likewise.
1931         * testsuite/forward_list/cons/7.cc: Likewise.
1932         * testsuite/forward_list/cons/8.cc: Likewise.
1933         * testsuite/forward_list/cons/9.cc: Likewise.
1934         * testsuite/forward_list/cons/cons_size.cc: Likewise.
1935         * testsuite/forward_list/cons/moveable.cc: Likewise.
1936         * testsuite/forward_list/debug/clear.cc: Likewise.
1937         * testsuite/forward_list/debug/construct4_neg.cc: Likewise.
1938         * testsuite/forward_list/debug/erase_after1_neg.cc: Likewise.
1939         * testsuite/forward_list/debug/move_assign_neg.cc: Likewise.
1940         * testsuite/forward_list/debug/move_constructor.cc: Likewise.
1941         * testsuite/forward_list/debug/move_neg.cc: Likewise.
1942         * testsuite/forward_list/debug/splice_after.cc: Likewise.
1943         * testsuite/forward_list/debug/swap.cc: Likewise.
1944         * testsuite/forward_list/modifiers/1.cc: Likewise.
1945         * testsuite/forward_list/modifiers/2.cc: Likewise.
1946         * testsuite/forward_list/modifiers/3.cc: Likewise.
1947         * testsuite/forward_list/modifiers/4.cc: Likewise.
1948         * testsuite/forward_list/modifiers/5.cc: Likewise.
1949         * testsuite/forward_list/modifiers/6.cc: Likewise.
1950         * testsuite/forward_list/operations/1.cc: Likewise.
1951         * testsuite/forward_list/operations/2.cc: Likewise.
1952         * testsuite/forward_list/operations/3.cc: Likewise.
1953         * testsuite/forward_list/operations/4.cc: Likewise.
1954         * testsuite/forward_list/operations/5.cc: Likewise.
1955         * testsuite/forward_list/operations/6.cc: Likewise.
1956         * testsuite/forward_list/operations/7.cc: Likewise.
1957         * testsuite/forward_list/operations/remove_freed.cc: Likewise.
1958         * testsuite/list/61347.cc: Likewise.
1959         * testsuite/list/allocator/copy.cc: Likewise.
1960         * testsuite/list/allocator/copy_assign.cc: Likewise.
1961         * testsuite/list/allocator/minimal.cc: Likewise.
1962         * testsuite/list/allocator/move.cc: Likewise.
1963         * testsuite/list/allocator/move_assign.cc: Likewise.
1964         * testsuite/list/allocator/swap.cc: Likewise.
1965         * testsuite/list/capacity/1.h: Likewise.
1966         * testsuite/list/capacity/29134.cc: Likewise.
1967         * testsuite/list/capacity/resize_size.cc: Likewise.
1968         * testsuite/list/cons/1.h: Likewise.
1969         * testsuite/list/cons/2.h: Likewise.
1970         * testsuite/list/cons/3.h: Likewise.
1971         * testsuite/list/cons/4.h: Likewise.
1972         * testsuite/list/cons/5.h: Likewise.
1973         * testsuite/list/cons/6.h: Likewise.
1974         * testsuite/list/cons/7.h: Likewise.
1975         * testsuite/list/cons/8.h: Likewise.
1976         * testsuite/list/cons/9.h: Likewise.
1977         * testsuite/list/cons/cons_size.cc: Likewise.
1978         * testsuite/list/cons/moveable.h: Likewise.
1979         * testsuite/list/debug/invalidation/1.cc: Likewise.
1980         * testsuite/list/debug/invalidation/2.cc: Likewise.
1981         * testsuite/list/debug/invalidation/3.cc: Likewise.
1982         * testsuite/list/debug/invalidation/4.cc: Likewise.
1983         * testsuite/list/modifiers/1.h: Likewise.
1984         * testsuite/list/modifiers/2.h: Likewise.
1985         * testsuite/list/modifiers/3.h: Likewise.
1986         * testsuite/list/modifiers/insert/25288.h: Likewise.
1987         * testsuite/list/modifiers/swap/1.h: Likewise.
1988         * testsuite/list/modifiers/swap/2.h: Likewise.
1989         * testsuite/list/modifiers/swap/3.h: Likewise.
1990         * testsuite/list/operations/1.h: Likewise.
1991         * testsuite/list/operations/2.h: Likewise.
1992         * testsuite/list/operations/3.h: Likewise.
1993         * testsuite/list/operations/4.h: Likewise.
1994         * testsuite/list/operations/42352.cc: Likewise.
1995         * testsuite/map/allocator/copy.cc: Likewise.
1996         * testsuite/map/allocator/copy_assign.cc: Likewise.
1997         * testsuite/map/allocator/init-list.cc: Likewise.
1998         * testsuite/map/allocator/minimal.cc: Likewise.
1999         * testsuite/map/allocator/move.cc: Likewise.
2000         * testsuite/map/allocator/move_assign.cc: Likewise.
2001         * testsuite/map/allocator/swap.cc: Likewise.
2002         * testsuite/map/capacity/29134.cc: Likewise.
2003         * testsuite/map/cons/moveable.cc: Likewise.
2004         * testsuite/map/debug/construct5_neg.cc: Likewise.
2005         * testsuite/map/debug/move_assign_neg.cc: Likewise.
2006         * testsuite/map/debug/move_neg.cc: Likewise.
2007         * testsuite/map/element_access/1.cc: Likewise.
2008         * testsuite/map/element_access/2.cc: Likewise.
2009         * testsuite/map/element_access/39901.cc: Likewise.
2010         * testsuite/map/init-list.cc: Likewise.
2011         * testsuite/map/modifiers/dr130.cc: Likewise.
2012         * testsuite/map/modifiers/emplace/1.cc: Likewise.
2013         * testsuite/map/modifiers/extract.cc: Likewise.
2014         * testsuite/map/modifiers/insert/1.cc: Likewise.
2015         * testsuite/map/modifiers/insert/16813.cc: Likewise.
2016         * testsuite/map/modifiers/insert/2.cc: Likewise.
2017         * testsuite/map/modifiers/insert/3.cc: Likewise.
2018         * testsuite/map/modifiers/insert/4.cc: Likewise.
2019         * testsuite/map/modifiers/insert/5.cc: Likewise.
2020         * testsuite/map/modifiers/insert_or_assign/1.cc: Likewise.
2021         * testsuite/map/modifiers/merge.cc: Likewise.
2022         * testsuite/map/modifiers/swap/1.cc: Likewise.
2023         * testsuite/map/modifiers/swap/2.cc: Likewise.
2024         * testsuite/map/modifiers/swap/3.cc: Likewise.
2025         * testsuite/map/modifiers/try_emplace/1.cc: Likewise.
2026         * testsuite/map/operations/1.cc: Likewise.
2027         * testsuite/map/operations/count.cc: Likewise.
2028         * testsuite/map/operators/1_neg.cc: Likewise.
2029         * testsuite/map/operators/2.cc: Likewise.
2030         * testsuite/multimap/allocator/copy.cc: Likewise.
2031         * testsuite/multimap/allocator/copy_assign.cc: Likewise.
2032         * testsuite/multimap/allocator/init-list.cc: Likewise.
2033         * testsuite/multimap/allocator/minimal.cc: Likewise.
2034         * testsuite/multimap/allocator/move.cc: Likewise.
2035         * testsuite/multimap/allocator/move_assign.cc: Likewise.
2036         * testsuite/multimap/allocator/swap.cc: Likewise.
2037         * testsuite/multimap/capacity/29134.cc: Likewise.
2038         * testsuite/multimap/cons/moveable.cc: Likewise.
2039         * testsuite/multimap/debug/construct5_neg.cc: Likewise.
2040         * testsuite/multimap/debug/move_assign_neg.cc: Likewise.
2041         * testsuite/multimap/debug/move_neg.cc: Likewise.
2042         * testsuite/multimap/init-list.cc: Likewise.
2043         * testsuite/multimap/modifiers/dr130.cc: Likewise.
2044         * testsuite/multimap/modifiers/emplace/1.cc: Likewise.
2045         * testsuite/multimap/modifiers/extract.cc: Likewise.
2046         * testsuite/multimap/modifiers/insert/1.cc: Likewise.
2047         * testsuite/multimap/modifiers/insert/2.cc: Likewise.
2048         * testsuite/multimap/modifiers/insert/22102.cc: Likewise.
2049         * testsuite/multimap/modifiers/insert/3.cc: Likewise.
2050         * testsuite/multimap/modifiers/insert/4.cc: Likewise.
2051         * testsuite/multimap/modifiers/merge.cc: Likewise.
2052         * testsuite/multimap/modifiers/swap/1.cc: Likewise.
2053         * testsuite/multimap/modifiers/swap/2.cc: Likewise.
2054         * testsuite/multimap/modifiers/swap/3.cc: Likewise.
2055         * testsuite/multimap/operations/1.cc: Likewise.
2056         * testsuite/multimap/operations/count.cc: Likewise.
2057         * testsuite/multiset/allocator/copy.cc: Likewise.
2058         * testsuite/multiset/allocator/copy_assign.cc: Likewise.
2059         * testsuite/multiset/allocator/init-list.cc: Likewise.
2060         * testsuite/multiset/allocator/minimal.cc: Likewise.
2061         * testsuite/multiset/allocator/move.cc: Likewise.
2062         * testsuite/multiset/allocator/move_assign.cc: Likewise.
2063         * testsuite/multiset/allocator/swap.cc: Likewise.
2064         * testsuite/multiset/capacity/29134.cc: Likewise.
2065         * testsuite/multiset/cons/moveable.cc: Likewise.
2066         * testsuite/multiset/debug/construct5_neg.cc: Likewise.
2067         * testsuite/multiset/debug/invalidation/2.cc: Likewise.
2068         * testsuite/multiset/debug/move_assign_neg.cc: Likewise.
2069         * testsuite/multiset/debug/move_neg.cc: Likewise.
2070         * testsuite/multiset/init-list.cc: Likewise.
2071         * testsuite/multiset/modifiers/dr130.cc: Likewise.
2072         * testsuite/multiset/modifiers/emplace/1.cc: Likewise.
2073         * testsuite/multiset/modifiers/extract.cc: Likewise.
2074         * testsuite/multiset/modifiers/insert/1.cc: Likewise.
2075         * testsuite/multiset/modifiers/insert/2.cc: Likewise.
2076         * testsuite/multiset/modifiers/insert/22102.cc: Likewise.
2077         * testsuite/multiset/modifiers/insert/3.cc: Likewise.
2078         * testsuite/multiset/modifiers/insert/4.cc: Likewise.
2079         * testsuite/multiset/modifiers/merge.cc: Likewise.
2080         * testsuite/multiset/modifiers/swap/1.cc: Likewise.
2081         * testsuite/multiset/modifiers/swap/2.cc: Likewise.
2082         * testsuite/multiset/modifiers/swap/3.cc: Likewise.
2083         * testsuite/multiset/operations/1.cc: Likewise.
2084         * testsuite/multiset/operations/count.cc: Likewise.
2085         * testsuite/priority_queue/moveable.cc: Likewise.
2086         * testsuite/queue/moveable.cc: Likewise.
2087         * testsuite/set/allocator/copy.cc: Likewise.
2088         * testsuite/set/allocator/copy_assign.cc: Likewise.
2089         * testsuite/set/allocator/init-list.cc: Likewise.
2090         * testsuite/set/allocator/minimal.cc: Likewise.
2091         * testsuite/set/allocator/move.cc: Likewise.
2092         * testsuite/set/allocator/move_assign.cc: Likewise.
2093         * testsuite/set/allocator/swap.cc: Likewise.
2094         * testsuite/set/capacity/29134.cc: Likewise.
2095         * testsuite/set/cons/moveable.cc: Likewise.
2096         * testsuite/set/debug/construct5_neg.cc: Likewise.
2097         * testsuite/set/debug/invalidation/2.cc: Likewise.
2098         * testsuite/set/debug/move_assign_neg.cc: Likewise.
2099         * testsuite/set/debug/move_neg.cc: Likewise.
2100         * testsuite/set/init-list.cc: Likewise.
2101         * testsuite/set/modifiers/17948.cc: Likewise.
2102         * testsuite/set/modifiers/dr130.cc: Likewise.
2103         * testsuite/set/modifiers/emplace/1.cc: Likewise.
2104         * testsuite/set/modifiers/extract.cc: Likewise.
2105         * testsuite/set/modifiers/insert/1.cc: Likewise.
2106         * testsuite/set/modifiers/insert/2.cc: Likewise.
2107         * testsuite/set/modifiers/insert/3.cc: Likewise.
2108         * testsuite/set/modifiers/merge.cc: Likewise.
2109         * testsuite/set/modifiers/swap/1.cc: Likewise.
2110         * testsuite/set/modifiers/swap/2.cc: Likewise.
2111         * testsuite/set/modifiers/swap/3.cc: Likewise.
2112         * testsuite/set/operations/1.cc: Likewise.
2113         * testsuite/set/operations/count.cc: Likewise.
2114         * testsuite/set/operators/1_neg.cc: Likewise.
2115         * testsuite/unordered_map/allocator/copy.cc: Likewise.
2116         * testsuite/unordered_map/allocator/copy_assign.cc: Likewise.
2117         * testsuite/unordered_map/allocator/minimal.cc: Likewise.
2118         * testsuite/unordered_map/allocator/move.cc: Likewise.
2119         * testsuite/unordered_map/allocator/move_assign.cc: Likewise.
2120         * testsuite/unordered_map/allocator/swap.cc: Likewise.
2121         * testsuite/unordered_map/cons/moveable.cc: Likewise.
2122         * testsuite/unordered_map/debug/construct5_neg.cc: Likewise.
2123         * testsuite/unordered_map/debug/move_assign_neg.cc: Likewise.
2124         * testsuite/unordered_map/debug/move_neg.cc: Likewise.
2125         * testsuite/unordered_map/dr761.cc: Likewise.
2126         * testsuite/unordered_map/erase/1.cc: Likewise.
2127         * testsuite/unordered_map/erase/24061-map.cc: Likewise.
2128         * testsuite/unordered_map/erase/54276.cc: Likewise.
2129         * testsuite/unordered_map/hash_policy/dr1189.cc: Likewise.
2130         * testsuite/unordered_map/init-list.cc: Likewise.
2131         * testsuite/unordered_map/insert/24061-map.cc: Likewise.
2132         * testsuite/unordered_map/insert/57619.C: Likewise.
2133         * testsuite/unordered_map/insert/array_syntax.cc: Likewise.
2134         * testsuite/unordered_map/insert/array_syntax_move.cc: Likewise.
2135         * testsuite/unordered_map/insert/map_range.cc: Likewise.
2136         * testsuite/unordered_map/insert/map_single.cc: Likewise.
2137         * testsuite/unordered_map/insert/map_single_move-1.cc: Likewise.
2138         * testsuite/unordered_map/insert/map_single_move-2.cc: Likewise.
2139         * testsuite/unordered_map/modifiers/61667.cc: Likewise.
2140         * testsuite/unordered_map/modifiers/emplace.cc: Likewise.
2141         * testsuite/unordered_map/modifiers/extract.cc: Likewise.
2142         * testsuite/unordered_map/modifiers/insert_or_assign.cc: Likewise.
2143         * testsuite/unordered_map/modifiers/merge.cc: Likewise.
2144         * testsuite/unordered_map/modifiers/reserve.cc: Likewise.
2145         * testsuite/unordered_map/modifiers/try_emplace.cc: Likewise.
2146         * testsuite/unordered_map/operations/count.cc: Likewise.
2147         * testsuite/unordered_map/operators/1.cc: Likewise.
2148         * testsuite/unordered_map/operators/2.cc: Likewise.
2149         * testsuite/unordered_multimap/allocator/copy.cc: Likewise.
2150         * testsuite/unordered_multimap/allocator/copy_assign.cc: Likewise.
2151         * testsuite/unordered_multimap/allocator/minimal.cc: Likewise.
2152         * testsuite/unordered_multimap/allocator/move.cc: Likewise.
2153         * testsuite/unordered_multimap/allocator/move_assign.cc: Likewise.
2154         * testsuite/unordered_multimap/allocator/swap.cc: Likewise.
2155         * testsuite/unordered_multimap/cons/moveable.cc: Likewise.
2156         * testsuite/unordered_multimap/debug/construct5_neg.cc: Likewise.
2157         * testsuite/unordered_multimap/debug/move_assign_neg.cc: Likewise.
2158         * testsuite/unordered_multimap/debug/move_neg.cc: Likewise.
2159         * testsuite/unordered_multimap/erase/1.cc: Likewise.
2160         * testsuite/unordered_multimap/erase/2.cc: Likewise.
2161         * testsuite/unordered_multimap/erase/24061-multimap.cc: Likewise.
2162         * testsuite/unordered_multimap/erase/51845-multimap.cc: Likewise.
2163         * testsuite/unordered_multimap/erase/54276.cc: Likewise.
2164         * testsuite/unordered_multimap/hash_policy/dr1189.cc: Likewise.
2165         * testsuite/unordered_multimap/init-list.cc: Likewise.
2166         * testsuite/unordered_multimap/insert/24061-multimap.cc: Likewise.
2167         * testsuite/unordered_multimap/insert/51866.cc: Likewise.
2168         * testsuite/unordered_multimap/insert/52476.cc: Likewise.
2169         * testsuite/unordered_multimap/insert/53115.cc: Likewise.
2170         * testsuite/unordered_multimap/insert/57619.C: Likewise.
2171         * testsuite/unordered_multimap/insert/hint.cc: Likewise.
2172         * testsuite/unordered_multimap/insert/multimap_range.cc: Likewise.
2173         * testsuite/unordered_multimap/insert/multimap_single.cc: Likewise.
2174         * testsuite/unordered_multimap/insert/multimap_single_move-1.cc:
2175         Likewise.
2176         * testsuite/unordered_multimap/insert/multimap_single_move-2.cc:
2177         Likewise.
2178         * testsuite/unordered_multimap/modifiers/emplace.cc: Likewise.
2179         * testsuite/unordered_multimap/modifiers/extract.cc: Likewise.
2180         * testsuite/unordered_multimap/modifiers/merge.cc: Likewise.
2181         * testsuite/unordered_multimap/modifiers/reserve.cc: Likewise.
2182         * testsuite/unordered_multimap/operations/count.cc: Likewise.
2183         * testsuite/unordered_multimap/operators/1.cc: Likewise.
2184         * testsuite/unordered_multimap/operators/2.cc: Likewise.
2185         * testsuite/unordered_multiset/allocator/copy.cc: Likewise.
2186         * testsuite/unordered_multiset/allocator/copy_assign.cc: Likewise.
2187         * testsuite/unordered_multiset/allocator/minimal.cc: Likewise.
2188         * testsuite/unordered_multiset/allocator/move.cc: Likewise.
2189         * testsuite/unordered_multiset/allocator/move_assign.cc: Likewise.
2190         * testsuite/unordered_multiset/allocator/swap.cc: Likewise.
2191         * testsuite/unordered_multiset/cons/copy.cc: Likewise.
2192         * testsuite/unordered_multiset/cons/moveable.cc: Likewise.
2193         * testsuite/unordered_multiset/debug/construct5_neg.cc: Likewise.
2194         * testsuite/unordered_multiset/debug/move_assign_neg.cc: Likewise.
2195         * testsuite/unordered_multiset/debug/move_neg.cc: Likewise.
2196         * testsuite/unordered_multiset/erase/1.cc: Likewise.
2197         * testsuite/unordered_multiset/erase/2.cc: Likewise.
2198         * testsuite/unordered_multiset/erase/24061-multiset.cc: Likewise.
2199         * testsuite/unordered_multiset/hash_policy/dr1189.cc: Likewise.
2200         * testsuite/unordered_multiset/init-list.cc: Likewise.
2201         * testsuite/unordered_multiset/insert/24061-multiset.cc: Likewise.
2202         * testsuite/unordered_multiset/insert/51866.cc: Likewise.
2203         * testsuite/unordered_multiset/insert/52476.cc: Likewise.
2204         * testsuite/unordered_multiset/insert/53115.cc: Likewise.
2205         * testsuite/unordered_multiset/insert/hash_policy.cc: Likewise.
2206         * testsuite/unordered_multiset/insert/multiset_range.cc: Likewise.
2207         * testsuite/unordered_multiset/insert/multiset_single.cc: Likewise.
2208         * testsuite/unordered_multiset/insert/multiset_single_move.cc: Likewise.
2209         * testsuite/unordered_multiset/modifiers/emplace.cc: Likewise.
2210         * testsuite/unordered_multiset/modifiers/extract.cc: Likewise.
2211         * testsuite/unordered_multiset/modifiers/merge.cc: Likewise.
2212         * testsuite/unordered_multiset/modifiers/reserve.cc: Likewise.
2213         * testsuite/unordered_multiset/operations/count.cc: Likewise.
2214         * testsuite/unordered_multiset/operators/1.cc: Likewise.
2215         * testsuite/unordered_set/allocator/copy.cc: Likewise.
2216         * testsuite/unordered_set/allocator/copy_assign.cc: Likewise.
2217         * testsuite/unordered_set/allocator/ext_ptr.cc: Likewise.
2218         * testsuite/unordered_set/allocator/minimal.cc: Likewise.
2219         * testsuite/unordered_set/allocator/move.cc: Likewise.
2220         * testsuite/unordered_set/allocator/move_assign.cc: Likewise.
2221         * testsuite/unordered_set/allocator/swap.cc: Likewise.
2222         * testsuite/unordered_set/buckets/swap.cc: Likewise.
2223         * testsuite/unordered_set/cons/moveable.cc: Likewise.
2224         * testsuite/unordered_set/debug/construct5_neg.cc: Likewise.
2225         * testsuite/unordered_set/debug/debug_functions.cc: Likewise.
2226         * testsuite/unordered_set/debug/move_assign_neg.cc: Likewise.
2227         * testsuite/unordered_set/debug/move_neg.cc: Likewise.
2228         * testsuite/unordered_set/erase/1.cc: Likewise.
2229         * testsuite/unordered_set/erase/24061-set.cc: Likewise.
2230         * testsuite/unordered_set/hash_policy/26132.cc: Likewise.
2231         * testsuite/unordered_set/hash_policy/71181.cc: Likewise.
2232         * testsuite/unordered_set/hash_policy/dr1189.cc: Likewise.
2233         * testsuite/unordered_set/hash_policy/load_factor.cc: Likewise.
2234         * testsuite/unordered_set/hash_policy/power2_rehash.cc: Likewise.
2235         * testsuite/unordered_set/hash_policy/prime_rehash.cc: Likewise.
2236         * testsuite/unordered_set/hash_policy/rehash.cc: Likewise.
2237         * testsuite/unordered_set/init-list.cc: Likewise.
2238         * testsuite/unordered_set/insert/24061-set.cc: Likewise.
2239         * testsuite/unordered_set/insert/hash_policy.cc: Likewise.
2240         * testsuite/unordered_set/insert/move_range.cc: Likewise.
2241         * testsuite/unordered_set/insert/set_range.cc: Likewise.
2242         * testsuite/unordered_set/insert/set_single.cc: Likewise.
2243         * testsuite/unordered_set/insert/set_single_move.cc: Likewise.
2244         * testsuite/unordered_set/max_load_factor/robustness.cc: Likewise.
2245         * testsuite/unordered_set/modifiers/emplace.cc: Likewise.
2246         * testsuite/unordered_set/modifiers/extract.cc: Likewise.
2247         * testsuite/unordered_set/modifiers/merge.cc: Likewise.
2248         * testsuite/unordered_set/modifiers/reserve.cc: Likewise.
2249         * testsuite/unordered_set/modifiers/swap.cc: Likewise.
2250         * testsuite/unordered_set/operations/count.cc: Likewise.
2251         * testsuite/unordered_set/operators/1.cc: Likewise.
2252         * testsuite/vector/allocator/copy.cc: Likewise.
2253         * testsuite/vector/allocator/copy_assign.cc: Likewise.
2254         * testsuite/vector/allocator/ext_ptr.cc: Likewise.
2255         * testsuite/vector/allocator/minimal.cc: Likewise.
2256         * testsuite/vector/allocator/move.cc: Likewise.
2257         * testsuite/vector/allocator/move_assign.cc: Likewise.
2258         * testsuite/vector/allocator/swap.cc: Likewise.
2259         * testsuite/vector/bool/6886.cc: Likewise.
2260         * testsuite/vector/bool/72847.cc: Likewise.
2261         * testsuite/vector/bool/allocator/copy.cc: Likewise.
2262         * testsuite/vector/bool/allocator/copy_assign.cc: Likewise.
2263         * testsuite/vector/bool/allocator/ext_ptr.cc: Likewise.
2264         * testsuite/vector/bool/allocator/move.cc: Likewise.
2265         * testsuite/vector/bool/allocator/move_assign.cc: Likewise.
2266         * testsuite/vector/bool/allocator/swap.cc: Likewise.
2267         * testsuite/vector/bool/capacity/1.cc: Likewise.
2268         * testsuite/vector/bool/capacity/29134.cc: Likewise.
2269         * testsuite/vector/bool/capacity/shrink_to_fit.cc: Likewise.
2270         * testsuite/vector/bool/cons/1.cc: Likewise.
2271         * testsuite/vector/bool/cons/2.cc: Likewise.
2272         * testsuite/vector/bool/modifiers/erase/1.cc: Likewise.
2273         * testsuite/vector/bool/modifiers/insert/1.cc: Likewise.
2274         * testsuite/vector/bool/modifiers/insert/31370.cc: Likewise.
2275         * testsuite/vector/bool/modifiers/swap/1.cc: Likewise.
2276         * testsuite/vector/bool/modifiers/swap/2.cc: Likewise.
2277         * testsuite/vector/bool/swap.cc: Likewise.
2278         * testsuite/vector/capacity/1.cc: Likewise.
2279         * testsuite/vector/capacity/2.cc: Likewise.
2280         * testsuite/vector/capacity/29134-2.cc: Likewise.
2281         * testsuite/vector/capacity/29134.cc: Likewise.
2282         * testsuite/vector/capacity/44190.cc: Likewise.
2283         * testsuite/vector/capacity/8230.cc: Likewise.
2284         * testsuite/vector/capacity/reserve/moveable.cc: Likewise.
2285         * testsuite/vector/capacity/reserve/moveable2.cc: Likewise.
2286         * testsuite/vector/capacity/resize/1.cc: Likewise.
2287         * testsuite/vector/capacity/resize/moveable.cc: Likewise.
2288         * testsuite/vector/capacity/resize/moveable2.cc: Likewise.
2289         * testsuite/vector/capacity/resize/resize_size.cc: Likewise.
2290         * testsuite/vector/capacity/shrink_to_fit.cc: Likewise.
2291         * testsuite/vector/capacity/shrink_to_fit2.cc: Likewise.
2292         * testsuite/vector/cons/3.cc: Likewise.
2293         * testsuite/vector/cons/4.cc: Likewise.
2294         * testsuite/vector/cons/cons_size.cc: Likewise.
2295         * testsuite/vector/cons/moveable.cc: Likewise.
2296         * testsuite/vector/data_access/1.cc: Likewise.
2297         * testsuite/vector/debug/debug_functions.cc: Likewise.
2298         * testsuite/vector/debug/move_assign_neg.cc: Likewise.
2299         * testsuite/vector/debug/move_neg.cc: Likewise.
2300         * testsuite/vector/debug/multithreaded_swap.cc: Likewise.
2301         * testsuite/vector/element_access/1.cc: Likewise.
2302         * testsuite/vector/ext_pointer/citerators.cc: Likewise.
2303         * testsuite/vector/ext_pointer/data_access.cc: Likewise.
2304         * testsuite/vector/ext_pointer/modifiers/element.cc: Likewise.
2305         * testsuite/vector/ext_pointer/modifiers/erase.cc: Likewise.
2306         * testsuite/vector/ext_pointer/modifiers/insert.cc: Likewise.
2307         * testsuite/vector/ext_pointer/resize.cc: Likewise.
2308         * testsuite/vector/modifiers/1.cc: Likewise.
2309         * testsuite/vector/modifiers/2.cc: Likewise.
2310         * testsuite/vector/modifiers/emplace/self_emplace.cc: Likewise.
2311         * testsuite/vector/modifiers/erase/1.cc: Likewise.
2312         * testsuite/vector/modifiers/erase/moveable.cc: Likewise.
2313         * testsuite/vector/modifiers/insert/1.cc: Likewise.
2314         * testsuite/vector/modifiers/insert/self_insert.cc: Likewise.
2315         * testsuite/vector/modifiers/moveable.cc: Likewise.
2316         * testsuite/vector/modifiers/moveable2.cc: Likewise.
2317         * testsuite/vector/modifiers/push_back/49836.cc: Likewise.
2318         * testsuite/vector/modifiers/swap/1.cc: Likewise.
2319         * testsuite/vector/modifiers/swap/2.cc: Likewise.
2320         * testsuite/vector/modifiers/swap/3.cc: Likewise.
2321         * testsuite/vector/zero_sized_allocations.cc: Likewise.
2323 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
2325         PR libstdc++/77998
2326         * include/std/future (__future_base::_Deferred_state)
2327         (__future_base::_Async_state_impl): Use decltype to deduce return
2328         type, instead of _Invoker::result_type.
2329         * include/std/thread (thread::_Invoker::operator()): Likewise.
2330         (thread::_Invoker::result_type): Remove.
2332         PR libstdc++/77987
2333         * include/bits/unique_ptr.h (unique_ptr<T[], D>::reset<U>(U)): Copy
2334         value to pointer of the correct type to swap, to support conversions
2335         allowed by LWG 2118 / N4089.
2336         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for
2337         incompatible deleters from ...
2338         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here.
2339         * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for
2340         incompatible pointers to ...
2341         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move
2342         destructor definition to base class. Test for invalid derived-to-base
2343         conversion.
2345         * doc/xml/manual/status_cxx2017.xml: Update status.
2346         * doc/html/*: Regenerate.
2347         * include/bits/deque.tcc (deque::emplace_front, deque::emplace_back):
2348         Return a reference in C++17 mode.
2349         * include/bits/forward_list.h (forward_list::emplace_front): Likewise.
2350         * include/bits/stl_bvector.h (vector<bool>::emplace_back): Likewise.
2351         * include/bits/stl_deque.h (deque::emplace_front, deque::emplace_back):
2352         Likewise.
2353         * include/bits/stl_list.h (list::emplace_front, list::emplace_back):
2354         Likewise.
2355         * include/bits/stl_queue.h (queue::emplace): Likewise.
2356         * include/bits/stl_stack.h (stack::emplace): Likewise.
2357         * include/bits/stl_vector.h (vector::emplace_back): Likewise.
2358         * include/bits/vector.tcc (vector::emplace_back): Likewise.
2359         * include/debug/deque (__gnu_debug::deque::emplace_front)
2360         (__gnu_debug::deque::emplace_back): Likewise.
2361         * include/debug/vector (__gnu_debug::vector::emplace_back): Likewise.
2362         * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
2363         New.
2364         * testsuite/23_containers/forward_list/modifiers/
2365         emplace_cxx17_return.cc: New.
2366         * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: New.
2367         * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: New.
2368         * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: New.
2369         * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: New.
2370         * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
2371         New.
2373 2016-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
2375         * testsuite/22_locale/classification/isblank.cc: Remove 'test'
2376         variables.
2377         * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
2378         * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Likewise.
2379         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
2380         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
2381         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise.
2382         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Likewise.
2383         * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
2384         * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Likewise.
2385         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
2386         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
2387         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise.
2388         * testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
2389         * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Likewise.
2390         * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
2391         * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise.
2392         * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise.
2393         * testsuite/22_locale/codecvt/in/wchar_t/5.cc: Likewise.
2394         * testsuite/22_locale/codecvt/in/wchar_t/6.cc: Likewise.
2395         * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise.
2396         * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
2397         * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
2398         * testsuite/22_locale/codecvt/length/char/1.cc: Likewise.
2399         * testsuite/22_locale/codecvt/length/char/2.cc: Likewise.
2400         * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Likewise.
2401         * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
2402         * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
2403         * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
2404         * testsuite/22_locale/codecvt/length/wchar_t/5.cc: Likewise.
2405         * testsuite/22_locale/codecvt/length/wchar_t/6.cc: Likewise.
2406         * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise.
2407         * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
2408         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Likewise.
2409         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
2410         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
2411         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise.
2412         * testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
2413         * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Likewise.
2414         * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
2415         * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise.
2416         * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
2417         * testsuite/22_locale/codecvt/out/wchar_t/5.cc: Likewise.
2418         * testsuite/22_locale/codecvt/out/wchar_t/6.cc: Likewise.
2419         * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
2420         * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
2421         * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Likewise.
2422         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
2423         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
2424         * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
2425         * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
2426         * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
2427         * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
2428         * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
2429         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
2430         * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
2431         * testsuite/22_locale/collate/hash/char/1.cc: Likewise.
2432         * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
2433         * testsuite/22_locale/collate/hash/wchar_t/1.cc: Likewise.
2434         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
2435         * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
2436         * testsuite/22_locale/collate/transform/char/28277.cc: Likewise.
2437         * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
2438         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
2439         * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise.
2440         * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
2441         * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
2442         * testsuite/22_locale/ctype/cons/char/1.cc: Likewise.
2443         * testsuite/22_locale/ctype/is/char/1.cc: Likewise.
2444         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
2445         * testsuite/22_locale/ctype/is/char/3.cc: Likewise.
2446         * testsuite/22_locale/ctype/is/char/9858.cc: Likewise.
2447         * testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
2448         * testsuite/22_locale/ctype/is/wchar_t/11740.cc: Likewise.
2449         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
2450         * testsuite/22_locale/ctype/narrow/char/1.cc: Likewise.
2451         * testsuite/22_locale/ctype/narrow/char/19955.cc: Likewise.
2452         * testsuite/22_locale/ctype/narrow/char/2.cc: Likewise.
2453         * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Likewise.
2454         * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Likewise.
2455         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise.
2456         * testsuite/22_locale/ctype/scan/char/1.cc: Likewise.
2457         * testsuite/22_locale/ctype/scan/wchar_t/1.cc: Likewise.
2458         * testsuite/22_locale/ctype/to/char/1.cc: Likewise.
2459         * testsuite/22_locale/ctype/to/wchar_t/1.cc: Likewise.
2460         * testsuite/22_locale/ctype/widen/char/1.cc: Likewise.
2461         * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Likewise.
2462         * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
2463         * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise.
2464         * testsuite/22_locale/ctype_base/11844.cc: Likewise.
2465         * testsuite/22_locale/facet/1.cc: Likewise.
2466         * testsuite/22_locale/facet/2.cc: Likewise.
2467         * testsuite/22_locale/facet/25421.cc: Likewise.
2468         * testsuite/22_locale/global_templates/1.cc: Likewise.
2469         * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
2470         Likewise.
2471         * testsuite/22_locale/global_templates/user_facet_hierarchies.cc:
2472         Likewise.
2473         * testsuite/22_locale/locale/13630.cc: Likewise.
2474         * testsuite/22_locale/locale/cons/12352.cc: Likewise.
2475         * testsuite/22_locale/locale/cons/12438.cc: Likewise.
2476         * testsuite/22_locale/locale/cons/2.cc: Likewise.
2477         * testsuite/22_locale/locale/cons/29217.cc: Likewise.
2478         * testsuite/22_locale/locale/cons/38365.cc: Likewise.
2479         * testsuite/22_locale/locale/cons/38368.cc: Likewise.
2480         * testsuite/22_locale/locale/cons/4.cc: Likewise.
2481         * testsuite/22_locale/locale/cons/40184.cc: Likewise.
2482         * testsuite/22_locale/locale/cons/5.cc: Likewise.
2483         * testsuite/22_locale/locale/cons/6.cc: Likewise.
2484         * testsuite/22_locale/locale/cons/7.cc: Likewise.
2485         * testsuite/22_locale/locale/cons/7222-c.cc: Likewise.
2486         * testsuite/22_locale/locale/cons/7222-env.cc: Likewise.
2487         * testsuite/22_locale/locale/cons/8.cc: Likewise.
2488         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
2489         * testsuite/22_locale/locale/global_locale_objects/1.cc: Likewise.
2490         * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
2491         * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
2492         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
2493         * testsuite/22_locale/locale/operations/1.cc: Likewise.
2494         * testsuite/22_locale/locale/operations/2.cc: Likewise.
2495         * testsuite/22_locale/messages/13631.cc: Likewise.
2496         * testsuite/22_locale/messages/members/char/1.cc: Likewise.
2497         * testsuite/22_locale/messages/members/char/2.cc: Likewise.
2498         * testsuite/22_locale/messages/members/char/3.cc: Likewise.
2499         * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
2500         * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
2501         * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
2502         * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
2503         * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
2504         * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
2505         * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
2506         * testsuite/22_locale/money_get/get/char/14.cc: Likewise.
2507         * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
2508         * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
2509         * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
2510         * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
2511         * testsuite/22_locale/money_get/get/char/19.cc: Likewise.
2512         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2513         * testsuite/22_locale/money_get/get/char/22131.cc: Likewise.
2514         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2515         * testsuite/22_locale/money_get/get/char/38399.cc: Likewise.
2516         * testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
2517         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2518         * testsuite/22_locale/money_get/get/char/5.cc: Likewise.
2519         * testsuite/22_locale/money_get/get/char/6.cc: Likewise.
2520         * testsuite/22_locale/money_get/get/char/7.cc: Likewise.
2521         * testsuite/22_locale/money_get/get/char/8.cc: Likewise.
2522         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2523         * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
2524         * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
2525         * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
2526         * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
2527         * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
2528         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Likewise.
2529         * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
2530         * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
2531         * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
2532         * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
2533         * testsuite/22_locale/money_get/get/wchar_t/19.cc: Likewise.
2534         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2535         * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
2536         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2537         * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
2538         * testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
2539         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2540         * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
2541         * testsuite/22_locale/money_get/get/wchar_t/6.cc: Likewise.
2542         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
2543         * testsuite/22_locale/money_get/get/wchar_t/8.cc: Likewise.
2544         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
2545         * testsuite/22_locale/money_put/put/char/12971.cc: Likewise.
2546         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
2547         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
2548         * testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
2549         * testsuite/22_locale/money_put/put/char/4.cc: Likewise.
2550         * testsuite/22_locale/money_put/put/char/5.cc: Likewise.
2551         * testsuite/22_locale/money_put/put/char/6.cc: Likewise.
2552         * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
2553         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
2554         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
2555         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2556         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2557         * testsuite/22_locale/money_put/put/wchar_t/39168.cc: Likewise.
2558         * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
2559         * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
2560         * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
2561         * testsuite/22_locale/moneypunct/40712.cc: Likewise.
2562         * testsuite/22_locale/moneypunct/members/char/1.cc: Likewise.
2563         * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
2564         * testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise.
2565         * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
2566         * testsuite/22_locale/moneypunct/requirements/false/intl.cc: Likewise.
2567         * testsuite/22_locale/moneypunct/requirements/true/intl.cc: Likewise.
2568         * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
2569         * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
2570         * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
2571         * testsuite/22_locale/num_get/get/char/11.cc: Likewise.
2572         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
2573         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
2574         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
2575         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
2576         * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
2577         * testsuite/22_locale/num_get/get/char/2.cc: Likewise.
2578         * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
2579         * testsuite/22_locale/num_get/get/char/23953.cc: Likewise.
2580         * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
2581         * testsuite/22_locale/num_get/get/char/37958.cc: Likewise.
2582         * testsuite/22_locale/num_get/get/char/39168.cc: Likewise.
2583         * testsuite/22_locale/num_get/get/char/39802.cc: Likewise.
2584         * testsuite/22_locale/num_get/get/char/4.cc: Likewise.
2585         * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
2586         * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
2587         * testsuite/22_locale/num_get/get/char/7.cc: Likewise.
2588         * testsuite/22_locale/num_get/get/char/8.cc: Likewise.
2589         * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
2590         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
2591         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
2592         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
2593         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
2594         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
2595         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
2596         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
2597         * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
2598         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Likewise.
2599         * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
2600         * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
2601         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
2602         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
2603         * testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
2604         * testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.
2605         * testsuite/22_locale/num_get/get/wchar_t/4.cc: Likewise.
2606         * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
2607         * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
2608         * testsuite/22_locale/num_get/get/wchar_t/7.cc: Likewise.
2609         * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
2610         * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
2611         * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
2612         * testsuite/22_locale/num_put/put/char/10.cc: Likewise.
2613         * testsuite/22_locale/num_put/put/char/11.cc: Likewise.
2614         * testsuite/22_locale/num_put/put/char/12.cc: Likewise.
2615         * testsuite/22_locale/num_put/put/char/14220.cc: Likewise.
2616         * testsuite/22_locale/num_put/put/char/15565.cc: Likewise.
2617         * testsuite/22_locale/num_put/put/char/2.cc: Likewise.
2618         * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
2619         * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
2620         * testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
2621         * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
2622         * testsuite/22_locale/num_put/put/char/38196.cc: Likewise.
2623         * testsuite/22_locale/num_put/put/char/38210.cc: Likewise.
2624         * testsuite/22_locale/num_put/put/char/4.cc: Likewise.
2625         * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
2626         * testsuite/22_locale/num_put/put/char/6.cc: Likewise.
2627         * testsuite/22_locale/num_put/put/char/7.cc: Likewise.
2628         * testsuite/22_locale/num_put/put/char/8.cc: Likewise.
2629         * testsuite/22_locale/num_put/put/char/9.cc: Likewise.
2630         * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
2631         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
2632         * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
2633         * testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise.
2634         * testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise.
2635         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2636         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: Likewise.
2637         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
2638         * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
2639         * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
2640         * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
2641         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
2642         * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
2643         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
2644         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
2645         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
2646         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
2647         * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
2648         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
2649         * testsuite/22_locale/num_put/put/wchar_t/9.cc: Likewise.
2650         * testsuite/22_locale/numpunct/members/char/1.cc: Likewise.
2651         * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
2652         * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
2653         * testsuite/22_locale/numpunct/members/char/cache_1.cc: Likewise.
2654         * testsuite/22_locale/numpunct/members/char/cache_2.cc: Likewise.
2655         * testsuite/22_locale/numpunct/members/pod/1.cc: Likewise.
2656         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Likewise.
2657         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
2658         * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: Likewise.
2659         * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: Likewise.
2660         * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
2661         * testsuite/22_locale/time_get/date_order/char/1.cc: Likewise.
2662         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Likewise.
2663         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
2664         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
2665         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
2666         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
2667         * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
2668         * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
2669         * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
2670         * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
2671         * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
2672         * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
2673         * testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
2674         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
2675         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
2676         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
2677         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
2678         * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
2679         * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
2680         * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
2681         * testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
2682         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
2683         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
2684         * testsuite/22_locale/time_get/get_monthname/char/3.cc: Likewise.
2685         * testsuite/22_locale/time_get/get_monthname/char/4.cc: Likewise.
2686         * testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
2687         * testsuite/22_locale/time_get/get_monthname/char/6.cc: Likewise.
2688         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
2689         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
2690         * testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc: Likewise.
2691         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: Likewise.
2692         * testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
2693         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
2694         * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
2695         * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
2696         * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
2697         * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
2698         * testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
2699         * testsuite/22_locale/time_get/get_time/char/6.cc: Likewise.
2700         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
2701         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
2702         * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
2703         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
2704         * testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
2705         * testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise.
2706         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
2707         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
2708         * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
2709         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
2710         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
2711         * testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
2712         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
2713         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
2714         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
2715         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
2716         * testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
2717         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
2718         * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
2719         * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
2720         * testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
2721         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
2722         * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
2723         * testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise.
2724         * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
2725         * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
2726         * testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
2727         * testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
2728         * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
2729         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
2730         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
2731         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
2732         * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
2733         * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
2734         * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
2735         * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
2736         * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
2737         * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
2738         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
2739         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
2740         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
2741         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
2742         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
2743         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
2744         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
2745         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
2746         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
2747         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
2748         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
2749         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
2750         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
2751         * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
2752         * testsuite/30_threads/async/42819.cc: Likewise.
2753         * testsuite/30_threads/async/any.cc: Likewise.
2754         * testsuite/30_threads/async/async.cc: Likewise.
2755         * testsuite/30_threads/async/except.cc: Likewise.
2756         * testsuite/30_threads/async/launch.cc: Likewise.
2757         * testsuite/30_threads/async/sync.cc: Likewise.
2758         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2759         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2760         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
2761         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
2762         * testsuite/30_threads/condition_variable/members/3.cc: Likewise.
2763         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2764         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
2765         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
2766         * testsuite/30_threads/future/members/45133.cc: Likewise.
2767         * testsuite/30_threads/future/members/get.cc: Likewise.
2768         * testsuite/30_threads/future/members/get2.cc: Likewise.
2769         * testsuite/30_threads/future/members/share.cc: Likewise.
2770         * testsuite/30_threads/future/members/valid.cc: Likewise.
2771         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
2772         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
2773         * testsuite/30_threads/lock/1.cc: Likewise.
2774         * testsuite/30_threads/lock/2.cc: Likewise.
2775         * testsuite/30_threads/lock/3.cc: Likewise.
2776         * testsuite/30_threads/lock/4.cc: Likewise.
2777         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
2778         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2779         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2780         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2781         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2782         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2783         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2784         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2785         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
2786         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
2787         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
2788         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
2789         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
2790         * testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
2791         Likewise.
2792         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
2793         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
2794         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
2795         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
2796         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
2797         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
2798         * testsuite/30_threads/promise/cons/move.cc: Likewise.
2799         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
2800         * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
2801         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
2802         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
2803         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
2804         * testsuite/30_threads/promise/members/swap.cc: Likewise.
2805         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
2806         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
2807         Likewise.
2808         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2809         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
2810         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
2811         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
2812         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
2813         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
2814         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
2815         Likewise.
2816         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
2817         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
2818         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
2819         Likewise.
2820         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
2821         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
2822         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2823         Likewise.
2824         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
2825         Likewise.
2826         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
2827         Likewise.
2828         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
2829         Likewise.
2830         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
2831         Likewise.
2832         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
2833         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
2834         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
2835         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2836         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
2837         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
2838         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
2839         * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
2840         * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
2841         * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
2842         * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
2843         * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
2844         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
2845         * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
2846         * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
2847         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
2848         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
2849         * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
2850         * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
2851         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
2852         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
2853         * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
2854         * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
2855         * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
2856         * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
2857         * testsuite/30_threads/this_thread/1.cc: Likewise.
2858         * testsuite/30_threads/this_thread/2.cc: Likewise.
2859         * testsuite/30_threads/this_thread/3.cc: Likewise.
2860         * testsuite/30_threads/this_thread/4.cc: Likewise.
2861         * testsuite/30_threads/this_thread/60421.cc: Likewise.
2862         * testsuite/30_threads/thread/cons/1.cc: Likewise.
2863         * testsuite/30_threads/thread/cons/2.cc: Likewise.
2864         * testsuite/30_threads/thread/cons/3.cc: Likewise.
2865         * testsuite/30_threads/thread/cons/4.cc: Likewise.
2866         * testsuite/30_threads/thread/cons/5.cc: Likewise.
2867         * testsuite/30_threads/thread/cons/6.cc: Likewise.
2868         * testsuite/30_threads/thread/cons/7.cc: Likewise.
2869         * testsuite/30_threads/thread/cons/8.cc: Likewise.
2870         * testsuite/30_threads/thread/cons/9.cc: Likewise.
2871         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
2872         * testsuite/30_threads/thread/members/1.cc: Likewise.
2873         * testsuite/30_threads/thread/members/2.cc: Likewise.
2874         * testsuite/30_threads/thread/members/3.cc: Likewise.
2875         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
2876         * testsuite/30_threads/thread/swap/1.cc: Likewise.
2877         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
2878         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
2879         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
2880         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
2881         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
2882         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
2883         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
2884         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
2885         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
2886         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
2887         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
2888         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
2889         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
2890         * testsuite/30_threads/try_lock/1.cc: Likewise.
2891         * testsuite/30_threads/try_lock/2.cc: Likewise.
2892         * testsuite/30_threads/try_lock/3.cc: Likewise.
2893         * testsuite/30_threads/try_lock/4.cc: Likewise.
2894         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2895         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2896         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2897         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2898         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2899         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2900         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2901         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2902         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2903         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2904         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2905         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2906         not_shared.cc: Likewise.
2907         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2908         not_shared2.cc: Likewise.
2909         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2910         not_shared3.cc: Likewise.
2911         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2912         shared.cc: Likewise.
2913         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2914         still_shared.cc: Likewise.
2915         * testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc:
2916         Likewise.
2917         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
2918         Likewise.
2919         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
2920         Likewise.
2921         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
2922         auto_ptr_rvalue_neg.cc: Likewise.
2923         * testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc:
2924         Likewise.
2925         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
2926         shared_ptr_neg.cc: Likewise.
2927         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
2928         Likewise.
2929         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
2930         Likewise.
2931         * testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc: Likewise.
2932         * testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc:
2933         Likewise.
2934         * testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc:
2935         Likewise.
2936         * testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc:
2937         Likewise.
2938         * testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc: Likewise.
2939         * testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc: Likewise.
2940         * testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc: Likewise.
2941         * testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc: Likewise.
2942         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc:
2943         Likewise.
2944         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
2945         Likewise.
2946         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc:
2947         Likewise.
2948         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc:
2949         Likewise.
2950         * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
2951         Likewise.
2952         * testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc:
2953         Likewise.
2954         * testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc:
2955         Likewise.
2956         * testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc:
2957         Likewise.
2958         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2959         default_weaktoshared.cc: Likewise.
2960         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2961         mutex_weaktoshared.cc: Likewise.
2962         * testsuite/tr1/3_function_objects/bind/all_bound.cc: Likewise.
2963         * testsuite/tr1/3_function_objects/bind/mixed.cc: Likewise.
2964         * testsuite/tr1/3_function_objects/bind/nested.cc: Likewise.
2965         * testsuite/tr1/3_function_objects/bind/placeholders.cc: Likewise.
2966         * testsuite/tr1/3_function_objects/bind/ref.cc: Likewise.
2967         * testsuite/tr1/3_function_objects/function/1.cc: Likewise.
2968         * testsuite/tr1/3_function_objects/function/2.cc: Likewise.
2969         * testsuite/tr1/3_function_objects/function/3.cc: Likewise.
2970         * testsuite/tr1/3_function_objects/function/4.cc: Likewise.
2971         * testsuite/tr1/3_function_objects/function/5.cc: Likewise.
2972         * testsuite/tr1/3_function_objects/function/6.cc: Likewise.
2973         * testsuite/tr1/3_function_objects/function/7.cc: Likewise.
2974         * testsuite/tr1/3_function_objects/function/8.cc: Likewise.
2975         * testsuite/tr1/3_function_objects/function/9.cc: Likewise.
2976         * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
2977         Likewise.
2978         * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
2979         Likewise.
2980         * testsuite/tr1/3_function_objects/result_of.cc: Likewise.
2981         * testsuite/tr1/4_metaprogramming/add_const/value.cc: Likewise.
2982         * testsuite/tr1/4_metaprogramming/add_cv/value.cc: Likewise.
2983         * testsuite/tr1/4_metaprogramming/add_pointer/value.cc: Likewise.
2984         * testsuite/tr1/4_metaprogramming/add_reference/value.cc: Likewise.
2985         * testsuite/tr1/4_metaprogramming/add_volatile/value.cc: Likewise.
2986         * testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: Likewise.
2987         * testsuite/tr1/4_metaprogramming/alignment_of/value.cc: Likewise.
2988         * testsuite/tr1/4_metaprogramming/extent/value.cc: Likewise.
2989         * testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc: Likewise.
2990         * testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc:
2991         Likewise.
2992         * testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc: Likewise.
2993         * testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc: Likewise.
2994         * testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc:
2995         Likewise.
2996         * testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc: Likewise.
2997         * testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc:
2998         Likewise.
2999         * testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc:
3000         Likewise.
3001         * testsuite/tr1/4_metaprogramming/integral_constant/
3002         static_definition.cc: Likewise.
3003         * testsuite/tr1/4_metaprogramming/integral_constant/
3004         true_false_value.cc: Likewise.
3005         * testsuite/tr1/4_metaprogramming/is_abstract/value.cc: Likewise.
3006         * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc: Likewise.
3007         * testsuite/tr1/4_metaprogramming/is_array/value.cc: Likewise.
3008         * testsuite/tr1/4_metaprogramming/is_base_of/value.cc: Likewise.
3009         * testsuite/tr1/4_metaprogramming/is_class/value.cc: Likewise.
3010         * testsuite/tr1/4_metaprogramming/is_compound/value.cc: Likewise.
3011         * testsuite/tr1/4_metaprogramming/is_const/value.cc: Likewise.
3012         * testsuite/tr1/4_metaprogramming/is_convertible/value.cc: Likewise.
3013         * testsuite/tr1/4_metaprogramming/is_empty/value.cc: Likewise.
3014         * testsuite/tr1/4_metaprogramming/is_enum/24808.cc: Likewise.
3015         * testsuite/tr1/4_metaprogramming/is_enum/value.cc: Likewise.
3016         * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc: Likewise.
3017         * testsuite/tr1/4_metaprogramming/is_function/24808.cc: Likewise.
3018         * testsuite/tr1/4_metaprogramming/is_function/value.cc: Likewise.
3019         * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc: Likewise.
3020         * testsuite/tr1/4_metaprogramming/is_integral/value.cc: Likewise.
3021         * testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc:
3022         Likewise.
3023         * testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc:
3024         Likewise.
3025         * testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc: Likewise.
3026         * testsuite/tr1/4_metaprogramming/is_object/24808.cc: Likewise.
3027         * testsuite/tr1/4_metaprogramming/is_object/value.cc: Likewise.
3028         * testsuite/tr1/4_metaprogramming/is_pod/value.cc: Likewise.
3029         * testsuite/tr1/4_metaprogramming/is_pointer/value.cc: Likewise.
3030         * testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc: Likewise.
3031         * testsuite/tr1/4_metaprogramming/is_reference/value.cc: Likewise.
3032         * testsuite/tr1/4_metaprogramming/is_same/value.cc: Likewise.
3033         * testsuite/tr1/4_metaprogramming/is_scalar/value.cc: Likewise.
3034         * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise.
3035         * testsuite/tr1/4_metaprogramming/is_union/value.cc: Likewise.
3036         * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc: Likewise.
3037         * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise.
3038         * testsuite/tr1/4_metaprogramming/is_volatile/value.cc: Likewise.
3039         * testsuite/tr1/4_metaprogramming/rank/value.cc: Likewise.
3040         * testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc: Likewise.
3041         * testsuite/tr1/4_metaprogramming/remove_const/value.cc: Likewise.
3042         * testsuite/tr1/4_metaprogramming/remove_cv/value.cc: Likewise.
3043         * testsuite/tr1/4_metaprogramming/remove_extent/value.cc: Likewise.
3044         * testsuite/tr1/4_metaprogramming/remove_pointer/value.cc: Likewise.
3045         * testsuite/tr1/4_metaprogramming/remove_reference/value.cc: Likewise.
3046         * testsuite/tr1/4_metaprogramming/remove_volatile/value.cc: Likewise.
3047         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3048         equal.cc: Likewise.
3049         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3050         not_equal.cc: Likewise.
3051         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3052         serialize.cc: Likewise.
3053         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3054         cons/default.cc: Likewise.
3055         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3056         cons/gen1.cc: Likewise.
3057         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3058         operators/equal.cc: Likewise.
3059         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3060         operators/not_equal.cc: Likewise.
3061         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3062         operators/serialize.cc: Likewise.
3063         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3064         cons/default.cc: Likewise.
3065         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3066         cons/gen1.cc: Likewise.
3067         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3068         operators/equal.cc: Likewise.
3069         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3070         operators/not_equal.cc: Likewise.
3071         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3072         operators/serialize.cc: Likewise.
3073         * testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc: Likewise.
3074         * testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc: Likewise.
3075         * testsuite/tr1/5_numerical_facilities/random/mt19937.cc: Likewise.
3076         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3077         default.cc: Likewise.
3078         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3079         token.cc: Likewise.
3080         * testsuite/tr1/5_numerical_facilities/random/ranlux3.cc: Likewise.
3081         * testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc: Likewise.
3082         * testsuite/tr1/5_numerical_facilities/random/ranlux4.cc: Likewise.
3083         * testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc
3084         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3085         cons/default.cc: Likewise.
3086         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3087         cons/gen1.cc: Likewise.
3088         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3089         operators/equal.cc: Likewise.
3090         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3091         operators/not_equal.cc: Likewise.
3092         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3093         operators/serialize.cc: Likewise.
3094         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3095         cons/default.cc: Likewise.
3096         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3097         cons/gen1.cc: Likewise.
3098         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3099         operators/equal.cc: Likewise.
3100         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3101         operators/not_equal.cc: Likewise.
3102         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3103         operators/serialize.cc: Likewise.
3104         * testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
3105         Likewise.
3106         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3107         default.cc: Likewise.
3108         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3109         range.cc: Likewise.
3110         * testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/
3111         default.cc: Likewise.
3112         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3113         equal.cc: Likewise.
3114         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3115         not_equal.cc: Likewise.
3116         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3117         serialize.cc: Likewise.
3118         * testsuite/tr1/5_numerical_facilities/special_functions/
3119         08_cyl_bessel_i/check_value.cc: Likewise.
3120         * testsuite/tr1/5_numerical_facilities/special_functions/
3121         08_cyl_bessel_i/pr56216.cc: Likewise.
3122         * testsuite/tr1/5_numerical_facilities/special_functions/
3123         09_cyl_bessel_j/check_value.cc: Likewise.
3124         * testsuite/tr1/5_numerical_facilities/special_functions/
3125         10_cyl_bessel_k/check_value.cc: Likewise.
3126         * testsuite/tr1/5_numerical_facilities/special_functions/
3127         11_cyl_neumann/check_value.cc: Likewise.
3128         * testsuite/tr1/5_numerical_facilities/special_functions/
3129         16_hermite/check_value.cc: Likewise.
3130         * testsuite/tr1/5_numerical_facilities/special_functions/
3131         21_sph_bessel/check_value.cc: Likewise.
3132         * testsuite/tr1/5_numerical_facilities/special_functions/
3133         23_sph_neumann/check_value.cc: Likewise.
3134         * testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise.
3135         * testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise.
3136         * testsuite/tr1/6_containers/array/capacity/size.cc: Likewise.
3137         * testsuite/tr1/6_containers/array/comparison_operators/equal.cc:
3138         Likewise.
3139         * testsuite/tr1/6_containers/array/comparison_operators/greater.cc:
3140         Likewise.
3141         * testsuite/tr1/6_containers/array/comparison_operators/
3142         greater_or_equal.cc: Likewise.
3143         * testsuite/tr1/6_containers/array/comparison_operators/less.cc:
3144         Likewise.
3145         * testsuite/tr1/6_containers/array/comparison_operators/
3146         less_or_equal.cc: Likewise.
3147         * testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc:
3148         Likewise.
3149         * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
3150         Likewise.
3151         * testsuite/tr1/6_containers/array/element_access/back.cc: Likewise.
3152         * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
3153         * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
3154         * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc:
3155         Likewise.
3156         * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
3157         * testsuite/tr1/6_containers/array/requirements/contiguous.cc: Likewise.
3158         * testsuite/tr1/6_containers/array/requirements/member_swap.cc:
3159         Likewise.
3160         * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
3161         Likewise.
3162         * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
3163         Likewise.
3164         * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
3165         * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
3166         Likewise.
3167         * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
3168         Likewise.
3169         * testsuite/tr1/6_containers/hash/24799.cc: Likewise.
3170         * testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise.
3171         *
3172         testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
3173         Likewise.
3174         * testsuite/tr1/6_containers/tuple/cons/assignment.cc: Likewise.
3175         * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise.
3176         * testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise.
3177         * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc:
3178         Likewise.
3179         * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
3180         Likewise.
3181         * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: Likewise.
3182         * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Likewise.
3183         * testsuite/tr1/6_containers/tuple/element_access/get.cc: Likewise.
3184         * testsuite/tr1/6_containers/tuple/tuple_size.cc: Likewise.
3185         * testsuite/tr1/6_containers/unordered_map/24064.cc: Likewise.
3186         * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
3187         Likewise.
3188         * testsuite/tr1/6_containers/unordered_map/erase/1.cc: Likewise.
3189         * testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc: Likewise.
3190         * testsuite/tr1/6_containers/unordered_map/find/map1.cc: Likewise.
3191         * testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc:
3192         Likewise.
3193         * testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc:
3194         Likewise.
3195         * testsuite/tr1/6_containers/unordered_map/insert/map_range.cc:
3196         Likewise.
3197         * testsuite/tr1/6_containers/unordered_map/insert/map_single.cc:
3198         Likewise.
3199         * testsuite/tr1/6_containers/unordered_map/swap/1.cc: Likewise.
3200         * testsuite/tr1/6_containers/unordered_map/swap/2.cc: Likewise.
3201         * testsuite/tr1/6_containers/unordered_multimap/capacity/
3202         29134-multimap.cc: Likewise.
3203         * testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise.
3204         * testsuite/tr1/6_containers/unordered_multimap/erase/
3205         24061-multimap.cc: Likewise.
3206         * testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc:
3207         Likewise.
3208         * testsuite/tr1/6_containers/unordered_multimap/insert/
3209         24061-multimap.cc: Likewise.
3210         * testsuite/tr1/6_containers/unordered_multimap/insert/
3211         multimap_range.cc: Likewise.
3212         * testsuite/tr1/6_containers/unordered_multimap/insert/
3213         multimap_single.cc: Likewise.
3214         * testsuite/tr1/6_containers/unordered_multimap/swap/1.cc: Likewise.
3215         * testsuite/tr1/6_containers/unordered_multimap/swap/2.cc: Likewise.
3216         * testsuite/tr1/6_containers/unordered_multiset/24054.cc: Likewise.
3217         * testsuite/tr1/6_containers/unordered_multiset/capacity/
3218         29134-multiset.cc: Likewise.
3219         * testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise.
3220         * testsuite/tr1/6_containers/unordered_multiset/erase/
3221         24061-multiset.cc: Likewise.
3222         * testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc:
3223         Likewise.
3224         * testsuite/tr1/6_containers/unordered_multiset/insert/
3225         24061-multiset.cc: Likewise.
3226         * testsuite/tr1/6_containers/unordered_multiset/insert/
3227         multiset_range.cc: Likewise.
3228         * testsuite/tr1/6_containers/unordered_multiset/insert/
3229         multiset_single.cc: Likewise.
3230         * testsuite/tr1/6_containers/unordered_multiset/swap/1.cc: Likewise.
3231         * testsuite/tr1/6_containers/unordered_multiset/swap/2.cc: Likewise.
3232         * testsuite/tr1/6_containers/unordered_set/23465.cc: Likewise.
3233         * testsuite/tr1/6_containers/unordered_set/26132.cc: Likewise.
3234         * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
3235         Likewise.
3236         * testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise.
3237         * testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc: Likewise.
3238         * testsuite/tr1/6_containers/unordered_set/find/set1.cc: Likewise.
3239         * testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc:
3240         Likewise.
3241         * testsuite/tr1/6_containers/unordered_set/insert/set_range.cc:
3242         Likewise.
3243         * testsuite/tr1/6_containers/unordered_set/insert/set_single.cc:
3244         Likewise.
3245         * testsuite/tr1/6_containers/unordered_set/swap/1.cc: Likewise.
3246         * testsuite/tr1/6_containers/unordered_set/swap/2.cc: Likewise.
3247         * testsuite/tr1/6_containers/utility/pair.cc: Likewise.
3248         * testsuite/tr1/7_regular_expressions/match_results/ctors/char/
3249         default.cc: Likewise.
3250         * testsuite/tr1/7_regular_expressions/regex_traits/char/
3251         translate_nocase.cc: Likewise.
3252         * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc:
3253         Likewise.
3254         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
3255         translate_nocase.cc: Likewise.
3256         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc:
3257         Likewise.
3258         * testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.
3259         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise.
3261 2016-10-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
3263         Make sure the return value of malloc_allocator::allocate
3264         is zero-initialized so that checking it for non-zero works
3265         later.
3266         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
3267         Initialize the return value.
3268         * testsuite/ext/malloc_allocator/sanity.cc: New.
3270 2016-10-14  Eelis van der Weegen  <eelis@eelis.net>
3272         * include/bits/stl_algo.h (shuffle): Extract two random numbers from
3273         each generator invocation when its range is large enough.
3275 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3277         * testsuite/experimental/algorithm/sample.cc: Qualify calls to
3278         resolve ambiguity between std::sample and std::experimental::sample.
3280         * include/std/functional (_Mu<A, false, true>, _Mu<A, true, false>):
3281         Simplify forwarding from tuple of references.
3282         (_Maybe_wrap_member_pointer): Remove.
3283         (_Bind::__call, _Bind::__call_c, _Bind::__call_v, _Bind::__call_c_v):
3284         Use std::__invoke.
3285         (_Bind::_Mu_type, _Bind::_Res_type_impl, _Bind::_Res_type)
3286         (_Bind::__dependent, _Bind::_Res_type_cv): New helpers to simplify
3287         return type deduction.
3288         (_Bind::operator(), _Bind::operator() const): Use new helpers.
3289         (_Bind::operator() volatile, _Bind::operator() const volatile):
3290         Likewise. Add deprecated attribute for C++17 mode.
3291         (_Bind_result::__call): Use std::__invoke.
3292         (_Bind_result::operator() volatile)
3293         (_Bind_result::operator() const volatile): Add deprecated attribute.
3294         (_Bind_helper::__maybe_type, _Bindres_helper::__maybe_type): Remove.
3295         (_Bind_helper, _Bindres_helper): Don't use _Maybe_wrap_member_pointer.
3296         (bind, bind<R>): Don't use __maybe_type.
3297         * src/c++11/compatibility-thread-c++0x.cc
3298         (_Maybe_wrap_member_pointer): Define here for compatibility symbols.
3299         * testsuite/20_util/bind/68912.cc: Don't test volatile-qualification
3300         in C++17 mode.
3301         * testsuite/20_util/bind/cv_quals.cc: Likewise.
3302         * testsuite/20_util/bind/cv_quals_2.cc: Likewise.
3304         * include/std/scoped_allocator (scoped_allocator_adaptor): Forward
3305         piecewise construction arguments as tuples of references, to avoid
3306         copies (related to LWG 2511).
3307         * testsuite/20_util/scoped_allocator/construct_pair.cc: New test.
3309 2016-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
3311         * testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables.
3312         * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
3313         * testsuite/26_numerics/complex/13450.cc: Likewise.
3314         * testsuite/26_numerics/complex/50880.cc: Likewise.
3315         * testsuite/26_numerics/complex/c99.cc: Likewise.
3316         * testsuite/26_numerics/complex/cons/48760.cc: Likewise.
3317         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
3318         * testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise.
3319         * testsuite/26_numerics/complex/dr844.cc: Likewise.
3320         * testsuite/26_numerics/complex/inserters_extractors/char/1.cc:
3321         Likewise.
3322         * testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc:
3323         Likewise.
3324         * testsuite/26_numerics/complex/value_operations/1.cc: Likewise.
3325         * testsuite/26_numerics/complex/value_operations/dr387.cc: Likewise.
3326         * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
3327         * testsuite/26_numerics/headers/cmath/
3328         c99_classification_macros_c++11.c: Likewise.c
3329         * testsuite/26_numerics/headers/cmath/
3330         c99_classification_macros_c++98.cc: Likewise.
3331         * testsuite/26_numerics/headers/cmath/c_math.cc: Likewise.
3332         * testsuite/26_numerics/headers/cmath/dr550.cc: Likewise.
3333         * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
3334         * testsuite/26_numerics/headers/cmath/powi.cc: Likewise.
3335         * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
3336         * testsuite/26_numerics/inner_product/1.cc: Likewise.
3337         * testsuite/26_numerics/iota/1.cc: Likewise.
3338         * testsuite/26_numerics/partial_sum/1.cc: Likewise.
3339         * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
3340         Likewise.
3341         * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
3342         Likewise.
3343         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3344         equal.cc: Likewise.
3345         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3346         inequal.cc: Likewise.
3347         * testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
3348         Likewise.
3349         * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
3350         Likewise.
3351         * testsuite/26_numerics/random/binomial_distribution/operators/
3352         equal.cc: Likewise.
3353         * testsuite/26_numerics/random/binomial_distribution/operators/
3354         inequal.cc: Likewise.
3355         * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
3356         Likewise.
3357         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
3358         Likewise.
3359         * testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc:
3360         Likewise.
3361         * testsuite/26_numerics/random/cauchy_distribution/operators/
3362         inequal.cc: Likewise.
3363         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3364         default.cc: Likewise.
3365         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3366         parms.cc: Likewise.
3367         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3368         equal.cc: Likewise.
3369         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3370         inequal.cc: Likewise.
3371         * testsuite/26_numerics/random/default_random_engine.cc: Likewise.
3372         * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
3373         Likewise.
3374         * testsuite/26_numerics/random/discard_block_engine/operators/equal.cc:
3375         Likewise.
3376         * testsuite/26_numerics/random/discard_block_engine/operators/
3377         inequal.cc: Likewise.
3378         * testsuite/26_numerics/random/discard_block_engine/operators/
3379         serialize.cc: Likewise.
3380         * testsuite/26_numerics/random/discrete_distribution/cons/
3381         default.cc: Likewise.
3382         * testsuite/26_numerics/random/discrete_distribution/cons/
3383         initlist.cc: Likewise.
3384         * testsuite/26_numerics/random/discrete_distribution/cons/
3385         num_xbound_fun.cc: Likewise.
3386         * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
3387         Likewise.
3388         * testsuite/26_numerics/random/discrete_distribution/operators/
3389         equal.cc: Likewise.
3390         * testsuite/26_numerics/random/discrete_distribution/operators/
3391         inequal.cc: Likewise.
3392         * testsuite/26_numerics/random/exponential_distribution/cons/
3393         default.cc: Likewise.
3394         * testsuite/26_numerics/random/exponential_distribution/cons/
3395         parms.cc: Likewise.
3396         * testsuite/26_numerics/random/exponential_distribution/operators/
3397         equal.cc: Likewise.
3398         * testsuite/26_numerics/random/exponential_distribution/operators/
3399         inequal.cc: Likewise.
3400         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3401         default.cc: Likewise.
3402         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3403         parms.cc: Likewise.
3404         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3405         equal.cc: Likewise.
3406         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3407         inequal.cc: Likewise.
3408         * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
3409         Likewise.
3410         * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
3411         Likewise.
3412         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3413         equal.cc: Likewise.
3414         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3415         inequal.cc: Likewise.
3416         * testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
3417         Likewise.
3418         * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
3419         Likewise.
3420         * testsuite/26_numerics/random/gamma_distribution/operators/equal.cc:
3421         Likewise.
3422         * testsuite/26_numerics/random/gamma_distribution/operators/
3423         inequal.cc: Likewise.
3424         * testsuite/26_numerics/random/geometric_distribution/cons/
3425         default.cc: Likewise.
3426         * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
3427         Likewise.
3428         * testsuite/26_numerics/random/geometric_distribution/operators/
3429         equal.cc: Likewise.
3430         * testsuite/26_numerics/random/geometric_distribution/operators/
3431         inequal.cc: Likewise.
3432         * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
3433         Likewise.
3434         * testsuite/26_numerics/random/independent_bits_engine/operators/
3435         equal.cc: Likewise.
3436         * testsuite/26_numerics/random/independent_bits_engine/operators/
3437         inequal.cc: Likewise.
3438         * testsuite/26_numerics/random/independent_bits_engine/operators/
3439         serialize.cc: Likewise.
3440         * testsuite/26_numerics/random/knuth_b.cc: Likewise.
3441         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3442         55215.cc: Likewise.
3443         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3444         default.cc: Likewise.
3445         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3446         51795.cc: Likewise.
3447         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3448         equal.cc: Likewise.
3449         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3450         inequal.cc: Likewise.
3451         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3452         serialize.cc: Likewise.
3453         * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
3454         Likewise.
3455         * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
3456         Likewise.
3457         * testsuite/26_numerics/random/lognormal_distribution/operators/
3458         equal.cc: Likewise.
3459         * testsuite/26_numerics/random/lognormal_distribution/operators/
3460         inequal.cc: Likewise.
3461         * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
3462         Likewise.
3463         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
3464         default.cc: Likewise.
3465         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3466         equal.cc: Likewise.
3467         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3468         inequal.cc: Likewise.
3469         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3470         serialize.cc: Likewise.
3471         * testsuite/26_numerics/random/minstd_rand.cc: Likewise.
3472         * testsuite/26_numerics/random/minstd_rand0.cc: Likewise.
3473         * testsuite/26_numerics/random/mt19937.cc: Likewise.
3474         * testsuite/26_numerics/random/mt19937_64.cc: Likewise.
3475         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3476         default.cc: Likewise.
3477         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3478         parms.cc: Likewise.
3479         * testsuite/26_numerics/random/negative_binomial_distribution/
3480         operators/equal.cc: Likewise.
3481         * testsuite/26_numerics/random/negative_binomial_distribution/
3482         operators/inequal.cc: Likewise.
3483         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
3484         Likewise.
3485         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
3486         Likewise.
3487         * testsuite/26_numerics/random/normal_distribution/operators/
3488         equal.cc: Likewise.
3489         * testsuite/26_numerics/random/normal_distribution/operators/
3490         inequal.cc: Likewise.
3491         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3492         default.cc: Likewise.
3493         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3494         initlist_fun.cc: Likewise.
3495         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3496         num_xbound_fun.cc: Likewise.
3497         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3498         range.cc: Likewise.
3499         * testsuite/26_numerics/random/piecewise_constant_distribution/
3500         operators/equal.cc: Likewise.
3501         * testsuite/26_numerics/random/piecewise_constant_distribution/
3502         operators/inequal.cc: Likewise.
3503         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3504         default.cc: Likewise.
3505         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3506         initlist_fun.cc: Likewise.
3507         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3508         num_xbound_fun.cc: Likewise.
3509         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3510         range.cc: Likewise.
3511         * testsuite/26_numerics/random/piecewise_linear_distribution/
3512         operators/equal.cc: Likewise.
3513         * testsuite/26_numerics/random/piecewise_linear_distribution/
3514         operators/inequal.cc: Likewise.
3515         * testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
3516         Likewise.
3517         * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
3518         Likewise.
3519         * testsuite/26_numerics/random/poisson_distribution/operators/
3520         equal.cc: Likewise.
3521         * testsuite/26_numerics/random/poisson_distribution/operators/
3522         inequal.cc: Likewise.
3523         * testsuite/26_numerics/random/random_device/cons/default.cc: Likewise.
3524         * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
3525         * testsuite/26_numerics/random/ranlux24.cc: Likewise.
3526         * testsuite/26_numerics/random/ranlux24_base.cc: Likewise.
3527         * testsuite/26_numerics/random/ranlux48.cc: Likewise.
3528         * testsuite/26_numerics/random/ranlux48_base.cc: Likewise.
3529         * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Likewise.
3530         * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
3531         Likewise.
3532         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3533         equal.cc: Likewise.
3534         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3535         inequal.cc: Likewise.
3536         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3537         serialize.cc: Likewise.
3538         * testsuite/26_numerics/random/student_t_distribution/cons/
3539         default.cc: Likewise.
3540         * testsuite/26_numerics/random/student_t_distribution/cons/
3541         parms.cc: Likewise.
3542         * testsuite/26_numerics/random/student_t_distribution/operators/
3543         equal.cc: Likewise.
3544         * testsuite/26_numerics/random/student_t_distribution/operators/
3545         inequal.cc: Likewise.
3546         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3547         55215.cc: Likewise.
3548         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3549         default.cc: Likewise.
3550         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3551         equal.cc: Likewise.
3552         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3553         inequal.cc: Likewise.
3554         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3555         serialize.cc: Likewise.
3556         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3557         default.cc: Likewise.
3558         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3559         parms.cc: Likewise.
3560         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3561         equal.cc: Likewise.
3562         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3563         inequal.cc: Likewise.
3564         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3565         default.cc: Likewise.
3566         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3567         parms.cc: Likewise.
3568         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3569         equal.cc: Likewise.
3570         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3571         inequal.cc: Likewise.
3572         * testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
3573         Likewise.
3574         * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
3575         Likewise.
3576         * testsuite/26_numerics/random/weibull_distribution/operators/
3577         equal.cc: Likewise.
3578         * testsuite/26_numerics/random/weibull_distribution/operators/
3579         inequal.cc: Likewise.
3580         * testsuite/26_numerics/slice/1.cc: Likewise.
3581         * testsuite/26_numerics/slice_array/array_assignment.cc: Likewise.
3582         * testsuite/26_numerics/valarray/27867.cc: Likewise.
3583         * testsuite/26_numerics/valarray/28277.cc: Likewise.
3584         * testsuite/26_numerics/valarray/30416.cc: Likewise.
3585         * testsuite/26_numerics/valarray/dr543.cc: Likewise.
3586         * testsuite/26_numerics/valarray/dr630-1.cc: Likewise.
3587         * testsuite/26_numerics/valarray/dr630-2.cc: Likewise.
3588         * testsuite/26_numerics/valarray/dr630-3.C: Likewise.
3589         * testsuite/26_numerics/valarray/init-list.cc: Likewise.
3590         * testsuite/26_numerics/valarray/moveable.cc: Likewise.
3591         * testsuite/26_numerics/valarray/operators.cc: Likewise.
3592         * testsuite/26_numerics/valarray/swap.cc: Likewise.
3593         * testsuite/experimental/deque/erasure.cc: Likewise.
3594         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
3595         Likewise.
3596         * testsuite/experimental/filesystem/iterators/
3597         recursive_directory_iterator.cc: Likewise.
3598         * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
3599         * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
3600         * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
3601         * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
3602         * testsuite/experimental/filesystem/operations/create_directories.cc:
3603         Likewise.
3604         * testsuite/experimental/filesystem/operations/create_directory.cc:
3605         Likewise.
3606         * testsuite/experimental/filesystem/operations/current_path.cc:
3607         Likewise.
3608         * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
3609         * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
3610         * testsuite/experimental/filesystem/operations/last_write_time.cc:
3611         Likewise.
3612         * testsuite/experimental/filesystem/operations/permissions.cc: Likewise.
3613         * testsuite/experimental/filesystem/operations/status.cc: Likewise.
3614         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
3615         Likewise.
3616         * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
3617         * testsuite/experimental/forward_list/erasure.cc: Likewise.
3618         * testsuite/experimental/list/erasure.cc: Likewise.
3619         * testsuite/experimental/map/erasure.cc: Likewise.
3620         * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Likewise.
3621         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
3622         Likewise.
3623         * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: Likewise.
3624         * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: Likewise.
3625         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: Likewise.
3626         * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
3627         Likewise.
3628         * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: Likewise.
3629         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
3630         Likewise.
3631         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
3632         Likewise.
3633         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
3634         Likewise.
3635         * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
3636         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Likewise.
3637         * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: Likewise.
3638         * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
3639         Likewise.
3640         * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
3641         Likewise.
3642         * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
3643         Likewise.
3644         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
3645         Likewise.
3646         * testsuite/experimental/memory_resource/1.cc: Likewise.
3647         * testsuite/experimental/memory_resource/null_memory_resource.cc:
3648         Likewise.
3649         * testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise.
3650         * testsuite/experimental/set/erasure.cc: Likewise.
3651         * testsuite/experimental/string/erasure.cc: Likewise.
3652         * testsuite/experimental/string_view/capacity/1.cc: Likewise.
3653         * testsuite/experimental/string_view/cons/char/1.cc: Likewise.
3654         * testsuite/experimental/string_view/cons/char/2.cc: Likewise.
3655         * testsuite/experimental/string_view/cons/char/3.cc: Likewise.
3656         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
3657         * testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise.
3658         * testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise.
3659         * testsuite/experimental/string_view/element_access/char/1.cc: Likewise.
3660         * testsuite/experimental/string_view/element_access/char/empty.cc:
3661         Likewise.
3662         * testsuite/experimental/string_view/element_access/char/
3663         front_back.cc: Likewise.
3664         * testsuite/experimental/string_view/element_access/wchar_t/1.cc:
3665         Likewise.
3666         * testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
3667         Likewise.
3668         * testsuite/experimental/string_view/element_access/wchar_t/
3669         front_back.cc: Likewise.
3670         * testsuite/experimental/string_view/inserters/char/1.cc: Likewise.
3671         * testsuite/experimental/string_view/inserters/char/2.cc: Likewise.
3672         * testsuite/experimental/string_view/inserters/char/3.cc: Likewise.
3673         * testsuite/experimental/string_view/inserters/pod/10081-out.cc:
3674         Likewise.
3675         * testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise.
3676         * testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise.
3677         * testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise.
3678         * testsuite/experimental/string_view/modifiers/remove_prefix/char/
3679         1.cc: Likewise.
3680         * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
3681         1.cc: Likewise.
3682         * testsuite/experimental/string_view/modifiers/remove_suffix/char/
3683         1.cc: Likewise.
3684         * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
3685         1.cc: Likewise.
3686         * testsuite/experimental/string_view/operations/compare/char/1.cc:
3687         Likewise.
3688         * testsuite/experimental/string_view/operations/compare/char/
3689         13650.cc: Likewise.
3690         * testsuite/experimental/string_view/operations/compare/wchar_t/
3691         1.cc: Likewise.
3692         * testsuite/experimental/string_view/operations/compare/wchar_t/
3693         13650.cc: Likewise.
3694         * testsuite/experimental/string_view/operations/copy/char/1.cc:
3695         Likewise.
3696         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
3697         Likewise.
3698         * testsuite/experimental/string_view/operations/data/char/1.cc:
3699         Likewise.
3700         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
3701         Likewise.
3702         * testsuite/experimental/string_view/operations/find/char/1.cc:
3703         Likewise.
3704         * testsuite/experimental/string_view/operations/find/char/2.cc:
3705         Likewise.
3706         * testsuite/experimental/string_view/operations/find/char/3.cc:
3707         Likewise.
3708         * testsuite/experimental/string_view/operations/find/char/4.cc:
3709         Likewise.
3710         * testsuite/experimental/string_view/operations/find/wchar_t/1.cc:
3711         Likewise.
3712         * testsuite/experimental/string_view/operations/find/wchar_t/2.cc:
3713         Likewise.
3714         * testsuite/experimental/string_view/operations/find/wchar_t/3.cc:
3715         Likewise.
3716         * testsuite/experimental/string_view/operations/find/wchar_t/4.cc:
3717         Likewise.
3718         * testsuite/experimental/string_view/operations/rfind/char/1.cc:
3719         Likewise.
3720         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
3721         Likewise.
3722         * testsuite/experimental/string_view/operations/rfind/char/3.cc:
3723         Likewise.
3724         * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc:
3725         Likewise.
3726         * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc:
3727         Likewise.
3728         * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc:
3729         Likewise.
3730         * testsuite/experimental/string_view/operations/substr/char/1.cc:
3731         Likewise.
3732         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
3733         Likewise.
3734         * testsuite/experimental/string_view/operations/to_string/1.cc:
3735         Likewise.
3736         * testsuite/experimental/string_view/operators/char/2.cc: Likewise.
3737         * testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise.
3738         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
3739         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
3740         * testsuite/experimental/vector/erasure.cc: Likewise.
3741         * testsuite/ext/array_allocator/1.cc: Likewise.
3742         * testsuite/ext/array_allocator/2.cc: Likewise.
3743         * testsuite/ext/array_allocator/3.cc: Likewise.
3744         * testsuite/ext/array_allocator/variadic_construct.cc: Likewise.
3745         * testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
3746         * testsuite/ext/codecvt/1.cc: Likewise.
3747         * testsuite/ext/codecvt/char-1.cc: Likewise.
3748         * testsuite/ext/codecvt/char-2.cc: Likewise.
3749         * testsuite/ext/codecvt/wchar_t.cc: Likewise.
3750         * testsuite/ext/enc_filebuf/char/13189.cc: Likewise.
3751         * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
3752         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
3753         * testsuite/ext/ext_pointer/1.cc: Likewise.
3754         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
3755         * testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
3756         * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: Likewise.
3757         * testsuite/ext/mt_allocator/tune-1.cc: Likewise.
3758         * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
3759         * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
3760         * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
3761         * testsuite/ext/mt_allocator/variadic_construct.cc: Likewise.
3762         * testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
3763         * testsuite/ext/pod_char_traits.cc: Likewise.
3764         * testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
3765         * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
3766         * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
3767         * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
3768         Likewise.
3769         * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
3770         Likewise.
3771         * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
3772         Likewise.
3773         * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
3774         * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
3775         * testsuite/ext/random/beta_distribution/operators/equal.cc: Likewise.
3776         * testsuite/ext/random/beta_distribution/operators/inequal.cc: Likewise.
3777         * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
3778         * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
3779         * testsuite/ext/random/hoyt_distribution/operators/equal.cc: Likewise.
3780         * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: Likewise.
3781         * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
3782         Likewise.
3783         * testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
3784         Likewise.
3785         * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
3786         Likewise.
3787         * testsuite/ext/random/hypergeometric_distribution/operators/
3788         equal.cc: Likewise.
3789         * testsuite/ext/random/hypergeometric_distribution/operators/
3790         inequal.cc: Likewise.
3791         * testsuite/ext/random/hypergeometric_distribution/operators/
3792         serialize.cc: Likewise.
3793         * testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
3794         * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
3795         * testsuite/ext/random/k_distribution/operators/equal.cc: Likewise.
3796         * testsuite/ext/random/k_distribution/operators/inequal.cc: Likewise.
3797         * testsuite/ext/random/k_distribution/operators/serialize.cc: Likewise.
3798         * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
3799         * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
3800         * testsuite/ext/random/logistic_distribution/operators/equal.cc:
3801         Likewise.
3802         * testsuite/ext/random/logistic_distribution/operators/inequal.cc:
3803         Likewise.
3804         * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
3805         Likewise.
3806         * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
3807         * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
3808         * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
3809         Likewise.
3810         * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
3811         Likewise.
3812         * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
3813         Likewise.
3814         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
3815         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
3816         * testsuite/ext/random/normal_mv_distribution/operators/equal.cc:
3817         Likewise.
3818         * testsuite/ext/random/normal_mv_distribution/operators/inequal.cc:
3819         Likewise.
3820         * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
3821         * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
3822         * testsuite/ext/random/pareto_distribution/operators/equal.cc: Likewise.
3823         * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
3824         Likewise.
3825         * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
3826         Likewise.
3827         * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
3828         * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
3829         * testsuite/ext/random/rice_distribution/operators/equal.cc: Likewise.
3830         * testsuite/ext/random/rice_distribution/operators/inequal.cc: Likewise.
3831         * testsuite/ext/random/rice_distribution/operators/serialize.cc:
3832         Likewise.
3833         * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
3834         default.cc: Likewise.
3835         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3836         equal.cc: Likewise.
3837         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3838         inequal.cc: Likewise.
3839         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3840         serialize.cc: Likewise.
3841         * testsuite/ext/random/triangular_distribution/cons/default.cc:
3842         Likewise.
3843         * testsuite/ext/random/triangular_distribution/cons/parms.cc: Likewise.
3844         * testsuite/ext/random/triangular_distribution/operators/equal.cc:
3845         Likewise.
3846         * testsuite/ext/random/triangular_distribution/operators/inequal.cc:
3847         Likewise.
3848         * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
3849         Likewise.
3850         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3851         equal.cc: Likewise.
3852         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3853         generate.cc: Likewise.
3854         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3855         inequal.cc: Likewise.
3856         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3857         serialize.cc: Likewise.
3858         * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise.
3859         * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
3860         * testsuite/ext/random/von_mises_distribution/operators/equal.cc:
3861         Likewise.
3862         * testsuite/ext/random/von_mises_distribution/operators/inequal.cc:
3863         Likewise.
3864         * testsuite/ext/rope/2.cc: Likewise.
3865         * testsuite/ext/rope/3.cc: Likewise.
3866         * testsuite/ext/rope/4.cc: Likewise.
3867         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
3868         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
3869         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise.
3870         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
3871         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
3872         * testsuite/ext/stdio_filebuf/char/10063-1.cc: Likewise.
3873         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
3874         * testsuite/ext/stdio_filebuf/char/10063-3.cc: Likewise.
3875         * testsuite/ext/stdio_filebuf/char/2.cc: Likewise.
3876         * testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.
3877         * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise.
3878         * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise.
3879         * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise.
3880         * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise.
3881         * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
3882         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
3883         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise.
3884         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise.
3885         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise.
3886         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise.
3887         * testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
3888         * testsuite/ext/type_traits/add_unsigned.cc: Likewise.
3889         * testsuite/ext/type_traits/remove_unsigned.cc: Likewise.
3890         * testsuite/ext/vstring/capacity/29134.cc: Likewise.
3891         * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
3892         * testsuite/ext/vstring/cons/58415-1.cc: Likewise.
3893         * testsuite/ext/vstring/cons/moveable.cc: Likewise.
3894         * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
3895         * testsuite/ext/vstring/element_access/char/front_back.cc: Likewise.
3896         * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
3897         * testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise.
3898         * testsuite/ext/vstring/hash/char/1.cc: Likewise.
3899         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
3900         * testsuite/ext/vstring/init-list.cc: Likewise.
3901         * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
3902         * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise.
3903         * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Likewise.
3904         * testsuite/ext/vstring/modifiers/pop_back/char/1.cc: Likewise.
3905         * testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc: Likewise.
3906         * testsuite/ext/vstring/operators/1.cc: Likewise.
3907         * testsuite/ext/vstring/operators/2.cc: Likewise.
3909 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3911         PR libstdc++/65122
3912         * include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
3913         aligned_alloc for types with extended alignment if available,
3914         otherwise throw bad_alloc if malloc doesn't return a suitable value.
3915         * include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
3916         (bitmap_allocator::deallocate): Use aligned new/delete for types with
3917         extended alignment.
3918         * include/ext/mt_allocator.h (__mt_alloc::allocate)
3919         (__mt_alloc::deallocate): Likewise.
3920         * include/ext/new_allocator.h (new_allocator::allocate)
3921         (new_allocator::deallocate): Likewise.
3922         * include/ext/pool_allocator.h (__pool_alloc::allocate)
3923         (__pool_alloc::deallocate): Likewise.
3924         * testsuite/20_util/allocator/overaligned.cc: New test.
3925         * testsuite/ext/bitmap_allocator/overaligned.cc: New test.
3926         * testsuite/ext/malloc_allocator/overaligned.cc: New test.
3927         * testsuite/ext/mt_allocator/overaligned.cc: New test.
3928         * testsuite/ext/new_allocator/overaligned.cc: New test.
3929         * testsuite/ext/pool_allocator/overaligned.cc: New test.
3931 2016-10-14  Tim Shen  <timshen@google.com>
3933         PR libstdc++/77944
3934         * include/std/variant: Include <bits/funcexcept.h> for __try and
3935         __catch.
3937 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3939         * include/std/functional (_Reference_wrapper_base_impl): Remove.
3940         (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
3941         (_Reference_wrapper_base): Inherit from new helpers.
3943 2016-10-13  Paolo Carlini  <paolo.carlini@oracle.com>
3945         * testsuite/24_iterators/container_access.cc: Remove 'test' variables.
3946         * testsuite/24_iterators/istream_iterator/2.cc: Likewise.
3947         * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
3948         * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
3949         * testsuite/24_iterators/operations/next.cc: Likewise.
3950         * testsuite/24_iterators/operations/prev.cc: Likewise.
3951         * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
3952         * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
3953         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
3954         * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
3955         * testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
3956         * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
3957         * testsuite/25_algorithms/all_of/1.cc: Likewise.
3958         * testsuite/25_algorithms/any_of/1.cc: Likewise.
3959         * testsuite/25_algorithms/binary_search/2.cc: Likewise.
3960         * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
3961         * testsuite/25_algorithms/clamp/1.cc: Likewise.
3962         * testsuite/25_algorithms/clamp/2.cc: Likewise.
3963         * testsuite/25_algorithms/copy/1.cc: Likewise.
3964         * testsuite/25_algorithms/copy/2.cc: Likewise.
3965         * testsuite/25_algorithms/copy/3.cc: Likewise.
3966         * testsuite/25_algorithms/copy/34595.cc: Likewise.
3967         * testsuite/25_algorithms/copy/4.cc: Likewise.
3968         * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
3969         * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
3970         * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
3971         * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
3972         * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
3973         * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
3974         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
3975         Likewise.
3976         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
3977         Likewise.
3978         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
3979         Likewise.
3980         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
3981         Likewise.
3982         * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
3983         * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
3984         * testsuite/25_algorithms/copy_n/1.cc: Likewise.
3985         * testsuite/25_algorithms/copy_n/2.cc: Likewise.
3986         * testsuite/25_algorithms/copy_n/3.cc: Likewise.
3987         * testsuite/25_algorithms/copy_n/4.cc: Likewise.
3988         * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
3989         * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
3990         * testsuite/25_algorithms/equal_range/2.cc: Likewise.
3991         * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
3992         * testsuite/25_algorithms/fill/1.cc: Likewise.
3993         * testsuite/25_algorithms/fill/2.cc: Likewise.
3994         * testsuite/25_algorithms/fill/3.cc: Likewise.
3995         * testsuite/25_algorithms/fill/4.cc: Likewise.
3996         * testsuite/25_algorithms/fill_n/1.cc: Likewise.
3997         * testsuite/25_algorithms/find/39546.cc: Likewise.
3998         * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
3999         * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
4000         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
4001         Likewise.
4002         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
4003         Likewise.
4004         * testsuite/25_algorithms/find_if/1.cc: Likewise.
4005         * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
4006         * testsuite/25_algorithms/for_each/1.cc: Likewise.
4007         * testsuite/25_algorithms/heap/1.cc: Likewise.
4008         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
4009         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
4010         * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
4011         * testsuite/25_algorithms/includes/1.cc: Likewise.
4012         * testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
4013         * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
4014         * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
4015         * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
4016         * testsuite/25_algorithms/is_heap/1.cc: Likewise.
4017         * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
4018         * testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
4019         * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
4020         * testsuite/25_algorithms/is_permutation/2.cc: Likewise.
4021         * testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
4022         * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
4023         * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
4024         * testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
4025         * testsuite/25_algorithms/lower_bound/2.cc: Likewise.
4026         * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
4027         * testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
4028         * testsuite/25_algorithms/max/1.cc: Likewise.
4029         * testsuite/25_algorithms/max/2.cc: Likewise.
4030         * testsuite/25_algorithms/max/3.cc: Likewise.
4031         * testsuite/25_algorithms/max/37547.cc: Likewise.
4032         * testsuite/25_algorithms/max/4.cc: Likewise.
4033         * testsuite/25_algorithms/min/1.cc: Likewise.
4034         * testsuite/25_algorithms/min/2.cc: Likewise.
4035         * testsuite/25_algorithms/min/3.cc: Likewise.
4036         * testsuite/25_algorithms/min/37547.cc: Likewise.
4037         * testsuite/25_algorithms/min/4.cc: Likewise.
4038         * testsuite/25_algorithms/minmax/1.cc: Likewise.
4039         * testsuite/25_algorithms/minmax/2.cc: Likewise.
4040         * testsuite/25_algorithms/minmax/3.cc: Likewise.
4041         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
4042         * testsuite/25_algorithms/minmax_element/1.cc: Likewise.
4043         * testsuite/25_algorithms/move/1.cc: Likewise.
4044         * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
4045         * testsuite/25_algorithms/move_backward/1.cc: Likewise.
4046         * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
4047         * testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
4048         * testsuite/25_algorithms/none_of/1.cc: Likewise.
4049         * testsuite/25_algorithms/nth_element/1.cc: Likewise.
4050         * testsuite/25_algorithms/nth_element/2.cc: Likewise.
4051         * testsuite/25_algorithms/nth_element/3.cc: Likewise.
4052         * testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
4053         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
4054         * testsuite/25_algorithms/partial_sort/2.cc: Likewise.
4055         * testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
4056         Likewise.
4057         * testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
4058         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
4059         * testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
4060         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
4061         * testsuite/25_algorithms/partition/1.cc: Likewise.
4062         * testsuite/25_algorithms/partition/moveable.cc: Likewise.
4063         * testsuite/25_algorithms/partition_copy/1.cc: Likewise.
4064         * testsuite/25_algorithms/partition_point/1.cc: Likewise.
4065         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
4066         * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
4067         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
4068         * testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
4069         * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
4070         * testsuite/25_algorithms/rotate/1.cc: Likewise.
4071         * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
4072         * testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
4073         * testsuite/25_algorithms/rotate/rotate.cc: Likewise.
4074         * testsuite/25_algorithms/search/1.cc: Likewise.
4075         * testsuite/25_algorithms/search_n/58358.cc: Likewise.
4076         * testsuite/25_algorithms/shuffle/1.cc: Likewise.
4077         * testsuite/25_algorithms/sort/1.cc: Likewise.
4078         * testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
4079         * testsuite/25_algorithms/sort/moveable.cc: Likewise.
4080         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
4081         * testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
4082         * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
4083         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
4084         * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
4085         * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
4086         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
4087         * testsuite/25_algorithms/stable_sort/2.cc: Likewise.
4088         * testsuite/25_algorithms/stable_sort/3.cc: Likewise.
4089         * testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
4090         * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
4091         Likewise.
4092         * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
4093         * testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
4094         * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
4095         * testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
4096         * testsuite/25_algorithms/unique/11480.cc: Likewise.
4097         * testsuite/25_algorithms/unique/2.cc: Likewise.
4098         * testsuite/25_algorithms/unique/moveable.cc: Likewise.
4099         * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
4100         * testsuite/25_algorithms/unique_copy/2.cc: Likewise.
4101         * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
4102         * testsuite/25_algorithms/upper_bound/2.cc: Likewise.
4103         * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
4104         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
4105         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
4106         Likewise.
4107         * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
4108         Likewise.
4109         * testsuite/28_regex/algorithms/regex_match/basic/
4110         string_range_00_03.cc: Likewise.
4111         * testsuite/28_regex/algorithms/regex_match/basic/
4112         string_range_01_03.cc: Likewise.
4113         * testsuite/28_regex/algorithms/regex_match/basic/
4114         string_range_02_03.cc: Likewise.
4115         * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
4116         Likewise.
4117         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
4118         Likewise.
4119         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
4120         Likewise.
4121         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
4122         Likewise.
4123         * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
4124         Likewise.
4125         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
4126         Likewise.
4127         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
4128         Likewise.
4129         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
4130         Likewise.
4131         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
4132         Likewise.
4133         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
4134         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
4135         Likewise.
4136         * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
4137         Likewise.
4138         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
4139         Likewise.
4140         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
4141         anymatcher.cc: Likewise.
4142         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
4143         Likewise.
4144         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
4145         Likewise.
4146         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
4147         Likewise.
4148         * testsuite/28_regex/algorithms/regex_match/extended/
4149         cstring_questionmark.cc: Likewise.
4150         * testsuite/28_regex/algorithms/regex_match/extended/
4151         cstring_range.cc: Likewise.
4152         * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
4153         Likewise.
4154         * testsuite/28_regex/algorithms/regex_match/extended/
4155         string_range_00_03.cc: Likewise.
4156         * testsuite/28_regex/algorithms/regex_match/extended/
4157         string_range_01_03.cc: Likewise.
4158         * testsuite/28_regex/algorithms/regex_match/extended/
4159         string_range_02_03.cc: Likewise.
4160         * testsuite/28_regex/algorithms/regex_match/extended/
4161         wstring_locale.cc: Likewise.
4162         * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
4163         Likewise.
4164         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
4165         * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
4166         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
4167         Likewise.
4168         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
4169         Likewise.
4170         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
4171         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
4172         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
4173         Likewise.
4174         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
4175         * testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
4176         * testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
4177         * testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
4178         * testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
4179         * testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
4180         * testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
4181         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
4182         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
4183         * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
4184         * testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
4185         * testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
4186         * testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
4187         * testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
4188         Likewise.
4189         * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
4190         Likewise.
4191         * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
4192         * testsuite/28_regex/basic_regex/ctors/extended/
4193         string_range_01_02_03.cc: Likewise.
4194         * testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
4195         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
4196         * testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
4197         * testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
4198         * testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
4199         * testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
4200         * testsuite/28_regex/constants/error_type.cc: Likewise.
4201         * testsuite/28_regex/constants/match_flag_type.cc: Likewise.
4202         * testsuite/28_regex/init-list.cc: Likewise.
4203         * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
4204         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
4205         Likewise.
4206         * testsuite/28_regex/iterators/regex_iterator/char/
4207         string_position_01.cc
4208         * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
4209         Likewise.
4210         * testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
4211         default.cc: Likewise.
4212         * testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
4213         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
4214         Likewise.
4215         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
4216         Likewise.
4217         * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
4218         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
4219         Likewise.
4220         * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
4221         default.cc: Likewise.
4222         * testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
4223         default.cc: Likewise.
4224         * testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
4225         Likewise.
4226         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4227         string_01.cc: Likewise.
4228         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4229         wstring_02.cc: Likewise.
4230         * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
4231         * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
4232         * testsuite/28_regex/match_results/format.cc: Likewise.
4233         * testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
4234         * testsuite/28_regex/match_results/swap.cc: Likewise.
4235         * testsuite/28_regex/match_results/typedefs.cc: Likewise.
4236         * testsuite/28_regex/regex_error/regex_error.cc: Likewise.
4237         * testsuite/28_regex/regression.cc: Likewise.
4238         * testsuite/28_regex/sub_match/cast_char.cc: Likewise.
4239         * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
4240         * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
4241         * testsuite/28_regex/sub_match/length.cc: Likewise.
4242         * testsuite/28_regex/traits/char/ctor.cc: Likewise.
4243         * testsuite/28_regex/traits/char/isctype.cc: Likewise.
4244         * testsuite/28_regex/traits/char/length.cc: Likewise.
4245         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
4246         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
4247         * testsuite/28_regex/traits/char/transform.cc: Likewise.
4248         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
4249         * testsuite/28_regex/traits/char/translate.cc: Likewise.
4250         * testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
4251         * testsuite/28_regex/traits/char/user_defined.cc: Likewise.
4252         * testsuite/28_regex/traits/char/value.cc: Likewise.
4253         * testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
4254         * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
4255         * testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
4256         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
4257         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
4258         * testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
4259         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
4260         * testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
4261         * testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
4262         * testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
4263         * testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
4264         * testsuite/29_atomics/atomic/60658.cc: Likewise.
4265         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
4266         * testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
4267         * testsuite/backward/11460.cc: Likewise.
4268         * testsuite/backward/hash_map/1.cc: Likewise.
4269         * testsuite/backward/hash_map/25896.cc: Likewise.
4270         * testsuite/backward/hash_set/1.cc: Likewise.
4271         * testsuite/backward/hash_set/25896.cc: Likewise.
4272         * testsuite/decimal/binary-arith.cc: Likewise.
4273         * testsuite/decimal/comparison.cc: Likewise.
4274         * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
4275         * testsuite/decimal/compound-assignment.cc: Likewise.
4276         * testsuite/decimal/conversion-from-float.cc: Likewise.
4277         * testsuite/decimal/conversion-from-integral.cc: Likewise.
4278         * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
4279         * testsuite/decimal/conversion-to-integral.cc: Likewise.
4280         * testsuite/decimal/ctor.cc: Likewise.
4281         * testsuite/decimal/incdec-memfunc.cc: Likewise.
4282         * testsuite/decimal/incdec.cc: Likewise.
4283         * testsuite/decimal/make-decimal.cc: Likewise.
4284         * testsuite/decimal/pr54036-1.cc: Likewise.
4285         * testsuite/decimal/pr54036-2.cc: Likewise.
4286         * testsuite/decimal/pr54036-3.cc: Likewise.
4287         * testsuite/decimal/unary-arith.cc: Likewise.
4288         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
4289         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
4290         Likewise.
4291         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
4292         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
4293         Likewise.
4294         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
4295         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
4296         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
4297         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
4298         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
4299         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
4300         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
4301         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
4302         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
4303         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
4304         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
4305         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
4306         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
4307         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
4308         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
4309         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
4310         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
4311         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
4312         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
4313         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
4314         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
4315         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
4316         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
4317         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
4318         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
4319         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
4320         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
4321         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
4322         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
4323         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
4324         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
4325         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
4326         * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
4327         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
4328         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
4329         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
4330         * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
4331         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
4332         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
4333         * testsuite/tr2/bases/value.cc: Likewise.
4334         * testsuite/tr2/direct_bases/value.cc: Likewise.
4335         * testsuite/util/debug/checks.h: Likewise.
4336         * testsuite/util/debug/unordered_checks.h: Likewise.
4337         * testsuite/util/testsuite_allocator.h: Likewise.
4338         * testsuite/util/testsuite_api.h: Likewise.
4339         * testsuite/util/testsuite_common_types.h: Likewise.
4340         * testsuite/util/testsuite_random.h: Likewise.
4341         * testsuite/util/testsuite_rvalref.h: Likewise.
4343 2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
4345         * include/bits/shared_ptr_base.h: Include <functional>.
4346         [!__cpp_rtti]: Do not include <typeinfo>.
4347         * include/experimental/array: Do not include <functional>.
4348         * include/experimental/memory: Include <bits/functional_hash.h>
4349         instead of <functional>.
4350         * include/experimental/propagate_const: Include <bits/stl_function.h>,
4351         <bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
4352         * include/experimental/tuple: Do not include <functional>.
4353         * include/std/future: Include <functional>.
4354         * include/std/memory: Do not include <functional>.
4355         * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
4356         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
4357         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
4358         missing includes.
4359         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4360         * testsuite/20_util/specialized_algorithms/memory_management_tools/
4361         1.cc: Likewise.
4362         * testsuite/30_threads/call_once/60497.cc: Likewise.
4363         * testsuite/30_threads/lock/2.cc: Likewise.
4364         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
4365         * testsuite/experimental/algorithm/sample.cc: Likewise.
4366         * testsuite/experimental/array/make_array.cc: Likewise.
4367         * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
4368         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
4369         Adjust dg-error lines.
4370         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
4371         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
4372         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
4373         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
4374         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
4376         * testsuite/experimental/algorithm/sample.cc: Add missing header.
4378         * include/experimental/propagate_const (element_type): Qualify
4379         declval.
4381         * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
4382         instead of assert.
4384         * include/experiumental/functional (boyer_moore_searcher)
4385         (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
4386         with _GLIBCXX_STD_C.
4387         * include/std/functional: Likewise.
4389         * include/std/chrono (floor): Replace non-constexpr operation.
4390         * testsuite/20_util/duration_cast/rounding.cc: Test conversion to
4391         durations with floating pointer representations.
4393         * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
4394         (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
4396         * include/std/functional (_Bind_simple, _Bind_simple_helper)
4397         (__bind_simple): Remove.
4398         * include/std/future: Include <bits/invoke.h> instead of <functional>.
4399         (__future_base::_Task_state::_M_run)
4400         (__future_base::_Task_state::_M_run_delayed): Use lambda expressions
4401         instead of __bind_simple.
4402         (__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
4403         (async): Use thread::__make_invoker instead of __bind_simple.
4404         * include/std/thread: Include <tuple> and <bits/invoke.h> instead of
4405         <functional>.
4406         (thread::_Invoker, thread::__make_invoker): Define helpers to do
4407         INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
4409         * include/std/functional (_Not_fn): Make exception specifications
4410         depend on whether negating the result can throw.
4411         * testsuite/20_util/not_fn/1.cc: Move to ...
4412         * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
4413         for types that can throw when negated and that cannot be negated.
4415         * include/bits/invoke.h (__invoke): Fix exception-specification.
4416         * include/std/functional (invoke): Likewise.
4417         * testsuite/20_util/function_objects/invoke/1.cc: New test.
4419 2016-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
4421         * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
4422         __builtin_printf and __builtin_abort.
4423         * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
4424         * scripts/testsuite_flags.in: Likewise.
4425         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
4426         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
4427         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
4428         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
4429         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
4430         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
4431         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
4432         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
4433         * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
4434         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
4435         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
4436         Likewise.
4437         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
4438         Likewise.
4439         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
4440         Likewise.
4441         * testsuite/27_io/objects/char/7.cc: Likewise.
4442         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
4443         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
4444         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
4445         * testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
4446         * testsuite/18_support/bad_alloc/what.cc: Likewise.
4447         * testsuite/18_support/bad_cast/what.cc: Likewise.
4448         * testsuite/18_support/bad_exception/what.cc: Likewise.
4449         * testsuite/18_support/bad_typeid/what.cc: Likewise.
4450         * testsuite/18_support/exception/38732.cc: Likewise.
4451         * testsuite/18_support/exception/what.cc: Likewise.
4452         * testsuite/18_support/exception_ptr/64241.cc: Likewise.
4453         * testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
4454         * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
4455         * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
4456         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
4457         * testsuite/18_support/nested_exception/cons.cc: Likewise.
4458         * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
4459         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
4460         * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
4461         * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
4462         * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
4463         * testsuite/18_support/numeric_limits/digits10.cc: Likewise.
4464         * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
4465         * testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
4466         * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
4467         * testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
4468         * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
4469         * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
4470         * testsuite/18_support/numeric_limits/min_max.cc: Likewise.
4471         * testsuite/18_support/numeric_limits/specialization_default_values.cc:
4472         Likewise.
4473         * testsuite/18_support/type_info/hash_code.cc: Likewise.
4474         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
4475         * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
4476         * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
4477         * testsuite/19_diagnostics/error_category/operators/
4478         not_equal.cc: Likewise.
4479         * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
4480         * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
4481         * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
4482         * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
4483         * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
4484         * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
4485         * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
4486         * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
4487         * testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
4488         Likewise.
4489         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
4490         * testsuite/19_diagnostics/error_condition/operators/equal.cc:
4491         Likewise.
4492         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
4493         Likewise.
4494         * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
4495         * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
4496         * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
4497         * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
4498         * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
4499         * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
4500         * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
4501         * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
4502         * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
4503         * testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
4504         * testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
4505         * testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
4506         * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
4507         * testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
4508         * testsuite/20_util/addressof/1.cc: Likewise.
4509         * testsuite/20_util/align/1.cc: Likewise.
4510         * testsuite/20_util/align/2.cc: Likewise.
4511         * testsuite/20_util/allocator/1.cc: Likewise.
4512         * testsuite/20_util/allocator/10378.cc: Likewise.
4513         * testsuite/20_util/allocator/8230.cc: Likewise.
4514         * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
4515         Likewise.
4516         * testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
4517         * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
4518         * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
4519         * testsuite/20_util/any/assign/exception.cc: Likewise.
4520         * testsuite/20_util/auto_ptr/1.cc: Likewise.
4521         * testsuite/20_util/auto_ptr/2.cc: Likewise.
4522         * testsuite/20_util/auto_ptr/3.cc: Likewise.
4523         * testsuite/20_util/auto_ptr/4.cc: Likewise.
4524         * testsuite/20_util/auto_ptr/5.cc: Likewise.
4525         * testsuite/20_util/auto_ptr/6.cc: Likewise.
4526         * testsuite/20_util/auto_ptr/7.cc: Likewise.
4527         * testsuite/20_util/bind/all_bound.cc: Likewise.
4528         * testsuite/20_util/bind/conv_result.cc: Likewise.
4529         * testsuite/20_util/bind/cv_quals.cc: Likewise.
4530         * testsuite/20_util/bind/cv_quals_2.cc
4531         * testsuite/20_util/bind/nested.cc: Likewise.
4532         * testsuite/20_util/bind/placeholders.cc: Likewise.
4533         * testsuite/20_util/bind/ref.cc: Likewise.
4534         * testsuite/20_util/bind/ref2.cc: Likewise.
4535         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
4536         * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
4537         * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
4538         * testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
4539         * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
4540         * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
4541         * testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
4542         * testsuite/20_util/duration/cons/1.cc: Likewise.
4543         * testsuite/20_util/duration/cons/2.cc: Likewise.
4544         * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
4545         * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
4546         * testsuite/20_util/enable_shared_from_this/members/assign.cc:
4547         Likewise.
4548         * testsuite/20_util/exchange/1.cc: Likewise.
4549         * testsuite/20_util/forward/a.cc: Likewise.
4550         * testsuite/20_util/forward/b.cc: Likewise.
4551         * testsuite/20_util/forward/d.cc: Likewise.
4552         * testsuite/20_util/function/1.cc: Likewise.
4553         * testsuite/20_util/function/2.cc: Likewise.
4554         * testsuite/20_util/function/3.cc: Likewise.
4555         * testsuite/20_util/function/4.cc: Likewise.
4556         * testsuite/20_util/function/43397.cc: Likewise.
4557         * testsuite/20_util/function/5.cc: Likewise.
4558         * testsuite/20_util/function/6.cc: Likewise.
4559         * testsuite/20_util/function/7.cc: Likewise.
4560         * testsuite/20_util/function/8.cc: Likewise.
4561         * testsuite/20_util/function/9.cc: Likewise.
4562         * testsuite/20_util/function/assign/move.cc: Likewise.
4563         * testsuite/20_util/function/cons/move.cc: Likewise.
4564         * testsuite/20_util/function_objects/dr660.cc: Likewise.
4565         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
4566         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
4567         * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
4568         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
4569         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
4570         * testsuite/20_util/hash/operators/size_t.cc: Likewise.
4571         * testsuite/20_util/hash/quality.cc: Likewise.
4572         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
4573         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
4574         * testsuite/20_util/is_function/24808.cc: Likewise.
4575         * testsuite/20_util/is_object/24808.cc: Likewise.
4576         * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
4577         * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
4578         * testsuite/20_util/owner_less/cmp.cc: Likewise.
4579         * testsuite/20_util/pair/1.cc: Likewise.
4580         * testsuite/20_util/pair/2.cc: Likewise.
4581         * testsuite/20_util/pair/3.cc: Likewise.
4582         * testsuite/20_util/pair/4.cc: Likewise.
4583         * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
4584         * testsuite/20_util/pair/moveable.cc: Likewise.
4585         * testsuite/20_util/pair/piecewise.cc: Likewise.
4586         * testsuite/20_util/pair/swap.cc: Likewise.
4587         * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
4588         * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
4589         * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
4590         * testsuite/20_util/ratio/cons/cons1.cc: Likewise.
4591         * testsuite/20_util/ratio/operations/45866.cc: Likewise.
4592         * testsuite/20_util/ratio/operations/47913.cc: Likewise.
4593         * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
4594         * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
4595         * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
4596         * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
4597         * testsuite/20_util/scoped_allocator/1.cc: Likewise.
4598         * testsuite/20_util/scoped_allocator/2.cc: Likewise.
4599         * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
4600         * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
4601         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
4602         * testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
4603         * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
4604         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
4605         Likewise.
4606         * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
4607         * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
4608         * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
4609         * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
4610         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
4611         * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
4612         * testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
4613         * testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
4614         * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
4615         * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
4616         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
4617         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
4618         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
4619         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
4620         Likewise.
4621         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
4622         Likewise.
4623         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
4624         * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
4625         * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
4626         * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
4627         * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
4628         * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
4629         * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
4630         * testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
4631         * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
4632         * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
4633         * testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
4634         * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
4635         * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
4636         * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
4637         * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
4638         * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
4639         * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
4640         * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
4641         * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
4642         * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
4643         * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
4644         * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
4645         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
4646         Likewise.
4647         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4648         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
4649         move_iterators/1.cc: Likewise.
4650         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
4651         move_iterators/1.cc: Likewise.
4652         * testsuite/20_util/temporary_buffer.cc: Likewise.
4653         * testsuite/20_util/time_point/1.cc: Likewise.
4654         * testsuite/20_util/time_point/2.cc: Likewise.
4655         * testsuite/20_util/time_point/3.cc: Likewise.
4656         * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
4657         * testsuite/20_util/tuple/48476.cc: Likewise.
4658         * testsuite/20_util/tuple/comparison_operators/comparisons.cc:
4659         Likewise.
4660         * testsuite/20_util/tuple/cons/allocators.cc: Likewise.
4661         * testsuite/20_util/tuple/cons/assignment.cc: Likewise.
4662         * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
4663         * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
4664         * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
4665         * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
4666         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
4667         * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
4668         Likewise.
4669         * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
4670         * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
4671         * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
4672         * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
4673         * testsuite/20_util/tuple/element_access/get.cc: Likewise.
4674         * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
4675         * testsuite/20_util/tuple/moveable.cc: Likewise.
4676         * testsuite/20_util/tuple/swap.cc: Likewise.
4677         * testsuite/20_util/tuple/tuple_size.cc: Likewise.
4678         * testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
4679         * testsuite/20_util/typeindex/hash.cc: Likewise.
4680         * testsuite/20_util/typeindex/hash_code.cc: Likewise.
4681         * testsuite/20_util/typeindex/name.cc: Likewise.
4682         * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
4683         * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
4684         * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
4685         * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
4686         * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
4687         * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
4688         * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
4689         * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
4690         * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
4691         * testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
4692         * testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
4693         * testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
4694         * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
4695         * testsuite/20_util/unique_ptr/specialized_algorithms/
4696         comparisons.cc: Likewise.
4697         * testsuite/20_util/unique_ptr/specialized_algorithms/
4698         comparisons_array.cc: Likewise.
4699         * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
4700         Likewise.
4701         * testsuite/20_util/uses_allocator/construction.cc: Likewise.
4702         * testsuite/20_util/uses_allocator/value.cc: Likewise.
4703         * testsuite/20_util/variant/run.cc: Likewise.
4704         * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
4705         * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
4706         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
4707         Likewise.
4708         * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
4709         * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
4710         Likewise.
4711         * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
4712         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
4713         Likewise.
4714         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
4715         Likewise.
4716         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
4717         Likewise.
4718         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
4719         Likewise.
4720         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
4721         Likewise.
4722         * testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
4723         * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
4724         * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
4725         * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
4726         * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
4727         Likewise.
4728         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
4729         * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
4730         Likewise.
4731         * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
4732         * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
4733         Likewise.
4734         * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
4735         * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
4736         * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
4737         * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
4738         * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
4739         * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
4740         * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
4741         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
4742         * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
4743         * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
4744         * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
4745         * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
4746         * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
4747         * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
4748         * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
4749         * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
4750         * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
4751         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
4752         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
4753         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
4754         * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
4755         * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
4756         Likewise.
4757         * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
4758         * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
4759         * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
4760         * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
4761         * testsuite/21_strings/basic_string/element_access/char/58163.cc:
4762         Likewise.
4763         * testsuite/21_strings/basic_string/element_access/char/empty.cc:
4764         Likewise.
4765         * testsuite/21_strings/basic_string/element_access/char/front_back.cc:
4766         Likewise.
4767         * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
4768         Likewise.
4769         * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
4770         Likewise.
4771         * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
4772         Likewise.
4773         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
4774         Likewise.
4775         * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
4776         Likewise.
4777         * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
4778         Likewise.
4779         * testsuite/21_strings/basic_string/element_access/wchar_t/
4780         front_back.cc: Likewise.
4781         * testsuite/21_strings/basic_string/init-list.cc: Likewise.
4782         * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
4783         Likewise.
4784         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
4785         Likewise.
4786         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
4787         Likewise.
4788         * testsuite/21_strings/basic_string/inserters_extractors/char/
4789         28277.cc: Likewise.
4790         * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
4791         Likewise.
4792         * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
4793         Likewise.
4794         * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
4795         Likewise.
4796         * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
4797         Likewise.
4798         * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
4799         Likewise.
4800         * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
4801         Likewise.
4802         * testsuite/21_strings/basic_string/inserters_extractors/pod/
4803         10081-in.cc: Likewise.
4804         * testsuite/21_strings/basic_string/inserters_extractors/pod/
4805         10081-out.cc: Likewise.
4806         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
4807         Likewise.
4808         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4809         10.cc: Likewise.
4810         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4811         11.cc: Likewise.
4812         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4813         28277.cc: Likewise.
4814         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
4815         Likewise.
4816         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
4817         Likewise.
4818         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
4819         Likewise.
4820         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
4821         Likewise.
4822         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
4823         Likewise.
4824         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
4825         Likewise.
4826         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
4827         Likewise.
4828         * testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
4829         Likewise.
4830         * testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
4831         Likewise.
4832         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
4833         Likewise.
4834         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
4835         Likewise.
4836         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
4837         Likewise.
4838         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
4839         Likewise.
4840         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
4841         Likewise.
4842         * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
4843         Likewise.
4844         * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
4845         Likewise.
4846         * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
4847         Likewise.
4848         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
4849         Likewise.
4850         * testsuite/21_strings/basic_string/modifiers/assign/char/
4851         move_assign.cc: Likewise.
4852         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
4853         Likewise.
4854         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
4855         Likewise.
4856         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
4857         Likewise.
4858         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
4859         Likewise.
4860         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
4861         move_assign.cc: Likewise.
4862         * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
4863         Likewise.
4864         * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
4865         Likewise.
4866         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
4867         Likewise.
4868         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
4869         Likewise.
4870         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
4871         Likewise.
4872         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
4873         Likewise.
4874         * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
4875         Likewise.
4876         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
4877         Likewise.
4878         * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
4879         Likewise.
4880         * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
4881         Likewise.
4882         * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
4883         Likewise.
4884         * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
4885         Likewise.
4886         * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
4887         Likewise.
4888         * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
4889         Likewise.
4890         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
4891         Likewise.
4892         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
4893         Likewise.
4894         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
4895         Likewise.
4896         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
4897         Likewise.
4898         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
4899         Likewise.
4900         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
4901         Likewise.
4902         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
4903         Likewise.
4904         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
4905         Likewise.
4906         * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
4907         Likewise.
4908         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
4909         Likewise.
4910         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
4911         Likewise.
4912         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
4913         Likewise.
4914         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
4915         Likewise.
4916         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
4917         Likewise.
4918         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
4919         Likewise.
4920         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
4921         Likewise.
4922         * testsuite/21_strings/basic_string/numeric_conversions/char/
4923         stoull.cc: Likewise.
4924         * testsuite/21_strings/basic_string/numeric_conversions/char/
4925         to_string.cc: Likewise.
4926         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4927         dr1261.cc: Likewise.
4928         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4929         stod.cc: Likewise.
4930         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4931         stof.cc: Likewise.
4932         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4933         stoi.cc: Likewise.
4934         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4935         stol.cc: Likewise.
4936         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4937         stold.cc: Likewise.
4938         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4939         stoll.cc: Likewise.
4940         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4941         stoul.cc: Likewise.
4942         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4943         stoull.cc: Likewise.
4944         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4945         to_wstring.cc: Likewise.
4946         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
4947         Likewise.
4948         * testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
4949         Likewise.
4950         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
4951         Likewise.
4952         * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
4953         Likewise.
4954         * testsuite/21_strings/basic_string/operations/compare/wchar_t/
4955         13650.cc: Likewise.
4956         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
4957         Likewise.
4958         * testsuite/21_strings/basic_string/operations/data/char/1.cc:
4959         Likewise.
4960         * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
4961         Likewise.
4962         * testsuite/21_strings/basic_string/operations/find/char/1.cc:
4963         Likewise.
4964         * testsuite/21_strings/basic_string/operations/find/char/2.cc:
4965         Likewise.
4966         * testsuite/21_strings/basic_string/operations/find/char/3.cc:
4967         Likewise.
4968         * testsuite/21_strings/basic_string/operations/find/char/4.cc:
4969         Likewise.
4970         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
4971         Likewise.
4972         * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
4973         Likewise.
4974         * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
4975         Likewise.
4976         * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
4977         Likewise.
4978         * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
4979         Likewise.
4980         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
4981         Likewise.
4982         * testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
4983         Likewise.
4984         * testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
4985         Likewise.
4986         * testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
4987         Likewise.
4988         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
4989         Likewise.
4990         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
4991         Likewise.
4992         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
4993         Likewise.
4994         * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
4995         Likewise.
4996         * testsuite/21_strings/basic_string/operations/substr/wchar_t/
4997         1.cc: Likewise.
4998         * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
4999         * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
5000         * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
5001         * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
5002         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
5003         * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
5004         * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
5005         * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
5006         * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
5007         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
5008         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
5009         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
5010         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
5011         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
5012         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
5013         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
5014         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
5015         * testsuite/21_strings/basic_string_view/element_access/char/
5016         1.cc: Likewise.
5017         * testsuite/21_strings/basic_string_view/element_access/char/
5018         empty.cc: Likewise.
5019         * testsuite/21_strings/basic_string_view/element_access/char/
5020         front_back.cc: Likewise.
5021         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5022         1.cc: Likewise.
5023         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5024         empty.cc: Likewise.
5025         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5026         front_back.cc: Likewise.
5027         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
5028         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
5029         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
5030         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
5031         Likewise.
5032         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
5033         Likewise.
5034         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
5035         Likewise.
5036         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
5037         Likewise.
5038         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5039         char/1.cc: Likewise.
5040         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5041         wchar_t/1.cc: Likewise.
5042         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5043         char/1.cc: Likewise.
5044         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5045         wchar_t/1.cc: Likewise.
5046         * testsuite/21_strings/basic_string_view/operations/compare/char/
5047         1.cc: Likewise.
5048         * testsuite/21_strings/basic_string_view/operations/compare/char/
5049         13650.cc: Likewise.
5050         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5051         1.cc: Likewise.
5052         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5053         13650.cc: Likewise.
5054         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
5055         Likewise.
5056         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
5057         Likewise.
5058         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
5059         Likewise.
5060         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
5061         Likewise.
5062         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
5063         Likewise.
5064         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
5065         Likewise.
5066         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
5067         Likewise.
5068         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
5069         Likewise.
5070         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5071         1.cc: Likewise.
5072         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5073         2.cc: Likewise.
5074         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5075         3.cc: Likewise.
5076         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5077         4.cc: Likewise.
5078         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5079         1.cc: Likewise.
5080         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5081         2.cc: Likewise.
5082         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5083         3.cc: Likewise.
5084         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5085         1.cc: Likewise.
5086         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5087         2.cc: Likewise.
5088         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5089         3.cc: Likewise.
5090         * testsuite/21_strings/basic_string_view/operations/string_conversion/
5091         1.cc: Likewise.
5092         * testsuite/21_strings/basic_string_view/operations/substr/char/
5093         1.cc: Likewise.
5094         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
5095         1.cc: Likewise.
5096         * testsuite/21_strings/basic_string_view/operators/char/2.cc:
5097         Likewise.
5098         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
5099         Likewise.
5100         * testsuite/21_strings/c_strings/char/1.cc: Likewise.
5101         * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
5102         * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
5103         * testsuite/21_strings/char_traits/requirements/char/57704.cc:
5104         Likewise.
5105         * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
5106         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
5108         * doc/xml/manual/test.xml: Fix typo.
5110 2016-10-12  Jonathan Wakely  <jwakely@redhat.com>
5112         * doc/xml/manual/status_cxx2017.xml: Add std::sample status.
5113         * doc/html/*: Regenerate.
5114         * include/experimental/algorithm (__sample): Move to bits/stl_algo.h
5115         and into namespace std.
5116         * include/bits/stl_algo.h (__sample): Define here. Fix invalid use
5117         of input iterator. Defend against overloaded comma operator.
5118         (sample): Define for C++17.
5119         * testsuite/25_algorithms/sample/1.cc: New test.
5121         * testsuite/util/testsuite_common_types.h
5122         (bitwise_assignment_operators): Use direct-initialization for C++11
5123         and later, to avoid CopyConstructible requirement.
5124         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
5125         line numbers.
5126         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
5127         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
5128         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
5129         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
5130         Adjust expected errors and line numbers.
5132         * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
5133         (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
5135         * include/bits/stl_uninitialized.h
5136         (__uninitialized_default_novalue_n_1<true>): Add missing return.
5137         * testsuite/20_util/specialized_algorithms/memory_management_tools/
5138         1.cc: Check return values of uninitialized_xxx_n algorithms.
5140         * libsupc++/nested_exception.h (throw_with_nested): Remove return.
5142         * doc/xml/manual/intro.xml: Document LWG 2442 status.
5143         * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
5144         [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
5145         partial specialization to unpack args and forward to std::invoke.
5146         (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
5147         instead of __bind_simple and __once_call_impl.
5148         (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
5149         __bind_simple.
5150         * testsuite/30_threads/call_once/dr2442.cc: New test.
5152 2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
5154         * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
5155         _M_assign_dispatch directly with correct tag.
5157         * doc/xml/manual/intro.xml: Document LWG 2484 status.
5158         * libsupc++/nested_exception.h (_Throw_with_nested_impl)
5159         (_Throw_with_nested_helper): Remove.
5160         (__throw_with_nested_impl): New overloaded functions to implement
5161         throw_with_nested logic.
5162         (throw_with_nested): Call __throw_with_nested_impl.
5163         (_Rethrow_if_nested_impl): Remove
5164         (__rethrow_if_nested_impl): New overloaded functions to implement
5165         rethrow_if_nested logic.
5166         (rethrow_if_nested): Call __rethrow_if_nested_impl.
5167         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
5168         problem cases from LWG 2484.
5170         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
5171         Register printer for std::__cxx11::list.
5172         * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
5173         std::__cxx11::list as well as std::list.
5175         * include/experimental/string_view (basic_string_view::_S_compare):
5176         Remove redundant const from return type.
5177         * include/std/string_view (basic_string_view:_S_compare): Likewise.
5179         * include/bits/std_mutex.h (mutex::native_handle)
5180         (lock_guard(mutex_type&, adopt_lock_t)
5181         (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
5182         * include/std/mutex (recursive_mutex, timed_mutex)
5183         (recursive_timed_mutex): Likewise.
5185 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5187         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5188         Replace <literallayout> with nested <variablelist> elements. Update
5189         some more outdated text.
5190         * doc/html/*: Regenerate.
5192 2016-10-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
5194         Make any's copy assignment operator exception-safe,
5195         don't copy the underlying value when any is moved,
5196         make in_place constructors explicit.
5197         * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
5198         Make explicit.
5199         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
5200         Likewise.
5201         (operator=(const any&)): Make strongly exception-safe.
5202         (operator=(any&&)): reset() unconditionally in the case where
5203         rhs has a value.
5204         (operator=(_ValueType&&)): Indent the return type.
5205         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
5206         * testsuite/20_util/any/assign/2.cc: Adjust.
5207         * testsuite/20_util/any/assign/exception.cc: New.
5208         * testsuite/20_util/any/cons/2.cc: Adjust.
5209         * testsuite/20_util/any/cons/explicit.cc: New.
5210         * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
5212 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5214         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5215         Describe other subdirectories and add markup. Remove outdated
5216         reference to check-script target.
5217         * doc/html/*: Regenerate.
5219         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
5221         * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
5222         with noexcept.
5224         * include/std/functional (_Bind_result::__enable_if_void): Use alias
5225         template instead of class template.
5226         (_Bind_result::__disable_if_void): Likewise.
5227         (_Bind_result::__call): Adjust uses of __enable_if_void and
5228         __disable_if_void.
5230         * doc/xml/manual/intro.xml: Document DR 2296 status.
5231         * doc/xml/manual/status_cxx2017.xml: Update status.
5232         * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
5233         call __builtin_addressof.
5234         (addressof): Add _GLIBCXX17_CONSTEXPR.
5235         * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
5236         * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
5237         * testsuite/20_util/forward/f_neg.cc: Likewise.
5239         * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
5240         * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
5241         is_always_equal.
5242         * testsuite/util/testsuite_allocator.h
5243         (uneq_allocator::is_always_equal): Define as false_type.
5245         * include/experimental/numeric (gcd, lcm): Make bool arguments
5246         ill-formed.
5247         * include/std/numeric (gcd, lcm): Likewise.
5248         * testsuite/26_numerics/gcd/gcd_neg.cc: New test.
5249         * testsuite/26_numerics/lcm/lcm_neg.cc: New test.
5251         * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
5252         Add noexcept.
5253         * include/bits/shared_ptr_base.h
5254         (__enable_shared_from_this::weak_from_this): Likewise.
5255         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
5256         Test exception-specification of weak_from_this.
5258 2016-10-07  Jonathan Wakely  <jwakely@redhat.com>
5260         * doc/xml/manual/status_cxx1998.xml: Improve documentation of
5261         implementation-defined properties.
5262         * doc/xml/manual/status_cxx2011.xml: Likewise.
5263         * doc/xml/manual/status_cxx2017.xml: Likewise.
5265         * doc/xml/manual/status_cxx2017.xml: Update status.
5266         * include/std/type_traits (has_unique_object_representations): Define.
5267         * testsuite/20_util/has_unique_object_representations/value.cc: New.
5268         * testsuite/20_util/has_unique_object_representations/requirements/
5269         explicit_instantiation.cc: New.
5270         * testsuite/20_util/has_unique_object_representations/requirements/
5271         typedefs.cc: New.
5273 2016-10-06  Jonathan Wakely  <jwakely@redhat.com>
5275         * doc/xml/manual/status_cxx2011.xml: Update status.
5276         * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
5277         New helpers for recursive OUTERMOST.
5278         (__outermost): Use __outermost_type::_S_outermost.
5279         (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
5280         (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
5281         __outermost_type helper.
5282         (scoped_allocator_adaptor::_Constructible): New alias template.
5283         (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
5284         Constrain template constructors.
5285         * testsuite/20_util/scoped_allocator/3.cc: New test.
5286         * testsuite/20_util/scoped_allocator/outermost.cc: New test.
5288 2016-10-05  Jonathan Wakely  <jwakely@redhat.com>
5290         PR libstdc++/70564
5291         * testsuite/20_util/not_fn/1.cc: Fix test.
5292         * testsuite/experimental/functional/not_fn.cc: Likewise.
5294         PR libstdc++/70101
5295         * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
5296         constructors.
5297         * testsuite/23_containers/priority_queue/allocator.cc: New test.
5299         PR libstdc++/77864
5300         * include/bits/stl_map.h (map::map()): Use nothrow constructibility
5301         of comparison function in conditional noexcept.
5302         * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
5303         * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
5304         * include/bits/stl_set.h (set::set()): Likewise.
5305         * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
5306         New test.
5307         * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
5308         Likewise.
5309         * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
5310         Likewise.
5311         * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
5312         Likewise.
5314         * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
5315         alias declaration.
5317         PR libstdc++/70564
5318         * include/experimental/functional (_Not_fn): Remove.
5319         (not_fn): Use std::_Not_fn.
5320         * include/std/functional (_Not_fn): Add second parameter to
5321         disambiguate copying from initialization by not_fn. Define for C++14.
5322         (not_fn): Add second argument to initialization.
5323         * testsuite/20_util/not_fn/1.cc: Copy call wrapper using
5324         direct-initialization.
5326 2016-10-03  François Dumont  <fdumont@gcc.gnu.org>
5328         * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
5329         declaration...
5330         * src/c++11/mutex_pool.h: ... here. New.
5331         * src/c++11/debug.cc: Use latter.
5333 2016-10-03  Jonathan Wakely  <jwakely@redhat.com>
5335         * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
5336         * doc/html/*: Regenerate.
5337         * include/experimental/numeric (__abs): Move to <numeric>.
5338         (gcd, lcm): Use __detail::gcd and __detail::lcm.
5339         * include/std/numeric (__detail::__abs_integral)
5340         (__detail::__gcd, __detail::__lcm): Define.
5341         (gcd, lcm): Define for C++17.
5342         * testsuite/26_numerics/gcd/1.cc: New test.
5343         * testsuite/26_numerics/lcm/1.cc: New test.
5344         * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
5345         * testsuite/experimental/numeric/lcd.cc: ... this.
5347         PR libstdc++/68323
5348         PR libstdc++/77794
5349         * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
5350         __cxa_thread_atexit and __gnu_cxx::__freeres.
5351         * include/Makefile.am: Add <experimental/bits/lfts_config.h>
5352         * include/Makefile.in: Regenerate.
5353         * include.bits/basic_string.h: Fix nesting of versioned namespaces.
5354         * include/bits/c++config: Declare versioned namespaces for literals.
5355         * include/bits/regex.h (basic_regex, match_results): Add workarounds
5356         for PR c++/59256.
5357         * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
5358         * include/std/chrono: Likewise.
5359         * include/std/complex: Likewise.
5360         * include/std/string_view: Likewise.
5361         * include/std/variant: Likewise. Add workaround for PR c++/59256.
5362         * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
5363         * include/experimental/bits/lfts_config.h: Declare versioned
5364         namespaces.
5365         * include/experimental/algorithm: Include
5366         <experimental/bits/lfts_config.h>.
5367         * include/experimental/any: Likewise.
5368         * include/experimental/bits/erase_if.h: Likewise.
5369         * include/experimental/chrono: Likewise.
5370         * include/experimental/functional: Likewise.
5371         * include/experimental/memory_resource: Likewise.
5372         * include/experimental/optional: Likewise.
5373         * include/experimental/propagate_const: Likewise.
5374         * include/experimental/random: Likewise.
5375         * include/experimental/ratio: Likewise.
5376         * include/experimental/system_error: Likewise.
5377         * include/experimental/tuple: Likewise.
5378         * include/experimental/type_traits: Likewise.
5379         * include/experimental/utility: Likewise.
5380         * include/experimental/string_view: Likewise. Fix nesting of
5381         versioned namespaces.
5382         * include/experimental/bits/string_view.tcc: Reopen inline namespace
5383         for non-inline function definitions.
5384         * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
5385         * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
5386         * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
5387         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
5388         Likewise.
5389         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
5390         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
5391         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
5392         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
5393         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
5394         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
5396         PR libstdc++/77814
5397         * include/bits/std_abs.h: Use "C++" language linkage.
5398         * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
5399         the end. Add <stdalign.h>.
5401 2016-10-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
5403         PR libstdc++/77802
5404         * testsuite/20_util/tuple/77802.cc: New.
5406         Revert:
5407         2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5408         Implement LWG 2729 for tuple.
5409         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5410         Suppress conditionally.
5411         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5412         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5413         (_Tuple_impl(const _Head&)): Constrain.
5414         (_Tuple_impl(_UHead&&)): Likewise.
5415         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5416         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5417         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5418         (operator=(const tuple&)): Enable conditionally.
5419         (operator=(tuple&&)): Suppress conditionally.
5420         (operator=(const tuple<_UElements...>&)): Constrain.
5421         (operator=(tuple<_UElements...>&&)): Likewise.
5422         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5423         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5424         (operator=(const tuple<_U1, _U2>&)): Constrain.
5425         (operator=(tuple<_U1, _U2>&&)): Likewise.
5426         (operator=(const pair<_U1, _U2>&)): Likewise.
5427         (operator=(pair<_U1, _U2>&&)): Likewise.
5428         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5429         * testsuite/20_util/tuple/tuple_traits.cc: New.
5431 2016-09-30  Jonathan Wakely  <jwakely@redhat.com>
5433         PR libstdc++/77795
5434         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
5435         for gets.
5436         * config.h.in: Regenerate.
5437         * configure: Regenerate.
5438         * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
5439         for C++98 and C++11.
5440         * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
5441         * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
5443         * doc/xml/manual/intro.xml: Document LWG 2192 changes.
5444         * doc/html/*: Regenerate.
5445         * include/Makefile.am: Add bits/std_abs.h.
5446         * include/Makefile.in: Regenerate.
5447         * include/bits/std_abs.h: New header defining all required overloads
5448         of std::abs in one place (LWG 2294).
5449         * include/c_global/cmath (abs(double), abs(float), abs(long double)):
5450         Move to bits/std_abs.h.
5451         (abs<_Tp>(_Tp)): Remove.
5452         * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
5453         Move to bits/std_abs.h.
5454         * testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
5455         * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
5456         * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
5457         * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.
5459         PR libstdc++/77801
5460         * include/experimental/numeric: Include <numeric>.
5461         (__abs): Define.
5462         (gcd, lcm): Use __abs instead of std::abs.
5463         * testsuite/experimental/numeric/77801.cc: New test.
5464         * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
5465         * testsuite/experimental/numeric/lcm.cc: Likewise.
5467 2016-09-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
5469         Make optional::reset noexcept, make optional::value
5470         work in constant expressions.
5471         * include/std/optional (_M_get): Make constexpr.
5472         (reset): Make noexcept.
5473         * testsuite/20_util/optional/assignment/7.cc: New.
5474         * testsuite/20_util/optional/observers/6.cc: New.
5476 2016-09-29  Jonathan Wakely  <jwakely@redhat.com>
5478         * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
5479         outside _GLIBCXX_USE_C99_MATH_TR1 condition.
5481 2016-09-29  Alan Modra  <amodra@gmail.com>
5483         * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
5484         * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
5485         Use LONG_DOUBLE_COMPAT_FLAGS.
5486         * Makefile.in: Regenerate.
5487         * configure: Regenerate.
5488         * doc/Makefile.in: Regenerate.
5489         * include/Makefile.in: Regenerate.
5490         * libsupc++/Makefile.in: Regenerate.
5491         * po/Makefile.in: Regenerate.
5492         * python/Makefile.in: Regenerate.
5493         * src/Makefile.in: Regenerate.
5494         * src/c++11/Makefile.in: Regenerate.
5495         * src/c++98/Makefile.in: Regenerate.
5496         * src/filesystem/Makefile.in: Regenerate.
5497         * testsuite/Makefile.in: Regenerate.
5499 2016-09-28  Jonathan Wakely  <jwakely@redhat.com>
5501         * include/std/chrono (system_clock): Fix typo in comment.
5503         * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
5504         definition.
5505         * src/filesystem/ops.cc (file_time): Take error_code parameter and
5506         check for overflow.
5507         (do_copy_file, last_write_time): Pass error_code in file_time calls.
5508         * testsuite/experimental/filesystem/operations/last_write_time.cc:
5509         New.
5510         * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
5512         PR libstdc++/77686
5513         * include/std/functional (_Any_data): Add may_alias attribute.
5515 2016-09-27  Jonathan Wakely  <jwakely@redhat.com>
5517         * doc/xml/manual/status_cxx2017.xml: Update status.
5518         * doc/html/*: Regenerate.
5519         * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
5520         * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
5522         * doc/xml/manual/status_cxx2017.xml: Update status.
5523         * include/c_global/cmath (hypot): Add three-dimensional overloads.
5524         * testsuite/26_numerics/headers/cmath/hypot.cc: New.
5526 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5528         PR libstdc++/77727
5529         * include/std/optional (optional(const optional<_Up>&)):
5530         Default-initialize the base and use emplace.
5531         (optional(optional<_Up>&&)): Likewise.
5532         * testsuite/20_util/optional/cons/77727.cc: New.
5534 2016-09-26  François Dumont  <fdumont@gcc.gnu.org>
5536         * include/debug/safe_base.h
5537         (_Safe_iterator_base::_M_detach_single): Make public.
5539 2016-09-26  Jonathan Wakely  <jwakely@redhat.com>
5541         * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
5542         redefine macro defined in <bits/stl_iterator.h>.
5544         * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
5545         iterator is not past-the-end.
5546         * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
5547         Likewise.
5548         * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
5549         Likewise.
5550         * include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
5551         * include/bits/unordered_map.h (unordered_map::extract(const_iterator))
5552         (unordered_multimap::extract(const_iterator)): Likewise.
5553         * include/bits/unordered_set.h (unordered_set::extract(const_iterator))
5554         (unordered_multiset::extract(const_iterator)): Likewise.
5556 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5558         PR libstdc++/77717
5559         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
5560         Fix an out-of-bounds access.
5562 2016-09-26  Marek Polacek  <polacek@redhat.com>
5564         PR c/7652
5565         * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
5567 2016-09-25  François Dumont  <fdumont@gcc.gnu.org>
5569         * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
5570         functional.
5571         (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
5572         * testsuite/23_containers/vector/debug/mutex_association.cc: New.
5574         * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
5575         bitset*)): Remove __unused__ attribute.
5576         * include/debug/safe_base.h (_Safe_iterator_base): Make
5577         _Safe_sequence_base a friend.
5578         (_Safe_iterator_base::_M_attach): Make protected.
5579         (_Safe_iterator_base::_M_attach_single): Likewise.
5580         (_Safe_iterator_base::_M_detach): Likewise.
5581         (_Safe_iterator_base::_M_detach_single): Likewise.
5582         (_Safe_sequence_base): Make _Safe_iterator_base a friend.
5583         (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
5584         (_Safe_sequence_base::_M_swap): Make protected.
5585         (_Safe_sequence_base::_M_attach): Make private.
5586         (_Safe_sequence_base::_M_attach_single): Likewise.
5587         (_Safe_sequence_base::_M_detach): Likewise.
5588         (_Safe_sequence_base::_M_detach_single): Likewise.
5589         * include/debug/safe_container.h
5590         (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
5591         * include/debug/safe_iterator.h
5592         (_Safe_iterator::operator++()): Name __scoped_lock instance.
5593         * include/debug/safe_iterator.tcc: Remove trailing line.
5594         * include/debug/safe_unordered_base.h
5595         (_Safe_local_iterator_base::_M_attach): Make protected.
5596         (_Safe_local_iterator_base::_M_attach_single): Likewise.
5597         (_Safe_local_iterator_base::_M_detach): Likewise.
5598         (_Safe_local_iterator_base::_M_detach_single): Likewise.
5599         (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
5600         (_Safe_unordered_container_base::_M_attach_local): Make private.
5601         (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
5602         (_Safe_unordered_container_base::_M_detach_local): Likewise.
5603         (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
5605         * include/parallel/algo.h: Generalize usage of std::__iterator_category.
5606         Adjust whitespaces.
5608 2016-09-23  Jonathan Wakely  <jwakely@redhat.com>
5610         PR libstdc++/56166
5611         PR libstdc++/77582
5612         * include/bits/basic_string.h (basic_string::clear()): Drop reference
5613         and use empty rep.
5614         * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
5615         Likewise.
5616         * testsuite/21_strings/basic_string/56166.cc: New.
5617         * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
5619         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
5620         (basic_string::erase(size_type, size_type)): Add fast path for
5621         truncating the string, by calling _M_set_length directly.
5622         (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
5623         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
5624         (basic_string::resize(size_type, _CharT)): Likewise.
5626 2016-09-22  Jason Merrill  <jason@redhat.com>
5628         * configure.ac: Define HAVE_MEMALIGN for newlib.
5630 2015-09-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5632         * config/cpu/m68k/atomicity.h: Adjust comment.
5633         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
5634         explicit atomicity_dir setup via configure.host.
5635         * configure.host (rtems-*): Set atomicity_dir.
5636         * configure: Regenerate.
5638 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5640         Implement C++17 node extraction and insertion (P0083R5)
5641         * doc/xml/manual/status_cxx2017.xml: Document status.
5642         * doc/html/*: Regenerate.
5643         * include/Makefile.am: Add bits/node_handle.h and reorder.
5644         * include/Makefile.in: Regenerate.
5645         * include/bits/hashtable.h (_Hashtable::node_type)
5646         (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
5647         (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
5648         (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
5649         (_Hash_merge_helper): Define primary template.
5650         * include/bits/node_handle.h: New header.
5651         * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
5652         friend.
5653         (map::node_type, map::insert_return_type, map::extract, map::merge)
5654         (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
5655         Define new members.
5656         (_Rb_tree_merge_helper): Specialize for map.
5657         * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
5658         as friend.
5659         (multimap::node_type, multimap::extract, multimap::merge)
5660         (multimap::insert(node_type&&))
5661         (multimap::insert(const_iterator, node_type&&)): Define.
5662         (_Rb_tree_merge_helper): Specialize for multimap.
5663         * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
5664         as friend.
5665         (multiset::node_type, multiset::extract, multiset::merge)
5666         (multiset::insert(node_type&&))
5667         (multiset::insert(const_iterator, node_type&&)): Define.
5668         * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
5669         friend.
5670         (set::node_type, set::insert_return_type, set::extract, set::merge)
5671         (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
5672         Define.
5673         (_Rb_tree_merge_helper): Specialize for set.
5674         * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
5675         (_Rb_tree::node_type, _Rb_tree::insert_return_type)
5676         (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
5677         (_Rb_tree::_M_reinsert_node_hint_unique)
5678         (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
5679         (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
5680         (_Rb_tree_merge_helper): Specialize for multiset.
5681         * include/bits/unordered_map.h (unordered_map): Declare
5682         unordered_map<> and unordered_multimap<> as friends.
5683         (unordered_map::node_type, unordered_map::insert_return_type)
5684         (unordered_map::extract, unordered_map::merge)
5685         (unordered_map::insert(node_type&&))
5686         (unordered_map::insert(const_iterator, node_type&&))
5687         (unordered_multimap): Declare _Hash_merge_helper as friend.
5688         (unordered_multimap::node_type, unordered_multimap::extract)
5689         (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
5690         (unordered_multimap::insert(const_iterator, node_type&&)): Define.
5691         (_Hash_merge_helper): Specialize for unordered maps and multimaps.
5692         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
5693         Declare _Hash_merge_helper as friend.
5694         (unordered_set::node_type, unordered_set::insert_return_type)
5695         (unordered_set::extract, unordered_set::merge)
5696         (unordered_set::insert(node_type&&))
5697         (unordered_set::insert(const_iterator, node_type&&)): Define.
5698         (unordered_multiset::node_type, unordered_multiset::extract)
5699         (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
5700         (unordered_multiset::insert(const_iterator, node_type&&)): Define.
5701         (_Hash_merge_helper): Specialize for unordered sets and multisets.
5702         * include/debug/map.h (map): Add using declarations or forwarding
5703         functions for new members.
5704         * include/debug/map.h (multimap): Likewise.
5705         * include/debug/map.h (multiset): Likewise.
5706         * include/debug/map.h (set): Likewise.
5707         * include/debug/unordered_map (unordered_map, unordered_multimap):
5708         Likewise.
5709         * include/debug/unordered_set( unordered_set, unordered_multiset):
5710         Likewise.
5711         * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
5712         helper function.
5713         (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
5714         (StdNodeHandlePrinter): Define printer for node handles.
5715         (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
5716         * testsuite/23_containers/map/modifiers/extract.cc: New.
5717         * testsuite/23_containers/map/modifiers/merge.cc: New.
5718         * testsuite/23_containers/multimap/modifiers/extract.cc: New.
5719         * testsuite/23_containers/multimap/modifiers/merge.cc: New.
5720         * testsuite/23_containers/multiset/modifiers/extract.cc: New.
5721         * testsuite/23_containers/multiset/modifiers/merge.cc: New.
5722         * testsuite/23_containers/set/modifiers/extract.cc: New.
5723         * testsuite/23_containers/set/modifiers/merge.cc: New.
5724         * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
5725         * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
5726         * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
5727         New.
5728         * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
5729         * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
5730         New.
5731         * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
5732         * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
5733         * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
5734         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
5735         dg-error lineno.
5736         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
5738 2016-09-22  Ville Voutilainen  <ville.voutilainen@gmail.com>
5740         Fix tests on old arm platforms for optional.
5741         * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
5743 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5745         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
5746         recent change to _Variant_storage.
5747         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
5748         reference type.
5750         * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
5751         std::forward and ::new. Cast pointer to void*.
5752         * include/std/variant (_Variant_storage, _Union, _Variant_base)
5753         (__access, __visit_invoke, variant, visit): Qualify std::forward.
5754         * testsuite/20_util/variant/compile.cc: Test for ADL problems.
5756 2016-09-22  Tim Shen  <timshen@google.com>
5758         * include/std/variant (variant::operator=): Fix assignment
5759         on references.
5760         * testsuite/20_util/variant/compile.cc: Add test.
5762 2016-09-22  Tim Shen  <timshen@google.com>
5764         PR libstdc++/77641
5765         * include/std/variant (_Variant_storage::_Variant_storage):
5766         Change _Variant_storage's union to be default constructible.
5767         * testsuite/20_util/variant/compile.cc: New test.
5769 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5771         PR libstdc++/77288
5772         * include/std/optional (__is_optional_impl, __is_optional): Remove.
5773         (__converts_from_optional, __assigns_from_optional): New.
5774         (optional(_Up&&)): Use is_same instead of __is_optional.
5775         (optional(const optional<_Up>&)): Constrain with
5776         __converts_from_optional.
5777         (optional(optional<_Up>&&)): Likewise.
5778         (operator=(_Up&&)): Use is_same instead of __is_optional, check
5779         is_same and is_scalar.
5780         (operator=(const optional<_Up>&)): Constrain with
5781         __converts_from_optional and __assigns_from_optional.
5782         (operator=(optional<_Up>&&)): Likewise.
5783         * testsuite/20_util/optional/77288.cc: New.
5784         * testsuite/20_util/optional/cons/value.cc: Adjust.
5786 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5788         Implement LWG 2729 for tuple.
5789         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5790         Suppress conditionally.
5791         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5792         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5793         (_Tuple_impl(const _Head&)): Constrain.
5794         (_Tuple_impl(_UHead&&)): Likewise.
5795         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5796         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5797         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5798         (operator=(const tuple&)): Enable conditionally.
5799         (operator=(tuple&&)): Suppress conditionally.
5800         (operator=(const tuple<_UElements...>&)): Constrain.
5801         (operator=(tuple<_UElements...>&&)): Likewise.
5802         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5803         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5804         (operator=(const tuple<_U1, _U2>&)): Constrain.
5805         (operator=(tuple<_U1, _U2>&&)): Likewise.
5806         (operator=(const pair<_U1, _U2>&)): Likewise.
5807         (operator=(pair<_U1, _U2>&&)): Likewise.
5808         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5809         * testsuite/20_util/tuple/tuple_traits.cc: New.
5811 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5813         PR libstdc++/77537
5814         Implement LWG 2729 for pair.
5815         * include/bits/stl_pair.h (_PCC): New.
5816         (_ConstructiblePair, _ImplicitlyConvertiblePair):
5817         Turn into static member functions of _PCC.
5818         (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
5819         (_PCCP): New.
5820         (pair(const _T1&, const _T2&)): Adjust.
5821         (_PCCFP): New.
5822         (pair(const pair<_U1, _U2>&)): Adjust.
5823         (pair(_U1&&, const _T2&)): Likewise.
5824         (pair(const _T1&, _U2&&)): Likewise.
5825         (pair(_U1&&, _U2&&)): Likewise.
5826         (pair(pair<_U1, _U2>&&)): Likewise.
5827         (operator=(const pair&)): Make conditionally deleted.
5828         (operator=(pair&&)): Make conditionally suppressed.
5829         (operator=(const pair<_U1, _U2>&)): Constrain.
5830         (operator=(pair<_U1, _U2>&&): Likewise.
5831         * include/std/type_traits (__nonesuch): New.
5832         * testsuite/20_util/pair/traits.cc: New.
5834 2016-09-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
5836         PR libstdc++/77619
5837         * include/bits/stl_construct.h: (_Construct_novalue): New.
5838         (_Destroy_n_aux, _Destroy_n): New.
5839         * include/bits/stl_uninitialized.h: (type_traits):
5840         New include in C++11 mode.
5841         (__uninitialized_default_novalue_1): New.
5842         (__uninitialized_default_novalue_n_1): Likewise.
5843         (__uninitialized_default_novalue): Likewise.
5844         (__uninitialized_default_novalue_n): Likewise.
5845         (__uninitialized_copy_n_pair): Likewise.
5846         (uninitialized_default_construct):
5847         Use __uninitialized_default_novalue.
5848         (uninitialized_default_construct_n):
5849         Use __uninitialized_default_novalue_n.
5850         (uninitialized_value_construct): Use __uninitialized_default.
5851         (uninitialized_value_construct_n): Use __uninitialized_default_n.
5852         (uninitialized_move): Use uninitialized_copy.
5853         (uninitialized_move_n): Use __uninitialized_copy_n_pair.
5854         (destroy_at): Use _Destroy.
5855         (destroy): Likewise.
5856         (destroy_n): Likewise.
5857         * testsuite/20_util/specialized_algorithms/
5858         memory_management_tools/1.cc: Add tests for exceptions,
5859         add tests for trivial cases for construct and move.
5861 2016-09-20  Jonathan Wakely  <jwakely@redhat.com>
5863         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
5864         (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
5866 2016-09-19  Jonathan Wakely  <jwakely@redhat.com>
5868         PR libstdc++/77645
5869         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
5870         (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
5871         division to int to work with Python 3.
5873         * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
5875         * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
5876         display_hint to be set by subclasses.
5877         (StdVariantPrinter): Use array for display_hint. Adjust output to be
5878         more similar to std::any and std::optional output.
5879         (register_type_printers): Add type printers for basic_string_view
5880         typedefs and experimental::any. Adjust type printers for
5881         fundamentals_v1 templates to match fundamentals_v2 and later.
5882         * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
5884         PR libstdc++/77645
5885         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
5886         argument.
5887         (ListWorkerBase.get_value_from_node): Define new method.
5888         (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
5890 2016-09-17  Jonathan Wakely  <jwakely@redhat.com>
5892         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
5893         (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
5894         Register for C++17 components in namespace std. Strip inline namespace
5895         from typename.
5897 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5899         * doc/xml/manual/profile_mode.xml: Fix typo.
5900         * doc/html/manual/profile_mode_devel.html: Regenerate.
5902 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5903             Marc Glisse  <marc.glisse@inria.fr>
5905         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
5906         (operator new(size_t, align_val_t)): Replace modulus operator with
5907         mask.
5909 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5911         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
5912         Increase alignment if less than sizeof(void*).
5913         [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
5914         Increase size if not a multiple of alignment.
5916 2016-09-15  Jonathan Wakely  <jwakely@redhat.com>
5918         * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
5919         * doc/html/*: Regenerate.
5921         * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
5922         -Wno-deprecated.
5923         * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
5925 2016-09-14  Marek Polacek  <polacek@redhat.com>
5927         * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
5928         -Wno-deprecated.
5930 2016-09-14  Christophe Lyon  <christophe.lyon@linaro.org>
5932         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
5933         Move dg-do directive before dg-skip.
5934         * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
5935         Move dg-do directive before dg-require.
5936         * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
5937         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
5938         * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
5939         * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
5940         * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
5941         * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
5942         * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
5943         * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
5944         * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
5945         * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
5946         * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
5947         * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
5948         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
5949         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
5950         * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
5951         Likewise.
5952         * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
5953         * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
5954         * testsuite/27_io/objects/char/12048-5.cc: Likewise.
5955         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
5956         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
5958 2016-09-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
5960         Implement P0040R3, Extending memory management tools.
5961         * include/bits/stl_uninitialized.h (utility): New include
5962         in C++17 mode.
5963         (uninitialized_default_construct): New.
5964         (uninitialized_default_construct_n): Likewise.
5965         (uninitialized_value_construct): Likewise.
5966         (uninitialized_value_construct_n): Likewise.
5967         (uninitialized_move): Likewise.
5968         (uninitialized_move_n): Likewise.
5969         (destroy_at, destroy, destroy_n): Likewise.
5970         * testsuite/20_util/specialized_algorithms/memory_management_tools/
5971         1.cc: New.
5973 2016-09-12  Jason Merrill  <jason@redhat.com>
5975         * config/abi/pre/gnu.ver: Use [jmy] for size_t.
5977 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
5979         Implement P0253R1, Fixing a design mistake in the searchers
5980         interface in Library Fundamentals.
5981         * include/std/functional: (utility): New include in C++17 mode.
5982         (default_searcher): Use a pair as return type, adjust the definition.
5983         (boyer_moore_searcher): Likewise.
5984         (boyer_moore_horspool_searcher): Likewise.
5985         * testsuite/20_util/function_objects/searchers.cc: Adjust.
5987 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
5989         Implement C++17 string searchers.
5990         * include/std/functional: (unordered_map, vector): New includes
5991         in C++17 mode.
5992         (array, bits/stl_algo.h): Likewise.
5993         (default_searcher, __boyer_moore_map_base): New.
5994         (__boyer_moore_array_base, __is_std_equal_to): Likewise.
5995         (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
5996         (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
5997         (make_boyer_moore_searcher): Likewise.
5998         (make_boyer_moore_horspool_searcher): Likewise.
5999         * testsuite/20_util/function_objects/searchers.cc: New.
6001 2016-09-12  Matthew Wahab  <matthew.wahab@arm.com>
6003         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
6004         Move dg-do directive before dg-require.
6005         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
6006         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
6007         Likewise.
6008         * testsuite/22_locale/codecvt/utf8.cc: Likewise.
6009         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
6010         * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
6011         * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
6012         * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
6013         * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
6014         * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
6015         * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
6016         * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
6017         * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
6018         * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
6019         * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
6020         * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
6021         Likewise.
6022         * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
6023         Likewise.
6024         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
6025         * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
6026         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
6027         Likewise.
6028         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
6029         Likewise.
6030         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
6031         Likewise.
6032         * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
6033         Likewise.
6034         * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
6035         Likewise.
6036         * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
6037         Likewise.
6038         * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
6039         Likewise.
6040         * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
6041         Likewise.
6042         * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
6043         Likewise.
6044         * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
6045         Likewise.
6046         * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
6047         Likewise.
6048         * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
6049         Likewise.
6050         * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
6051         Likewise.
6052         * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
6053         Likewise.
6054         * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
6055         Likewise.
6056         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
6057         Likewise.
6058         * testsuite/23_containers/forward_list/debug/
6059         iterator_self_move_assign_neg.cc: Likewise.
6060         * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
6061         Likewise.
6062         * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
6063         Likewise.
6064         * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
6065         Likewise.
6066         * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
6067         Likewise.
6068         * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
6069         Likewise.
6070         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
6071         Likewise.
6072         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
6073         Likewise.
6074         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
6075         Likewise.
6076         * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
6077         * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
6078         * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
6079         * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
6080         * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
6081         * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
6082         * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
6083         * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
6084         * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
6085         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
6086         * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
6087         Likewise.
6088         * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
6089         * testsuite/23_containers/map/debug/60499.cc: Likewise.
6090         * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
6091         * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
6092         * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
6093         * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
6094         * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
6095         * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
6096         * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
6097         Likewise.
6098         * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
6099         * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
6100         * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
6101         * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
6102         * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
6103         * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
6104         * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
6105         * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
6106         * testsuite/23_containers/multimap/debug/
6107         iterator_self_move_assign_neg.cc: Likewise.
6108         * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
6109         Likewise.
6110         * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
6111         * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
6112         * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
6113         * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
6114         * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
6115         * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
6116         * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
6117         * testsuite/23_containers/multiset/debug/
6118         iterator_self_move_assign_neg.cc: Likewise.
6119         * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
6120         Likewise.
6121         * testsuite/23_containers/set/debug/60499.cc: Likewise.
6122         * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
6123         * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
6124         * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
6125         * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
6126         * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
6127         * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
6128         * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
6129         Likewise.
6130         * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
6131         * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
6132         * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
6133         * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
6134         * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
6135         Likewise.
6136         * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
6137         * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
6138         * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
6139         Likewise.
6140         * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
6141         Likewise.
6142         * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
6143         Likewise.
6144         * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
6145         * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
6146         * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
6147         * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
6148         * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
6149         * testsuite/23_containers/unordered_map/debug/
6150         invalid_local_iterator_compare_neg.cc: Likewise.
6151         * testsuite/23_containers/unordered_map/debug/
6152         invalid_local_iterator_range_neg.cc: Likewise.
6153         * testsuite/23_containers/unordered_map/debug/
6154         iterator_self_move_assign_neg.cc: Likewise.
6155         * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
6156         Likewise.
6157         * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
6158         Likewise.
6159         * testsuite/23_containers/unordered_map/debug/
6160         use_erased_local_iterator_neg.cc: Likewise.
6161         * testsuite/23_containers/unordered_map/debug/
6162         use_invalid_iterator_neg.cc: Likewise.
6163         * testsuite/23_containers/unordered_map/debug/
6164         use_invalid_local_iterator_neg.cc: Likewise.
6165         * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
6166         * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
6167         Likewise.
6168         * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
6169         Likewise.
6170         * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
6171         Likewise.
6172         * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
6173         Likewise.
6174         * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
6175         Likewise.
6176         * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
6177         Likewise.
6178         * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
6179         Likewise.
6180         * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
6181         Likewise.
6182         * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
6183         Likewise.
6184         * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
6185         Likewise.
6186         * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
6187         Likewise.
6188         * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
6189         Likewise.
6190         * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
6191         Likewise.
6192         * testsuite/23_containers/unordered_multimap/debug/
6193         invalid_local_iterator_compare_neg.cc: Likewise.
6194         * testsuite/23_containers/unordered_multimap/debug/
6195         invalid_local_iterator_range_neg.cc: Likewise.
6196         * testsuite/23_containers/unordered_multimap/debug/
6197         iterator_self_move_assign_neg.cc: Likewise.
6198         * testsuite/23_containers/unordered_multimap/debug/
6199         max_load_factor_neg.cc: Likewise.
6200         * testsuite/23_containers/unordered_multimap/debug/
6201         self_move_assign_neg.cc: Likewise.
6202         * testsuite/23_containers/unordered_multimap/debug/
6203         use_erased_local_iterator_neg.cc: Likewise.
6204         * testsuite/23_containers/unordered_multimap/debug/
6205         use_invalid_iterator_neg.cc: Likewise.
6206         * testsuite/23_containers/unordered_multimap/debug/
6207         use_invalid_local_iterator_neg.cc: Likewise.
6208         * testsuite/23_containers/unordered_multiset/debug/60499.cc:
6209         Likewise.
6210         * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
6211         Likewise.
6212         * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
6213         Likewise.
6214         * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
6215         Likewise.
6216         * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
6217         Likewise.
6218         * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
6219         Likewise.
6220         * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
6221         Likewise.
6222         * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
6223         Likewise.
6224         * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
6225         Likewise.
6226         * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
6227         Likewise.
6228         * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
6229         Likewise.
6230         * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
6231         Likewise.
6232         * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
6233         Likewise.
6234         * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
6235         Likewise.
6236         * testsuite/23_containers/unordered_multiset/debug/
6237         invalid_local_iterator_compare_neg.cc: Likewise.
6238         * testsuite/23_containers/unordered_multiset/debug/
6239         invalid_local_iterator_range_neg.cc: Likewise.
6240         * testsuite/23_containers/unordered_multiset/debug/
6241         iterator_self_move_assign_neg.cc: Likewise.
6242         * testsuite/23_containers/unordered_multiset/debug/
6243         max_load_factor_neg.cc: Likewise.
6244         * testsuite/23_containers/unordered_multiset/debug/
6245         self_move_assign_neg.cc: Likewise.
6246         * testsuite/23_containers/unordered_multiset/debug/
6247         use_erased_local_iterator_neg.cc: Likewise.
6248         * testsuite/23_containers/unordered_multiset/debug/
6249         use_invalid_iterator_neg.cc: Likewise.
6250         * testsuite/23_containers/unordered_multiset/debug/
6251         use_invalid_local_iterator_neg.cc: Likewise.
6252         *  testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
6253         * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
6254         * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
6255         * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
6256         Likewise.
6257         * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
6258         * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
6259         * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
6260         Likewise.
6261         * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
6262         Likewise.
6263         * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
6264         Likewise.
6265         * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
6266         * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
6267         * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
6268         * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
6269         * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
6270         * testsuite/23_containers/unordered_set/debug/
6271         invalid_local_iterator_compare_neg.cc: Likewise.
6272         * testsuite/23_containers/unordered_set/debug/
6273         invalid_local_iterator_range_neg.cc: Likewise.
6274         * testsuite/23_containers/unordered_set/debug/
6275         iterator_self_move_assign_neg.cc: Likewise.
6276         * testsuite/23_containers/unordered_set/debug/
6277         max_load_factor_neg.cc: Likewise.
6278         * testsuite/23_containers/unordered_set/debug/
6279         self_move_assign_neg.cc: Likewise.
6280         * testsuite/23_containers/unordered_set/debug/
6281         use_erased_local_iterator_neg.cc: Likewise.
6282         * testsuite/23_containers/unordered_set/debug/
6283         use_invalid_iterator_neg.cc: Likewise.
6284         * testsuite/23_containers/unordered_set/debug/
6285         use_invalid_local_iterator_neg.cc: Likewise.
6286         * testsuite/23_containers/vector/debug/52433.cc: Likewise.
6287         * testsuite/23_containers/vector/debug/60499.cc: Likewise.
6288         * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
6289         * testsuite/23_containers/vector/debug/
6290         iterator_self_move_assign_neg.cc: Likewise.
6291         * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
6292         Likewise.
6293         * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
6294         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
6295         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
6296         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
6297         * testsuite/29_atomics/atomic/60658.cc: Likewise.
6298         * testsuite/29_atomics/atomic/60695.cc: Likewise.
6299         * testsuite/29_atomics/atomic/62259.cc: Likewise.
6300         * testsuite/29_atomics/atomic/64658.cc: Likewise.
6301         * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
6302         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
6303         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
6304         Likewise.
6306 2016-09-11  Jonathan Wakely  <jwakely@redhat.com>
6308         * libsupc++/new_opant.cc: Include exception_defines.h.
6309         * libsupc++/new_opvant.cc: Likewise.
6311 2016-09-09  Jason Merrill  <jason@redhat.com>
6313         Implement P0035R4, C++17 new of over-aligned types.
6314         * libsupc++/new: Declare aligned new/delete operators.
6315         * config/abi/pre/gnu.ver: Export them.
6316         * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
6317         _aligned_malloc.
6318         * libsupc++/new_opa.cc: New.
6319         * libsupc++/new_opant.cc: New.
6320         * libsupc++/new_opva.cc: New.
6321         * libsupc++/new_opva.cc: New.
6322         * libsupc++/del_opa.cc: New.
6323         * libsupc++/del_opant.cc: New.
6324         * libsupc++/del_opsa.cc: New.
6325         * libsupc++/del_opva.cc: New.
6326         * libsupc++/del_opvant.cc: New.
6327         * libsupc++/del_opvsa.cc: New.
6328         * libsupc++/Makefile.am: Build them.
6330 2016-09-05  Tim Shen  <timshen@google.com>
6332         * include/std/variant: include bits/move.h for std::addressof.
6334 2016-09-05  Mikhail Strelnikov  <mikhail.strelnikov@gmail.com>
6336         * include/std/variant (_Variant_storage::_M_storage()): Use
6337         std::addressof instead of operator& to take address.
6339 2016-09-02  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
6341         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
6342         setrlimit on both native and cross targets.
6343         * configure: Regenerate.
6345 2016-08-31  Jonathan Wakely  <jwakely@redhat.com>
6347         * include/bits/shared_ptr.h (_Assignable): New alias template.
6348         (shared_ptr::operator=(const shared_ptr<_Tp1>&))
6349         (shared_ptr::operator=(shared_ptr<_Tp1>&&))
6350         (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6351         _Assignable.
6352         * include/bits/shared_ptr_base.h (_Assignable): New alias template.
6353         (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
6354         (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
6355         (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6356         _Assignable.
6357         (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
6358         (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
6359         _Convertible.
6360         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
6361         match on any line.
6362         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
6363         * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
6364         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
6365         expected errors. Remove unnecessary code.
6366         * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
6368         * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
6369         comparison object.
6370         * testsuite/23_containers/set/move_comparison.cc: New test.
6372         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
6373         New test.
6375 2016-08-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
6377         PR libstdc++/77395
6378         * include/std/type_traits (is_constructible): Forward-declare...
6379         (__is_base_to_derived_ref): ...and use here.
6380         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
6381         * testsuite/20_util/is_constructible/77395.cc: New.
6382         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
6383         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
6384         Likewise.
6385         * testsuite/20_util/tuple/77395.cc: New.
6387 2016-08-30  Uros Bizjak  <ubizjak@gmail.com>
6389         * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
6390         directive above dg-require-namedlocale directive.
6391         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
6392         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
6393         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
6394         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
6395         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
6397 2016-08-27  Tim Shen  <timshen@google.com>
6399         PR libstdc++/77356
6400         * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
6401         _M_expression_term): Modify to support dash literal.
6402         * include/bits/regex_scanner.h: Add dash as a token type to make
6403         a different from the mandated dash literal by escaping.
6404         * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
6405         token in bracket expression parsing.
6406         * testsuite/28_regex/regression.cc: Add new testcases.
6408 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6410         PR libstdc++/51960
6411         * doc/xml/manual/intro.xml: Document DR 2127 change.
6412         * doc/html/*: Regenerate.
6413         * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
6414         (operator++(), operator++(int)): Use injected class name.
6415         * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
6417         * testsuite/*: Use { target c++11 } or { target c++14 } instead of
6418         using -std in dg-options.
6420 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6421             Pedro Alves  <palves@redhat.com>
6423         * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
6424         and restore dg-interpreter-batch-mode.
6425         * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
6426         gdb-dg-runtest instead of dg-runtest.
6427         * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
6429 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6431         * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
6432         precise patterns for basic_string constructors.
6433         (GLIBCXX_3.4.23): Export new constructors.
6434         * doc/xml/manual/intro.xml: Document LWG 2583 status.
6435         * doc/html/*: Regenerate.
6436         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
6437         (basic_string(const basic_string&, size_type, const Alloc&)): Add
6438         new constructor for LWG 2583.
6439         (basic_string(const basic_string&, size_type, size_type)): Remove
6440         default argument.
6441         [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
6442         * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
6443         * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
6444         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
6446 2016-08-24  Aditya Kumar  <hiraditya@msn.com>
6448         * include/bits/algorithmfwd.h: Remove trailing whitespace.
6449         * include/bits/shared_ptr_base.h: Likewise.
6451 2016-08-23  Jonathan Wakely  <jwakely@redhat.com>
6453         * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
6454         * include/profile/array (array): Likewise.
6455         (array::swap): Fix exception specification for zero-sized arrays.
6457         PR libstdc++/77334
6458         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
6459         (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
6460         * testsuite/23_containers/map/77334.cc: New test.
6462         * doc/xml/manual/using.xml: Remove reference to -pthreads option.
6463         * doc/html/*: Regenerate.
6465         * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
6466         * testsuite/experimental/feat-lib-fund.cc: Likewise.
6468         PR libstdc++/71771
6469         * include/bits/stl_iterator.h
6470         (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
6471         define for C++98 mode.
6472         (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
6473         * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
6474         -std=gnu++98.
6475         * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
6476         * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
6477         * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
6478         * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
6479         difference operator.
6480         * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
6481         difference operator for C++98.
6482         * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
6484         * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
6485         * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
6486         (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
6487         * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
6488         (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
6489         Likewise.
6490         * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
6491         _GLIBCXX14_CONSTEXPR.
6492         (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
6493         * include/std/array (array::begin, array::end, array::rbegin)
6494         (array::rend, array::cbegin, array:cend, array::crbegin)
6495         (array::crend, array::operator[], array::at, array::front)
6496         (array::back, array::data): Likewise.
6497         * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
6498         with separate tests for C++11, C++14, and C++17.
6499         * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
6500         * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
6501         * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
6503 2016-08-22  Tim Shen  <timshen@google.com>
6505         Split _M_dfs() into smaller functions.
6506         * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
6507         (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
6508         (_M_handle_line_end_assertion, _M_handle_word_boundary)
6509         (_M_handle_subexpr_lookahead, _M_handle_match)
6510         (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
6511         Add separate function declarations.
6512         * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
6514 2016-08-22  Gleb Natapov  <gleb@scylladb.com>
6516         PR libstdc++/68297
6517         * config/abi/pre/gnu-versioned-namespace.ver: Export
6518         __cxa_init_primary_exception and std::exception_ptr(void*).
6519         * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
6520         export __cxa_init_primary_exception and std::exception_ptr(void*).
6521         * include/Makefile.am: Add new headers.
6522         * include/Makefile.in: Regenerate.
6523         * libsupc++/Makefile.am: Add new headers.
6524         * libsupc++/Makefile.in: Regenerate.
6525         * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
6526         * libsupc++/cxxabi_init_exception.h: New header.
6527         (__cxa_init_primary_exception): Declare.
6528         * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
6529         (__cxa_throw): Use __cxa_init_primary_exception.
6530         * libsupc++/exception (std::exception): Move to ...
6531         * libsupc++/exception.h: New header.
6532         * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
6533         friend declaration.
6534         (__exception_ptr::__dest_thunk): New function template.
6535         (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
6536         Use __cxa_allocate_exception and __cxa_init_primary_exception to
6537         create exception_ptr.
6538         * libsupc++/typeinfo: Include bits/exception.h instead of exception.
6539         * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
6541 2016-08-22  Jonathan Wakely  <jwakely@redhat.com>
6543         * doc/xml/api.xml: Replace hardcoded links for specific versions with
6544         link to docs for all releases.
6545         * doc/html/*: Regenerate.
6547         PR libstdc++/77322
6548         * doc/xml/manual/intro.xml: Document DR 2062 change.
6549         * include/std/functional (function::swap): Add noexcept.
6550         (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
6551         * testsuite/20_util/function/77322.cc: New test.
6553 2016-08-19  Jonathan Wakely  <jwakely@redhat.com>
6555         * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
6556         *-*-solaris* instead of -pthreads.
6557         * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
6558         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
6559         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
6560         * testsuite/23_containers/list/pthread1.cc: Likewise.
6561         * testsuite/23_containers/list/pthread5.cc: Likewise.
6562         * testsuite/23_containers/map/pthread6.cc: Likewise.
6563         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
6564         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
6565         * testsuite/30_threads/shared_mutex/*: Likewise.
6566         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
6567         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6568         default_weaktoshared.cc: Likewise.
6569         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6570         mutex_weaktoshared.cc: Likewise.
6571         * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
6572         dg-require-effective-target instead of using -std option.
6573         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
6574         Likewise.
6575         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
6576         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
6577         Likewise.
6578         * testsuite/30_threads/async/*: Likewise.
6579         * testsuite/30_threads/call_once/*: Likewise.
6580         * testsuite/30_threads/condition_variable/*: Likewise.
6581         * testsuite/30_threads/condition_variable_any/*: Likewise.
6582         * testsuite/30_threads/future/*: Likewise.
6583         * testsuite/30_threads/lock/*: Likewise.
6584         * testsuite/30_threads/mutex/*: Likewise.
6585         * testsuite/30_threads/packaged_task/*: Likewise.
6586         * testsuite/30_threads/promise/*: Likewise.
6587         * testsuite/30_threads/recursive_mutex/*: Likewise.
6588         * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
6589         * testsuite/30_threads/shared_future/*: Likewise.
6590         * testsuite/30_threads/shared_lock/*: Likewise.
6591         * testsuite/30_threads/shared_timed_mutex/*: Likewise.
6592         * testsuite/30_threads/this_thread/*: Likewise.
6593         * testsuite/30_threads/thread/*: Likewise.
6594         * testsuite/30_threads/timed_mutex/*: Likewise.
6595         * testsuite/30_threads/try_lock/*: Likewise.
6596         * testsuite/30_threads/unique_lock/*: Likewise.
6598         * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
6599         * doc/html/*: Regenerate.
6600         * include/experimental/functional (_Not_fn, not_fn): Match C++17
6601         semantics.
6602         * include/std/functional (_Not_fn, not_fn): Define for C++17.
6603         * testsuite/20_util/not_fn/1.cc: New.
6604         * testsuite/experimental/functional/not_fn.cc: Test abstract class.
6605         Remove test for volatile-qualified wrapper.
6607         * include/std/atomic (atomic::is_always_lock_free): Define.
6608         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
6609         * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
6610         * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
6611         * doc/xml/manual/status_cxx2017.xml: Update status.
6612         * doc/html/*: Regenerate.
6614         * include/experimental/tuple (apply): Qualify call to __apply_impl.
6615         * include/std/tuple (apply): Likewise.
6616         * testsuite/experimental/system_error/value.cc: Fix ambiguities in
6617         C++17 mode.
6618         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
6619         * testsuite/experimental/type_traits/value.cc: Likewise.
6621         * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
6622         and variant.
6623         * doc/html/*: Regenerate.
6625 2016-08-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
6627         Implement the latest proposed resolution of LWG 2756.
6628         * include/std/optional (Optional_base(const _Tp&))
6629         (Optional_base(_Tp&&), using _Base::_Base): Remove.
6630         (optional(nullopt_t)): New.
6631         (optional(_Up&&)): Invoke base directly with in_place
6632         rather than creating a temporary, add default template
6633         argument, change constraints.
6634         (optional(const optional<_Up>&)): Invoke base directly
6635         with in_place, remove unnecessary constraints.
6636         (optional(optional<_Up>&& __t)): Likewise.
6637         (optional(in_place_t, _Args&&...)): New.
6638         (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
6639         (operator=(_Up&&)): Add default template argument, change constraints.
6640         (operator=(const optional<_Up>&)): Put is_same first in the
6641         constraints.
6642         (operator=(optional<_Up>&&)): Likewise.
6643         * testsuite/20_util/optional/assignment/5.cc: Add a test to
6644         verify assignment from something that can't be perfect-forwarded.
6645         * testsuite/20_util/optional/cons/value.cc: Add tests to verify
6646         that a nested optional is disengaged when constructed
6647         from a disengaged element type, and to verify that assignments
6648         from an engaged element type engage the optional.
6650 2016-08-18  Tim Shen  <timshen@google.com>
6652         Implement <variant>
6654         * include/Makefile.am: Add new file std/variant.
6655         * include/Makefile.in: Generated from Makefile.am.
6656         * include/bits/enable_special_members.h: Add a tag type to allow
6657         the construction in non-default constructor.
6658         * include/bits/uses_allocator.h: Add convenience traits to
6659         detect constructibility.
6660         * include/std/variant: Implement <variant>.
6661         * testsuite/20_util/variant/compile.cc: Compile-time tests.
6662         * testsuite/20_util/variant/run.cc: Runtime tests.
6664 2016-08-18  Jonathan Wakely  <jwakely@redhat.com>
6666         * doc/xml/manual/test.xml (test.run.permutations): Expand section.
6667         (test.new_tests): Rewrite section.
6668         (tests.dg.directives): New section.
6669         * doc/html/*: Regenerate.
6671         * doc/xml/manual/test.xml: Improve documentation of test targets.
6672         Document new-abi-baseline, check-debug, and check-parallel targets.
6674         * doc/xml/manual/build_hacking.xml: New section on shared library
6675         versioning.
6677         * doc/xml/manual/build_hacking.xml: Improve markup.
6678         * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
6679         to "Testing".
6680         * doc/xml/faq.xml: Change link text to "Testing".
6682         * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
6683         dg-options directive.
6685 2016-08-17  Jonathan Wakely  <jwakely@redhat.com>
6687         * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
6688         directive and use effective target instead of dg-options.
6690         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
6691         instead of -std in dg-options.
6692         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
6693         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
6694         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
6695         * testsuite/20_util/hash/quality.cc: Likewise.
6696         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
6697         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
6698         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
6699         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
6700         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
6701         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
6703         * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
6704         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
6705         * testsuite/27_io/rvalue_streams.cc: Likewise.
6707         * testsuite/26_numerics/complex/literals/types.cc: Add comment.
6709         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
6710         Remove duplicate dg-options directive.
6712         * testsuite/ext/profile/all.cc: Use effective target instead of
6713         -std=gnu++11. Use dg-additional-options instead of repeating options.
6715         * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
6716         -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
6717         instead of dg-excess-errors.
6719         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
6720         test for C++17.
6721         * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
6722         * testsuite/experimental/ratio/value.cc: Likewise.
6723         * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
6724         C++17.
6725         * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
6726         * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
6727         * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
6728         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
6729         * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
6730         * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
6731         * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
6732         * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
6733         * testsuite/tr1/5_numerical_facilities/special_functions/
6734         10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
6735         C++17 compatibility.
6737         * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
6738         expected signatures for C++14 compatibility.
6740         PR libstdc++/77264
6741         * include/bits/basic_string.h (operator=(__sv_type)
6742         (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
6743         (replace(size_type, size_type, __sv_type))
6744         (replace(const_iterator, const_iterator, __sv_type))
6745         (find(__sv_type, size_type), rfind(__sv_type, size_type))
6746         (compare(size_type, size_type, __sv_type)): Reformat.
6747         (_If_sv): Define helper for SFINAE constaints.
6748         (append(const _Tp&, size_type, size_type))
6749         (assign(const _Tp&, size_type, size_type))
6750         (insert(size_type, const _Tp&, size_type, size_type))
6751         (replace(size_type, size_type, const _Tp&, size_type, size_type)):
6752         Use _If_sv.
6753         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
6754         SFINAE constraints.
6755         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
6756         Likewise.
6757         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
6758         Likewise.
6759         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
6760         Likewise.
6761         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
6762         Likewise.
6763         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
6764         Likewise.
6765         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
6766         Likewise.
6767         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
6768         Likewise.
6769         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
6770         Likewise.
6771         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
6772         Likewise.
6773         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
6774         Likewise.
6776 2016-08-16  Jonathan Wakely  <jwakely@redhat.com>
6778         PR libstdc++/72847
6779         * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
6780         pointers to start and end of storage.
6781         * testsuite/23_containers/vector/bool/72847.cc: New test.
6782         * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
6783         _M_finish after deallocating.
6784         (vector<bool>::_M_fill_insert): Likewise.
6785         (vector<bool>::_M_insert_range): Likewise.
6786         (vector<bool>::_M_insert_aux): Likewise.
6788 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
6790         Implement LWG 2744 and LWG 2754.
6791         * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
6792         (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
6793         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
6794         Likewise.
6795         (emplace(_Args&&...)): Likewise.
6796         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
6797         * include/std/utility: (__is_in_place_type_impl): New.
6798         (__is_in_place_type): Likewise.
6799         * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
6800         emplace.
6801         * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
6802         in_place constructor.
6803         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
6804         * testsuite/20_util/any/requirements.cc: Add a test for
6805         in_place-constructing a non-default-constructible type.
6807 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
6809         Add a feature macro for C++17 make_from_tuple.
6810         * include/std/tuple (__cpp_lib_make_from_tuple): New.
6811         (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
6812         Qualify the call to get<>().
6813         * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
6815 2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
6817         * src/filesystem/ops.cc: Always include ostream and
6818         ext/stdio_filebuf.h.
6819         (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
6820         [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
6821         sendfile fails with ENOSYS or EINVAL.
6823 2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
6825         PR libstdc++/72840
6826         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
6827         syntax.
6829 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
6831         Implement C++17 make_from_tuple.
6832         * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
6833         * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
6835 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
6837         Implement LWG 2758.
6838         * include/bits/basic_string.h
6839         (append(__sv_type, size_type, size_type)): Turn into a template,
6840         change parameter type, constrain, add a conversion to __sv_type
6841         from the dependent parameter type.
6842         (assign(__sv_type, size_type, size_type)): Likewise.
6843         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
6844         (replace(size_type, size_type, __sv_type, size_type, size_type)):
6845         Likewise.
6846         (compare(size_type, size_type,__sv_type, size_type, size_type)):
6847         Likewise.
6848         * testsuite/21_strings/basic_string/lwg2758.cc: New.
6850 2016-08-06  Jonathan Wakely  <jwakely@redhat.com>
6852         * doc/xml/manual/status_cxx2017.xml: Update status table.
6853         * doc/html/manual/status.html: Regenerate.
6855         * testsuite/lib/libstdc++.exp: Fix typo in comment.
6857         PR libstdc++/72820
6858         * include/std/functional (_Function_base::_Base_manager::_M_clone):
6859         Qualify new operator.
6860         * testsuite/20_util/function/cons/72820.cc: New test.
6862         * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
6863         * doc/html/manual/status.html: Regenerate.
6864         * include/Makefile.am: Add new header.
6865         * include/Makefile.in: Regenerate.
6866         * include/bits/invoke.h: New header.
6867         (__invoke): Make constexpr. Add && to types in exception specification.
6868         * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
6869         names. Include <bits/invoke.h> and use std::__invoke.
6870         * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
6871         new header.
6872         (invoke): Add && to types in exception specification.
6873         * include/std/tuple (apply, __apply_impl): Define for C++17.
6874         * testsuite/20_util/tuple/apply/1.cc: New test.
6875         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
6876         lineno.
6878 2016-08-05  Jonathan Wakely  <jwakely@redhat.com>
6880         * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
6881         * doc/html/manual/status.html: Regenerate.
6883         * include/std/chrono (floor, ceil, round, abs): New for C++17.
6884         * testsuite/20_util/duration_cast/rounding.cc: New test.
6885         * testsuite/20_util/time_point_cast/rounding.cc: New test.
6886         * doc/xml/manual/status_cxx2017.xml: Update status table.
6887         * doc/html/manual/status.html: Regenerate.
6888         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
6889         dg-error lineno.
6890         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
6891         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
6892         * testsuite/20_util/duration/literals/range.cc: Likewise.
6894         * include/std/functional (__callable_functor): Remove.
6895         (_Function_handler::_M_invoke): Use __invoke instead of
6896         __callable_functor or mem_fn.
6897         (function::_Callable): Use lvalue in result_of expression.
6898         (function): Remove TODO comments about allocators.
6899         * testsuite/20_util/function/cons/refqual.cc: New test.
6901 2016-08-04  Jonathan Wakely  <jwakely@redhat.com>
6903         * doc/xml/manual/status_cxx2017.xml: Update status table.
6904         * include/std/functional (__inv_unwrap): Move to <type_traits>.
6905         (__invoke_impl): Remove exception specifications.
6906         (__invoke, invoke): Add exception specifications using
6907         __is_nothrow_callable.
6908         * include/std/type_traits (__inv_unwrap): Move from <functional>.
6909         (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
6910         (__is_callable, __is_nothrow_callable): New traits.
6911         (is_callable, is_callable_v): New C++17 traits.
6912         (is_nothrow_callable, is_nothrow_callable_v): Likewise.
6913         * testsuite/20_util/is_callable/requirements/
6914         explicit_instantiation.cc: New test.
6915         * testsuite/20_util/is_callable/requirements/
6916         explicit_instantiation_ext.cc: New test.
6917         * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
6918         * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
6919         test.
6920         * testsuite/20_util/is_callable/value.cc: New test.
6921         * testsuite/20_util/is_callable/value_ext.cc: New test.
6922         * testsuite/20_util/is_nothrow_callable/requirements/
6923         explicit_instantiation.cc: New test.
6924         * testsuite/20_util/is_nothrow_callable/requirements/
6925         explicit_instantiation_ext.cc: New test.
6926         * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
6927         New test.
6928         * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
6929         New test.
6930         * testsuite/20_util/is_nothrow_callable/value.cc: New test.
6931         * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
6933         * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
6934         * doc/html/manual/status.html: Regenerate.
6936         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
6937         effective target not dg-options. Move check for feature-test macro to:
6938         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
6939         New test.
6941         * include/std/functional (_Unwrap): Rename to __inv_unwrap.
6942         (__invfwd): Adjust.
6943         (__invoke_impl): Remove unused template parameters.
6944         * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
6945         parameter.
6946         * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
6947         and test __invoke extension for C++11.
6949 2016-08-03  Jonathan Wakely  <jwakely@redhat.com>
6951         * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
6952         Define feature-test macro.
6953         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
6954         for the macro.
6956         * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
6957         * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
6958         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
6959         * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
6960         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
6962         * include/std/utility (as_const): Define.
6963         * testsuite/20_util/as_const/1.cc: New test.
6964         * testsuite/20_util/as_const/rvalue_neg.cc: New test.
6966         * include/bits/shared_ptr.h (owner_less): Add default template
6967         argument.
6968         * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
6969         specialization.
6970         (owner_less<void>): Define specialization.
6971         * include/bits/stl_function.h (__cpp_lib_transparent_operators):
6972         Update value.
6973         * testsuite/20_util/owner_less/void.cc: New test.
6974         * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
6976         * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
6977         Define feature-test macro.
6978         * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
6979         * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
6980         * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
6981         (__cpp_lib_type_trait_variable_templates): Define.
6983         * include/bits/stl_function.h: Remove commented-out macro.
6984         * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
6985         Define feature-test macro.
6986         * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
6988         * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
6989         C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
6990         true.
6991         * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
6992         do #error for C++17.
6993         * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
6994         of __STDCPP_WANT_MATH_SPEC_FUNCS__.
6995         * include/tr1/bessel_function.tcc: Likewise.
6996         * include/tr1/beta_function.tcc: Likewise.
6997         * include/tr1/cmath: Likewise.
6998         * include/tr1/ell_integral.tcc: Likewise.
6999         * include/tr1/exp_integral.tcc: Likewise.
7000         * include/tr1/gamma.tcc: Likewise.
7001         * include/tr1/hypergeometric.tcc: Likewise.
7002         * include/tr1/legendre_function.tcc: Likewise.
7003         * include/tr1/modified_bessel_func.tcc: Likewise.
7004         * include/tr1/poly_hermite.tcc: Likewise.
7005         * include/tr1/poly_laguerre.tcc: Likewise.
7006         * include/tr1/riemann_zeta.tcc: Likewise.
7007         * include/tr1/special_function_util.h: Likewise.
7008         * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
7010         * include/std/type_traits (has_trivial_default_constructor): Remove.
7011         (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
7012         * testsuite/20_util/has_trivial_copy_assign/requirements/
7013         explicit_instantiation.cc: Remove test.
7014         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
7015         line number.
7016         * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
7017         Likewise.
7018         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
7019         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7020         explicit_instantiation.cc: Likewise.
7021         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7022         typedefs.cc: Likewise.
7023         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
7024         * testsuite/20_util/has_trivial_default_constructor/requirements/
7025         explicit_instantiation.cc: Likewise.
7026         * testsuite/20_util/has_trivial_default_constructor/requirements/
7027         typedefs.cc: Likewise.
7028         * testsuite/20_util/has_trivial_default_constructor/value.cc:
7029         Likewise.
7030         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7031         Check has_trivial_default_constructor, has_trivial_copy_constructor,
7032         and has_trivial_copy_assign are not defined.
7033         * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
7034         tests.
7035         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
7036         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
7037         dg-error line number.
7038         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7039         Likewise.
7041 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7043         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
7044         Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
7045         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
7046         Likewise.
7047         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
7048         Likewise.
7049         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
7050         Likewise.
7051         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
7052         Likewise.
7053         * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
7054         Likewise.
7055         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
7056         Likewise.
7058         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
7059         comments.
7061         * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
7062         dg-error to relevant line.
7063         * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
7064         Likewise.
7065         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
7067         * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
7069         * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
7070         options are present that aren't valid for C.
7071         * testsuite/abi/header_cxxabi.c: Likewise.
7073         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
7074         check_value.cc: Do not add special functions to namespace std in TR1
7075         test.
7077         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
7078         run for C++11 and later.
7079         * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
7080         Likewise.
7081         * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
7082         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
7083         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
7084         * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
7085         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
7086         Likewise.
7087         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
7088         Likewise.
7089         * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
7090         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
7091         Likewise.
7092         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
7093         Likewise.
7094         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
7095         Likewise.
7096         * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
7097         * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
7098         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
7099         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
7100         * testsuite/special_functions/03_beta/compile.cc: Likewise.
7101         * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
7102         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
7103         * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
7104         Likewise.
7105         * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
7106         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
7107         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
7108         * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
7109         Likewise.
7110         * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
7111         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
7112         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
7113         * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
7114         Likewise.
7115         * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
7116         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
7117         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
7118         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
7119         Likewise.
7120         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
7121         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
7122         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
7123         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
7124         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
7125         Likewise.
7126         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
7127         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
7128         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
7129         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
7130         Likewise.
7131         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
7132         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
7133         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
7134         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
7135         * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
7136         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
7137         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
7138         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
7139         * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
7140         * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
7141         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
7142         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
7143         * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
7144         * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
7145         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
7146         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
7147         * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
7148         * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
7149         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
7150         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
7151         * testsuite/special_functions/14_expint/compile.cc: Likewise.
7152         * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
7153         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
7154         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
7155         * testsuite/special_functions/15_hermite/compile.cc: Likewise.
7156         * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
7157         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
7158         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
7159         * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
7160         * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
7161         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
7162         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
7163         * testsuite/special_functions/17_legendre/compile.cc: Likewise.
7164         * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
7165         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
7166         * testsuite/special_functions/18_riemann_zeta/check_value.cc:
7167         Likewise.
7168         * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
7169         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
7170         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
7171         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
7172         * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
7173         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
7174         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
7175         * testsuite/special_functions/20_sph_legendre/check_value.cc:
7176         Likewise.
7177         * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
7178         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
7179         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
7180         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
7181         * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
7182         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
7184         * testsuite/tr1/5_numerical_facilities/special_functions/
7185         08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
7186         of [[gnu::unused]].
7187         * testsuite/tr1/5_numerical_facilities/special_functions/
7188         09_cyl_bessel_j/check_value.cc: Likewise.
7189         * testsuite/tr1/5_numerical_facilities/special_functions/
7190         10_cyl_bessel_k/check_value.cc: Likewise.
7191         * testsuite/tr1/5_numerical_facilities/special_functions/
7192         11_cyl_neumann/check_value.cc: Likewise.
7193         * testsuite/tr1/5_numerical_facilities/special_functions/
7194         21_sph_bessel/check_value.cc: Likewise.
7195         * testsuite/tr1/5_numerical_facilities/special_functions/
7196         23_sph_neumann/check_value.cc: Likewise.
7198 2016-08-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7200         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
7201         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
7202         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
7203         * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
7204         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
7205         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
7207 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7209         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
7210         test if -flto used.
7212         * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
7213         additional flags for compiling libtestc++.a objects.
7215 2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
7217         * include/bits/basic_string.h (data() const): Update comment.
7218         (data()): Add non-const overload for C++17.
7219         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
7220         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
7222         * include/bits/basic_string.tcc: Disable explicit instantiation
7223         declarations for C++17.
7225         * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
7226         ignored "xfail" from { dg-do compile { xfail selector } } directive.
7227         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
7228         Likewise.
7229         * testsuite/26_numerics/headers/cmath/
7230         c99_classification_macros_c++11.cc: Likewise.
7231         * testsuite/26_numerics/headers/cmath/
7232         c99_classification_macros_c++98.cc: Likewise.
7233         * testsuite/26_numerics/headers/cmath/
7234         c99_classification_macros_c.cc: Likewise.
7236         * testsuite/backward/hash_set/check_construct_destroy.cc: Account
7237         for different construct/destroy counts in C++98 mode.
7239         * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
7241         * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
7242         later.
7243         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
7244         Likewise.
7246         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
7247         C++98-compatible initialization for array.
7249         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
7250         unused header and variable from compile-only test.
7251         * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
7252         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
7253         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
7254         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
7255         Likewise.
7257         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
7258         Remove duplicate dg-options directive.
7260         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
7261         808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
7263         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
7264         linker options from compile-only tests.
7265         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7266         Likewise.
7268         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
7269         supported for C++11 and later.
7270         * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
7271         * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
7273 2016-08-01  Uros Bizjak  <ubizjak@gmail.com>
7275         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
7277 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7279         * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
7280         compile-only test.
7282         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7283         Ensure test is compiled with optimization.
7285         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7286         Adjust dg-prune-output pattern for error in C++98 mode.
7288         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
7289         run for C++11 or later.
7291         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
7292         test to not rely on GNU extension (escaped normal characters in POSIX
7293         BRE). Enable tests for other strings which are now supported.
7295         * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
7296         c++11 instead of setting -std=gnu++14.
7298         PR libstdc++/72745
7299         * include/std/array (get): Use positive message for static assertions.
7300         * include/std/functional (_Safe_tuple_element_t): Fix indentation.
7301         * include/std/tuple (tuple_element<I, tuple<>>): Add partial
7302         specialization for invalid indices, with static assertion.
7303         * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
7305         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
7306         dg-error to relevant line.
7307         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7308         Likewise.
7309         * testsuite/23_containers/forward_list/requirements/dr438/
7310         assign_neg.cc: Likewise.
7311         * testsuite/23_containers/forward_list/requirements/dr438/
7312         constructor_1_neg.cc: Likewise.
7313         * testsuite/23_containers/forward_list/requirements/dr438/
7314         constructor_2_neg.cc: Likewise.
7315         * testsuite/23_containers/forward_list/requirements/dr438/
7316         insert_neg.cc: Likewise.
7317         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
7318         Likewise.
7319         * testsuite/26_numerics/random/linear_congruential_engine/
7320         requirements/non_uint_neg.cc: Likewise.
7321         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
7322         Likewise. Also test for std::atomic_address.
7324 2016-07-31  Ville Voutilainen  <ville.voutilainen@gmail.com>
7326         Add missing variable traits, fix testsuite failures.
7327         * include/bits/uses_allocator.h (uses_allocator_v): New.
7328         * include/std/functional (is_bind_expression_v, is_placeholder_v):
7329         Likewise.
7330         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
7331         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
7332         * testsuite/20_util/duration/literals/range.cc: Likewise.
7333         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
7334         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
7335         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
7336         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
7337         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7338         Likewise.
7339         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
7340         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
7341         New.
7343 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7345         * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
7346         not test 128-bit types.
7347         * testsuite/20_util/is_floating_point/value.cc: Likewise.
7348         * testsuite/20_util/is_integral/value.cc: Likewise.
7349         * testsuite/20_util/is_signed/value.cc: Likewise.
7350         * testsuite/20_util/is_unsigned/value.cc: Likewise.
7351         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
7352         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
7353         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
7354         Likewise.
7355         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7356         Likewise.
7358         * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
7360 2016-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
7362         Implement C++17 variable templates for type traits.
7363         * include/std/chrono (treat_as_floating_point_v): New.
7364         * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
7365         (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
7366         (ratio_greater_equal_v): Likewise.
7367         * include/std/system_error (is_error_code_enum_v)
7368         (is_error_condition_enum_v): Likewise.
7369         * include/std/tuple (tuple_size_v): Likewise.
7370         * type_traits (conjunction_v, disjunction_v, negation_v)
7371         (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
7372         (is_array_v, is_pointer_v, is_lvalue_reference_v)
7373         (is_rvalue_reference_v, is_member_object_pointer_v)
7374         (is_member_function_pointer_v, is_enum_v, is_union_v)
7375         (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
7376         (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
7377         (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
7378         (is_trivially_copyable_v, is_standard_layout_v)
7379         (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
7380         (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
7381         (is_constructible_v, is_default_constructible_v)
7382         (is_copy_constructible_v, is_move_constructible_v)
7383         (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
7384         (is_destructible_v, is_trivially_constructible_v)
7385         (is_trivially_default_constructible_v)
7386         (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
7387         (is_trivially_assignable_v, is_trivially_copy_assignable_v)
7388         (is_trivially_move_assignable_v, is_trivially_destructible_v)
7389         (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
7390         (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
7391         (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
7392         (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
7393         (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
7394         (is_same_v, is_base_of_v, is_convertible_v): Likewise.
7395         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
7396         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
7397         Likewise.
7398         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
7399         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
7400         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
7402 2016-07-29  Andreas Schwab  <schwab@linux-m68k.org>
7404         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
7405         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
7406         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
7408 2016-07-29  Jonathan Wakely  <jwakely@redhat.com>
7410         * doc/xml/manual/abi.xml: Document 6.0.22 library version.
7411         * doc/html/manual/abi.html: Regenerate.
7413         * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
7414         * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
7415         symbols.
7416         * configure: Regenerate.
7417         * testsuite/util/testsuite_abi.cc: Add new symbol version.
7419         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
7420         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
7421         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
7422         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
7423         Likewise.
7424         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
7425         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
7426         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
7428 2016-07-28  Jonathan Wakely  <jwakely@redhat.com>
7430         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
7431         Adjust dg-prune-output pattern for error in C++98 mode.
7432         * testsuite/23_containers/deque/requirements/dr438/
7433         constructor_1_neg.cc: Likewise.
7434         * testsuite/23_containers/deque/requirements/dr438/
7435         constructor_2_neg.cc: Likewise.
7436         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
7437         Likewise.
7438         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
7439         Likewise.
7440         * testsuite/23_containers/list/requirements/dr438/
7441         constructor_1_neg.cc: Likewise.
7442         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7443         Likewise.
7444         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
7445         Likewise.
7446         * testsuite/23_containers/vector/requirements/dr438/
7447         constructor_1_neg.cc: Likewise.
7448         * testsuite/23_containers/vector/requirements/dr438/
7449         constructor_2_neg.cc: Likewise.
7450         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
7451         Likewise.
7453         * testsuite/23_containers/vector/check_construct_destroy.cc: Account
7454         for different construct/destroy counts in C++98 mode.
7456         * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
7457         dg-options to dg-additional-options so that default options are used.
7458         * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
7459         Likewise.
7460         * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
7461         * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
7462         Likewise.
7463         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7464         Use dg-additional-options instead of repeating the common options.
7466         * testsuite/22_locale/conversions/string/1.cc: Remove unintended
7467         dg-do compile directive.
7468         * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
7469         dg-do directive.
7470         * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
7472 2016-07-28  Ville Voutilainen  <ville.voutilainen@gmail.com>
7474         Implement std::string_view and P0254r2,
7475         Integrating std::string_view and std::string.
7476         * include/Makefile.am: Add string_view and string_view.tcc
7477         to the exported headers.
7478         * include/Makefile.in: Likewise.
7479         * include/bits/basic_string.h: Include <string_view> in C++17 mode.
7480         (__sv_type): New.
7481         (basic_string(__sv_type, const _Alloc&)): Likewise.
7482         (operator=(__sv_type)): Likewise.
7483         (operator __sv_type()): Likewise.
7484         (operator+=(__sv_type)): Likewise.
7485         (append(__sv_type __sv)): Likewise.
7486         (append(__sv_type, size_type, size_type)): Likewise.
7487         (assign(__sv_type)): Likewise.
7488         (assign(__sv_type, size_type, size_type)): Likewise.
7489         (insert(size_type, __sv_type)): Likewise.
7490         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
7491         (replace(size_type, size_type, __sv_type)): Likewise.
7492         (replace(size_type, size_type, __sv_type, size_type, size_type)):
7493         Likewise.
7494         (replace(const_iterator, const_iterator, __sv_type)): Likewise.
7495         (find(__sv_type, size_type)): Likewise.
7496         (rfind(__sv_type, size_type)): Likewise.
7497         (find_first_of(__sv_type, size_type)): Likewise.
7498         (find_last_of(__sv_type, size_type)): Likewise.
7499         (find_first_not_of(__sv_type, size_type)): Likewise.
7500         (find_last_not_of(__sv_type, size_type)): Likewise.
7501         (compare(__sv_type)): Likewise.
7502         (compare(size_type, size_type, __sv_type)): Likewise.
7503         (compare(size_type, size_type, __sv_type, size_type, size_type)):
7504         Likewise.
7505         * include/bits/string_view.tcc: New.
7506         * include/std/string_view: Likewise.
7507         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
7508         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
7509         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
7510         Likewise.
7511         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
7512         Likewise.
7513         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
7514         Likewise.
7515         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
7516         Likewise.
7517         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
7518         Likewise.
7519         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
7520         Likewise.
7521         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7522         Likewise.
7523         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
7524         Likewise.
7525         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
7526         Likewise.
7527         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
7528         Likewise.
7529         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
7530         Likewise.
7531         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
7532         Likewise.
7533         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
7534         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
7535         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
7536         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
7537         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
7538         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
7539         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
7540         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
7541         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
7542         * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
7543         Likewise.
7544         * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
7545         Likewise.
7546         * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
7547         Likewise.
7548         * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
7549         Likewise.
7550         * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
7551         Likewise.
7552         * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
7553         Likewise.
7554         * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
7555         Likewise.
7556         * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
7557         Likewise.
7558         * testsuite/21_strings/basic_string_view/include.cc: Likewise.
7559         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
7560         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
7561         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
7562         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
7563         Likewise.
7564         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
7565         Likewise.
7566         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
7567         Likewise.
7568         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
7569         Likewise.
7570         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
7571         Likewise.
7572         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
7573         Likewise.
7574         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
7575         Likewise.
7576         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
7577         Likewise.
7578         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
7579         Likewise.
7580         * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
7581         Likewise.
7582         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
7583         Likewise.
7584         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
7585         Likewise.
7586         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
7587         Likewise.
7588         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
7589         Likewise.
7590         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
7591         Likewise.
7592         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
7593         Likewise.
7594         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
7595         Likewise.
7596         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
7597         Likewise.
7598         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
7599         Likewise.
7600         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
7601         Likewise.
7602         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
7603         Likewise.
7604         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
7605         Likewise.
7606         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
7607         Likewise.
7608         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
7609         Likewise.
7610         * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
7611         Likewise.
7612         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
7613         Likewise.
7614         * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
7615         Likewise.
7616         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
7617         Likewise.
7618         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
7619         Likewise.
7620         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
7621         Likewise.
7622         * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
7623         Likewise.
7624         * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
7625         Likewise.
7626         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
7627         Likewise.
7628         * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
7629         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
7630         Likewise.
7631         * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
7632         Likewise.
7633         * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
7634         Likewise.
7635         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
7636         Likewise.
7637         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
7638         Likewise.
7639         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
7640         Likewise.
7641         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
7642         Likewise.
7643         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
7644         Likewise.
7645         * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
7646         Likewise.
7647         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
7648         * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
7650 2016-07-27  Jonathan Wakely  <jwakely@redhat.com>
7652         * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
7654 2016-07-25  Georeth Chow  <georeth2010@gmail.com>
7656         * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
7657         _S_concat enumerator.
7658         * testsuite/ext/rope/6.cc: New test.
7660 2016-07-25  Jonathan Wakely  <jwakely@redhat.com>
7662         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
7663         std::mt19937, std::thread and std::atomic to simplify test.
7664         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
7666 2016-07-22  Jonathan Wakely  <jwakely@redhat.com>
7668         PR libstdc++/71964
7669         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
7670         (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
7671         * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
7672         * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
7673         * testsuite/23_containers/set/allocator/71964.cc: New test.
7675         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
7676         delete[] instead of delete.
7678 2016-07-21  Jonathan Wakely  <jwakely@redhat.com>
7680         * include/experimental/propagate_const (propagate_const::__t): Rename
7681         to _M_t and remove comment. Qualify std::move and std::forward.
7682         * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
7684         * testsuite/23_containers/vector/zero_sized_allocations.cc:
7685         Define sized deallocation function.
7686         * testsuite/util/testsuite_new_operators.h:
7687         (operator delete(void*, const std::nothrow_t&)): Define nothrow
7688         deallocation function.
7690         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
7691         reads past the end of strings.
7692         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
7693         Likewise.
7694         * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
7695         invalid array accesses.
7696         * testsuite/experimental/string_view/operations/compare/char/1.cc:
7697         Fix read past the end of string.
7698         * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
7700         * testsuite/24_iterators/container_access.cc: Fix missing returns.
7701         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
7703         * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
7704         leak) memory for arguments to placement delete.
7705         * testsuite/20_util/addressof/1.cc: Don't leak memory.
7706         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
7707         * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
7708         Likewise.
7710 2016-07-20  Jonathan Wakely  <jwakely@redhat.com>
7712         * doc/xml/manual/intro.xml: Document DR 2684 status.
7713         * doc/html/*: Regenerate.
7715         * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
7716         (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
7717         (atomic_uint64_t): Define (LWG 2441).
7718         * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
7719         lines.
7720         * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
7721         the new types.
7722         * doc/xml/manual/intro.xml: Document DR 2441 status.
7724         * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
7725         to use perfect forwarding (LWG 2328).
7726         * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
7727         * doc/xml/manual/intro.xml: Document DR 2328 status.
7729         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
7730         static objects for catching nullptr as pointer to member types.
7732 2016-07-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
7734         Clean up optional's comments.
7735         * include/std/optional: Remove incorrect section headers
7736         from comments when redundant, replace bare section
7737         headers with more descriptive comments.
7739 2016-07-15  Jonathan Wakely  <jwakely@redhat.com>
7741         * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
7742         * include/bits/move.h: Likewise.
7743         * include/bits/postypes.h: Likewise.
7744         * include/debug/bitset: Likewise.
7745         * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
7746         * include/ext/string_conversions.h: Change C++0x to __cxx11 in
7747         comment.
7748         * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
7749         * testsuite/util/thread/all.h: Likewise.
7751         * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
7752         and adjust comment.
7754         PR c++/58796
7755         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
7756         nullptr match handlers of pointer type.
7758 2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
7760         Implement C++17 P0025 clamp.
7761         * include/bits/algorithmfwd.h: Declare clamp overloads.
7762         * include/bits/stl_algo.h: Implement clamp.  Feature __cpp_lib_clamp.
7763         * testsuite/25_algorithms/clamp/1.cc: New test.
7764         * testsuite/25_algorithms/clamp/2.cc: New test.
7765         * testsuite/25_algorithms/clamp/constexpr.cc: New test.
7766         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
7767         1.cc: New test.
7768         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
7769         pod.cc: New test.
7771 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
7773         Fix the constraints for any's assignment operator template to properly
7774         reject assignment from a non-copyable lvalue.
7775         * include/std/any (operator=(_ValueType&&)): Constrain the decayed
7776         type for is_copy_constructible,
7777         * testsuite/20_util/any/requirements.cc: Add a test for
7778         non-copyable lvalues.
7780 2016-07-14  Jonathan Wakely  <jwakely@redhat.com>
7782         * include/experimental/functional: Include <parallel/algorithm> in
7783         Parallel Mode.
7785         * testsuite/experimental/functional/searchers.cc: Include <algorithm>
7786         for std::search.
7788         PR libstdc++/70716
7789         * include/bits/forward_list.h (forward_list): Update doxygen comments
7790         to reflect allocator propagation semantics. Remove ambiguous
7791         statements about data being lost.
7792         * include/bits/stl_deque.h (deque): Likewise.
7793         * include/bits/stl_list.h (list): Likewise.
7794         * include/bits/stl_map.h (map): Likewise.
7795         * include/bits/stl_multimap.h (multimap): Likewise.
7796         * include/bits/stl_multiset.h (multiset): Likewise.
7797         * include/bits/stl_set.h (set): Likewise.
7798         * include/bits/stl_vector.h (vector): Likewise.
7799         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
7800         Likewise.
7801         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
7802         Likewise.
7804 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
7806         Implement P0032R3, Homogeneous interface for variant, any and optional,
7807         for the parts concerning any and optional.
7808         * include/std/any (_Storage()): Make constexpr and have it
7809         initialize _M_ptr.
7810         (any()): Make constexpr.
7811         (any(const any&)): Adjust.
7812         (any(any&&)): Likewise.
7813         (__any_constructible_t): New.
7814         (any(_ValueType&&)): Constrain.
7815         (any(in_place_type_t<_Tp>, _Args&&...)): New.
7816         (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
7817         Likewise.
7818         (~any()): Adjust.
7819         (operator=(const any&)): Likewise.
7820         (operator=(any&&)): Likewise.
7821         (operator=(_ValueType&&)): Constrain.
7822         (emplace(_Args&&...)): New.
7823         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
7824         (clear()): Remove.
7825         (reset()): New.
7826         (swap(any&)): Adjust.
7827         (empty()): Remove.
7828         (has_value()): New.
7829         (type()): Adjust.
7830         (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
7831         (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
7832         (make_any(_Args&&...)): Likewise.
7833         (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
7834         * include/std/optional (in_place_t, in_place): Remove.
7835         (bad_optional_access): Add a comment referring to LEWG 72.
7836         (emplace(_Args&&...)): Constrain.
7837         (has_value()): New.
7838         (reset()): Likewise.
7839         (make_optional(_Args&&...)): Likewise.
7840         (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
7841         * include/std/utility (in_place_tag): New.
7842         (__in_place, __in_place_type, __in_place_index): Likewise.
7843         (in_place_t, in_place_type_t, in_place_index_t): Likewise.
7844         (in_place(__in_place*)): Likewise.
7845         (in_place(__in_place_type<_Tp>*)): Likewise.
7846         (in_place(__in_place_index<_Idx>*)): Likewise.
7847         * testsuite/20_util/any/assign/1.cc: Adjust.
7848         * testsuite/20_util/any/assign/emplace.cc: New.
7849         * testsuite/20_util/any/assign/self.cc: Adjust.
7850         * testsuite/20_util/any/cons/1.cc: Likewise.
7851         * testsuite/20_util/any/cons/in_place.cc: New.
7852         * testsuite/20_util/any/make_any.cc: Likewise.
7853         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
7854         * testsuite/20_util/any/misc/swap.cc: Likewise.
7855         * testsuite/20_util/any/modifiers/1.cc: Likewise.
7856         * testsuite/20_util/any/requirements.cc: New.
7857         * testsuite/20_util/in_place/requirements.cc: Likewise.
7858         * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
7859         * testsuite/20_util/optional/in_place.cc: Likewise.
7860         * testsuite/20_util/optional/make_optional.cc: Add tests for
7861         the new overloads of make_optional.
7863 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
7865         Implement P0307R2, Making Optional Greater Equal Again.
7866         * include/experimental/optional (_Has_addressof): Fix the comment.
7867         * include/std/optional (_Has_addressof): Likewise.
7868         (operator=(_Up&&)): Constrain.
7869         (operator=(const optional<_Up>&)): Likewise.
7870         (operator=(optional<_Up>&&)): Likewise.
7871         (__optional_relop_t): New.
7872         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7873         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
7874         Constrain and make transparent.
7875         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7876         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
7877         Constrain and make transparent.
7878         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7879         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7880         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
7881         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
7882         (operator!=(const optional<_Tp>&, _Tp const&)):
7883         Constrain and make transparent.
7884         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
7885         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
7886         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
7887         (operator>(const optional<_Tp>&, const _Tp&)):
7888         Constrain and make transparent.
7889         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
7890         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
7891         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
7892         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
7893         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
7894         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
7895         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
7896         * testsuite/20_util/optional/relops/1.cc: Likewise.
7897         * testsuite/20_util/optional/relops/2.cc: Likewise.
7898         * testsuite/20_util/optional/relops/3.cc: Likewise.
7899         * testsuite/20_util/optional/relops/4.cc: Likewise.
7900         * testsuite/20_util/optional/requirements.cc: Add tests to verify
7901         that optional's relops are transparent and don't synthesize
7902         operators. Also test that assignment sfinaes.
7904 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
7906         PR libstdc++/71856
7907         * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
7908         * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
7909         Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
7910         on _GLIBCXX_ASSERTIONS.
7911         * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
7912         Include <unistd.h> for sleep.
7913         * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
7914         * include/parallel/merge.h: Likewise.
7915         * include/parallel/multiway_merge.h: Likewise.
7916         * include/parallel/partition.h: Likewise.
7917         * include/parallel/queue.h: Likewise.
7918         * include/parallel/sort.h: Likewise.
7919         * testsuite/25_algorithms/headers/algorithm/
7920         parallel_algorithm_assert.cc: New.
7922         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
7923         (replace(__const_iterator, __const_iterator, initializer_list<C>)):
7924         Forward to different overload.
7926         * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
7927         static.
7929 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
7931         Revert "Add non-const overload of std::string::data()".
7933 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
7935         Implement P0307R2, Making Optional Greater Equal Again.
7936         * include/experimental/optional (_Has_addressof): Fix the comment.
7937         * include/std/optional (_Has_addressof): Likewise.
7938         (operator=(_Up&&)): Constrain.
7939         (operator=(const optional<_Up>&)): Likewise.
7940         (operator=(optional<_Up>&&)): Likewise.
7941         (__optional_relop_t): New.
7942         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7943         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
7944         Constrain and make transparent.
7945         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7946         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
7947         Constrain and make transparent.
7948         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7949         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7950         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
7951         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
7952         (operator!=(const optional<_Tp>&, _Tp const&)):
7953         Constrain and make transparent.
7954         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
7955         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
7956         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
7957         (operator>(const optional<_Tp>&, const _Tp&)):
7958         Constrain and make transparent.
7959         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
7960         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
7961         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
7962         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
7963         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
7964         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
7965         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
7966         * testsuite/20_util/optional/relops/1.cc: Likewise.
7967         * testsuite/20_util/optional/relops/2.cc: Likewise.
7968         * testsuite/20_util/optional/relops/3.cc: Likewise.
7969         * testsuite/20_util/optional/relops/4.cc: Likewise.
7970         * testsuite/20_util/optional/requirements.cc: Add tests to verify
7971         that optional's relops are transparent and don't synthesize
7972         operators. Also test that assignment sfinaes.
7974 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
7976         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
7977         New function.
7978         (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
7979         instead of _M_data().
7980         (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
7981         Likewise.
7982         (append(const basic_string&)): Likewise.
7983         (append(const basic_string&, size_type, size_type)): Likewise.
7984         (assign(const basic_string&, size_type, size_type)): Likewise.
7985         (insert(size_type, const basic_string&)): Likewise.
7986         (insert(size_type, const basic_string&, size_type, size_type)):
7987         Likewise.
7988         (replace(size_type, size_type, const basic_string&, size_type,
7989         size_type)): Likewise.
7990         (replace(__const_iterator, __const_iterator, const basic_string&)):
7991         Likewise.
7992         (c_str(), data()): Use c_str() instead of _M_data().
7993         (data()): Add non-const overload as per LWG 2391 and P0272R1.
7994         (compare(const basic_string&)): Use data() instead of _M_data().
7995         [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
7996         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
7997         Pass raw pointers to _S_copy.
7998         (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
7999         _S_assign.
8000         (find(const _CharT*, size_type, size_type)): Use data instead of
8001         _M_data().
8002         * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
8003         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
8004         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
8006 2016-07-12  Jonathan Wakely  <jwakely@redhat.com>
8008         * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
8009         * doc/xml/manual/intro.xml: Document DR 2458 status.
8010         * doc/html*: Regenerate.
8012         * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
8013         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8014         Only include <array>.
8015         * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
8016         Likewise.
8017         * doc/xml/manual/intro.xml: Document LWG 2212 support.
8018         * doc/html*: Regenerate.
8020         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8021         Add testcase from LWG 2164.
8023 2016-07-11  François Dumont  <fdumont@gcc.gnu.org>
8025         * include/bits/stl_vector.h (push_back(const value_type&)): Forward
8026         to _M_realloc_insert.
8027         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8028         (_M_realloc_insert): Declare new function.
8029         (_M_emplace_back_aux): Remove definition.
8030         * include/bits/vector.tcc (emplace_back(_Args...)):
8031         Use _M_realloc_insert.
8032         (insert(const_iterator, const value_type&)): Likewise.
8033         (_M_insert_rval, _M_emplace_aux): Likewise.
8034         (_M_emplace_back_aux): Remove declaration.
8035         (_M_realloc_insert): Define.
8036         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8037         Adjust expected results for emplacing an lvalue with reallocation.
8039 2016-07-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
8041         Implement std::optional.
8042         * include/Makefile.am: Add optional to exported headers.
8043         * include/Makefile.in: Likewise.
8044         * include/std/optional: New.
8045         * testsuite/20_util/optional/typedefs.cc: Likewise.
8046         * testsuite/20_util/optional/relops/2.cc: Likewise.
8047         * testsuite/20_util/optional/relops/3.cc: Likewise.
8048         * testsuite/20_util/optional/relops/4.cc: Likewise.
8049         * testsuite/20_util/optional/relops/5.cc: Likewise.
8050         * testsuite/20_util/optional/relops/1.cc: Likewise.
8051         * testsuite/20_util/optional/relops/6.cc: Likewise.
8052         * testsuite/20_util/optional/nullopt.cc: Likewise.
8053         * testsuite/20_util/optional/in_place.cc: Likewise.
8054         * testsuite/20_util/optional/make_optional.cc: Likewise.
8055         * testsuite/20_util/optional/assignment/2.cc: Likewise.
8056         * testsuite/20_util/optional/assignment/3.cc: Likewise.
8057         * testsuite/20_util/optional/assignment/4.cc: Likewise.
8058         * testsuite/20_util/optional/assignment/5.cc: Likewise.
8059         * testsuite/20_util/optional/assignment/1.cc: Likewise.
8060         * testsuite/20_util/optional/assignment/6.cc: Likewise.
8061         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
8062         * testsuite/20_util/optional/cons/default.cc: Likewise.
8063         * testsuite/20_util/optional/cons/move.cc: Likewise.
8064         * testsuite/20_util/optional/cons/value.cc: Likewise.
8065         * testsuite/20_util/optional/cons/copy.cc: Likewise.
8066         * testsuite/20_util/optional/requirements.cc: Likewise.
8067         * testsuite/20_util/optional/observers/2.cc: Likewise.
8068         * testsuite/20_util/optional/observers/3.cc: Likewise.
8069         * testsuite/20_util/optional/observers/4.cc: Likewise.
8070         * testsuite/20_util/optional/observers/5.cc: Likewise.
8071         * testsuite/20_util/optional/observers/1.cc: Likewise.
8072         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
8073         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
8074         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8075         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
8076         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
8077         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
8078         * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
8079         * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
8080         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
8081         * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
8082         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
8083         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
8084         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
8085         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
8086         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
8087         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
8088         * testsuite/20_util/optional/swap/1.cc: Likewise.
8090 2016-07-08  Jonathan Wakely  <jwakely@redhat.com>
8092         * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
8094 2016-07-07  Jonathan Wakely  <jwakely@redhat.com>
8096         * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
8097         * doc/html/*: Regenerate.
8099 2016-07-07  Ville Voutilainen  <ville.voutilainen@gmail.com>
8101         Implement std::any.
8102         * include/Makefile.am: Add any and c++17_warning.h to exported headers.
8103         * include/Makefile.in: Likewise.
8104         * include/std/any: New.
8105         * testsuite/20_util/any/assign/1.cc: Likewise.
8106         * testsuite/20_util/any/assign/2.cc: Likewise.
8107         * testsuite/20_util/any/assign/self.cc: Likewise.
8108         * testsuite/20_util/any/cons/1.cc: Likewise.
8109         * testsuite/20_util/any/cons/2.cc: Likewise.
8110         * testsuite/20_util/any/cons/aligned.cc: Likewise.
8111         * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
8112         * testsuite/20_util/any/misc/any_cast.cc: Likewise.
8113         * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
8114         * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
8115         * testsuite/20_util/any/misc/swap.cc: Likewise.
8116         * testsuite/20_util/any/modifiers/1.cc: Likewise.
8117         * testsuite/20_util/any/observers/type.cc: Likewise.
8118         * testsuite/20_util/any/typedefs.cc: Likewise.
8120 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8122         Add a new header for diagnosing the use of C++17 facilities
8123         in pre-C++17 modes.
8124         * include/bits/c++17_warning.h: New.
8126 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8128         Implement LWG 2451, optional<T> should 'forward' T's
8129         implicit conversions.
8130         * include/experimental/optional (__is_optional_impl, __is_optional):
8131         New.
8132         (optional()): Make constexpr and default.
8133         (optional(_Up&&), optional(const optional<_Up>&),
8134         optional(optional<_Up>&& __t): New.
8135         (operator=(_Up&&)): Constrain.
8136         (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
8137         * testsuite/experimental/optional/cons/value.cc:
8138         Add tests for the functionality added by LWG 2451.
8139         * testsuite/experimental/optional/cons/value_neg.cc: New.
8141 2016-07-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8143         Implement LWG 2509,
8144         any_cast doesn't work with rvalue reference targets and cannot
8145         move with a value target.
8146         * include/experimental/any (any(_ValueType&&)): Constrain and
8147         add an overload that doesn't forward.
8148         (any_cast(any&&)): Constrain and add an overload that moves.
8149         * testsuite/experimental/any/misc/any_cast.cc: Add tests for
8150         the functionality added by LWG 2509.
8152 2016-07-04  François Dumont  <fdumont@gcc.gnu.org>
8154         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8155         New test.
8156         * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
8157         test.
8159 2016-07-04  Jonathan Wakely  <jwakely@redhat.com>
8161         * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
8162         Define inline. Forward to _M_emplace_aux.
8163         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8164         (_M_insert_rval, _M_emplace_aux): Declare new functions.
8165         (_Temporary_value): New RAII type using allocator to construct/destroy.
8166         (_S_insert_aux_assign): Remove.
8167         (_M_insert_aux): Make non-variadic.
8168         * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
8169         Use _Temporary_value.
8170         (emplace(const_iterator, _Args&&...)): Remove definition.
8171         (_M_insert_rval, _M_emplace_aux): Define.
8172         (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
8173         (_M_fill_insert): Use _Temporary_value.
8174         * testsuite/23_containers/vector/allocator/construction.cc: New test.
8175         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8176         Adjust expected results for emplacing an lvalue with reallocation.
8177         * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
8178         expected results to account for construction/destruction of temporary
8179         using allocator.
8180         * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
8182 2016-07-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
8184         PR libstdc++/71313
8185         * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
8186         Call remove_all for children of a directory.
8187         * testsuite/experimental/filesystem/operations/create_directories.cc:
8188         Adjust.
8190 2016-07-02  François Dumont  <fdumont@gcc.gnu.org>
8192         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
8193         dg-error line numbers.
8194         * testsuite/23_containers/array/tuple_interface/
8195         tuple_element_debug_neg.cc: Likewise.
8196         * testsuite/25_algorithms/lexicographical_compare/debug/
8197         irreflexive_neg.cc: Remove.
8199 2016-06-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8201         * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
8202         than specific target.
8204 2016-06-27  François Dumont  <fdumont@gcc.gnu.org>
8206         PR libstdc++/71640
8207         * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
8208         friend declaration.
8210 2016-06-23  François Dumont  <fdumont@gcc.gnu.org>
8212         * include/debug/array (array<>::swap): Fix noexcept qualificaton for
8213         zero-size array.
8215 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8217         * configure.host: Remove mep-* support.
8219 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8221         * configure: Regenerate.
8222         * configure.host: Remove support for knetbsd.
8223         * crossconfig.m4: Likewise.
8225 2016-06-20  François Dumont  <fdumont@gcc.gnu.org>
8227         PR libstdc++/71181
8228         * include/tr1/hashtable_policy.h
8229         (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
8230         dereferenceable to avoid check on lower_bound result.
8231         (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
8232         (_Prime_rehash_policy::_M_need_rehash): Likewise.
8233         * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
8234         Always return a value greater than input value. Set _M_next_resize to
8235         max value when reaching highest prime number.
8236         * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
8237         being now useless.
8238         * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
8239         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
8240         (test02): New.
8241         * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
8242         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8243         Fix indentation.
8245 2016-06-17  Jonathan Wakely  <jwakely@redhat.com>
8247         PR libstdc++/71545
8248         * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
8249         Remove irreflexive checks.
8250         * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
8251         binary_search): Likewise.
8252         * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
8253         * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
8254         * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
8255         * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
8256         * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
8257         Add constructor from array.
8259 2016-06-16  François Dumont  <fdumont@gcc.gnu.org>
8261         * include/debug/debug.h
8262         (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
8263         (__glibcxx_requires_subscript): Move...
8264         * include/debug/assertions.h: ...here and add __builtin_expect.
8265         (_GLIBCXX_DEBUG_ONLY): Remove ; value.
8266         * include/bits/stl_deque.h
8267         (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
8268         (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
8269         (std::deque<>::back()): Likewise.
8270         (std::deque<>::pop_front()): Likewise.
8271         (std::deque<>::pop_back()): Likewise.
8272         (std::deque<>::swap(deque&)): Add allocator check.
8273         * include/bits/stl_vector.h
8274         (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
8275         (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
8276         (std::vector<>::back()): Likewise.
8277         (std::vector<>::pop_back()): Likewise.
8278         (std::vector<>::swap(vector&)): Add allocator check.
8280 2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>
8282         Provide swappable traits (p0185r1)
8283         * include/std/type_traits (is_swappable, is_nothrow_swappable,
8284         is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
8285         is_nothrow_swappable_v, is_swappable_with_v,
8286         is_nothrow_swappable_with_v): New.
8287         * include/bits/stl_pair.h: Use it as per p0185r1.
8288         * include/bits/stl_queue.h: Likewise.
8289         * include/bits/stl_stack.h: Likewise.
8290         * include/bits/unique_ptr.h: Likewise.
8291         * include/std/tuple: Likewise.
8292         * include/std/array: Likewise. Fix zero-size member swap.
8293         * include/bits/hashtable.h: Use __and_.
8294         * testsuite/20_util/is_nothrow_swappable/requirements/
8295         explicit_instantiation.cc: Change test options to std=gnu++17.
8296         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
8297         Likewise.
8298         * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
8299         * testsuite/20_util/is_swappable/requirements/
8300         explicit_instantiation.cc: Likewise.
8301         * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
8302         * testsuite/20_util/is_swappable/value.cc: Likewise.
8303         * testsuite/20_util/is_nothrow_swappable/requirements/
8304         explicit_instantiation_ext.cc: New.
8305         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
8306         New.
8307         * testsuite/20_util/is_nothrow_swappable/value.h: New.
8308         * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
8309         * testsuite/20_util/is_nothrow_swappable_with/requirements/
8310         explicit_instantiation.cc: New.
8311         * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
8312         New.
8313         * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
8314         * testsuite/20_util/is_swappable/requirements/
8315         explicit_instantiation_ext.cc: New.
8316         * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
8317         * testsuite/20_util/is_swappable/value.h: New.
8318         * testsuite/20_util/is_swappable/value_ext.cc: New.
8319         * testsuite/20_util/is_swappable_with/requirements/
8320         explicit_instantiation.cc: New.
8321         * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
8322         * testsuite/20_util/is_swappable_with/value.cc: New.
8323         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
8324         dg-error line numbers.
8325         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
8326         Likewise.
8328 2016-06-16  Jonathan Wakely  <jwakely@redhat.com>
8330         * include/std/array: Remove trailing whitespace.
8331         * include/std/atomic: Likewise.
8332         * include/std/bitset: Likewise.
8333         * include/std/chrono: Likewise.
8334         * include/std/complex: Likewise.
8335         * include/std/condition_variable: Likewise.
8336         * include/std/fstream: Likewise.
8337         * include/std/functional: Likewise.
8338         * include/std/future: Likewise.
8339         * include/std/iomanip: Likewise.
8340         * include/std/iosfwd: Likewise.
8341         * include/std/istream: Likewise.
8342         * include/std/limits: Likewise.
8343         * include/std/ratio: Likewise.
8344         * include/std/scoped_allocator: Likewise.
8345         * include/std/sstream: Likewise.
8346         * include/std/stdexcept: Likewise.
8347         * include/std/string: Likewise.
8348         * include/std/system_error: Likewise.
8349         * include/std/thread: Likewise.
8350         * include/std/tuple: Likewise.
8351         * include/std/type_traits: Likewise.
8352         * include/std/utility: Likewise.
8353         * include/std/valarray: Likewise.
8354         * include/std/vector: Likewise.
8356         * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
8357         new overloaded functions.
8358         * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
8359         to avoid creating a redundant temporary.
8360         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
8361         test.
8363 2016-06-15  François Dumont  <fdumont@gcc.gnu.org>
8365         * include/bits/stl_deque.h
8366         (std::deque<>::operator=): Call _M_assign_aux.
8367         (std::deque<>::assign(initializer_list<>)): Likewise.
8368         (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8369         (std::deque<>::insert(const_iterator, initializer_list<>)):
8370         Call _M_range_insert_aux.
8371         (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
8372         Likewise.
8373         (std::deque<>::_M_fill_assign): Call _M_fill_insert.
8374         (std::deque<>::_M_move_assign2): Call _M_assign_aux.
8375         * include/bits/deque.tcc
8376         (std::deque<>::operator=): Call _M_range_insert_aux.
8377         (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
8378         Likewise.
8379         * include/bits/stl_vector.h
8380         (std::vector<>::operator=): Call _M_assign_aux.
8381         (std::vector<>::assign(initializer_list<>)): Likewise.
8382         (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8383         (std::vector<>::insert(const_iterator, initializer_list<>)):
8384         Call _M_range_insert.
8385         * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
8387 2016-06-07  François Dumont  <fdumont@gcc.gnu.org>
8389         * include/std/tuple (_Head_base<>): Default specialization condition at
8390         type declaration.
8392 2016-06-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8394         Support allocators in tuples of zero size.
8395         * include/std/tuple (tuple<>::tuple(),
8396         tuple<>::tuple(allocator_arg_t, const _Alloc&),
8397         tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
8398         * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
8400 2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
8402         PR libstdc++/71320
8403         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
8404         Add or remove permissions according to perms argument.
8405         * testsuite/experimental/filesystem/operations/permissions.cc: New
8406         test.
8408 2016-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8410         Protect allocator-overloads of tuple-from-tuple constructors
8411         from cases that would create dangling references.
8412         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8413         const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
8414         tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
8415         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
8417 2016-05-29  Gerald Pfeifer  <gerald@pfeifer.com>
8419         * doc/xml/manual/backwards_compatibility.xml: Adjust
8420         lists.debian.org link to https.
8421         * doc/html/manual/backwards.html: Regenerate.
8423 2016-05-27  Jonathan Wakely  <jwakely@redhat.com>
8425         * doc/xml/manual/abi.xml: Adjust URL to use https.
8426         * doc/html/manual/*: Regenerate.
8428 2016-05-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
8430         PR libstdc++/66338
8431         * include/std/tuple (_TMC): Add a check for _NotSameTuple.
8432         * include/std/tuple (tuple(_UElements&&...)): Remove the separate
8433         check for _NotSameTuple.
8434         * include/std/tuple (_TMCT): New.
8435         * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
8436         * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
8437         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8438               const tuple<_UElements...>&)): Likewise.
8439         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8440               tuple<_UElements...>&&)): Likewise.
8441         * testsuite/20_util/tuple/cons/66338.cc: New.
8443 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
8445         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
8446         * configure: Regenerate.
8447         * config.h.in: Regenerate.
8449         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
8450         * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
8451         Remove const qualification on function. Replace
8452         _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
8453         (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
8454         (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
8456 2016-05-24  François Dumont  <fdumont@gcc.gnu.org>
8458         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
8459         * include/bits/hashtable_policy.h
8460         (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
8461         having load factor management.
8462         (_Mask_range_hashing): New.
8463         (__clp2): New.
8464         (_Power2_rehash_policy): New.
8465         (_Inserts<>): Remove last template parameter, _Unique_keys, so that
8466         partial specializations only depend on whether iterators are constant
8467         or not.
8468         * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
8469         test new hash policy.
8470         * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
8471         Likewise.
8472         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8473         Likewise.
8474         * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
8475         Likewise.
8476         * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
8477         Likewise.
8478         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
8479         New.
8480         * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
8481         using the new hash policy.
8482         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
8484 2016-05-24  Jonathan Wakely  <jwakely@redhat.com>
8486         * include/bits/stl_queue.h (priority_queue::value_compare): Define.
8488 2016-05-23  François Dumont  <fdumont@gcc.gnu.org>
8490         * include/debug/safe_iterator.h
8491         (_Safe_iterator<>::operator->()): Implement using underlying iterator
8492         operator ->.
8493         * include/debug/safe_local_iterator.h
8494         (_Safe_local_iterator<>::operator->()): Likewise.
8496 2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8498         * testsuite/experimental/memory_resource/1.cc: Add required argument
8499         to dg-require-atomic-builtins.
8501 2016-05-13  Jonathan Wakely  <jwakely@redhat.com>
8503         PR libstdc++/71073
8504         * include/debug/bitset: Add #pragma GCC system_header.
8505         * include/debug/deque: Likewise.
8506         * include/debug/list: Likewise.
8507         * include/debug/map: Likewise.
8508         * include/debug/set: Likewise.
8509         * include/debug/string: Likewise.
8510         * include/debug/unordered_map: Likewise.
8511         * include/debug/unordered_set: Likewise.
8512         * include/debug/vector: Likewise.
8513         * include/debug/functions.h: Adjust whitespace.
8515 2016-05-12  Jonathan Wakely  <jwakely@redhat.com>
8517         PR libstdc++/71081
8518         * testsuite/experimental/memory_resource/1.cc: Require atomics.
8520 2016-05-11  Jonathan Wakely  <jwakely@redhat.com>
8522         PR libstdc++/71049
8523         * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
8524         exception constructors with __sso_string parameters.
8526 2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
8528         * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
8529         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8530         Test begin and end functions.
8531         * testsuite/experimental/filesystem/iterators/
8532         recursive_directory_iterator.cc: Likewise.
8534         PR libstdc++/71038
8535         * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
8536         * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
8538         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8539         Overload operator* to move from rvalues.
8541         PR libstdc++/71036
8542         * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
8543         * testsuite/experimental/filesystem/operations/create_directory.cc:
8544         New test.
8546         PR libstdc++/71037
8547         * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
8548         base path to exception.
8549         * testsuite/experimental/filesystem/operations/canonical.cc: Test
8550         paths contained in exception.
8552         * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
8553         using declaration.
8555         PR libstdc++/71005
8556         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8557         New type.
8558         (directory_iterator::operator++(int)): Return proxy.
8559         (recursive_directory_iterator::operator++(int)): Likewise.
8560         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8561         Test post-increment.
8562         * testsuite/experimental/filesystem/iterators/
8563         recursive_directory_iterator.cc: Likewise.
8565 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8567         PR libstdc++/71004
8568         * testsuite/experimental/filesystem/iterators/
8569         recursive_directory_iterator.cc: Fix test02 to not call member
8570         functions on invalid iterator, and use VERIFY not assert.
8572 2016-05-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
8574         Avoid endless run-time recursion for copying single-element
8575         tuples where the element type is by-value constructible
8576         from any type.
8577         * include/std/tuple (_NotSameTuple): New.
8578         * include/std/tuple (tuple(_UElements&&...): Use it.
8579         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
8581 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8583         PR libstdc++/71004
8584         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
8585         Initialize scalar member variables in default constructor.
8586         * testsuite/experimental/filesystem/iterators/
8587         recursive_directory_iterator.cc: Test default construction.
8589 2016-05-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8591         * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
8593 2016-05-05  Jonathan Wakely  <jwakely@redhat.com>
8595         * testsuite/experimental/filesystem/path/native/string.cc: Add
8596         dg-require-filesystem-ts directive.
8598 2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
8600         PR libstdc++/70940
8601         * include/experimental/memory_resource
8602         (__resource_adaptor_imp::do_allocate): Do not default-construct
8603         rebound allocator.
8604         (__resource_adaptor_imp::do_deallocate): Likewise. Use
8605         allocator_traits to get pointer type.
8606         (__null_memory_resource::do_allocate): Remove unused parameters.
8607         (__null_memory_resource::do_deallocate): Likewise.
8608         (__null_memory_resource::do_is_equal): Likewise. Add return statement.
8609         * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
8610         * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
8611         move to ...
8612         * testsuite/experimental/memory_resource/1.cc: Here.
8613         * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
8614         * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
8616 2016-04-29  Chris Gregory  <czipperz@gmail.com>
8618         * config/*: Remove trailing whitespace.
8619         * src/*: Likewise.
8620         * testsuite/tr1/*: Likewise.
8621         * testsuite/util/*: Likewise.
8623 2016-04-28  Jonathan Wakely  <jwakely@redhat.com>
8625         PR libstdc++/70766
8626         * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
8627         __addressof.
8628         * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
8629         Likewise.
8630         * include/std/atomic (atomic<_Tp>): Likewise.
8631         * include/std/shared_mutex (shared_lock): Likewise.
8632         * testsuite/24_iterators/istream_iterator/70766.cc: New test.
8633         * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
8634         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
8635         * testsuite/29_atomics/atomic/70766.cc: New test.
8636         * testsuite/30_threads/shared_lock/70766.cc: New test.
8638         * include/bits/hashtable_policy.h (__detail::_Insert_base,
8639         __detail::_Insert): Improve comments.
8641 2016-04-27  Jonathan Wakely  <jwakely@redhat.com>
8643         PR libstdc++/70767
8644         * include/std/limits: Update comments about DRs.
8645         (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
8646         numeric_limits<const volatile _Tp>): Define unconditionally.
8648 2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
8650         PR libstdc++/70762
8651         * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
8652         static counter to return a different path on every call.
8654 2016-04-22  Tim Shen  <timshen@google.com>
8656         PR libstdc++/70745
8657         * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
8658         Fix the match_not_bow and match_not_eow behavior.
8659         * testsuite/28_regex/regression.cc: Add testcase.
8661 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
8663         PR libstdc++/69703
8664         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
8665         __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
8667 2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
8669         PR libstdc++/69703
8670         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
8671         Override endianness bit in mode.
8672         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
8673         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
8674         that little_endian mode is ignored.
8675         * testsuite/experimental/filesystem/path/native/string.cc: New test.
8677         PR libstdc++/70609
8678         * src/filesystem/ops.cc (close_fd): New function.
8679         (do_copy_file): Set permissions before copying file contents. Check
8680         result of closing file descriptors. Don't copy streambuf when file
8681         is empty.
8682         (copy(const path&, const path&, copy_options, error_code&)): Use
8683         lstat for source file when copy_symlinks is set.
8684         * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
8686         * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
8687         operator~ operator&=, operator|=, operator^=): Add noexcept to
8688         overloaded operators for copy_options, perms and directory_options.
8689         * src/filesystem/ops.cc (make_file_type, make_file_status,
8690         is_not_found_errno, file_time): Add noexcept.
8692 2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>
8694         * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
8696 2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
8698         PR libstdc++/41759
8699         * include/bits/random.h: Reword static assertion messages to state
8700         positive conditions.
8701         * include/bits/random.tcc: Likewise.
8702         * include/bits/uniform_int_dist.h: Likewise.
8703         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
8704         patterns.
8706         * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
8708         * config/cpu/sh/atomicity.h: Fix typo in comment.
8710         PR libstdc++/70294
8711         * include/std/thread (operator<, operator==): Move definitions to
8712         namespace-scope.
8713         * testsuite/30_threads/thread/id/70294.cc: New test.
8715         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
8716         -Wno-pedantic to dg-options.
8717         * testsuite/20_util/align/2.cc: Use type as operand of alignof.
8718         * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
8719         to dg-options.
8720         * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
8721         Remove extra semi-colon.
8722         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8723         Always supply second argument to static_assert.
8724         * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
8725         semi-colon.
8726         * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
8727         dg-options.
8728         * testsuite/26_numerics/complex/literals/values.cc: Likewise.
8729         * testsuite/29_atomics/atomic/60695.cc: Likewise.
8730         * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
8731         alignof when operand is an object not a type.
8732         * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
8733         * testsuite/decimal/make-decimal.cc: Likewise.
8734         * testsuite/experimental/type_traits/value.cc: Always supply second
8735         argument to static_assert.
8736         * testsuite/util/testsuite_common_types.h: Use __extension__ for
8737         __int128 types.
8739         * testsuite/experimental/type_erased_allocator/1.cc: Don't include
8740         internal header.
8741         * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
8742         * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
8743         * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
8744         Likewise. Add licence and change to compile-only test.
8746         * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
8747         unused parameter.
8748         * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
8750         * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
8751         warnings.
8753 2016-04-17  Edward Smith-Rowland  <3dw4rd@verizon.net>
8755         * include/bits/specfun.h: Trivial comment misspelling.
8757 2016-04-14  Jason Merrill  <jason@redhat.com>
8759         Revert Jonathan's empty ABI change from yesterday.
8761 2016-04-13  Martin Sebor  <msebor@redhat.com>
8763         PR c++/69517
8764         * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
8765         upper bound is positive.
8767 2016-04-13  Jonathan Wakely  <jwakely@redhat.com>
8769         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
8770         _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
8771         * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
8772         of functions taking empty structs by value. Add a template parameter
8773         to overloads without hints. Rename overloads with hints to
8774         _M_emplace_hint.
8775         (_Hashtable::_M_erase(true_type, const_iterator),
8776         _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
8777         by reordering parameters.
8778         * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
8779         _M_emplace_hint instead of _M_emplace.
8780         * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
8781         shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
8782         * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
8783         __shared_ptr): Likewise.
8784         * include/bits/stl_algo.h (replace_if): Likewise.
8785         * include/bits/stl_pair.h (piecewise_construct_t,
8786         piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
8787         * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
8788         __uses_alloc0): Likewise.
8789         * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
8790         * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
8791         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
8792         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
8793         * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
8794         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
8795         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
8797 2016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
8799         Document C++17/TR29124 C++ Special Math Functions.
8800         * include/bits/specfun.h: Add Doxygen markup.
8802 2016-04-07  Jonathan Wakely  <jwakely@redhat.com>
8804         * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
8806 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
8808         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
8809         * src/Makefile.in: Regenerate.
8811 2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
8813         PR libstdc++/70554
8814         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
8815         __atomic_fetch_add for bool.
8816         * configure: Regenerate.
8818         * testsuite/30_threads/thread/70503.cc: Require -static to work.
8820         PR libstdc++/70503
8821         * src/c++11/thread.cc (execute_native_thread_routine,
8822         execute_native_thread_routine_compat): Give internal linkage.
8823         * testsuite/30_threads/thread/70503.cc: New test.
8825 2016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8827         PR libstdc++/70437
8828         * include/bits/stl_pair.h (_ConstructiblePair,
8829         _ImplicitlyConvertiblePair, _MoveConstructiblePair,
8830         _ImplicitlyMoveConvertiblePair): Add shortcut conditions
8831         for same-type cases.
8832         * testsuite/20_util/pair/70437.cc: New.
8834 2016-03-24  Jonathan Wakely  <jwakely@redhat.com>
8836         PR libstdc++/69945
8837         * config/abi/pre/gnu.ver: Add new symbol.
8838         * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
8839         * testsuite/18_support/free_eh_pool.cc: New test.
8841 2016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8843         * include/Makefile.am (install-freestanding-headers): Add
8844         concept_check.h and move.h to the installed headers.
8845         * include/Makefile.in: Regenerated.
8846         * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
8847         freestanding implementations.
8848         * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
8849         that this macro has no effect for freestanding implementations.
8850         * doc/html/manual/using_macros.html: Likewise.
8852 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
8854         PR libstdc++/69939
8855         * include/experimental/tuple (__apply_impl): Qualify get and forward.
8857 2016-02-23  Jonathan Wakely  <jwakely@redhat.com>
8859         * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
8860         * doc/html/*: Regenerate.
8862         PR libstdc++/69893
8863         * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
8864         exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
8865         llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
8866         nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
8867         trunc) [__cplusplus >= 201103L]: Import from namespace std.
8868         (fabs) [__cplusplus < 201103L]: Import from namespace std.
8869         * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
8870         Likewise.
8871         * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
8872         namespace before including TR1 headers.
8873         * testsuite/tr1/headers/c++200x/math.cc: New test.
8875 2016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8877         PR libstdc++/69881
8878         * include/c_global/cstdarg: Undefine __need___va_list.
8879         * include/c_global/cstddef: Undefine all kinds of __need_*.
8881 2016-02-16  Tim Shen  <timshen@google.com>
8883         PR libstdc++/69794
8884         * include/bits/regex_scanner.h: Add different special character
8885         sets for grep and egrep regex.
8886         * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
8887         * testsuite/28_regex/regression.cc: Add new testcase.
8889 2016-02-08  Jonathan Wakely  <jwakely@redhat.com>
8891         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
8892         added 'constexpr' in previous commit.
8893         * configure: Regenerate.
8895         PR libstdc++/48891
8896         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
8897         checks for all targets except *-*-solaris2.* and ensure we find the
8898         libc math.h header not our own.
8899         * configure: Regenerate.
8901 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
8903         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
8904         New file.  Copied over from s390-linux-gnu.
8906 2016-02-04  Jonathan Wakely  <jwakely@redhat.com>
8908         PR libstdc++/69626
8909         * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
8910         with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
8911         * config.h.in: Regenerate.
8912         * configure: Regenerate.
8913         * testsuite/21_strings/c_strings/char/69626.cc: New.
8915         * doc/html/index.html: Regenerate.
8917         * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
8918         * doc/xml/manual/spine.xml: Update copyright years and author blurb.
8919         * doc/html/*: Regenerate.
8921 2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8923         PR libstdc++/69581
8924         * include/c_compatibility/math.h: Move header guards.
8925         * include/c_compatibility/stdlib.h: Likewise.
8927 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
8929         PR libstdc++/69506
8930         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
8932 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
8934         PR libstdc++/69450
8935         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
8936         isinf and isnan functions into two independent checks.  Check on hpux.
8937         * config.h.in: Regenerate.
8938         * configure: Regenerate.
8939         * include/c_global/cmath (isinf(double), isnan(double)): Use
8940         _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
8941         respectively.
8943 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
8945         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
8947 2016-01-27  Jonathan Wakely  <jwakely@redhat.com>
8949         PR libstdc++/69295
8950         * testsuite/ext/special_functions/hyperg/check_value.cc: Use
8951         -ffp-contract=off, and -ffloat-store to disable excess precision.
8952         * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
8953         -ffp-contract=off.
8955 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
8957         PR libstdc++/69478
8958         * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
8959         random_access_iterator_tag>): Check is_move_assignable when moving.
8960         (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
8961         Likewise.
8962         * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
8963         * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
8964         * testsuite/25_algorithms/move/69478.cc: New.
8965         * testsuite/25_algorithms/move_backward/69478.cc: new.
8967 2016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
8969         * include/c_compatibility/stdlib.h: Include wide character related
8970         definitions only when they are available in cstdlib.
8972 2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
8974         PR libstdc++/69464
8975         * include/Makefile.am: Add new header.
8976         * include/Makefile.in: Regenerate.
8977         * include/bits/random.h (uniform_int_distribution): Move to
8978         bits/uniform_int_dist.h.
8979         * include/bits/random.tcc (uniform_int_distribution::operator(),
8980         uniform_int_distribution::__generate_impl): Likewise.
8981         * include/bits/uniform_int_dist.h: New header.
8982         * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
8983         <bits/uniform_int_dist.h> instead of <random>.
8984         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
8985         move_iterators/1.cc: Include correct header for uninitialized_copy.
8986         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
8987         move_iterators/1.cc: Likewise.
8988         * testsuite/25_algorithms/nth_element/58800.cc: Include correct
8989         header for vector.
8990         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
8992 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
8994         PR libstdc++/69446
8995         * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
8997 2016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
8999         TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
9000         * include/c_compatibility/math.h: Import the TR29124 functions
9001         into the global namespace.
9002         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
9003         xfail and make compile-only.
9004         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
9005         * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
9006         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
9007         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
9008         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
9009         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
9010         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
9011         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
9012         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
9013         * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
9014         * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
9015         * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
9016         * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
9017         * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
9018         * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
9019         * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
9020         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
9021         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
9022         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
9023         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
9025 2016-01-22  Jonathan Wakely  <jwakely@redhat.com>
9027         PR libstdc++/69116
9028         * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
9029         define result_type for types which can be safely used with valarrays.
9030         * testsuite/26_numerics/valarray/69116.cc: New.
9032         PR libstdc++/69413
9033         * config/os/gnu-linux/os_defines.h: Define
9034         _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
9035         * include/c_global/cmath (isinf, isnan): Check it.
9036         * doc/xml/manual/internals.xml: Document it.
9037         * doc/html/*: Regenerate.
9039 2016-01-21  Jonathan Wakely  <jwakely@redhat.com>
9041         PR libstdc++/69406
9042         * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
9043         * include/ext/type_traits.h: Likewise.
9044         * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
9045         for presence of C headers.
9046         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
9047         dg-error line number.
9048         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
9049         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
9050         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
9052 2016-01-20  Torvald Riegel  <triegel@redhat.com>
9054         PR libstdc++/69310
9055         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9057 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
9059         PR libstdc++/60401
9060         * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
9061         copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
9062         lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
9063         nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
9064         tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
9065         Add using declarations.
9066         * testsuite/26_numerics/headers/cmath/60401.cc: New.
9068         PR libstdc++/69386
9069         * include/c_global/ccomplex: Ensure C++ language linkage.
9070         * include/c_global/cmath: Likewise.
9071         * include/c_global/cstdlib: Likewise.
9072         * include/c_global/ctgmath: Likewise.
9073         * testsuite/17_intro/headers/c++2011/linkage.cc: New.
9075 2016-01-19  Jonathan Wakely  <jwakely@redhat.com>
9077         PR libstdc++/14608
9078         PR libstdc++/60401
9079         * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
9080         --enable-cheaders=c_global configs.
9081         * include/Makefile.in: Regenerate.
9082         * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
9083         test and allow inclusion from C files.
9084         * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
9085         (at_quick_exit, quick_exit): Add using directives.
9086         * include/c_global/cmath: Use #include_next for math.h.
9087         * include/c_global/cstdlib: Use #include_next for stdlib.h.
9088         * testsuite/26_numerics/headers/cmath/14608.cc: New.
9089         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
9090         Remove xfail for most targets.
9091         * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
9093 2016-01-18  Torvald Riegel  <triegel@redhat.com>
9095         * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
9096         (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
9097         and move after its definition.
9098         * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
9099         * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
9100         __GXX_WEAK__, and only provide transactional clones if
9101         _GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
9102         functions.
9104 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
9106         PR libstdc++/60637
9107         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
9109         PR libstdc++/69243
9110         * include/std/functional (_Function_base::_M_not_empty_function):
9111         Change overloads for pointers to take arguments by value.
9112         * testsuite/20_util/function/cons/57465.cc: Add tests for
9113         pointer-to-member cases.
9115         PR libstdc++/69340
9116         * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
9117         Use macros for exception handling and fix unused parameter warning.
9119 2016-01-17  John David Anglin  <danglin@gcc.gnu.org>
9121         PR libstdc++/68734
9122         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
9124 2016-01-17  Torvald Riegel  <triegel@redhat.com>
9126         * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
9128 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
9130         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
9131         __int128 symbols.
9133 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9135         PR libstdc++/69293
9136         * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
9137         static assertion that type is constructible from the arguments.
9138         * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
9139         * testsuite/20_util/uses_allocator/69293_neg.cc: New.
9140         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
9142         PR libstdc++/69294
9143         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9144         and isnan on AIX. Quote variables.
9145         * configure: Regenerate.
9147 2016-01-15  Torvald Riegel  <triegel@redhat.com>
9149         * include/bits/basic_string.h (basic_string): Declare friends.
9150         * include/bits/c++config (_GLIBCXX_TXN_SAFE,
9151         _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
9152         * include/std/stdexcept (logic_error, domain_error, invalid_argument,
9153         length_error, out_of_range, runtime_error, range_error,
9154         underflow_error, overflow_error): Declare members as transaction-safe.
9155         (logic_error, runtime_error): Declare friend functions.
9156         * libsupc++/exception (exception, bad_exception): Declare members as
9157         transaction-safe.
9158         * src/c++11/cow-stdexcept.cc: Define transactional clones for the
9159         transaction-safe members of exceptions and helper functions.
9160         * libsupc++/eh_exception.cc: Adjust and define transactional clones.
9161         * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
9162         (CXXABI_1.3.10): New.
9163         * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
9164         (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
9165         * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
9166         * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
9167         * include/Makefile.in: Regenerate.
9168         * config.h.in: Regenerate.
9169         * configure: Regenerate.
9170         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
9172 2016-01-15  Steve Ellcey  <sellcey@imgtec.com>
9174         * include/ext/random.tcc: Use __builtin_isfinite instead of
9175         std::isfinite.
9177 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9179         * include/bits/std_mutex.h: Fix Doxygen @file name.
9181 2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
9182             Jonathan Wakely  <jwakely@redhat.com>
9183             Florian Goth <CaptainSifff@gmx.de>
9185         Implement TR29124 C++ special Math Functions.
9186         * include/Makefile.am: Add new headers.
9187         * include/Makefile.in: Regenerate.
9188         * include/bits/specfun.h: New.
9189         * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
9190         * include/tr1/bessel_function.tcc: Ditto.
9191         * include/tr1/beta_function.tcc: Ditto.
9192         * include/tr1/cmath: Ditto.
9193         * include/tr1/ell_integral.tcc: Ditto.
9194         * include/tr1/exp_integral.tcc: Ditto.
9195         * include/tr1/gamma.tcc: Ditto.
9196         * include/tr1/hypergeometric.tcc: Ditto.
9197         * include/tr1/legendre_function.tcc: Ditto.
9198         * include/tr1/modified_bessel_func.tcc: Ditto.
9199         * include/tr1/poly_hermite.tcc: Ditto.
9200         * include/tr1/poly_laguerre.tcc: Ditto.
9201         * include/tr1/riemann_zeta.tcc: Ditto.
9202         * include/tr1/special_function_util.h: Ditto.
9203         * testsuite/ext/special_functions/conf_hyperg: New.
9204         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
9205         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
9206         * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
9207         * testsuite/ext/special_functions/hyperg: New.
9208         * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
9209         * testsuite/ext/special_functions/hyperg/check_value.cc: New.
9210         * testsuite/ext/special_functions/hyperg/compile.cc: New.
9211         * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
9212         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
9213         * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
9214         * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
9215         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
9216         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
9217         * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
9218         * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
9219         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
9220         * testsuite/special_functions/03_beta/check_nan.cc: New.
9221         * testsuite/special_functions/03_beta/check_value.cc: New.
9222         * testsuite/special_functions/03_beta/compile.cc: New.
9223         * testsuite/special_functions/03_beta/compile_2.cc: New.
9224         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
9225         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
9226         * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
9227         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
9228         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
9229         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
9230         * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
9231         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
9232         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
9233         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
9234         * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
9235         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
9236         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
9237         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
9238         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
9239         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
9240         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
9241         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
9242         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
9243         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
9244         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
9245         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
9246         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
9247         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
9248         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
9249         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
9250         * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
9251         * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
9252         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
9253         * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
9254         * testsuite/special_functions/11_ellint_1/check_value.cc: New.
9255         * testsuite/special_functions/11_ellint_1/compile.cc: New.
9256         * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
9257         * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
9258         * testsuite/special_functions/12_ellint_2/check_value.cc: New.
9259         * testsuite/special_functions/12_ellint_2/compile.cc: New.
9260         * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
9261         * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
9262         * testsuite/special_functions/13_ellint_3/check_value.cc: New.
9263         * testsuite/special_functions/13_ellint_3/compile.cc: New.
9264         * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
9265         * testsuite/special_functions/14_expint/check_nan.cc: New.
9266         * testsuite/special_functions/14_expint/check_value.cc: New.
9267         * testsuite/special_functions/14_expint/compile.cc: New.
9268         * testsuite/special_functions/14_expint/compile_2.cc: New.
9269         * testsuite/special_functions/15_hermite/check_nan.cc: New.
9270         * testsuite/special_functions/15_hermite/check_value.cc: New.
9271         * testsuite/special_functions/15_hermite/compile.cc: New.
9272         * testsuite/special_functions/15_hermite/compile_2.cc: New.
9273         * testsuite/special_functions/16_laguerre/check_nan.cc: New.
9274         * testsuite/special_functions/16_laguerre/check_value.cc: New.
9275         * testsuite/special_functions/16_laguerre/compile.cc: New.
9276         * testsuite/special_functions/16_laguerre/compile_2.cc: New.
9277         * testsuite/special_functions/17_legendre/check_nan.cc: New.
9278         * testsuite/special_functions/17_legendre/check_value.cc: New.
9279         * testsuite/special_functions/17_legendre/compile.cc: New.
9280         * testsuite/special_functions/17_legendre/compile_2.cc: New.
9281         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
9282         * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
9283         * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
9284         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
9285         * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
9286         * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
9287         * testsuite/special_functions/19_sph_bessel/compile.cc: New.
9288         * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
9289         * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
9290         * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
9291         * testsuite/special_functions/20_sph_legendre/compile.cc: New.
9292         * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
9293         * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
9294         * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
9295         * testsuite/special_functions/21_sph_neumann/compile.cc: New.
9296         * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
9297         * testsuite/util/specfun_testcase.h: New.
9298         * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
9299         * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
9300         * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
9301         * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
9302         * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
9303         * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
9304         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
9306 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
9308         PR libstdc++/48891
9309         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9310         and isnan functions.
9311         * config.h.in: Regenerate.
9312         * configure: Regenerate.
9313         * include/c_global/cmath (isinf(double), isnan(double))
9314         [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
9315         * testsuite/26_numerics/headers/cmath/48891.cc: New.
9317 2016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9319         PR libstdc++/66006
9320         * configure.host (abi_baseline_pair): Use separate baseline for
9321         Solaris 11+ and Solaris 10 with gld.
9322         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
9323         * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
9324         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
9326 2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
9328         PR libstdc++/68877
9329         * include/std/type_traits: Following N4511, reimplement __is_swappable
9330         and __is_nothrow_swappable. Move __is_swappable to namespace std,
9331         adjust callers. Use __is_nothrow_swappable in swap.
9332         * include/bits/move.h: Use __is_nothrow_swappable in swap.
9333         * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
9334         __is_swappable related tests.
9335         * testsuite/20_util/is_swappable/value.cc: New.
9336         * testsuite/20_util/is_swappable/requirements/
9337         explicit_instantiation.cc: New.
9338         * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
9339         * testsuite/25_algorithms/swap/68877.cc: New.
9341 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
9343         * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
9345         PR libstdc++/69005
9346         PR libstdc++/69222
9347         * include/std/functional (function::_Invoke): Remove, use result_of.
9348         (function::_Callable): Replace alias template with class template
9349         and use partial specialization instead of _NotSelf alias template.
9350         (function(_Functor)): Add "not self" constraint so that _Callable is
9351         not used while type is incomplete.
9352         * testsuite/20_util/function/69222.cc: New.
9354 2016-01-11  Jonathan Wakely  <jwakely@redhat.com>
9356         PR libstdc++/60976
9357         * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
9358         Define partial specialization.
9359         * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
9360         destroy members to std::allocator explicit specialization.
9362 2016-01-08  Jonathan Wakely  <jwakely@redhat.com>
9364         * testsuite/26_numerics/headers/cmath/
9365         c99_classification_macros_c++.cc: Rename to ...
9366         * testsuite/26_numerics/headers/cmath/
9367         c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
9368         * testsuite/26_numerics/headers/cmath/
9369         c99_classification_macros_c++0x.cc: Rename to ...
9370         * testsuite/26_numerics/headers/cmath/
9371         c99_classification_macros_c++11.cc: Here.
9373         PR libstdc++/69190
9374         * include/bits/uses_allocator.h: Add missing include.
9376 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
9378         PR libstdc++/69105
9379         PR libstdc++/69106
9380         PR libstdc++/69114
9381         * include/bits/stl_iterator.h (back_insert_iterator,
9382         front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
9383         * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
9384         * include/std/future (__future::base::_State_baseV2::__setter):
9385         Likewise.
9386         * include/std/scoped_allocator (__outermost): Likewise.
9387         * testsuite/20_util/scoped_allocator/69114.cc: New.
9388         * testsuite/20_util/uses_allocator/69114.cc: New.
9389         * testsuite/30_threads/promise/69106.cc: New.
9391 2016-01-06  Jonathan Wakely  <jwakely@redhat.com>
9393         PR libstdc++/69092
9394         * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
9395         Remove _GLIBCXX_NOEXCEPT.
9396         testsuite/21_strings/basic_string/cons/char/69092.cc: New.
9398         * include/Makefile.am: Adjust.
9399         * include/Makefile.in: Regenerate.
9400         * include/bits/mutex.h: Rename to bits/std_mutex.h.
9401         * include/std/condition_variable: Adjust include.
9402         * include/std/mutex: Likewise.
9404 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
9406         Update copyright years.
9408 Copyright (C) 2016 Free Software Foundation, Inc.
9410 Copying and distribution of this file, with or without modification,
9411 are permitted in any medium without royalty provided the copyright
9412 notice and this notice are preserved.