Make std::tuple_size<cv T> SFINAE-friendly (LWG 2770)
[platform/upstream/gcc.git] / libstdc++-v3 / ChangeLog
1 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
2
3         * doc/xml/manual/intro.xml: Document LWG 2770 status. Remove entries
4         for 2742 and 2748.
5         * doc/html/*: Regenerate.
6         * include/std/utility (__tuple_size_cv_impl): New helper to safely
7         detect tuple_size<T>::value, as per LWG 2770.
8         (tuple_size<cv T>): Adjust partial specializations to derive from
9         __tuple_size_cv_impl.
10         * testsuite/20_util/tuple/cv_tuple_size.cc: Test SFINAE-friendliness.
11
12         * testsuite/libstdc++-prettyprinters/cxx17.cc: Adjust test for
13         variant<T&>.
14
15 2016-11-15  Tim Shen  <timshen@google.com>
16
17         * include/std/variant: Remove variant<T&>, variant<void>, variant<>
18         support to rebase on the post-Issaquah design.
19         * testsuite/20_util/variant/compile.cc: Likewise.
20
21 2016-11-15  Matthias Klose  <doko@ubuntu.com>
22
23         * configure: Regenerate.
24
25 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
26
27         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Fix license
28         text.
29         * testsuite/20_util/any/assign/emplace.cc: Likewise.
30         * testsuite/20_util/any/cons/in_place.cc: Likewise.
31         * testsuite/20_util/any/make_any.cc: Likewise.
32         * testsuite/20_util/any/requirements.cc: Likewise.
33         * testsuite/20_util/any/typedefs.cc: Likewise.
34         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
35         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
36         Likewise.
37         * testsuite/20_util/in_place/requirements.cc: Likewise.
38         * testsuite/20_util/optional/77288.cc: Likewise.
39         * testsuite/20_util/optional/assignment/1.cc: Likewise.
40         * testsuite/20_util/optional/assignment/2.cc: Likewise.
41         * testsuite/20_util/optional/assignment/3.cc: Likewise.
42         * testsuite/20_util/optional/assignment/4.cc: Likewise.
43         * testsuite/20_util/optional/assignment/5.cc: Likewise.
44         * testsuite/20_util/optional/assignment/6.cc: Likewise.
45         * testsuite/20_util/optional/assignment/7.cc: Likewise.
46         * testsuite/20_util/optional/cons/77727.cc: Likewise.
47         * testsuite/20_util/optional/cons/move.cc: Likewise.
48         * testsuite/20_util/optional/cons/value.cc: Likewise.
49         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
50         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
51         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
52         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
53         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
54         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
55         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
56         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
57         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
58         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
59         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
60         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
61         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
62         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
63         * testsuite/20_util/optional/hash.cc: Likewise.
64         * testsuite/20_util/optional/make_optional.cc: Likewise.
65         * testsuite/20_util/optional/observers/1.cc: Likewise.
66         * testsuite/20_util/optional/observers/2.cc: Likewise.
67         * testsuite/20_util/optional/observers/3.cc: Likewise.
68         * testsuite/20_util/optional/observers/4.cc: Likewise.
69         * testsuite/20_util/optional/observers/5.cc: Likewise.
70         * testsuite/20_util/optional/observers/6.cc: Likewise.
71         * testsuite/20_util/optional/relops/1.cc: Likewise.
72         * testsuite/20_util/optional/relops/2.cc: Likewise.
73         * testsuite/20_util/optional/relops/3.cc: Likewise.
74         * testsuite/20_util/optional/relops/4.cc: Likewise.
75         * testsuite/20_util/optional/relops/5.cc: Likewise.
76         * testsuite/20_util/optional/relops/6.cc: Likewise.
77         * testsuite/20_util/optional/requirements.cc: Likewise.
78         * testsuite/20_util/optional/swap/1.cc: Likewise.
79         * testsuite/20_util/optional/typedefs.cc: Likewise.
80         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
81         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
82         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
83         Likewise.
84         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
85         * testsuite/20_util/variant/hash.cc: Likewise.
86         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
87         * testsuite/experimental/any/typedefs.cc: Likewise.
88         * testsuite/experimental/array/make_array.cc: Likewise.
89         * testsuite/experimental/array/neg.cc: Likewise.
90         * testsuite/experimental/chrono/value.cc: Likewise.
91         * testsuite/experimental/deque/erasure.cc: Likewise.
92         * testsuite/experimental/forward_list/erasure.cc: Likewise.
93         * testsuite/experimental/list/erasure.cc: Likewise.
94         * testsuite/experimental/map/erasure.cc: Likewise.
95         * testsuite/experimental/memory/observer_ptr/assignment/assign.cc:
96         Likewise.
97         * testsuite/experimental/memory/observer_ptr/cons/cons.cc: Likewise.
98         * testsuite/experimental/memory/observer_ptr/hash/hash.cc: Likewise.
99         * testsuite/experimental/memory/observer_ptr/make_observer.cc:
100         Likewise.
101         * testsuite/experimental/memory/observer_ptr/relops/relops.cc:
102         Likewise.
103         * testsuite/experimental/memory/observer_ptr/requirements.cc: Likewise.
104         * testsuite/experimental/memory/observer_ptr/swap/swap.cc: Likewise.
105         * testsuite/experimental/memory/observer_ptr/typedefs.cc: Likewise.
106         * testsuite/experimental/optional/77288.cc: Likewise.
107         * testsuite/experimental/optional/assignment/1.cc: Likewise.
108         * testsuite/experimental/optional/assignment/2.cc: Likewise.
109         * testsuite/experimental/optional/assignment/3.cc: Likewise.
110         * testsuite/experimental/optional/assignment/4.cc: Likewise.
111         * testsuite/experimental/optional/assignment/5.cc: Likewise.
112         * testsuite/experimental/optional/assignment/6.cc: Likewise.
113         * testsuite/experimental/optional/cons/77727.cc: Likewise.
114         * testsuite/experimental/optional/cons/move.cc: Likewise.
115         * testsuite/experimental/optional/cons/value.cc: Likewise.
116         * testsuite/experimental/optional/cons/value_neg.cc: Likewise.
117         * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
118         * testsuite/experimental/optional/constexpr/make_optional.cc: Likewise.
119         * testsuite/experimental/optional/constexpr/observers/1.cc: Likewise.
120         * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
121         * testsuite/experimental/optional/constexpr/observers/3.cc: Likewise.
122         * testsuite/experimental/optional/constexpr/observers/4.cc: Likewise.
123         * testsuite/experimental/optional/constexpr/observers/5.cc: Likewise.
124         * testsuite/experimental/optional/constexpr/relops/1.cc: Likewise.
125         * testsuite/experimental/optional/constexpr/relops/2.cc: Likewise.
126         * testsuite/experimental/optional/constexpr/relops/3.cc: Likewise.
127         * testsuite/experimental/optional/constexpr/relops/4.cc: Likewise.
128         * testsuite/experimental/optional/constexpr/relops/5.cc: Likewise.
129         * testsuite/experimental/optional/constexpr/relops/6.cc: Likewise.
130         * testsuite/experimental/optional/make_optional.cc: Likewise.
131         * testsuite/experimental/optional/observers/1.cc: Likewise.
132         * testsuite/experimental/optional/observers/2.cc: Likewise.
133         * testsuite/experimental/optional/observers/3.cc: Likewise.
134         * testsuite/experimental/optional/observers/4.cc: Likewise.
135         * testsuite/experimental/optional/observers/5.cc: Likewise.
136         * testsuite/experimental/optional/relops/1.cc: Likewise.
137         * testsuite/experimental/optional/relops/2.cc: Likewise.
138         * testsuite/experimental/optional/relops/3.cc: Likewise.
139         * testsuite/experimental/optional/relops/4.cc: Likewise.
140         * testsuite/experimental/optional/relops/5.cc: Likewise.
141         * testsuite/experimental/optional/relops/6.cc: Likewise.
142         * testsuite/experimental/optional/requirements.cc: Likewise.
143         * testsuite/experimental/optional/swap/1.cc: Likewise.
144         * testsuite/experimental/optional/typedefs.cc: Likewise.
145         * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
146         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
147         Likewise.
148         * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
149         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
150         * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
151         * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
152         * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
153         * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
154         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
155         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
156         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
157         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
158         * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
159         * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
160         * testsuite/experimental/random/randint.cc: Likewise.
161         * testsuite/experimental/ratio/value.cc: Likewise.
162         * testsuite/experimental/set/erasure.cc: Likewise.
163         * testsuite/experimental/string/erasure.cc: Likewise.
164         * testsuite/experimental/string_view/typedefs.cc: Likewise.
165         * testsuite/experimental/system_error/value.cc: Likewise.
166         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
167         * testsuite/experimental/type_traits/value.cc: Likewise.
168         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
169         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
170         * testsuite/experimental/vector/erasure.cc: Likewise.
171
172         * doc/xml/manual/intro.xml: Document LWG 2742 status.
173         * doc/html/*: Regenerate.
174         * include/bits/basic_string.h
175         (basic_string(const T&, size_type, size_type, const Allocator&)): Add
176         constructor for substring of basic_string_view, as per LWG 2742 but
177         with additional constraint to fix ambiguity.
178         * testsuite/21_strings/basic_string/cons/char/9.cc: New test.
179         * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: New test.
180
181         * doc/xml/manual/intro.xml: Document LWG 2748 status.
182         * include/std/optional (optional<T>::swap): Use is_nothrow_swappable_v
183         for exception specification.
184         (swap(optional<T>&, optional<T>&)): Disable when T is not swappable.
185         * testsuite/20_util/optional/swap/2.cc: New test.
186
187 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
188
189         Implement P0513R0, Poisoning the Hash.
190         * include/bits/functional_hash.h (__poison_hash): New.
191         * include/bits/unique_ptr.h
192         (hash<unique_ptr<_Tp, _Dp>>): Derive from __poison_hash.
193         * include/std/optional (hash<optional<_Tp>>): Likewise.
194         * include/std/variant (hash<variant<_Types...>>): Likewise.
195         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
196         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
197         * testsuite/20_util/optional/hash.cc: New.
198         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
199         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Adjust.
200         * testsuite/20_util/unique_ptr/hash/1.cc: Add tests for
201         poisoned fancy pointer hashes.
202         * testsuite/20_util/variant/hash.cc: New.
203
204 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
205
206         Implement P0504R0 (Revisiting in-place tag types for
207         any/optional/variant).
208         * include/std/any (any(_ValueType&& __value)): Constrain
209         the __is_in_place_type with the decayed type.
210         (make_any): Adjust to use the new tag type.
211         * include/std/utility (in_place_tag): Remove.
212         (in_place_t): Turn into a non-reference tag type.
213         (__in_place, __in_place_type, __in_place_index): Remove.
214         (in_place): Turn into an inline variable of non-reference
215         tag type.
216         (in_place<_Tp>): Remove.
217         (in_place_index<_Idx>): Remove.
218         (in_place_type_t): New.
219         (in_place_type): Turn into a variable template of non-reference
220         type.
221         (in_place_index_t): New.
222         (in_place_index): Turn into a variable template of non-reference
223         type.
224         * include/std/variant
225         (_Variant_storage(in_place_index_t<_Np>, _Args&&...)): Adjust to
226         use the new tag type.
227         (_Union(in_place_index_t<0>, _Args&&...)): Likewise.
228         (_Union(in_place_index_t<_Np>, _Args&&...)): Likewise.
229         (_Variant_base()): Likewise.
230         (variant(_Tp&&)): Likewise.
231         (variant(in_place_type_t<_Tp>, _Args&&...)): Likewise.
232         (variant(in_place_type_t<_Tp>, initializer_list<_Up>,
233         _Args&&...)): Likewise.
234         (variant(in_place_index_t<_Np>, _Args&&...)): Likewise.
235         (variant(in_place_index_t<_Np>, initializer_list<_Up>,
236         _Args&&...)): Likewise
237         (variant(allocator_arg_t, const _Alloc&)): Likewise.
238         (variant(allocator_arg_t, const _Alloc&, _Tp&&)): Likewise.
239         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
240         _Args&&...)): Likewise.
241         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
242         initializer_list<_Up>, _Args&&...)): Likewise.
243         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
244         _Args&&...)): Likewise.
245         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
246         initializer_list<_Up>, _Args&&...)): Likewise.
247         (emplace(_Args&&...)): Likewise.
248         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
249         * testsuite/20_util/any/cons/explicit.cc: Likewise.
250         * testsuite/20_util/any/cons/in_place.cc: Likewise.
251         * testsuite/20_util/any/requirements.cc: Add tests to
252         check that any is not constructible from the new in_place_type_t
253         of any value category.
254         * testsuite/20_util/in_place/requirements.cc: Adjust to
255         use the new tag type.
256         * testsuite/20_util/variant/compile.cc: Likewise.
257         * testsuite/20_util/variant/run.cc: Likewise.
258
259 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
260
261         Use constexpr addressof in optional, SFINAE housekeeping
262         for any, optional and tuple.
263         * include/std/any (__do_emplace(_Args&&...)): New.
264         (__do_emplace(initializer_list<_Up>, _Args&&...)): Likewise.
265         (__any_constructible): Likewise.
266         (__any_constructible_t): Use __any_constructible.
267         (operator=(_ValueType&&)): SFINAE in the return type.
268         (emplace(_Args&&...)): Likewise.
269         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
270         * include/std/optional (_Has_addressof_mem): Remove.
271         (_Has_addressof_free): Likewise.
272         (_Has_addressof): Likewise.
273         (__constexpr_addressof(_Tp&)): Likewise.
274         (operator->): Use std::__addressof.
275         * include/std/tuple (operator=(const tuple<_UElements...>&)):
276         SFINAE in return type.
277         (operator=(tuple<_UElements...>&&)): Likewise.
278         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
279
280 2016-11-14  Jonathan Wakely  <jwakely@redhat.com>
281
282         * include/bits/move.h (addressof(const _Tp&&)): Add deleted overload,
283         as per LWG 2598.
284
285         * include/std/future (future::share(), future<R&>::share())
286         (future<void>::share()): Add noexcept, as per LWG 2556.
287
288 2016-11-13  Jonathan Wakely  <jwakely@redhat.com>
289
290         PR libstdc++/78326
291         * include/experimental/memory_resource (memory_resource::_S_max_align):
292         Change access to protected.
293
294         * doc/xml/manual/status_cxx2017.xml: Update status.
295         * doc/html/manual/status.html: Regenerate.
296         * include/bits/shared_ptr.h (shared_ptr(unique_ptr<_Yp, _Del>)): Add
297         extension constructor to maintain C++14 behaviour.
298         * include/bits/shared_ptr_base.h (__sp_array_delete): Add new struct.
299         (__shared_count(_Ptr, false_type), __shared_count(_Ptr, true_type)):
300         New constructors.
301         (__sp_compatible_with, __sp_is_constructible): Add specializations
302         for array support.
303         (__sp_is_constructible_arr, __sp_is_constructible_arrN): New helpers.
304         (__shared_ptr_access): New base class for observer member functions.
305         (__shared_ptr::element_type): Use remove_extent.
306         (__shared_ptr::_UniqCompatible): Add __sp_compatible_with check.
307         (__shared_ptr(_Yp*)): Use tag dispatching to call new __shared_count
308         constructor.
309         (__shared_ptr(unique_ptr<_Yp, _Del>)): Add extension constructor.
310         (__shared_ptr::operator*, __shared_ptr::operator->): Remove and
311         inherit from __shared_ptr_access base class.
312         (__shared_ptr::__has_esft_base): Return false for array types.
313         (__weak_ptr::element_type): Use remove_extent.
314         * include/experimental/bits/shared_ptr.h (__libfund_v1): Remove.
315         (__shared_ptr<__libfund_v1<_Tp>>): Remove specializations.
316         (__wak_ptr<__libfund_v1<_Tp>>): Likewise.
317         (experimental::__sp_compatible_v): Redefine using
318         __sp_compatible_with.
319         (experimental::__sp_is_constructible_v): Redefine using
320         __sp_is_constructible.
321         (get_deleter, operator<<): Change argument from __shared_ptr to
322         shared_ptr.
323         * testsuite/20_util/shared_ptr/cons/array.cc: New test.
324         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Adjust for
325         new behaviour.
326         * testsuite/20_util/shared_ptr/observers/array.cc: Test observers for
327         arrays.
328         * testsuite/20_util/shared_ptr/observers/array_neg.cc: New test.
329
330 2016-11-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
331
332         Implement P0403R1, Literal suffixes for basic_string_view.
333         * include/std/string_view
334         (operator""sv(const char*, size_t)): New.
335         (operator""sv(const wchar_t*, size_t)): Likewise.
336         (operator""sv(const char16_t*, size_t)): Likewise.
337         (operator""sv(const char32_t*, size_t)): Likewise.
338         * testsuite/21_strings/basic_string_view/literals/types.cc: New.
339         * testsuite/21_strings/basic_string_view/literals/values.cc: Likewise.
340         * testsuite/experimental/string_view/literals/values.cc: Add
341         tests for literals with embedded NULs.
342
343 2016-11-12  Jonathan Wakely  <jwakely@redhat.com>
344
345         * src/filesystem/ops.cc (is_empty): Fix typo in exception message.
346
347         * include/std/future (future_error): Fix public typo to private.
348
349 2016-11-11  Jonathan Wakely  <jwakely@redhat.com>
350
351         * include/std/future (future_error): Make existing constructor
352         private and add constructor from future_errc.
353
354         * include/bits/shared_ptr.h (hash<shared_ptr<T>>): Use element_type.
355         * include/bits/shared_ptr_base.h (hash<__shared_ptr<T, L>>): Likewise.
356
357 2016-11-10  François Dumont  <fdumont@gcc.gnu.org>
358
359         * src/c++11/debug.cc (format_word): Delete.
360         (print_literal): New. Replace call to print_word for literals.
361
362 2016-11-09  Tim Shen  <timshen@google.com>
363
364         * include/bits/regex.h (regex_iterator::regex_iterator()):
365         Define end() as _M_pregex == nullptr.
366         * include/bits/regex.tcc (regex_iterator::operator==(),
367         regex_iterator::operator++()): Fix operator==() and operator++() to
368         look at null-ness of _M_pregex on both sides.
369         * testsuite/28_regex/regression.cc: New testcase.
370
371 2016-11-07  Jason Merrill  <jason@redhat.com>
372
373         * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM)
374         (_GLIBCXX_NOEXCEPT_QUAL): New.
375         * include/std/type_traits (is_function): Use them.
376         * libsubc++/new (launder): Likewise.
377         * libsupc++/cxxabi.h (__pbase_type_info::__masks): Add
378         __noexcept_mask.
379         * libsupc++/pbase_type_info.cc (__do_catch): Handle function
380         pointer conversion.
381
382 2016-11-07  François Dumont  <fdumont@gcc.gnu.org>
383
384         * config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of
385         over-aligned types symbols.
386
387 2016-10-28  Jonathan Wakely  <jwakely@redhat.com>
388
389         * include/experimental/bits/fs_path.h (__is_path_src)
390         (_S_range_begin, _S_range_end): Overload to treat string_view as a
391         Source object.
392         (path::operator+=, path::compare): Overload for basic_string_view.
393         * testsuite/experimental/filesystem/path/construct/string_view.cc:
394         New test.
395         * testsuite/experimental/filesystem/path/construct/
396         string_view_cxx17.cc: New test.
397
398         * include/experimental/bits/fs_path.h
399         (path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from
400         iterator's value_type.
401         (path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise.
402         Do not use operation not supported by input iterators.
403         (path::__is_path_iter_src): Add partial specialization for const
404         encoded character types.
405         * testsuite/experimental/filesystem/path/construct/range.cc: Test
406         construction from input iterators with const value types.
407
408         * doc/xml/manual/status_cxx2017.xml: Update status.
409         * doc/html/*: Regenerate.
410         * include/std/type_traits (has_unique_object_representations): Guard
411         with __has_builtin check.
412         * libsupc++/new (launder): Define for C++17.
413         * testsuite/18_support/launder/1.cc: New test.
414         * testsuite/18_support/launder/requirements.cc: New test.
415         * testsuite/18_support/launder/requirements_neg.cc: New test.
416
417 2016-10-27  Uros Bizjak  <ubizjak@gmail.com>
418
419         PR libstdc++/70975
420         * src/filesystem/ops.cc (do_copy_file) [_GLIBCXX_USE_SENDFILE]:
421         Pass non-null pointer to sendfile for offset argument.
422
423 2016-10-27  Jonathan Wakely  <jwakely@redhat.com>
424
425         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
426         default.cc: Fix effective target selector.
427         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
428         parms.cc: Likewise.
429         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
430         equal.cc: Likewise.
431         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
432         generate.cc: Likewise.
433         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
434         inequal.cc: Likewise.
435         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
436         serialize.cc: Likewise.
437
438         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
439         Use end() function to get end iterator.
440         * testsuite/experimental/filesystem/iterators/pop.cc: Remove printf
441         statements that were present for debugging.
442         * testsuite/experimental/filesystem/iterators/
443         recursive_directory_iterator.cc: Use end() function to get end
444         iterator.
445         * testsuite/experimental/filesystem/operations/last_write_time.cc:
446         Only require file timestamps to be accurate to one second.
447
448 2016-10-26  François Dumont  <fdumont@gcc.gnu.org>
449
450         * include/bits/stl_map.h (map()): Make default.
451         * include/bits/stl_multimap.h (multimap()): Likewise.
452         * include/bits/stl_multiset.h (multiset()): Likewise.
453         * include/bits/stl_set.h (set()): Likewise.
454         * include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept.
455         (_Rb_tree()): Make default.
456
457 2016-10-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>
458
459         PR libstdc++/78110
460         * libsupc++/new_opa.cc: Don't include <malloc.h> in a free standing
461         environment.  Declare memalign directly in that case.
462
463 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
464
465         * testsuite/experimental/filesystem/iterators/pop.cc: Remove
466         unreliable dependency on directory order.
467
468 2016-10-26  Edward Smith-Rowland  <3dw4rd@verizon.net>
469
470         Implement uniform_inside_sphere_distribution extension.
471         * include/ext/random: Implement uniform_inside_sphere_distribution.
472         * include/ext/random.tcc: Ditto.
473         * testsuite/ext/random/uniform_inside_sphere_distribution/
474         cons/default.cc: New.
475         * testsuite/ext/random/uniform_inside_sphere_distribution/
476         cons/parms.cc: New.
477         * testsuite/ext/random/uniform_inside_sphere_distribution/
478         operators/equal.cc: New.
479         * testsuite/ext/random/uniform_inside_sphere_distribution/
480         operators/generate.cc: New.
481         * testsuite/ext/random/uniform_inside_sphere_distribution/
482         operators/inequal.cc: New.
483         * testsuite/ext/random/uniform_inside_sphere_distribution/
484         operators/serialize.cc: New.
485
486 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
487
488         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
489         Overload pop (LWG 2706).
490         * src/filesystem/dir.cc (recursive_directory_iterator::pop): Define
491         new overload.
492         * testsuite/experimental/filesystem/iterators/pop.cc: New test.
493
494         * src/filesystem/dir.cc (recursive_directory_iterator::increment):
495         Reset state on error.
496         * testsuite/experimental/filesystem/iterators/
497         recursive_directory_iterator.cc: Check state after increment error.
498
499         PR libstdc++/78111
500         * src/filesystem/ops.cc (canonical): Set error for non-existent path.
501
502 2016-10-26  Uros Bizjak  <ubizjak@gmail.com>
503
504         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
505         for PATH_MAX in realpath test.
506         * configure: Regenerate.
507
508 2016-10-25  Jonathan Wakely  <jwakely@redhat.com>
509
510         * src/filesystem/ops.cc
511         (last_write_time(const path&, file_time_type, error_code&)): Handle
512         negative times correctly.
513         * testsuite/experimental/filesystem/operations/last_write_time.cc:
514         Test writing file times.
515
516         * src/filesystem/ops.cc (do_copy_file): Report an error if source or
517         destination is not a regular file (LWG 2712).
518         (equivalent): Fix error handling and result when only one file exists.
519         * testsuite/experimental/filesystem/operations/copy.cc: Remove files
520         created by tests. Test copying directories.
521         * testsuite/experimental/filesystem/operations/copy_file.cc: Remove
522         files created by tests.
523         * testsuite/experimental/filesystem/operations/equivalent.cc: New.
524         * testsuite/experimental/filesystem/operations/is_empty.cc: New.
525         * testsuite/experimental/filesystem/operations/read_symlink.cc: Remove
526         file created by test.
527         * testsuite/experimental/filesystem/operations/remove_all.cc: New.
528         * testsuite/util/testsuite_fs.h (~scoped_file): Only try to remove
529         file if path is non-empty, to support removal by other means.
530
531 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
532
533         * src/filesystem/ops.cc (is_empty): Fix error handling.
534         * testsuite/experimental/filesystem/operations/is_empty.cc: New test.
535
536         PR libstdc++/71337
537         * src/filesystem/ops.cc (temp_directory_path): Pass error_code
538         argument to other filesystem operations.
539         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
540         Add testcase for inaccessible directory.
541
542         * src/filesystem/dir.cc (open_dir): Return same value for errors
543         whether ignored or not.
544         (_Dir::advance(error_code*, directory_options)): Return false on
545         error.
546         (directory_iterator(const path&, directory_options, error_code*)):
547         Create end iterator on error (LWG 2723).
548         (recursive_directory_iterator(const path&, directory_options,
549         error_code*)): Likewise.
550         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
551         Update expected behaviour on error.
552         * testsuite/experimental/filesystem/iterators/
553         recursive_directory_iterator.cc: Likewise.
554
555         * src/filesystem/ops.cc (close_fd): Remove.
556         (do_copy_file): Just use close(3) instead of close_fd, to prevent
557         retrying on error.
558
559         * src/filesystem/ops.cc (do_copy_file): Return an error if either
560         source or destination is not a regular file.
561         (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683
562         resolutions.
563         (read_symlink): Add missing ec.clear().
564         * testsuite/experimental/filesystem/operations/copy.cc: Update
565         expected behaviour for copying directories with create_symlinks.
566         Verify that error_code arguments are cleared if there's no error.
567         * testsuite/experimental/filesystem/operations/read_symlink.cc: New.
568
569 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
570
571         Cross-port exception-safety and move fixes of std::any to
572         std::experimental::any.
573         * include/experimental/any (operator=(const any&)):
574         Make strongly exception-safe.
575         (operator=(any&&)): clear() unconditionally in the case where
576         rhs has a value.
577         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
578         * testsuite/experimental/any/assign/2.cc: Adjust.
579         * testsuite/experimental/any/assign/exception.cc: New.
580         * testsuite/experimental/any/cons/2.cc: Adjust.
581         * testsuite/experimental/any/misc/any_cast_neg.cc: Ajust.
582
583 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
584
585         Cross-port the latest resolution of LWG2756 and some
586         bug-fixes to experimental::optional.
587         PR libstdc++/77288
588         PR libstdc++/77727
589         * include/experimental/optional (_Optional_base):
590         Remove constructors that take a _Tp.
591         (__is_optional_impl, __is_optional): Remove.
592         (__converts_from_optional): New.
593         (optional(_Up&&)): Fix constraints, call base with in_place.
594         (optional(const optional<_Up>&)): Fix constraints, use emplace.
595         (optional(optional<_Up>&&)): Likewise.
596         (operator=(_Up&&)): Fix constraints.
597         (operator=(const optional<_Up>&)): Likewise.
598         (operator=(optional<_Up>&&)): Likewise.
599         (emplace(_Args&&...)): Constrain.
600         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
601         * testsuite/experimental/optional/77288.cc: New.
602         * testsuite/experimental/optional/assignment/5.cc: Adjust.
603         * testsuite/experimental/optional/cons/77727.cc: New.
604         * testsuite/experimental/optional/cons/value.cc: Adjust.
605
606 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
607
608         * include/bits/stl_vector.h (vector::_M_data_ptr, vector::data):
609         Change return type of non-standard C++98 extension to match C++11.
610
611 2016-10-22  François Dumont  <fdumont@gcc.gnu.org>
612
613         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_ALGO)
614         (_GLIBCXX_END_NAMESPACE_ALGO): Default to respectively
615         _GLIBCXX_BEGIN_NAMESPACE_VERSION and _GLIBCXX_END_NAMESPACE_VERSION.
616         (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER, _GLIBCXX_END_NAMESPACE_CONTAINER):
617         Likewise.
618
619 2016-10-22  Jonathan Wakely  <jwakely@redhat.com>
620
621         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
622         Ignore symlink_nofollow flag if file is not a symlink.
623         * testsuite/experimental/filesystem/operations/permissions.cc: Test
624         symlink_nofollow on non-symlinks.
625
626 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
627
628         * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks):
629         Replace with symlink_nofollow (LWG 2720).
630         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
631         Handle symlink_nofollow.
632         * testsuite/experimental/filesystem/operations/create_symlink.cc: New
633         test.
634         * testsuite/experimental/filesystem/operations/permissions.cc: Test
635         overload taking error_code.
636
637         * include/experimental/bits/fs_ops.h
638         (exists(const path&, error_code&)): Clear error if status is known
639         (LWG 2725).
640         (status(const path&, error_code&)): Handle EOVERFLOW.
641         * testsuite/experimental/filesystem/operations/exists.cc: Test
642         overload taking an error_code.
643
644         * include/experimental/bits/fs_path.h (path::path(string_type&&))
645         (path::operator=(string&&), path::assign(string_type&&)): Define
646         construction and assignment from string_type rvalues (LWG 2707).
647
648 2016-10-21  Eelis van der Weegen  <eelis@eelis.net>
649
650         * include/bits/stl_algo.h (__gen_two_uniform_ints): Move logic out
651         of shuffle into new function.
652         (shuffle): Call __gen_two_uniform_ints.
653         (__sample<ForwardIterator, OutputIterator, Cat, Size, URBG>): Use
654         __gen_two_uniform_ints and perform two samples at a time.
655
656 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
657
658         * include/Makefile.am: Add <bits/refwrap.h> and <bits/std_function.h>.
659         Order alphabetically.
660         * include/Makefile.in: Regenerate.
661         * include/bits/refwrap.h: New header.
662         (_Maybe_get_result_type,_Weak_result_type_impl, _Weak_result_type)
663         (_Reference_wrapper_base_impl, _Reference_wrapper_base)
664         (reference_wrapper, ref, cref): Move here from <functional>.
665         * include/bits/shared_ptr_base.h: Include <bits/refwrap.h> and
666         <bits/stl_function.h> instead of <functional>.
667         * include/bits/std_function.h: New header.
668         (_Maybe_unary_or_binary_function, bad_function_call)
669         (__is_location_invariant, _Nocopy_types, _Any_data)
670         (_Simple_type_wrapper, _Function_base, _Function_handler, function):
671         Move here from <functional>.
672         * include/bits/unique_ptr.h: Include <bits/stl_function.h>.
673         * include/std/functional: Include new headers and move components to
674         them.
675         * include/std/future: Include <bits/std_function.h> instead of
676         <functional>.
677         * include/std/mutex: Likewise.
678         * include/std/regex: Likewise.
679         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
680         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
681         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
682         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
683         lines.
684         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
685         * testsuite/30_threads/packaged_task/49668.cc: Include <functional>.
686
687         * libsupc++/exception_ptr.h (make_exception_ptr): Qualify new.
688         * testsuite/18_support/exception_ptr/make_exception_ptr_2.cc: New
689         test.
690
691 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
692
693         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&))
694         (shared_ptr(auto_ptr&&)): Adjust template parameter lists.
695         * include/bits/shared_ptr.h (__sp_compatible_with)
696         (__sp_is_constructible): New helper traits for shared_ptr.
697         (shared_ptr::_Convertible): Replace with _Constructible.
698         (shared_ptr::_Constructible, shared_ptr::_Assignable): Forward checks
699         to base class.
700         (shared_ptr::shared_ptr, shared_ptr::operator=): Constrain template
701         with _Constructible and _Assignable.
702         (shared_ptr::shared_ptr(shared_ptr<_Tp1>, _Tp*)): Use element_type
703         instead of _Tp.
704         (operator<): Likewise.
705         (operator>): Define in terms of operator<.
706         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
707         element_type instead of _Tp.
708         (reinterpret_pointer_cast): Define for C++17.
709         (weak_ptr::_Convertible): Replace with _Constructible.
710         (weak_ptr::_Constructible, weak_ptr::_Assignable): Forward checks
711         to base class.
712         (weak_ptr::weak_ptr, weak_ptr::operator=): Constrain templates
713         with _Constructible and _Assignable.
714         * include/bits/shared_ptr_base.h (__shared_ptr::_Convertible): Replace
715         with _Compatible.
716         (__shared_ptr::_SafeConv): New constraint for incoming raw pointers.
717         (__shared_ptr::_Compatible): New constraint for converting from
718         other types of shared_ptr and weak_ptr.
719         (__shared_ptr::_Assignable): Define in terms of _Compatible.
720         (__shared_ptr::_UniqCompatible, __shared_ptr::_UniqAssignable): New
721         constraints for converting from unique_ptr.
722         (__shared_ptr::__shared_ptr, __shared_ptr::operator=): Constrain
723         template with _SaveConf, _Compatible and _Assignable. Remove
724         __glibcxx_function_requires concept checks. Add static assertion for
725         deleter expression being well-formed.
726         (__shared_ptr::__shared_ptr(__shared_ptr<_Tp1>, _Tp*))
727         (__shared_ptr::operator*, __shared_ptr::operator->)
728         (__shared_ptr::get, __shared_ptr::_M_ptr): Use element_type instead
729         of _Tp.
730         (operator<): Likewise.
731         (operator>): Define in terms of operator<.
732         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
733         element_type instead of _Tp.
734         (reinterpret_pointer_cast): Define for C++17.
735         (weak_ptr::_Convertible): Replace with _Compatible.
736         (weak_ptr::_Compatible, weak_ptr::_Assignable): New constraints for
737         conversions from other types of weak_ptr and shared_ptr.
738         (__weak_ptr::__weak_ptr, __weak_ptr::operator=): Constrain templates
739         with _Constructible and _Assignable.
740         (__weak_ptr::_M_ptr): Use element_type instead of _Tp.
741         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Adjust
742         dg-error pattern.
743         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Test conversions.
744         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
745         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
746         * testsuite/20_util/shared_ptr/casts/reinterpret.cc: New test.
747
748 2016-10-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
749
750         Do the operator= SFINAE in the return type for optional,
751         not in the template parameters.
752         * include/std/optional (operator=(_Up&&)): Move SFINAE
753         from template parameters to the return type.
754         (operator=(const optional<_Up>&)): Likewise.
755         (operator=(optional<_Up>&&)): Likewise.
756
757 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
758
759         * include/bits/allocator.h: Remove trailing whitespace, tab-indent.
760         * include/ext/new_allocator.h: Likewise.
761
762         PR libstdc++/78052
763         * include/bits/allocator.h (allocator<void>::construct)
764         (allocator<void>::destroy): Define.
765         * testsuite/20_util/allocator/void.cc: New test.
766
767         * testsuite/20_util/enable_shared_from_this/56383.cc: Add tests for
768         additional ambiguous cases.
769
770 2016-10-19  Jonathan Wakely  <jwakely@redhat.com>
771
772         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&)): Call
773         _M_enable_shared_from_this_with instead of
774         __enable_shared_from_this_helper.
775         * include/bits/shared_ptr.h (__enable_shared_from_this_helper):
776         Remove overload for std::enable_shared_from_this..
777         (__enable_shared_from_this_base): Define friend function to select a
778         std::enable_shared_from_this base class.
779         * include/bits/shared_ptr_base.h (__enable_shared_from_this_helper):
780         Remove all overloads.
781         (__shared_ptr): Change all relevant constructors to call
782         _M_enable_shared_from_this_with instead of
783         __enable_shared_from_this_helper.
784         (__shared_ptr::__efst_base_t, __shared_ptr::__has_efst_base): Helpers
785         to detect accessible and unambiguous enable_shared_from_this bases.
786         (__shared_ptr::_M_enable_shared_from_this_with): New function to
787         replace __enable_shared_from_this_helper overloads.
788         (__enable_shared_from_this_helper): Remove overload for
789         std::__enable_shared_from_this.
790         (__enable_shared_from_this_base): Define friend function to select a
791         std::__enable_shared_from_this base class.
792         * include/experimental/bits/shared_ptr.h (experimental::shared_ptr):
793         Change relevant constructors to call _M_enable_shared_from_this_with.
794         (experimental::shared_ptr::__efst_base_t)
795         (experimental::shared_ptr::__has_efst_base): Helpers to detect
796         accessible and unambiguous enable_shared_from_this bases.
797         (experimental::shared_ptr::_M_enable_shared_from_this_with): Define.
798         (experimental::__enable_shared_from_this_helper): Remove overload for
799         std::experimental::enable_shared_from_this.
800         (experimental::__expt_enable_shared_from_this_base): Define friend
801         function to select a std::experimental::enable_shared_from_this base.
802         * testsuite/experimental/memory/shared_ptr/cons/
803         enable_shared_from_this.cc: New test.
804         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
805         Adjust expected behaviour for shared_ptr<A[]>.
806
807         * include/debug/vector (__gnu_debug::vector::emplace_back): Fix return
808         type.
809
810         * include/backward/auto_ptr.h (dauto_ptr): Correct comment about
811         conversions from auto_ptr<Derived> rvalues to auto_ptr<Base>.
812         * testsuite/20_util/auto_ptr/assign_neg.cc: Remove redundant dg-error
813         directives that only match notes, not errors.
814
815         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
816         Add tests for valid and invalid conversions.
817         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
818         Likewise.
819
820         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests
821         to new file.
822         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file.  Fix
823         test for incompatible deleters to not also use incompatible types.
824         Add tests for incompatible array types.
825
826         * include/experimental/bits/shared_ptr.h
827         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_Compatible): Just use
828         is_convertible for non-array specialization.
829         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_UniqCompatible): New
830         constraint for conversions from unique_ptr.
831         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::__shared_ptr): Constrain.
832         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::reset): Likewise.
833         (__sp_compatible_v): New variable template for trait.
834         (__sp_is_constructible): New trait to check shared_ptr constraints.
835         (__sp_is_constructible_v): New variable template for trait.
836         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_SafeConv): New
837         constraint for construction/reset, using __sp_is_constructible_v.
838         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_UniqCompatible): New
839         constraint for conversions from unique_ptr.
840         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::__shared_ptr): Constrain.
841         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::reset): Likewise.
842         (shared_ptr::_SafeConv): Constraint for checking constructors.
843         (shared_ptr(Tp1*), shared_ptr(_Tp1, _Deleter))
844         (shared_ptr(_Tp1, _Deleter, _Alloc)): Constrain with _SafeConv.
845         (shared_ptr(const weak_ptr<_Tp1>&)): Constrain with _Compatible.
846         (shared_ptr(auto_ptr<_Tp1>&&)): Fix, remove TODO.
847         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
848         Remove tests using invalid conversions.
849         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc:
850         New test.
851         * testsuite/experimental/memory/shared_ptr/cons/torture.cc: New test.
852         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Remove
853         tests using invalid conversions.
854         * testsuite/experimental/memory/shared_ptr/modifiers/reset_neg.cc: New
855         test.
856         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
857         Remove tests using invalid conversions.
858
859         PR libstdc++/77990
860         * include/bits/unique_ptr.h (__uniq_ptr_impl): New type to
861         encapsulate implementation details.
862         (unique_ptr::unique_ptr(_Up)): Don't copy deleter object.
863         (unique_ptr::get, unique_ptr::get_deleter, unique_ptr::release):
864         Call member functions of implementation object.
865         (unique_ptr<T[], D>): Likewise.
866         * python/libstdcxx/v6/printers.py (UniquePointerPrinter): Adjust for
867         new implementation.
868         * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Likewise.
869         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
870         lines.
871         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
872         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
873         * testsuite/20_util/unique_ptr/cons/77990.cc: New test.
874
875 2016-10-18  Jonathan Wakely  <jwakely@redhat.com>
876
877         * include/experimental/bits/shared_ptr.h: Fix indentation.
878
879         * include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)):
880         Remove const from parameter.
881         (operator<(const shared_ptr<T>&, nullptr_t)): Use correct
882         specialization of std::less.
883         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
884         Test comparison with nullptr and actually call test functions.
885
886         * include/bits/uses_allocator.h (__is_uses_allocator_constructible_v)
887         (__is_nothrow_uses_allocator_constructible_v): Only define for C++14
888         and later.
889
890 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
891
892         * testsuite/27_io/basic_filebuf/close/12790-1.cc: Remove 'test'
893         variables.
894         * testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
895         * testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Likewise.
896         * testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Likewise.
897         * testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
898         * testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Likewise.
899         * testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
900         * testsuite/27_io/basic_filebuf/close/char/3.cc: Likewise.
901         * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise.
902         * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise.
903         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc: Likewise.
904         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc: Likewise.
905         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
906         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc: Likewise.
907         * testsuite/27_io/basic_filebuf/cons/2020.cc: Likewise.
908         * testsuite/27_io/basic_filebuf/cons/char/1.cc: Likewise.
909         * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
910         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: Likewise.
911         * testsuite/27_io/basic_filebuf/imbue/12206.cc: Likewise.
912         * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
913         * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
914         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
915         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
916         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
917         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
918         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
919         * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
920         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise.
921         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
922         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
923         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
924         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
925         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
926         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
927         * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
928         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
929         * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Likewise.
930         * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise.
931         * testsuite/27_io/basic_filebuf/open/12790-1.cc: Likewise.
932         * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
933         * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
934         * testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise.
935         * testsuite/27_io/basic_filebuf/open/char/4.cc: Likewise.
936         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
937         * testsuite/27_io/basic_filebuf/overflow/char/1.cc: Likewise.
938         * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Likewise.
939         * testsuite/27_io/basic_filebuf/overflow/char/2.cc: Likewise.
940         * testsuite/27_io/basic_filebuf/overflow/char/3599.cc: Likewise.
941         * testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Likewise.
942         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Likewise.
943         * testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Likewise.
944         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
945         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
946         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
947         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
948         * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Likewise.
949         * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise.
950         * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise.
951         * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise.
952         * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise.
953         * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise.
954         * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise.
955         * testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Likewise.
956         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
957         * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Likewise.
958         * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Likewise.
959         * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Likewise.
960         * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise.
961         * testsuite/27_io/basic_filebuf/seekoff/45628-2.cc: Likewise.
962         * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
963         * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise.
964         * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
965         * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Likewise.
966         * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: Likewise.
967         * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Likewise.
968         * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Likewise.
969         * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Likewise.
970         * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Likewise.
971         * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
972         * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
973         * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
974         * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise.
975         * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise.
976         * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
977         * testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Likewise.
978         * testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: Likewise.
979         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
980         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: Likewise.
981         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc: Likewise.
982         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc: Likewise.
983         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc: Likewise.
984         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc: Likewise.
985         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise.
986         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Likewise.
987         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.
988         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
989         Likewise.
990         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
991         * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Likewise.
992         * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Likewise.
993         * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Likewise.
994         * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise.
995         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
996         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise.
997         * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Likewise.
998         * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Likewise.
999         * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc: Likewise.
1000         * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Likewise.
1001         * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise.
1002         * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
1003         * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise.
1004         * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
1005         * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise.
1006         * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
1007         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Likewise.
1008         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc: Likewise.
1009         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc: Likewise.
1010         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc: Likewise.
1011         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc: Likewise.
1012         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
1013         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
1014         Likewise.
1015         * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
1016         * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Likewise.
1017         * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
1018         * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Likewise.
1019         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1020         * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise.
1021         * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise.
1022         * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise.
1023         * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise.
1024         * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise.
1025         * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise.
1026         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise.
1027         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
1028         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise.
1029         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
1030         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
1031         * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise.
1032         * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise.
1033         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise.
1034         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Likewise.
1035         * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise.
1036         * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise.
1037         * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise.
1038         * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise.
1039         * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise.
1040         * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise.
1041         * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Likewise.
1042         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Likewise.
1043         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
1044         * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Likewise.
1045         * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Likewise.
1046         * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
1047         * testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Likewise.
1048         * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise.
1049         * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise.
1050         * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise.
1051         * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise.
1052         * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise.
1053         * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise.
1054         * testsuite/27_io/basic_filebuf/sputc/char/59427.cc: Likewise.
1055         * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Likewise.
1056         * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise.
1057         * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise.
1058         * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise.
1059         * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Likewise.
1060         * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise.
1061         * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise.
1062         * testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.
1063         * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Likewise.
1064         * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Likewise.
1065         * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise.
1066         * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise.
1067         * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise.
1068         * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise.
1069         * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise.
1070         * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise.
1071         * testsuite/27_io/basic_filebuf/sync/char/1057.cc: Likewise.
1072         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Likewise.
1073         * testsuite/27_io/basic_filebuf/underflow/char/1.cc: Likewise.
1074         * testsuite/27_io/basic_filebuf/underflow/char/2.cc: Likewise.
1075         * testsuite/27_io/basic_filebuf/underflow/char/3.cc: Likewise.
1076         * testsuite/27_io/basic_filebuf/underflow/char/45841.cc: Likewise.
1077         * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: Likewise.
1078         * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
1079         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise.
1080         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise.
1081         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise.
1082         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise.
1083         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: Likewise.
1084         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Likewise.
1085         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise.
1086         * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
1087         * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
1088         * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise.
1089         * testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise.
1090         * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise.
1091         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Likewise.
1092         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
1093         * testsuite/27_io/basic_fstream/cons/1.cc: Likewise.
1094         * testsuite/27_io/basic_fstream/rdbuf/char/2832.cc: Likewise.
1095         * testsuite/27_io/basic_ifstream/cons/2020.cc: Likewise.
1096         * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise.
1097         * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise.
1098         * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise.
1099         * testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
1100         * testsuite/27_io/basic_ios/cons/2020.cc: Likewise.
1101         * testsuite/27_io/basic_ios/cons/char/1.cc: Likewise.
1102         * testsuite/27_io/basic_ios/cons/char/2.cc: Likewise.
1103         * testsuite/27_io/basic_ios/cons/char/3.cc: Likewise.
1104         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
1105         * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
1106         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
1107         * testsuite/27_io/basic_ios/imbue/14072.cc: Likewise.
1108         * testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
1109         * testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
1110         * testsuite/27_io/basic_istream/cons/3.cc: Likewise.
1111         * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Likewise.
1112         * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: Likewise.
1113         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1114         Likewise.
1115         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1116         Likewise.
1117         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1118         Likewise.
1119         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1120         Likewise.
1121         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1122         Likewise.
1123         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1124         Likewise.
1125         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1126         Likewise.
1127         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1128         Likewise.
1129         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1130         Likewise.
1131         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1132         Likewise.
1133         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1134         Likewise.
1135         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
1136         Likewise.
1137         * testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc:
1138         Likewise.
1139         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1140         exceptions_badbit_throw.cc: Likewise.
1141         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1142         exceptions_failbit.cc: Likewise.
1143         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1144         exceptions_failbit_throw.cc: Likewise.
1145         * testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc:
1146         Likewise.
1147         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
1148         Likewise.
1149         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc:
1150         Likewise.
1151         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc:
1152         Likewise.
1153         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc:
1154         Likewise.
1155         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
1156         Likewise.
1157         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc:
1158         Likewise.
1159         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
1160         Likewise.
1161         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
1162         Likewise.
1163         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc:
1164         Likewise.
1165         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1166         Likewise.
1167         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
1168         Likewise.
1169         * testsuite/27_io/basic_istream/extractors_arithmetic/
1170         wchar_t/9555-ia.cc: Likewise.
1171         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1172         dr696.cc: Likewise.
1173         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1174         exceptions_badbit_throw.cc: Likewise.
1175         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1176         exceptions_failbit.cc: Likewise.
1177         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1178         exceptions_failbit_throw.cc: Likewise.
1179         * testsuite/27_io/basic_istream/extractors_character/char/1.cc:
1180         Likewise.
1181         * testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc:
1182         Likewise.
1183         * testsuite/27_io/basic_istream/extractors_character/char/2.cc:
1184         Likewise.
1185         * testsuite/27_io/basic_istream/extractors_character/char/3.cc:
1186         Likewise.
1187         * testsuite/27_io/basic_istream/extractors_character/char/4.cc:
1188         Likewise.
1189         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1190         Likewise.
1191         * testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc:
1192         Likewise.
1193         * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
1194         Likewise.
1195         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1196         11095-i.cc: Likewise.
1197         * testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc:
1198         Likewise.
1199         * testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc:
1200         Likewise.
1201         * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
1202         Likewise.
1203         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1204         9555-ic.cc: Likewise.
1205         * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
1206         * testsuite/27_io/basic_istream/extractors_other/char/2.cc: Likewise.
1207         * testsuite/27_io/basic_istream/extractors_other/char/26181.cc:
1208         Likewise.
1209         * testsuite/27_io/basic_istream/extractors_other/char/3.cc: Likewise.
1210         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1211         Likewise.
1212         * testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc:
1213         Likewise.
1214         * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
1215         Likewise.
1216         * testsuite/27_io/basic_istream/extractors_other/char/
1217         error_failbit.cc: Likewise.
1218         * testsuite/27_io/basic_istream/extractors_other/char/
1219         exceptions_badbit_throw.cc: Likewise.
1220         * testsuite/27_io/basic_istream/extractors_other/char/
1221         exceptions_failbit_throw.cc: Likewise.
1222         * testsuite/27_io/basic_istream/extractors_other/char/
1223         exceptions_null.cc: Likewise.
1224         * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc:
1225         Likewise.
1226         * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc: Likewise.
1227         * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: Likewise.
1228         * testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
1229         Likewise.
1230         * testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc: Likewise.
1231         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc:
1232         Likewise.
1233         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc:
1234         Likewise.
1235         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc:
1236         Likewise.
1237         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1238         error_failbit.cc: Likewise.
1239         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1240         exceptions_badbit_throw.cc: Likewise.
1241         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1242         exceptions_failbit_throw.cc: Likewise.
1243         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1244         exceptions_null.cc: Likewise.
1245         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1246         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1247         * testsuite/27_io/basic_istream/get/char/3.cc: Likewise.
1248         * testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
1249         * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
1250         * testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise.
1251         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1252         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1253         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1254         * testsuite/27_io/basic_istream/getline/char/4.cc: Likewise.
1255         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
1256         * testsuite/27_io/basic_istream/getline/char/6.cc: Likewise.
1257         * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
1258         * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Likewise.
1259         * testsuite/27_io/basic_istream/getline/wchar_t/3.cc: Likewise.
1260         * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise.
1261         * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Likewise.
1262         * testsuite/27_io/basic_istream/getline/wchar_t/6.cc: Likewise.
1263         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1264         * testsuite/27_io/basic_istream/ignore/char/2.cc: Likewise.
1265         * testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise.
1266         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1267         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1268         * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
1269         * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
1270         * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
1271         * testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise.
1272         * testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise.
1273         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1274         * testsuite/27_io/basic_istream/peek/char/12296.cc: Likewise.
1275         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1276         * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
1277         * testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
1278         * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
1279         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1280         * testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
1281         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1282         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1283         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1284         * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
1285         * testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
1286         * testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
1287         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc: Likewise.
1288         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Likewise.
1289         * testsuite/27_io/basic_istream/readsome/char/8258.cc: Likewise.
1290         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
1291         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
1292         * testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
1293         * testsuite/27_io/basic_istream/seekg/char/2.cc: Likewise.
1294         * testsuite/27_io/basic_istream/seekg/char/26211.cc: Likewise.
1295         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1296         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1297         * testsuite/27_io/basic_istream/seekg/char/
1298         exceptions_badbit_throw.cc: Likewise.
1299         * testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise.
1300         * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise.
1301         * testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
1302         * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
1303         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
1304         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
1305         * testsuite/27_io/basic_istream/seekg/wchar_t/
1306         exceptions_badbit_throw.cc: Likewise.
1307         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
1308         * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
1309         * testsuite/27_io/basic_istream/sentry/char/1.cc: Likewise.
1310         * testsuite/27_io/basic_istream/sentry/char/2.cc: Likewise.
1311         * testsuite/27_io/basic_istream/sentry/char/3.cc: Likewise.
1312         * testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise.
1313         * testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
1314         * testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
1315         * testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
1316         * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise.
1317         * testsuite/27_io/basic_istream/tellg/char/2.cc: Likewise.
1318         * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
1319         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1320         * testsuite/27_io/basic_istream/tellg/char/
1321         exceptions_badbit_throw.cc: Likewise.
1322         * testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise.
1323         * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise.
1324         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
1325         * testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
1326         * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
1327         * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
1328         * testsuite/27_io/basic_istream/tellg/wchar_t/
1329         exceptions_badbit_throw.cc: Likewise.
1330         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
1331         * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
1332         * testsuite/27_io/basic_istream/ws/char/1.cc: Likewise.
1333         * testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
1334         * testsuite/27_io/basic_istringstream/cons/2020.cc: Likewise.
1335         * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Likewise.
1336         * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: Likewise.
1337         * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
1338         * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
1339         * testsuite/27_io/basic_ofstream/cons/2020.cc: Likewise.
1340         * testsuite/27_io/basic_ofstream/cons/char/1.cc: Likewise.
1341         * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
1342         * testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Likewise.
1343         * testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
1344         * testsuite/27_io/basic_ostream/cons/char/9827.cc: Likewise.
1345         * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: Likewise.
1346         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1347         * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
1348         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
1349         * testsuite/27_io/basic_ostream/ends/char/2.cc: Likewise.
1350         * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
1351         * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
1352         * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise.
1353         * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
1354         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1355         * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
1356         * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
1357         Likewise.
1358         * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
1359         * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
1360         * testsuite/27_io/basic_ostream/flush/wchar_t/
1361         exceptions_badbit_throw.cc: Likewise.
1362         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1363         Likewise.
1364         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1365         Likewise.
1366         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc:
1367         Likewise.
1368         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc:
1369         Likewise.
1370         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc:
1371         Likewise.
1372         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc:
1373         Likewise.
1374         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc:
1375         Likewise.
1376         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
1377         Likewise.
1378         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
1379         Likewise.
1380         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1381         exceptions_badbit_throw.cc: Likewise.
1382         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1383         exceptions_failbit_throw.cc: Likewise.
1384         * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc:
1385         Likewise.
1386         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1387         Likewise.
1388         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
1389         Likewise.
1390         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc:
1391         Likewise.
1392         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc:
1393         Likewise.
1394         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc:
1395         Likewise.
1396         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc:
1397         Likewise.
1398         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc:
1399         Likewise.
1400         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
1401         Likewise.
1402         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1403         9555-oa.cc: Likewise.
1404         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1405         exceptions_badbit_throw.cc: Likewise.
1406         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1407         exceptions_failbit_throw.cc: Likewise.
1408         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc:
1409         Likewise.
1410         * testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc:
1411         Likewise.
1412         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc:
1413         Likewise.
1414         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc: Likewise.
1415         * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
1416         Likewise.
1417         * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
1418         Likewise.
1419         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc: Likewise.
1420         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc: Likewise.
1421         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc: Likewise.
1422         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc: Likewise.
1423         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc: Likewise.
1424         * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
1425         Likewise.
1426         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1427         11095-od.cc: Likewise.
1428         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1429         11095-oe.cc: Likewise.
1430         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1431         11095-of.cc: Likewise.
1432         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc:
1433         Likewise.
1434         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1435         28277-1.cc: Likewise.
1436         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1437         28277-2.cc: Likewise.
1438         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1439         28277-3.cc: Likewise.
1440         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1441         28277-4.cc: Likewise.
1442         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc:
1443         Likewise.
1444         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc:
1445         Likewise.
1446         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc:
1447         Likewise.
1448         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc:
1449         Likewise.
1450         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1451         Likewise.
1452         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1453         Likewise.
1454         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1455         9555-oc.cc: Likewise.
1456         * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
1457         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Likewise.
1458         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Likewise.
1459         * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: Likewise.
1460         * testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc:
1461         Likewise.
1462         * testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc:
1463         Likewise.
1464         * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
1465         Likewise.
1466         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
1467         Likewise.
1468         * testsuite/27_io/basic_ostream/inserters_other/char/
1469         error_failbit.cc: Likewise.
1470         * testsuite/27_io/basic_ostream/inserters_other/char/
1471         exceptions_badbit_throw.cc: Likewise.
1472         * testsuite/27_io/basic_ostream/inserters_other/char/
1473         exceptions_failbit_throw.cc: Likewise.
1474         * testsuite/27_io/basic_ostream/inserters_other/char/
1475         exceptions_null.cc: Likewise.
1476         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: Likewise.
1477         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc: Likewise.
1478         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc: Likewise.
1479         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc: Likewise.
1480         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1481         9318-out.cc: Likewise.
1482         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1483         9424-out.cc: Likewise.
1484         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1485         9555-oo.cc: Likewise.
1486         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1487         error_code.cc: Likewise.
1488         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1489         error_failbit.cc: Likewise.
1490         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1491         exceptions_badbit_throw.cc: Likewise.
1492         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1493         exceptions_failbit_throw.cc: Likewise.
1494         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1495         exceptions_null.cc: Likewise.
1496         * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
1497         * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
1498         * testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Likewise.
1499         * testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc: Likewise.
1500         * testsuite/27_io/basic_ostream/seekp/char/
1501         exceptions_badbit_throw.cc: Likewise.
1502         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc: Likewise.
1503         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc: Likewise.
1504         * testsuite/27_io/basic_ostream/seekp/wchar_t/
1505         exceptions_badbit_throw.cc: Likewise.
1506         * testsuite/27_io/basic_ostream/sentry/char/1.cc: Likewise.
1507         * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
1508         * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
1509         * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
1510         * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
1511         * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
1512         * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
1513         * testsuite/27_io/basic_ostream/tellp/char/
1514         exceptions_badbit_throw.cc: Likewise.
1515         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
1516         * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
1517         * testsuite/27_io/basic_ostream/tellp/wchar_t/
1518         exceptions_badbit_throw.cc: Likewise.
1519         * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
1520         * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
1521         * testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise.
1522         * testsuite/27_io/basic_ostringstream/cons/char/3.cc: Likewise.
1523         * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
1524         * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: Likewise.
1525         * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
1526         * testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise.
1527         * testsuite/27_io/basic_ostringstream/str/char/2.cc: Likewise.
1528         * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
1529         * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
1530         * testsuite/27_io/basic_streambuf/cons/2020.cc: Likewise.
1531         * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
1532         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Likewise.
1533         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
1534         * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise.
1535         * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
1536         * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
1537         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise.
1538         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
1539         * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
1540         * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: Likewise.
1541         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Likewise.
1542         * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
1543         * testsuite/27_io/basic_streambuf/overflow/char/2.cc: Likewise.
1544         * testsuite/27_io/basic_streambuf/overflow/char/3599.cc: Likewise.
1545         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
1546         * testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc: Likewise.
1547         * testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc: Likewise.
1548         * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
1549         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
1550         * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
1551         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
1552         * testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc: Likewise.
1553         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
1554         * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
1555         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
1556         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
1557         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
1558         * testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise.
1559         * testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise.
1560         * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
1561         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Likewise.
1562         * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
1563         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Likewise.
1564         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
1565         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Likewise.
1566         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
1567         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Likewise.
1568         * testsuite/27_io/basic_stringbuf/overflow/char/2.cc: Likewise.
1569         * testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: Likewise.
1570         * testsuite/27_io/basic_stringbuf/overflow/char/3599.cc: Likewise.
1571         * testsuite/27_io/basic_stringbuf/overflow/char/9988.cc: Likewise.
1572         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc: Likewise.
1573         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc: Likewise.
1574         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Likewise.
1575         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc: Likewise.
1576         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc: Likewise.
1577         * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: Likewise.
1578         * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
1579         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
1580         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
1581         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
1582         * testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc: Likewise.
1583         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
1584         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc: Likewise.
1585         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise.
1586         * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: Likewise.
1587         * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: Likewise.
1588         * testsuite/27_io/basic_stringbuf/seekoff/char/2.cc: Likewise.
1589         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
1590         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
1591         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: Likewise.
1592         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc: Likewise.
1593         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
1594         * testsuite/27_io/basic_stringbuf/seekpos/char/2.cc: Likewise.
1595         * testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: Likewise.
1596         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Likewise.
1597         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
1598         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc: Likewise.
1599         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: Likewise.
1600         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc: Likewise.
1601         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Likewise.
1602         * testsuite/27_io/basic_stringbuf/setbuf/char/2.cc: Likewise.
1603         * testsuite/27_io/basic_stringbuf/setbuf/char/3.cc: Likewise.
1604         * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: Likewise.
1605         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Likewise.
1606         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc: Likewise.
1607         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc: Likewise.
1608         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
1609         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise.
1610         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
1611         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
1612         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
1613         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
1614         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
1615         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise.
1616         * testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc: Likewise.
1617         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise.
1618         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc: Likewise.
1619         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Likewise.
1620         * testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc: Likewise.
1621         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Likewise.
1622         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc: Likewise.
1623         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Likewise.
1624         * testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc: Likewise.
1625         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Likewise.
1626         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc: Likewise.
1627         * testsuite/27_io/basic_stringbuf/str/char/1.cc: Likewise.
1628         * testsuite/27_io/basic_stringbuf/str/char/2.cc: Likewise.
1629         * testsuite/27_io/basic_stringbuf/str/char/3.cc: Likewise.
1630         * testsuite/27_io/basic_stringbuf/str/char/3955.cc: Likewise.
1631         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Likewise.
1632         * testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc: Likewise.
1633         * testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc: Likewise.
1634         * testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc: Likewise.
1635         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
1636         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
1637         * testsuite/27_io/basic_stringbuf/sync/char/1057.cc: Likewise.
1638         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
1639         * testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise.
1640         * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Likewise.
1641         * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: Likewise.
1642         * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
1643         * testsuite/27_io/basic_stringstream/str/char/2.cc: Likewise.
1644         * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
1645         * testsuite/27_io/basic_stringstream/str/char/4.cc: Likewise.
1646         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
1647         * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
1648         * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
1649         * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
1650         * testsuite/27_io/fpos/11450.cc: Likewise.
1651         * testsuite/27_io/fpos/14252.cc: Likewise.
1652         * testsuite/27_io/fpos/14320-1.cc: Likewise.
1653         * testsuite/27_io/fpos/14320-2.cc: Likewise.
1654         * testsuite/27_io/fpos/14320-3.cc: Likewise.
1655         * testsuite/27_io/fpos/14320-4.cc: Likewise.
1656         * testsuite/27_io/fpos/14320-5.cc: Likewise.
1657         * testsuite/27_io/fpos/14775.cc: Likewise.
1658         * testsuite/27_io/fpos/mbstate_t/1.cc: Likewise.
1659         * testsuite/27_io/fpos/mbstate_t/12065.cc: Likewise.
1660         * testsuite/27_io/fpos/mbstate_t/2.cc: Likewise.
1661         * testsuite/27_io/fpos/mbstate_t/3.cc: Likewise.
1662         * testsuite/27_io/ios_base/callbacks/1.cc: Likewise.
1663         * testsuite/27_io/ios_base/failure/what-1.cc: Likewise.
1664         * testsuite/27_io/ios_base/failure/what-2.cc: Likewise.
1665         * testsuite/27_io/ios_base/failure/what-3.cc: Likewise.
1666         * testsuite/27_io/ios_base/failure/what-big.cc: Likewise.
1667         * testsuite/27_io/ios_base/state/1.cc: Likewise.
1668         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
1669         * testsuite/27_io/ios_base/storage/11584.cc: Likewise.
1670         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1671         * testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise.
1672         * testsuite/27_io/manipulators/adjustfield/char/1.cc: Likewise.
1673         * testsuite/27_io/manipulators/adjustfield/char/2.cc
1674         * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: Likewise.
1675         * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
1676         * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
1677         * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
1678         * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
1679         * testsuite/27_io/manipulators/extended/get_money/char/51288.cc:
1680         Likewise.
1681         * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
1682         Likewise.
1683         * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
1684         Likewise.
1685         * testsuite/27_io/manipulators/extended/get_time/char/1.cc
1686         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
1687         * testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: Likewise.
1688         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Likewise.
1689         * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
1690         * testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
1691         Likewise.
1692         * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
1693         Likewise.
1694         * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
1695         Likewise.
1696         * testsuite/27_io/manipulators/extended/put_time/char/1.cc: Likewise.
1697         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
1698         * testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: Likewise.
1699         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Likewise.
1700         * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
1701         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
1702         * testsuite/27_io/manipulators/standard/char/dr2344.cc: Likewise.
1703         * testsuite/27_io/manipulators/standard/char/quoted.cc: Likewise.
1704         * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
1705         * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
1706         * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: Likewise.
1707         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Likewise.
1708         * testsuite/27_io/objects/char/1.cc: Likewise.
1709         * testsuite/27_io/objects/char/10.cc: Likewise.
1710         * testsuite/27_io/objects/char/3045.cc: Likewise.
1711         * testsuite/27_io/objects/char/41037.cc: Likewise.
1712         * testsuite/27_io/objects/char/5.cc: Likewise.
1713         * testsuite/27_io/objects/char/6.cc: Likewise.
1714         * testsuite/27_io/objects/char/6548_xin.cc: Likewise.
1715         * testsuite/27_io/objects/char/6648-1_xin.cc: Likewise.
1716         * testsuite/27_io/objects/char/6648-2_xin.cc: Likewise.
1717         * testsuite/27_io/objects/char/7744_xin.cc: Likewise.
1718         * testsuite/27_io/objects/char/8.cc: Likewise.
1719         * testsuite/27_io/objects/char/9.cc: Likewise.
1720         * testsuite/27_io/objects/char/9661-2_xin.cc: Likewise.
1721         * testsuite/27_io/objects/char/dr455.cc: Likewise.
1722         * testsuite/27_io/objects/wchar_t/1.cc: Likewise.
1723         * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
1724         * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
1725         * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
1726         * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
1727         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
1728         * testsuite/27_io/objects/wchar_t/3045.cc: Likewise.
1729         * testsuite/27_io/objects/wchar_t/41037.cc: Likewise.
1730         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
1731         * testsuite/27_io/objects/wchar_t/6548_xin.cc: Likewise.
1732         * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: Likewise.
1733         * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: Likewise.
1734         * testsuite/27_io/objects/wchar_t/7744_xin.cc: Likewise.
1735         * testsuite/27_io/objects/wchar_t/8.cc: Likewise.
1736         * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
1737         * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: Likewise.
1738         * testsuite/27_io/objects/wchar_t/9662.cc: Likewise.
1739         * testsuite/27_io/objects/wchar_t/dr455.cc: Likewise.
1740         * testsuite/27_io/types/3.cc: Likewise.
1741
1742 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1743
1744         PR libstdc++/77994
1745         * include/bits/stl_algo.h (sample): Convert size argument to iterator
1746         difference type.
1747         * include/experimental/algorithm (experimental::sample): Likewise.
1748         * testsuite/25_algorithms/sample/2.cc: New test.
1749
1750 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1751
1752         * testsuite/unordered_map/insert/57619.C: Rename to 57619.cc.
1753         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
1754
1755 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1756
1757         * testsuite/array/capacity/empty.cc: Remove 'test' variables.
1758         * testsuite/array/capacity/max_size.cc: Likewise.
1759         * testsuite/array/capacity/size.cc: Likewise.
1760         * testsuite/array/comparison_operators/equal.cc: Likewise.
1761         * testsuite/array/comparison_operators/greater.cc: Likewise.
1762         * testsuite/array/comparison_operators/greater_or_equal.cc: Likewise.
1763         * testsuite/array/comparison_operators/less.cc: Likewise.
1764         * testsuite/array/comparison_operators/less_or_equal.cc: Likewise.
1765         * testsuite/array/comparison_operators/not_equal.cc: Likewise.
1766         * testsuite/array/element_access/54388.cc: Likewise.
1767         * testsuite/array/element_access/at_out_of_range.cc: Likewise.
1768         * testsuite/array/element_access/back.cc: Likewise.
1769         * testsuite/array/element_access/data.cc: Likewise.
1770         * testsuite/array/element_access/front.cc: Likewise.
1771         * testsuite/array/iterators/end_is_one_past.cc: Likewise.
1772         * testsuite/array/requirements/contiguous.cc: Likewise.
1773         * testsuite/array/requirements/fill.cc: Likewise.
1774         * testsuite/array/requirements/member_swap.cc: Likewise.
1775         * testsuite/array/requirements/zero_sized_arrays.cc: Likewise.
1776         * testsuite/array/specialized_algorithms/swap.cc: Likewise.
1777         * testsuite/array/tuple_interface/tuple_element.cc: Likewise.
1778         * testsuite/array/tuple_interface/tuple_element_cpp14.cc: Likewise.
1779         * testsuite/array/tuple_interface/tuple_size.cc: Likewise.
1780         * testsuite/bitset/all/1.cc: Likewise.
1781         * testsuite/bitset/cons/1.cc: Likewise.
1782         * testsuite/bitset/cons/16020.cc: Likewise.
1783         * testsuite/bitset/cons/2.cc: Likewise.
1784         * testsuite/bitset/cons/3.cc: Likewise.
1785         * testsuite/bitset/cons/50268.cc: Likewise.
1786         * testsuite/bitset/cons/6282.cc: Likewise.
1787         * testsuite/bitset/cons/dr1325-2.cc: Likewise.
1788         * testsuite/bitset/cons/dr396.cc: Likewise.
1789         * testsuite/bitset/ext/15361.cc: Likewise.
1790         * testsuite/bitset/input/1.cc: Likewise.
1791         * testsuite/bitset/operations/1.cc: Likewise.
1792         * testsuite/bitset/operations/13838.cc: Likewise.
1793         * testsuite/bitset/operations/2.cc: Likewise.
1794         * testsuite/bitset/test/1.cc: Likewise.
1795         * testsuite/bitset/to_string/1.cc: Likewise.
1796         * testsuite/bitset/to_string/dr396.cc: Likewise.
1797         * testsuite/bitset/to_ullong/1.cc: Likewise.
1798         * testsuite/bitset/to_ulong/1.cc: Likewise.
1799         * testsuite/deque/allocator/copy.cc: Likewise.
1800         * testsuite/deque/allocator/copy_assign.cc: Likewise.
1801         * testsuite/deque/allocator/ext_ptr.cc: Likewise.
1802         * testsuite/deque/allocator/minimal.cc: Likewise.
1803         * testsuite/deque/allocator/move.cc: Likewise.
1804         * testsuite/deque/allocator/move_assign.cc: Likewise.
1805         * testsuite/deque/allocator/swap.cc: Likewise.
1806         * testsuite/deque/capacity/29134-2.cc: Likewise.
1807         * testsuite/deque/capacity/29134.cc: Likewise.
1808         * testsuite/deque/capacity/moveable.cc: Likewise.
1809         * testsuite/deque/capacity/resize_size.cc: Likewise.
1810         * testsuite/deque/capacity/shrink_to_fit.cc: Likewise.
1811         * testsuite/deque/cons/1.cc: Likewise.
1812         * testsuite/deque/cons/2.cc: Likewise.
1813         * testsuite/deque/cons/assign/1.cc: Likewise.
1814         * testsuite/deque/cons/cons_size.cc: Likewise.
1815         * testsuite/deque/cons/moveable.cc: Likewise.
1816         * testsuite/deque/modifiers/erase/1.cc: Likewise.
1817         * testsuite/deque/modifiers/erase/2.cc: Likewise.
1818         * testsuite/deque/modifiers/erase/3.cc: Likewise.
1819         * testsuite/deque/modifiers/erase/moveable.cc: Likewise.
1820         * testsuite/deque/modifiers/moveable.cc: Likewise.
1821         * testsuite/deque/modifiers/push_back/49836.cc: Likewise.
1822         * testsuite/deque/modifiers/push_front/49836.cc: Likewise.
1823         * testsuite/deque/modifiers/swap/1.cc: Likewise.
1824         * testsuite/deque/modifiers/swap/2.cc: Likewise.
1825         * testsuite/deque/modifiers/swap/3.cc: Likewise.
1826         * testsuite/deque/operators/1.cc: Likewise.
1827         * testsuite/deque/operators/2.cc: Likewise.
1828         * testsuite/forward_list/allocator/copy.cc: Likewise.
1829         * testsuite/forward_list/allocator/copy_assign.cc: Likewise.
1830         * testsuite/forward_list/allocator/ext_ptr.cc: Likewise.
1831         * testsuite/forward_list/allocator/minimal.cc: Likewise.
1832         * testsuite/forward_list/allocator/move.cc: Likewise.
1833         * testsuite/forward_list/allocator/move_assign.cc: Likewise.
1834         * testsuite/forward_list/allocator/swap.cc: Likewise.
1835         * testsuite/forward_list/capacity/1.cc: Likewise.
1836         * testsuite/forward_list/capacity/resize_size.cc: Likewise.
1837         * testsuite/forward_list/comparable.cc: Likewise.
1838         * testsuite/forward_list/cons/1.cc: Likewise.
1839         * testsuite/forward_list/cons/2.cc: Likewise.
1840         * testsuite/forward_list/cons/3.cc: Likewise.
1841         * testsuite/forward_list/cons/4.cc: Likewise.
1842         * testsuite/forward_list/cons/5.cc: Likewise.
1843         * testsuite/forward_list/cons/6.cc: Likewise.
1844         * testsuite/forward_list/cons/7.cc: Likewise.
1845         * testsuite/forward_list/cons/8.cc: Likewise.
1846         * testsuite/forward_list/cons/9.cc: Likewise.
1847         * testsuite/forward_list/cons/cons_size.cc: Likewise.
1848         * testsuite/forward_list/cons/moveable.cc: Likewise.
1849         * testsuite/forward_list/debug/clear.cc: Likewise.
1850         * testsuite/forward_list/debug/construct4_neg.cc: Likewise.
1851         * testsuite/forward_list/debug/erase_after1_neg.cc: Likewise.
1852         * testsuite/forward_list/debug/move_assign_neg.cc: Likewise.
1853         * testsuite/forward_list/debug/move_constructor.cc: Likewise.
1854         * testsuite/forward_list/debug/move_neg.cc: Likewise.
1855         * testsuite/forward_list/debug/splice_after.cc: Likewise.
1856         * testsuite/forward_list/debug/swap.cc: Likewise.
1857         * testsuite/forward_list/modifiers/1.cc: Likewise.
1858         * testsuite/forward_list/modifiers/2.cc: Likewise.
1859         * testsuite/forward_list/modifiers/3.cc: Likewise.
1860         * testsuite/forward_list/modifiers/4.cc: Likewise.
1861         * testsuite/forward_list/modifiers/5.cc: Likewise.
1862         * testsuite/forward_list/modifiers/6.cc: Likewise.
1863         * testsuite/forward_list/operations/1.cc: Likewise.
1864         * testsuite/forward_list/operations/2.cc: Likewise.
1865         * testsuite/forward_list/operations/3.cc: Likewise.
1866         * testsuite/forward_list/operations/4.cc: Likewise.
1867         * testsuite/forward_list/operations/5.cc: Likewise.
1868         * testsuite/forward_list/operations/6.cc: Likewise.
1869         * testsuite/forward_list/operations/7.cc: Likewise.
1870         * testsuite/forward_list/operations/remove_freed.cc: Likewise.
1871         * testsuite/list/61347.cc: Likewise.
1872         * testsuite/list/allocator/copy.cc: Likewise.
1873         * testsuite/list/allocator/copy_assign.cc: Likewise.
1874         * testsuite/list/allocator/minimal.cc: Likewise.
1875         * testsuite/list/allocator/move.cc: Likewise.
1876         * testsuite/list/allocator/move_assign.cc: Likewise.
1877         * testsuite/list/allocator/swap.cc: Likewise.
1878         * testsuite/list/capacity/1.h: Likewise.
1879         * testsuite/list/capacity/29134.cc: Likewise.
1880         * testsuite/list/capacity/resize_size.cc: Likewise.
1881         * testsuite/list/cons/1.h: Likewise.
1882         * testsuite/list/cons/2.h: Likewise.
1883         * testsuite/list/cons/3.h: Likewise.
1884         * testsuite/list/cons/4.h: Likewise.
1885         * testsuite/list/cons/5.h: Likewise.
1886         * testsuite/list/cons/6.h: Likewise.
1887         * testsuite/list/cons/7.h: Likewise.
1888         * testsuite/list/cons/8.h: Likewise.
1889         * testsuite/list/cons/9.h: Likewise.
1890         * testsuite/list/cons/cons_size.cc: Likewise.
1891         * testsuite/list/cons/moveable.h: Likewise.
1892         * testsuite/list/debug/invalidation/1.cc: Likewise.
1893         * testsuite/list/debug/invalidation/2.cc: Likewise.
1894         * testsuite/list/debug/invalidation/3.cc: Likewise.
1895         * testsuite/list/debug/invalidation/4.cc: Likewise.
1896         * testsuite/list/modifiers/1.h: Likewise.
1897         * testsuite/list/modifiers/2.h: Likewise.
1898         * testsuite/list/modifiers/3.h: Likewise.
1899         * testsuite/list/modifiers/insert/25288.h: Likewise.
1900         * testsuite/list/modifiers/swap/1.h: Likewise.
1901         * testsuite/list/modifiers/swap/2.h: Likewise.
1902         * testsuite/list/modifiers/swap/3.h: Likewise.
1903         * testsuite/list/operations/1.h: Likewise.
1904         * testsuite/list/operations/2.h: Likewise.
1905         * testsuite/list/operations/3.h: Likewise.
1906         * testsuite/list/operations/4.h: Likewise.
1907         * testsuite/list/operations/42352.cc: Likewise.
1908         * testsuite/map/allocator/copy.cc: Likewise.
1909         * testsuite/map/allocator/copy_assign.cc: Likewise.
1910         * testsuite/map/allocator/init-list.cc: Likewise.
1911         * testsuite/map/allocator/minimal.cc: Likewise.
1912         * testsuite/map/allocator/move.cc: Likewise.
1913         * testsuite/map/allocator/move_assign.cc: Likewise.
1914         * testsuite/map/allocator/swap.cc: Likewise.
1915         * testsuite/map/capacity/29134.cc: Likewise.
1916         * testsuite/map/cons/moveable.cc: Likewise.
1917         * testsuite/map/debug/construct5_neg.cc: Likewise.
1918         * testsuite/map/debug/move_assign_neg.cc: Likewise.
1919         * testsuite/map/debug/move_neg.cc: Likewise.
1920         * testsuite/map/element_access/1.cc: Likewise.
1921         * testsuite/map/element_access/2.cc: Likewise.
1922         * testsuite/map/element_access/39901.cc: Likewise.
1923         * testsuite/map/init-list.cc: Likewise.
1924         * testsuite/map/modifiers/dr130.cc: Likewise.
1925         * testsuite/map/modifiers/emplace/1.cc: Likewise.
1926         * testsuite/map/modifiers/extract.cc: Likewise.
1927         * testsuite/map/modifiers/insert/1.cc: Likewise.
1928         * testsuite/map/modifiers/insert/16813.cc: Likewise.
1929         * testsuite/map/modifiers/insert/2.cc: Likewise.
1930         * testsuite/map/modifiers/insert/3.cc: Likewise.
1931         * testsuite/map/modifiers/insert/4.cc: Likewise.
1932         * testsuite/map/modifiers/insert/5.cc: Likewise.
1933         * testsuite/map/modifiers/insert_or_assign/1.cc: Likewise.
1934         * testsuite/map/modifiers/merge.cc: Likewise.
1935         * testsuite/map/modifiers/swap/1.cc: Likewise.
1936         * testsuite/map/modifiers/swap/2.cc: Likewise.
1937         * testsuite/map/modifiers/swap/3.cc: Likewise.
1938         * testsuite/map/modifiers/try_emplace/1.cc: Likewise.
1939         * testsuite/map/operations/1.cc: Likewise.
1940         * testsuite/map/operations/count.cc: Likewise.
1941         * testsuite/map/operators/1_neg.cc: Likewise.
1942         * testsuite/map/operators/2.cc: Likewise.
1943         * testsuite/multimap/allocator/copy.cc: Likewise.
1944         * testsuite/multimap/allocator/copy_assign.cc: Likewise.
1945         * testsuite/multimap/allocator/init-list.cc: Likewise.
1946         * testsuite/multimap/allocator/minimal.cc: Likewise.
1947         * testsuite/multimap/allocator/move.cc: Likewise.
1948         * testsuite/multimap/allocator/move_assign.cc: Likewise.
1949         * testsuite/multimap/allocator/swap.cc: Likewise.
1950         * testsuite/multimap/capacity/29134.cc: Likewise.
1951         * testsuite/multimap/cons/moveable.cc: Likewise.
1952         * testsuite/multimap/debug/construct5_neg.cc: Likewise.
1953         * testsuite/multimap/debug/move_assign_neg.cc: Likewise.
1954         * testsuite/multimap/debug/move_neg.cc: Likewise.
1955         * testsuite/multimap/init-list.cc: Likewise.
1956         * testsuite/multimap/modifiers/dr130.cc: Likewise.
1957         * testsuite/multimap/modifiers/emplace/1.cc: Likewise.
1958         * testsuite/multimap/modifiers/extract.cc: Likewise.
1959         * testsuite/multimap/modifiers/insert/1.cc: Likewise.
1960         * testsuite/multimap/modifiers/insert/2.cc: Likewise.
1961         * testsuite/multimap/modifiers/insert/22102.cc: Likewise.
1962         * testsuite/multimap/modifiers/insert/3.cc: Likewise.
1963         * testsuite/multimap/modifiers/insert/4.cc: Likewise.
1964         * testsuite/multimap/modifiers/merge.cc: Likewise.
1965         * testsuite/multimap/modifiers/swap/1.cc: Likewise.
1966         * testsuite/multimap/modifiers/swap/2.cc: Likewise.
1967         * testsuite/multimap/modifiers/swap/3.cc: Likewise.
1968         * testsuite/multimap/operations/1.cc: Likewise.
1969         * testsuite/multimap/operations/count.cc: Likewise.
1970         * testsuite/multiset/allocator/copy.cc: Likewise.
1971         * testsuite/multiset/allocator/copy_assign.cc: Likewise.
1972         * testsuite/multiset/allocator/init-list.cc: Likewise.
1973         * testsuite/multiset/allocator/minimal.cc: Likewise.
1974         * testsuite/multiset/allocator/move.cc: Likewise.
1975         * testsuite/multiset/allocator/move_assign.cc: Likewise.
1976         * testsuite/multiset/allocator/swap.cc: Likewise.
1977         * testsuite/multiset/capacity/29134.cc: Likewise.
1978         * testsuite/multiset/cons/moveable.cc: Likewise.
1979         * testsuite/multiset/debug/construct5_neg.cc: Likewise.
1980         * testsuite/multiset/debug/invalidation/2.cc: Likewise.
1981         * testsuite/multiset/debug/move_assign_neg.cc: Likewise.
1982         * testsuite/multiset/debug/move_neg.cc: Likewise.
1983         * testsuite/multiset/init-list.cc: Likewise.
1984         * testsuite/multiset/modifiers/dr130.cc: Likewise.
1985         * testsuite/multiset/modifiers/emplace/1.cc: Likewise.
1986         * testsuite/multiset/modifiers/extract.cc: Likewise.
1987         * testsuite/multiset/modifiers/insert/1.cc: Likewise.
1988         * testsuite/multiset/modifiers/insert/2.cc: Likewise.
1989         * testsuite/multiset/modifiers/insert/22102.cc: Likewise.
1990         * testsuite/multiset/modifiers/insert/3.cc: Likewise.
1991         * testsuite/multiset/modifiers/insert/4.cc: Likewise.
1992         * testsuite/multiset/modifiers/merge.cc: Likewise.
1993         * testsuite/multiset/modifiers/swap/1.cc: Likewise.
1994         * testsuite/multiset/modifiers/swap/2.cc: Likewise.
1995         * testsuite/multiset/modifiers/swap/3.cc: Likewise.
1996         * testsuite/multiset/operations/1.cc: Likewise.
1997         * testsuite/multiset/operations/count.cc: Likewise.
1998         * testsuite/priority_queue/moveable.cc: Likewise.
1999         * testsuite/queue/moveable.cc: Likewise.
2000         * testsuite/set/allocator/copy.cc: Likewise.
2001         * testsuite/set/allocator/copy_assign.cc: Likewise.
2002         * testsuite/set/allocator/init-list.cc: Likewise.
2003         * testsuite/set/allocator/minimal.cc: Likewise.
2004         * testsuite/set/allocator/move.cc: Likewise.
2005         * testsuite/set/allocator/move_assign.cc: Likewise.
2006         * testsuite/set/allocator/swap.cc: Likewise.
2007         * testsuite/set/capacity/29134.cc: Likewise.
2008         * testsuite/set/cons/moveable.cc: Likewise.
2009         * testsuite/set/debug/construct5_neg.cc: Likewise.
2010         * testsuite/set/debug/invalidation/2.cc: Likewise.
2011         * testsuite/set/debug/move_assign_neg.cc: Likewise.
2012         * testsuite/set/debug/move_neg.cc: Likewise.
2013         * testsuite/set/init-list.cc: Likewise.
2014         * testsuite/set/modifiers/17948.cc: Likewise.
2015         * testsuite/set/modifiers/dr130.cc: Likewise.
2016         * testsuite/set/modifiers/emplace/1.cc: Likewise.
2017         * testsuite/set/modifiers/extract.cc: Likewise.
2018         * testsuite/set/modifiers/insert/1.cc: Likewise.
2019         * testsuite/set/modifiers/insert/2.cc: Likewise.
2020         * testsuite/set/modifiers/insert/3.cc: Likewise.
2021         * testsuite/set/modifiers/merge.cc: Likewise.
2022         * testsuite/set/modifiers/swap/1.cc: Likewise.
2023         * testsuite/set/modifiers/swap/2.cc: Likewise.
2024         * testsuite/set/modifiers/swap/3.cc: Likewise.
2025         * testsuite/set/operations/1.cc: Likewise.
2026         * testsuite/set/operations/count.cc: Likewise.
2027         * testsuite/set/operators/1_neg.cc: Likewise.
2028         * testsuite/unordered_map/allocator/copy.cc: Likewise.
2029         * testsuite/unordered_map/allocator/copy_assign.cc: Likewise.
2030         * testsuite/unordered_map/allocator/minimal.cc: Likewise.
2031         * testsuite/unordered_map/allocator/move.cc: Likewise.
2032         * testsuite/unordered_map/allocator/move_assign.cc: Likewise.
2033         * testsuite/unordered_map/allocator/swap.cc: Likewise.
2034         * testsuite/unordered_map/cons/moveable.cc: Likewise.
2035         * testsuite/unordered_map/debug/construct5_neg.cc: Likewise.
2036         * testsuite/unordered_map/debug/move_assign_neg.cc: Likewise.
2037         * testsuite/unordered_map/debug/move_neg.cc: Likewise.
2038         * testsuite/unordered_map/dr761.cc: Likewise.
2039         * testsuite/unordered_map/erase/1.cc: Likewise.
2040         * testsuite/unordered_map/erase/24061-map.cc: Likewise.
2041         * testsuite/unordered_map/erase/54276.cc: Likewise.
2042         * testsuite/unordered_map/hash_policy/dr1189.cc: Likewise.
2043         * testsuite/unordered_map/init-list.cc: Likewise.
2044         * testsuite/unordered_map/insert/24061-map.cc: Likewise.
2045         * testsuite/unordered_map/insert/57619.C: Likewise.
2046         * testsuite/unordered_map/insert/array_syntax.cc: Likewise.
2047         * testsuite/unordered_map/insert/array_syntax_move.cc: Likewise.
2048         * testsuite/unordered_map/insert/map_range.cc: Likewise.
2049         * testsuite/unordered_map/insert/map_single.cc: Likewise.
2050         * testsuite/unordered_map/insert/map_single_move-1.cc: Likewise.
2051         * testsuite/unordered_map/insert/map_single_move-2.cc: Likewise.
2052         * testsuite/unordered_map/modifiers/61667.cc: Likewise.
2053         * testsuite/unordered_map/modifiers/emplace.cc: Likewise.
2054         * testsuite/unordered_map/modifiers/extract.cc: Likewise.
2055         * testsuite/unordered_map/modifiers/insert_or_assign.cc: Likewise.
2056         * testsuite/unordered_map/modifiers/merge.cc: Likewise.
2057         * testsuite/unordered_map/modifiers/reserve.cc: Likewise.
2058         * testsuite/unordered_map/modifiers/try_emplace.cc: Likewise.
2059         * testsuite/unordered_map/operations/count.cc: Likewise.
2060         * testsuite/unordered_map/operators/1.cc: Likewise.
2061         * testsuite/unordered_map/operators/2.cc: Likewise.
2062         * testsuite/unordered_multimap/allocator/copy.cc: Likewise.
2063         * testsuite/unordered_multimap/allocator/copy_assign.cc: Likewise.
2064         * testsuite/unordered_multimap/allocator/minimal.cc: Likewise.
2065         * testsuite/unordered_multimap/allocator/move.cc: Likewise.
2066         * testsuite/unordered_multimap/allocator/move_assign.cc: Likewise.
2067         * testsuite/unordered_multimap/allocator/swap.cc: Likewise.
2068         * testsuite/unordered_multimap/cons/moveable.cc: Likewise.
2069         * testsuite/unordered_multimap/debug/construct5_neg.cc: Likewise.
2070         * testsuite/unordered_multimap/debug/move_assign_neg.cc: Likewise.
2071         * testsuite/unordered_multimap/debug/move_neg.cc: Likewise.
2072         * testsuite/unordered_multimap/erase/1.cc: Likewise.
2073         * testsuite/unordered_multimap/erase/2.cc: Likewise.
2074         * testsuite/unordered_multimap/erase/24061-multimap.cc: Likewise.
2075         * testsuite/unordered_multimap/erase/51845-multimap.cc: Likewise.
2076         * testsuite/unordered_multimap/erase/54276.cc: Likewise.
2077         * testsuite/unordered_multimap/hash_policy/dr1189.cc: Likewise.
2078         * testsuite/unordered_multimap/init-list.cc: Likewise.
2079         * testsuite/unordered_multimap/insert/24061-multimap.cc: Likewise.
2080         * testsuite/unordered_multimap/insert/51866.cc: Likewise.
2081         * testsuite/unordered_multimap/insert/52476.cc: Likewise.
2082         * testsuite/unordered_multimap/insert/53115.cc: Likewise.
2083         * testsuite/unordered_multimap/insert/57619.C: Likewise.
2084         * testsuite/unordered_multimap/insert/hint.cc: Likewise.
2085         * testsuite/unordered_multimap/insert/multimap_range.cc: Likewise.
2086         * testsuite/unordered_multimap/insert/multimap_single.cc: Likewise.
2087         * testsuite/unordered_multimap/insert/multimap_single_move-1.cc:
2088         Likewise.
2089         * testsuite/unordered_multimap/insert/multimap_single_move-2.cc:
2090         Likewise.
2091         * testsuite/unordered_multimap/modifiers/emplace.cc: Likewise.
2092         * testsuite/unordered_multimap/modifiers/extract.cc: Likewise.
2093         * testsuite/unordered_multimap/modifiers/merge.cc: Likewise.
2094         * testsuite/unordered_multimap/modifiers/reserve.cc: Likewise.
2095         * testsuite/unordered_multimap/operations/count.cc: Likewise.
2096         * testsuite/unordered_multimap/operators/1.cc: Likewise.
2097         * testsuite/unordered_multimap/operators/2.cc: Likewise.
2098         * testsuite/unordered_multiset/allocator/copy.cc: Likewise.
2099         * testsuite/unordered_multiset/allocator/copy_assign.cc: Likewise.
2100         * testsuite/unordered_multiset/allocator/minimal.cc: Likewise.
2101         * testsuite/unordered_multiset/allocator/move.cc: Likewise.
2102         * testsuite/unordered_multiset/allocator/move_assign.cc: Likewise.
2103         * testsuite/unordered_multiset/allocator/swap.cc: Likewise.
2104         * testsuite/unordered_multiset/cons/copy.cc: Likewise.
2105         * testsuite/unordered_multiset/cons/moveable.cc: Likewise.
2106         * testsuite/unordered_multiset/debug/construct5_neg.cc: Likewise.
2107         * testsuite/unordered_multiset/debug/move_assign_neg.cc: Likewise.
2108         * testsuite/unordered_multiset/debug/move_neg.cc: Likewise.
2109         * testsuite/unordered_multiset/erase/1.cc: Likewise.
2110         * testsuite/unordered_multiset/erase/2.cc: Likewise.
2111         * testsuite/unordered_multiset/erase/24061-multiset.cc: Likewise.
2112         * testsuite/unordered_multiset/hash_policy/dr1189.cc: Likewise.
2113         * testsuite/unordered_multiset/init-list.cc: Likewise.
2114         * testsuite/unordered_multiset/insert/24061-multiset.cc: Likewise.
2115         * testsuite/unordered_multiset/insert/51866.cc: Likewise.
2116         * testsuite/unordered_multiset/insert/52476.cc: Likewise.
2117         * testsuite/unordered_multiset/insert/53115.cc: Likewise.
2118         * testsuite/unordered_multiset/insert/hash_policy.cc: Likewise.
2119         * testsuite/unordered_multiset/insert/multiset_range.cc: Likewise.
2120         * testsuite/unordered_multiset/insert/multiset_single.cc: Likewise.
2121         * testsuite/unordered_multiset/insert/multiset_single_move.cc: Likewise.
2122         * testsuite/unordered_multiset/modifiers/emplace.cc: Likewise.
2123         * testsuite/unordered_multiset/modifiers/extract.cc: Likewise.
2124         * testsuite/unordered_multiset/modifiers/merge.cc: Likewise.
2125         * testsuite/unordered_multiset/modifiers/reserve.cc: Likewise.
2126         * testsuite/unordered_multiset/operations/count.cc: Likewise.
2127         * testsuite/unordered_multiset/operators/1.cc: Likewise.
2128         * testsuite/unordered_set/allocator/copy.cc: Likewise.
2129         * testsuite/unordered_set/allocator/copy_assign.cc: Likewise.
2130         * testsuite/unordered_set/allocator/ext_ptr.cc: Likewise.
2131         * testsuite/unordered_set/allocator/minimal.cc: Likewise.
2132         * testsuite/unordered_set/allocator/move.cc: Likewise.
2133         * testsuite/unordered_set/allocator/move_assign.cc: Likewise.
2134         * testsuite/unordered_set/allocator/swap.cc: Likewise.
2135         * testsuite/unordered_set/buckets/swap.cc: Likewise.
2136         * testsuite/unordered_set/cons/moveable.cc: Likewise.
2137         * testsuite/unordered_set/debug/construct5_neg.cc: Likewise.
2138         * testsuite/unordered_set/debug/debug_functions.cc: Likewise.
2139         * testsuite/unordered_set/debug/move_assign_neg.cc: Likewise.
2140         * testsuite/unordered_set/debug/move_neg.cc: Likewise.
2141         * testsuite/unordered_set/erase/1.cc: Likewise.
2142         * testsuite/unordered_set/erase/24061-set.cc: Likewise.
2143         * testsuite/unordered_set/hash_policy/26132.cc: Likewise.
2144         * testsuite/unordered_set/hash_policy/71181.cc: Likewise.
2145         * testsuite/unordered_set/hash_policy/dr1189.cc: Likewise.
2146         * testsuite/unordered_set/hash_policy/load_factor.cc: Likewise.
2147         * testsuite/unordered_set/hash_policy/power2_rehash.cc: Likewise.
2148         * testsuite/unordered_set/hash_policy/prime_rehash.cc: Likewise.
2149         * testsuite/unordered_set/hash_policy/rehash.cc: Likewise.
2150         * testsuite/unordered_set/init-list.cc: Likewise.
2151         * testsuite/unordered_set/insert/24061-set.cc: Likewise.
2152         * testsuite/unordered_set/insert/hash_policy.cc: Likewise.
2153         * testsuite/unordered_set/insert/move_range.cc: Likewise.
2154         * testsuite/unordered_set/insert/set_range.cc: Likewise.
2155         * testsuite/unordered_set/insert/set_single.cc: Likewise.
2156         * testsuite/unordered_set/insert/set_single_move.cc: Likewise.
2157         * testsuite/unordered_set/max_load_factor/robustness.cc: Likewise.
2158         * testsuite/unordered_set/modifiers/emplace.cc: Likewise.
2159         * testsuite/unordered_set/modifiers/extract.cc: Likewise.
2160         * testsuite/unordered_set/modifiers/merge.cc: Likewise.
2161         * testsuite/unordered_set/modifiers/reserve.cc: Likewise.
2162         * testsuite/unordered_set/modifiers/swap.cc: Likewise.
2163         * testsuite/unordered_set/operations/count.cc: Likewise.
2164         * testsuite/unordered_set/operators/1.cc: Likewise.
2165         * testsuite/vector/allocator/copy.cc: Likewise.
2166         * testsuite/vector/allocator/copy_assign.cc: Likewise.
2167         * testsuite/vector/allocator/ext_ptr.cc: Likewise.
2168         * testsuite/vector/allocator/minimal.cc: Likewise.
2169         * testsuite/vector/allocator/move.cc: Likewise.
2170         * testsuite/vector/allocator/move_assign.cc: Likewise.
2171         * testsuite/vector/allocator/swap.cc: Likewise.
2172         * testsuite/vector/bool/6886.cc: Likewise.
2173         * testsuite/vector/bool/72847.cc: Likewise.
2174         * testsuite/vector/bool/allocator/copy.cc: Likewise.
2175         * testsuite/vector/bool/allocator/copy_assign.cc: Likewise.
2176         * testsuite/vector/bool/allocator/ext_ptr.cc: Likewise.
2177         * testsuite/vector/bool/allocator/move.cc: Likewise.
2178         * testsuite/vector/bool/allocator/move_assign.cc: Likewise.
2179         * testsuite/vector/bool/allocator/swap.cc: Likewise.
2180         * testsuite/vector/bool/capacity/1.cc: Likewise.
2181         * testsuite/vector/bool/capacity/29134.cc: Likewise.
2182         * testsuite/vector/bool/capacity/shrink_to_fit.cc: Likewise.
2183         * testsuite/vector/bool/cons/1.cc: Likewise.
2184         * testsuite/vector/bool/cons/2.cc: Likewise.
2185         * testsuite/vector/bool/modifiers/erase/1.cc: Likewise.
2186         * testsuite/vector/bool/modifiers/insert/1.cc: Likewise.
2187         * testsuite/vector/bool/modifiers/insert/31370.cc: Likewise.
2188         * testsuite/vector/bool/modifiers/swap/1.cc: Likewise.
2189         * testsuite/vector/bool/modifiers/swap/2.cc: Likewise.
2190         * testsuite/vector/bool/swap.cc: Likewise.
2191         * testsuite/vector/capacity/1.cc: Likewise.
2192         * testsuite/vector/capacity/2.cc: Likewise.
2193         * testsuite/vector/capacity/29134-2.cc: Likewise.
2194         * testsuite/vector/capacity/29134.cc: Likewise.
2195         * testsuite/vector/capacity/44190.cc: Likewise.
2196         * testsuite/vector/capacity/8230.cc: Likewise.
2197         * testsuite/vector/capacity/reserve/moveable.cc: Likewise.
2198         * testsuite/vector/capacity/reserve/moveable2.cc: Likewise.
2199         * testsuite/vector/capacity/resize/1.cc: Likewise.
2200         * testsuite/vector/capacity/resize/moveable.cc: Likewise.
2201         * testsuite/vector/capacity/resize/moveable2.cc: Likewise.
2202         * testsuite/vector/capacity/resize/resize_size.cc: Likewise.
2203         * testsuite/vector/capacity/shrink_to_fit.cc: Likewise.
2204         * testsuite/vector/capacity/shrink_to_fit2.cc: Likewise.
2205         * testsuite/vector/cons/3.cc: Likewise.
2206         * testsuite/vector/cons/4.cc: Likewise.
2207         * testsuite/vector/cons/cons_size.cc: Likewise.
2208         * testsuite/vector/cons/moveable.cc: Likewise.
2209         * testsuite/vector/data_access/1.cc: Likewise.
2210         * testsuite/vector/debug/debug_functions.cc: Likewise.
2211         * testsuite/vector/debug/move_assign_neg.cc: Likewise.
2212         * testsuite/vector/debug/move_neg.cc: Likewise.
2213         * testsuite/vector/debug/multithreaded_swap.cc: Likewise.
2214         * testsuite/vector/element_access/1.cc: Likewise.
2215         * testsuite/vector/ext_pointer/citerators.cc: Likewise.
2216         * testsuite/vector/ext_pointer/data_access.cc: Likewise.
2217         * testsuite/vector/ext_pointer/modifiers/element.cc: Likewise.
2218         * testsuite/vector/ext_pointer/modifiers/erase.cc: Likewise.
2219         * testsuite/vector/ext_pointer/modifiers/insert.cc: Likewise.
2220         * testsuite/vector/ext_pointer/resize.cc: Likewise.
2221         * testsuite/vector/modifiers/1.cc: Likewise.
2222         * testsuite/vector/modifiers/2.cc: Likewise.
2223         * testsuite/vector/modifiers/emplace/self_emplace.cc: Likewise.
2224         * testsuite/vector/modifiers/erase/1.cc: Likewise.
2225         * testsuite/vector/modifiers/erase/moveable.cc: Likewise.
2226         * testsuite/vector/modifiers/insert/1.cc: Likewise.
2227         * testsuite/vector/modifiers/insert/self_insert.cc: Likewise.
2228         * testsuite/vector/modifiers/moveable.cc: Likewise.
2229         * testsuite/vector/modifiers/moveable2.cc: Likewise.
2230         * testsuite/vector/modifiers/push_back/49836.cc: Likewise.
2231         * testsuite/vector/modifiers/swap/1.cc: Likewise.
2232         * testsuite/vector/modifiers/swap/2.cc: Likewise.
2233         * testsuite/vector/modifiers/swap/3.cc: Likewise.
2234         * testsuite/vector/zero_sized_allocations.cc: Likewise.
2235
2236 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
2237
2238         PR libstdc++/77998
2239         * include/std/future (__future_base::_Deferred_state)
2240         (__future_base::_Async_state_impl): Use decltype to deduce return
2241         type, instead of _Invoker::result_type.
2242         * include/std/thread (thread::_Invoker::operator()): Likewise.
2243         (thread::_Invoker::result_type): Remove.
2244
2245         PR libstdc++/77987
2246         * include/bits/unique_ptr.h (unique_ptr<T[], D>::reset<U>(U)): Copy
2247         value to pointer of the correct type to swap, to support conversions
2248         allowed by LWG 2118 / N4089.
2249         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for
2250         incompatible deleters from ...
2251         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here.
2252         * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for
2253         incompatible pointers to ...
2254         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move
2255         destructor definition to base class. Test for invalid derived-to-base
2256         conversion.
2257
2258         * doc/xml/manual/status_cxx2017.xml: Update status.
2259         * doc/html/*: Regenerate.
2260         * include/bits/deque.tcc (deque::emplace_front, deque::emplace_back):
2261         Return a reference in C++17 mode.
2262         * include/bits/forward_list.h (forward_list::emplace_front): Likewise.
2263         * include/bits/stl_bvector.h (vector<bool>::emplace_back): Likewise.
2264         * include/bits/stl_deque.h (deque::emplace_front, deque::emplace_back):
2265         Likewise.
2266         * include/bits/stl_list.h (list::emplace_front, list::emplace_back):
2267         Likewise.
2268         * include/bits/stl_queue.h (queue::emplace): Likewise.
2269         * include/bits/stl_stack.h (stack::emplace): Likewise.
2270         * include/bits/stl_vector.h (vector::emplace_back): Likewise.
2271         * include/bits/vector.tcc (vector::emplace_back): Likewise.
2272         * include/debug/deque (__gnu_debug::deque::emplace_front)
2273         (__gnu_debug::deque::emplace_back): Likewise.
2274         * include/debug/vector (__gnu_debug::vector::emplace_back): Likewise.
2275         * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
2276         New.
2277         * testsuite/23_containers/forward_list/modifiers/
2278         emplace_cxx17_return.cc: New.
2279         * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: New.
2280         * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: New.
2281         * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: New.
2282         * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: New.
2283         * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
2284         New.
2285
2286 2016-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
2287
2288         * testsuite/22_locale/classification/isblank.cc: Remove 'test'
2289         variables.
2290         * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
2291         * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Likewise.
2292         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
2293         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
2294         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise.
2295         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Likewise.
2296         * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
2297         * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Likewise.
2298         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
2299         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
2300         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise.
2301         * testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
2302         * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Likewise.
2303         * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
2304         * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise.
2305         * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise.
2306         * testsuite/22_locale/codecvt/in/wchar_t/5.cc: Likewise.
2307         * testsuite/22_locale/codecvt/in/wchar_t/6.cc: Likewise.
2308         * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise.
2309         * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
2310         * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
2311         * testsuite/22_locale/codecvt/length/char/1.cc: Likewise.
2312         * testsuite/22_locale/codecvt/length/char/2.cc: Likewise.
2313         * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Likewise.
2314         * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
2315         * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
2316         * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
2317         * testsuite/22_locale/codecvt/length/wchar_t/5.cc: Likewise.
2318         * testsuite/22_locale/codecvt/length/wchar_t/6.cc: Likewise.
2319         * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise.
2320         * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
2321         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Likewise.
2322         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
2323         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
2324         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise.
2325         * testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
2326         * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Likewise.
2327         * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
2328         * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise.
2329         * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
2330         * testsuite/22_locale/codecvt/out/wchar_t/5.cc: Likewise.
2331         * testsuite/22_locale/codecvt/out/wchar_t/6.cc: Likewise.
2332         * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
2333         * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
2334         * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Likewise.
2335         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
2336         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
2337         * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
2338         * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
2339         * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
2340         * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
2341         * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
2342         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
2343         * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
2344         * testsuite/22_locale/collate/hash/char/1.cc: Likewise.
2345         * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
2346         * testsuite/22_locale/collate/hash/wchar_t/1.cc: Likewise.
2347         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
2348         * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
2349         * testsuite/22_locale/collate/transform/char/28277.cc: Likewise.
2350         * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
2351         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
2352         * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise.
2353         * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
2354         * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
2355         * testsuite/22_locale/ctype/cons/char/1.cc: Likewise.
2356         * testsuite/22_locale/ctype/is/char/1.cc: Likewise.
2357         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
2358         * testsuite/22_locale/ctype/is/char/3.cc: Likewise.
2359         * testsuite/22_locale/ctype/is/char/9858.cc: Likewise.
2360         * testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
2361         * testsuite/22_locale/ctype/is/wchar_t/11740.cc: Likewise.
2362         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
2363         * testsuite/22_locale/ctype/narrow/char/1.cc: Likewise.
2364         * testsuite/22_locale/ctype/narrow/char/19955.cc: Likewise.
2365         * testsuite/22_locale/ctype/narrow/char/2.cc: Likewise.
2366         * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Likewise.
2367         * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Likewise.
2368         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise.
2369         * testsuite/22_locale/ctype/scan/char/1.cc: Likewise.
2370         * testsuite/22_locale/ctype/scan/wchar_t/1.cc: Likewise.
2371         * testsuite/22_locale/ctype/to/char/1.cc: Likewise.
2372         * testsuite/22_locale/ctype/to/wchar_t/1.cc: Likewise.
2373         * testsuite/22_locale/ctype/widen/char/1.cc: Likewise.
2374         * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Likewise.
2375         * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
2376         * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise.
2377         * testsuite/22_locale/ctype_base/11844.cc: Likewise.
2378         * testsuite/22_locale/facet/1.cc: Likewise.
2379         * testsuite/22_locale/facet/2.cc: Likewise.
2380         * testsuite/22_locale/facet/25421.cc: Likewise.
2381         * testsuite/22_locale/global_templates/1.cc: Likewise.
2382         * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
2383         Likewise.
2384         * testsuite/22_locale/global_templates/user_facet_hierarchies.cc:
2385         Likewise.
2386         * testsuite/22_locale/locale/13630.cc: Likewise.
2387         * testsuite/22_locale/locale/cons/12352.cc: Likewise.
2388         * testsuite/22_locale/locale/cons/12438.cc: Likewise.
2389         * testsuite/22_locale/locale/cons/2.cc: Likewise.
2390         * testsuite/22_locale/locale/cons/29217.cc: Likewise.
2391         * testsuite/22_locale/locale/cons/38365.cc: Likewise.
2392         * testsuite/22_locale/locale/cons/38368.cc: Likewise.
2393         * testsuite/22_locale/locale/cons/4.cc: Likewise.
2394         * testsuite/22_locale/locale/cons/40184.cc: Likewise.
2395         * testsuite/22_locale/locale/cons/5.cc: Likewise.
2396         * testsuite/22_locale/locale/cons/6.cc: Likewise.
2397         * testsuite/22_locale/locale/cons/7.cc: Likewise.
2398         * testsuite/22_locale/locale/cons/7222-c.cc: Likewise.
2399         * testsuite/22_locale/locale/cons/7222-env.cc: Likewise.
2400         * testsuite/22_locale/locale/cons/8.cc: Likewise.
2401         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
2402         * testsuite/22_locale/locale/global_locale_objects/1.cc: Likewise.
2403         * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
2404         * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
2405         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
2406         * testsuite/22_locale/locale/operations/1.cc: Likewise.
2407         * testsuite/22_locale/locale/operations/2.cc: Likewise.
2408         * testsuite/22_locale/messages/13631.cc: Likewise.
2409         * testsuite/22_locale/messages/members/char/1.cc: Likewise.
2410         * testsuite/22_locale/messages/members/char/2.cc: Likewise.
2411         * testsuite/22_locale/messages/members/char/3.cc: Likewise.
2412         * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
2413         * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
2414         * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
2415         * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
2416         * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
2417         * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
2418         * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
2419         * testsuite/22_locale/money_get/get/char/14.cc: Likewise.
2420         * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
2421         * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
2422         * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
2423         * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
2424         * testsuite/22_locale/money_get/get/char/19.cc: Likewise.
2425         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2426         * testsuite/22_locale/money_get/get/char/22131.cc: Likewise.
2427         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2428         * testsuite/22_locale/money_get/get/char/38399.cc: Likewise.
2429         * testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
2430         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2431         * testsuite/22_locale/money_get/get/char/5.cc: Likewise.
2432         * testsuite/22_locale/money_get/get/char/6.cc: Likewise.
2433         * testsuite/22_locale/money_get/get/char/7.cc: Likewise.
2434         * testsuite/22_locale/money_get/get/char/8.cc: Likewise.
2435         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2436         * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
2437         * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
2438         * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
2439         * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
2440         * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
2441         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Likewise.
2442         * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
2443         * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
2444         * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
2445         * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
2446         * testsuite/22_locale/money_get/get/wchar_t/19.cc: Likewise.
2447         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2448         * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
2449         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2450         * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
2451         * testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
2452         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2453         * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
2454         * testsuite/22_locale/money_get/get/wchar_t/6.cc: Likewise.
2455         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
2456         * testsuite/22_locale/money_get/get/wchar_t/8.cc: Likewise.
2457         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
2458         * testsuite/22_locale/money_put/put/char/12971.cc: Likewise.
2459         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
2460         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
2461         * testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
2462         * testsuite/22_locale/money_put/put/char/4.cc: Likewise.
2463         * testsuite/22_locale/money_put/put/char/5.cc: Likewise.
2464         * testsuite/22_locale/money_put/put/char/6.cc: Likewise.
2465         * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
2466         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
2467         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
2468         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2469         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2470         * testsuite/22_locale/money_put/put/wchar_t/39168.cc: Likewise.
2471         * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
2472         * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
2473         * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
2474         * testsuite/22_locale/moneypunct/40712.cc: Likewise.
2475         * testsuite/22_locale/moneypunct/members/char/1.cc: Likewise.
2476         * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
2477         * testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise.
2478         * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
2479         * testsuite/22_locale/moneypunct/requirements/false/intl.cc: Likewise.
2480         * testsuite/22_locale/moneypunct/requirements/true/intl.cc: Likewise.
2481         * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
2482         * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
2483         * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
2484         * testsuite/22_locale/num_get/get/char/11.cc: Likewise.
2485         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
2486         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
2487         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
2488         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
2489         * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
2490         * testsuite/22_locale/num_get/get/char/2.cc: Likewise.
2491         * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
2492         * testsuite/22_locale/num_get/get/char/23953.cc: Likewise.
2493         * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
2494         * testsuite/22_locale/num_get/get/char/37958.cc: Likewise.
2495         * testsuite/22_locale/num_get/get/char/39168.cc: Likewise.
2496         * testsuite/22_locale/num_get/get/char/39802.cc: Likewise.
2497         * testsuite/22_locale/num_get/get/char/4.cc: Likewise.
2498         * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
2499         * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
2500         * testsuite/22_locale/num_get/get/char/7.cc: Likewise.
2501         * testsuite/22_locale/num_get/get/char/8.cc: Likewise.
2502         * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
2503         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
2504         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
2505         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
2506         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
2507         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
2508         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
2509         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
2510         * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
2511         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Likewise.
2512         * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
2513         * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
2514         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
2515         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
2516         * testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
2517         * testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.
2518         * testsuite/22_locale/num_get/get/wchar_t/4.cc: Likewise.
2519         * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
2520         * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
2521         * testsuite/22_locale/num_get/get/wchar_t/7.cc: Likewise.
2522         * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
2523         * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
2524         * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
2525         * testsuite/22_locale/num_put/put/char/10.cc: Likewise.
2526         * testsuite/22_locale/num_put/put/char/11.cc: Likewise.
2527         * testsuite/22_locale/num_put/put/char/12.cc: Likewise.
2528         * testsuite/22_locale/num_put/put/char/14220.cc: Likewise.
2529         * testsuite/22_locale/num_put/put/char/15565.cc: Likewise.
2530         * testsuite/22_locale/num_put/put/char/2.cc: Likewise.
2531         * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
2532         * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
2533         * testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
2534         * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
2535         * testsuite/22_locale/num_put/put/char/38196.cc: Likewise.
2536         * testsuite/22_locale/num_put/put/char/38210.cc: Likewise.
2537         * testsuite/22_locale/num_put/put/char/4.cc: Likewise.
2538         * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
2539         * testsuite/22_locale/num_put/put/char/6.cc: Likewise.
2540         * testsuite/22_locale/num_put/put/char/7.cc: Likewise.
2541         * testsuite/22_locale/num_put/put/char/8.cc: Likewise.
2542         * testsuite/22_locale/num_put/put/char/9.cc: Likewise.
2543         * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
2544         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
2545         * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
2546         * testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise.
2547         * testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise.
2548         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2549         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: Likewise.
2550         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
2551         * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
2552         * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
2553         * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
2554         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
2555         * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
2556         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
2557         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
2558         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
2559         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
2560         * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
2561         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
2562         * testsuite/22_locale/num_put/put/wchar_t/9.cc: Likewise.
2563         * testsuite/22_locale/numpunct/members/char/1.cc: Likewise.
2564         * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
2565         * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
2566         * testsuite/22_locale/numpunct/members/char/cache_1.cc: Likewise.
2567         * testsuite/22_locale/numpunct/members/char/cache_2.cc: Likewise.
2568         * testsuite/22_locale/numpunct/members/pod/1.cc: Likewise.
2569         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Likewise.
2570         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
2571         * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: Likewise.
2572         * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: Likewise.
2573         * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
2574         * testsuite/22_locale/time_get/date_order/char/1.cc: Likewise.
2575         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Likewise.
2576         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
2577         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
2578         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
2579         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
2580         * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
2581         * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
2582         * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
2583         * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
2584         * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
2585         * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
2586         * testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
2587         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
2588         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
2589         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
2590         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
2591         * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
2592         * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
2593         * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
2594         * testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
2595         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
2596         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
2597         * testsuite/22_locale/time_get/get_monthname/char/3.cc: Likewise.
2598         * testsuite/22_locale/time_get/get_monthname/char/4.cc: Likewise.
2599         * testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
2600         * testsuite/22_locale/time_get/get_monthname/char/6.cc: Likewise.
2601         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
2602         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
2603         * testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc: Likewise.
2604         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: Likewise.
2605         * testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
2606         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
2607         * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
2608         * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
2609         * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
2610         * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
2611         * testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
2612         * testsuite/22_locale/time_get/get_time/char/6.cc: Likewise.
2613         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
2614         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
2615         * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
2616         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
2617         * testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
2618         * testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise.
2619         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
2620         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
2621         * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
2622         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
2623         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
2624         * testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
2625         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
2626         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
2627         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
2628         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
2629         * testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
2630         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
2631         * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
2632         * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
2633         * testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
2634         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
2635         * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
2636         * testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise.
2637         * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
2638         * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
2639         * testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
2640         * testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
2641         * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
2642         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
2643         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
2644         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
2645         * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
2646         * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
2647         * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
2648         * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
2649         * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
2650         * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
2651         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
2652         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
2653         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
2654         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
2655         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
2656         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
2657         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
2658         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
2659         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
2660         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
2661         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
2662         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
2663         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
2664         * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
2665         * testsuite/30_threads/async/42819.cc: Likewise.
2666         * testsuite/30_threads/async/any.cc: Likewise.
2667         * testsuite/30_threads/async/async.cc: Likewise.
2668         * testsuite/30_threads/async/except.cc: Likewise.
2669         * testsuite/30_threads/async/launch.cc: Likewise.
2670         * testsuite/30_threads/async/sync.cc: Likewise.
2671         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2672         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2673         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
2674         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
2675         * testsuite/30_threads/condition_variable/members/3.cc: Likewise.
2676         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2677         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
2678         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
2679         * testsuite/30_threads/future/members/45133.cc: Likewise.
2680         * testsuite/30_threads/future/members/get.cc: Likewise.
2681         * testsuite/30_threads/future/members/get2.cc: Likewise.
2682         * testsuite/30_threads/future/members/share.cc: Likewise.
2683         * testsuite/30_threads/future/members/valid.cc: Likewise.
2684         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
2685         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
2686         * testsuite/30_threads/lock/1.cc: Likewise.
2687         * testsuite/30_threads/lock/2.cc: Likewise.
2688         * testsuite/30_threads/lock/3.cc: Likewise.
2689         * testsuite/30_threads/lock/4.cc: Likewise.
2690         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
2691         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2692         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2693         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2694         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2695         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2696         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2697         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2698         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
2699         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
2700         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
2701         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
2702         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
2703         * testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
2704         Likewise.
2705         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
2706         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
2707         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
2708         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
2709         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
2710         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
2711         * testsuite/30_threads/promise/cons/move.cc: Likewise.
2712         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
2713         * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
2714         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
2715         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
2716         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
2717         * testsuite/30_threads/promise/members/swap.cc: Likewise.
2718         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
2719         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
2720         Likewise.
2721         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2722         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
2723         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
2724         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
2725         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
2726         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
2727         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
2728         Likewise.
2729         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
2730         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
2731         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
2732         Likewise.
2733         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
2734         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
2735         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2736         Likewise.
2737         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
2738         Likewise.
2739         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
2740         Likewise.
2741         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
2742         Likewise.
2743         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
2744         Likewise.
2745         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
2746         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
2747         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
2748         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2749         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
2750         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
2751         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
2752         * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
2753         * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
2754         * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
2755         * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
2756         * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
2757         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
2758         * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
2759         * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
2760         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
2761         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
2762         * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
2763         * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
2764         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
2765         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
2766         * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
2767         * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
2768         * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
2769         * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
2770         * testsuite/30_threads/this_thread/1.cc: Likewise.
2771         * testsuite/30_threads/this_thread/2.cc: Likewise.
2772         * testsuite/30_threads/this_thread/3.cc: Likewise.
2773         * testsuite/30_threads/this_thread/4.cc: Likewise.
2774         * testsuite/30_threads/this_thread/60421.cc: Likewise.
2775         * testsuite/30_threads/thread/cons/1.cc: Likewise.
2776         * testsuite/30_threads/thread/cons/2.cc: Likewise.
2777         * testsuite/30_threads/thread/cons/3.cc: Likewise.
2778         * testsuite/30_threads/thread/cons/4.cc: Likewise.
2779         * testsuite/30_threads/thread/cons/5.cc: Likewise.
2780         * testsuite/30_threads/thread/cons/6.cc: Likewise.
2781         * testsuite/30_threads/thread/cons/7.cc: Likewise.
2782         * testsuite/30_threads/thread/cons/8.cc: Likewise.
2783         * testsuite/30_threads/thread/cons/9.cc: Likewise.
2784         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
2785         * testsuite/30_threads/thread/members/1.cc: Likewise.
2786         * testsuite/30_threads/thread/members/2.cc: Likewise.
2787         * testsuite/30_threads/thread/members/3.cc: Likewise.
2788         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
2789         * testsuite/30_threads/thread/swap/1.cc: Likewise.
2790         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
2791         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
2792         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
2793         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
2794         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
2795         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
2796         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
2797         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
2798         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
2799         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
2800         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
2801         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
2802         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
2803         * testsuite/30_threads/try_lock/1.cc: Likewise.
2804         * testsuite/30_threads/try_lock/2.cc: Likewise.
2805         * testsuite/30_threads/try_lock/3.cc: Likewise.
2806         * testsuite/30_threads/try_lock/4.cc: Likewise.
2807         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2808         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2809         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2810         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2811         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2812         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2813         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2814         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2815         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2816         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2817         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2818         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2819         not_shared.cc: Likewise.
2820         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2821         not_shared2.cc: Likewise.
2822         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2823         not_shared3.cc: Likewise.
2824         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2825         shared.cc: Likewise.
2826         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2827         still_shared.cc: Likewise.
2828         * testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc:
2829         Likewise.
2830         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
2831         Likewise.
2832         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
2833         Likewise.
2834         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
2835         auto_ptr_rvalue_neg.cc: Likewise.
2836         * testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc:
2837         Likewise.
2838         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
2839         shared_ptr_neg.cc: Likewise.
2840         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
2841         Likewise.
2842         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
2843         Likewise.
2844         * testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc: Likewise.
2845         * testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc:
2846         Likewise.
2847         * testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc:
2848         Likewise.
2849         * testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc:
2850         Likewise.
2851         * testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc: Likewise.
2852         * testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc: Likewise.
2853         * testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc: Likewise.
2854         * testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc: Likewise.
2855         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc:
2856         Likewise.
2857         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
2858         Likewise.
2859         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc:
2860         Likewise.
2861         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc:
2862         Likewise.
2863         * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
2864         Likewise.
2865         * testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc:
2866         Likewise.
2867         * testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc:
2868         Likewise.
2869         * testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc:
2870         Likewise.
2871         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2872         default_weaktoshared.cc: Likewise.
2873         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2874         mutex_weaktoshared.cc: Likewise.
2875         * testsuite/tr1/3_function_objects/bind/all_bound.cc: Likewise.
2876         * testsuite/tr1/3_function_objects/bind/mixed.cc: Likewise.
2877         * testsuite/tr1/3_function_objects/bind/nested.cc: Likewise.
2878         * testsuite/tr1/3_function_objects/bind/placeholders.cc: Likewise.
2879         * testsuite/tr1/3_function_objects/bind/ref.cc: Likewise.
2880         * testsuite/tr1/3_function_objects/function/1.cc: Likewise.
2881         * testsuite/tr1/3_function_objects/function/2.cc: Likewise.
2882         * testsuite/tr1/3_function_objects/function/3.cc: Likewise.
2883         * testsuite/tr1/3_function_objects/function/4.cc: Likewise.
2884         * testsuite/tr1/3_function_objects/function/5.cc: Likewise.
2885         * testsuite/tr1/3_function_objects/function/6.cc: Likewise.
2886         * testsuite/tr1/3_function_objects/function/7.cc: Likewise.
2887         * testsuite/tr1/3_function_objects/function/8.cc: Likewise.
2888         * testsuite/tr1/3_function_objects/function/9.cc: Likewise.
2889         * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
2890         Likewise.
2891         * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
2892         Likewise.
2893         * testsuite/tr1/3_function_objects/result_of.cc: Likewise.
2894         * testsuite/tr1/4_metaprogramming/add_const/value.cc: Likewise.
2895         * testsuite/tr1/4_metaprogramming/add_cv/value.cc: Likewise.
2896         * testsuite/tr1/4_metaprogramming/add_pointer/value.cc: Likewise.
2897         * testsuite/tr1/4_metaprogramming/add_reference/value.cc: Likewise.
2898         * testsuite/tr1/4_metaprogramming/add_volatile/value.cc: Likewise.
2899         * testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: Likewise.
2900         * testsuite/tr1/4_metaprogramming/alignment_of/value.cc: Likewise.
2901         * testsuite/tr1/4_metaprogramming/extent/value.cc: Likewise.
2902         * testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc: Likewise.
2903         * testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc:
2904         Likewise.
2905         * testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc: Likewise.
2906         * testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc: Likewise.
2907         * testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc:
2908         Likewise.
2909         * testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc: Likewise.
2910         * testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc:
2911         Likewise.
2912         * testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc:
2913         Likewise.
2914         * testsuite/tr1/4_metaprogramming/integral_constant/
2915         static_definition.cc: Likewise.
2916         * testsuite/tr1/4_metaprogramming/integral_constant/
2917         true_false_value.cc: Likewise.
2918         * testsuite/tr1/4_metaprogramming/is_abstract/value.cc: Likewise.
2919         * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc: Likewise.
2920         * testsuite/tr1/4_metaprogramming/is_array/value.cc: Likewise.
2921         * testsuite/tr1/4_metaprogramming/is_base_of/value.cc: Likewise.
2922         * testsuite/tr1/4_metaprogramming/is_class/value.cc: Likewise.
2923         * testsuite/tr1/4_metaprogramming/is_compound/value.cc: Likewise.
2924         * testsuite/tr1/4_metaprogramming/is_const/value.cc: Likewise.
2925         * testsuite/tr1/4_metaprogramming/is_convertible/value.cc: Likewise.
2926         * testsuite/tr1/4_metaprogramming/is_empty/value.cc: Likewise.
2927         * testsuite/tr1/4_metaprogramming/is_enum/24808.cc: Likewise.
2928         * testsuite/tr1/4_metaprogramming/is_enum/value.cc: Likewise.
2929         * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc: Likewise.
2930         * testsuite/tr1/4_metaprogramming/is_function/24808.cc: Likewise.
2931         * testsuite/tr1/4_metaprogramming/is_function/value.cc: Likewise.
2932         * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc: Likewise.
2933         * testsuite/tr1/4_metaprogramming/is_integral/value.cc: Likewise.
2934         * testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc:
2935         Likewise.
2936         * testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc:
2937         Likewise.
2938         * testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc: Likewise.
2939         * testsuite/tr1/4_metaprogramming/is_object/24808.cc: Likewise.
2940         * testsuite/tr1/4_metaprogramming/is_object/value.cc: Likewise.
2941         * testsuite/tr1/4_metaprogramming/is_pod/value.cc: Likewise.
2942         * testsuite/tr1/4_metaprogramming/is_pointer/value.cc: Likewise.
2943         * testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc: Likewise.
2944         * testsuite/tr1/4_metaprogramming/is_reference/value.cc: Likewise.
2945         * testsuite/tr1/4_metaprogramming/is_same/value.cc: Likewise.
2946         * testsuite/tr1/4_metaprogramming/is_scalar/value.cc: Likewise.
2947         * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise.
2948         * testsuite/tr1/4_metaprogramming/is_union/value.cc: Likewise.
2949         * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc: Likewise.
2950         * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise.
2951         * testsuite/tr1/4_metaprogramming/is_volatile/value.cc: Likewise.
2952         * testsuite/tr1/4_metaprogramming/rank/value.cc: Likewise.
2953         * testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc: Likewise.
2954         * testsuite/tr1/4_metaprogramming/remove_const/value.cc: Likewise.
2955         * testsuite/tr1/4_metaprogramming/remove_cv/value.cc: Likewise.
2956         * testsuite/tr1/4_metaprogramming/remove_extent/value.cc: Likewise.
2957         * testsuite/tr1/4_metaprogramming/remove_pointer/value.cc: Likewise.
2958         * testsuite/tr1/4_metaprogramming/remove_reference/value.cc: Likewise.
2959         * testsuite/tr1/4_metaprogramming/remove_volatile/value.cc: Likewise.
2960         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
2961         equal.cc: Likewise.
2962         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
2963         not_equal.cc: Likewise.
2964         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
2965         serialize.cc: Likewise.
2966         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
2967         cons/default.cc: Likewise.
2968         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
2969         cons/gen1.cc: Likewise.
2970         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
2971         operators/equal.cc: Likewise.
2972         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
2973         operators/not_equal.cc: Likewise.
2974         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
2975         operators/serialize.cc: Likewise.
2976         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
2977         cons/default.cc: Likewise.
2978         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
2979         cons/gen1.cc: Likewise.
2980         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
2981         operators/equal.cc: Likewise.
2982         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
2983         operators/not_equal.cc: Likewise.
2984         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
2985         operators/serialize.cc: Likewise.
2986         * testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc: Likewise.
2987         * testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc: Likewise.
2988         * testsuite/tr1/5_numerical_facilities/random/mt19937.cc: Likewise.
2989         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
2990         default.cc: Likewise.
2991         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
2992         token.cc: Likewise.
2993         * testsuite/tr1/5_numerical_facilities/random/ranlux3.cc: Likewise.
2994         * testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc: Likewise.
2995         * testsuite/tr1/5_numerical_facilities/random/ranlux4.cc: Likewise.
2996         * testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc
2997         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
2998         cons/default.cc: Likewise.
2999         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3000         cons/gen1.cc: Likewise.
3001         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3002         operators/equal.cc: Likewise.
3003         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3004         operators/not_equal.cc: Likewise.
3005         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3006         operators/serialize.cc: Likewise.
3007         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3008         cons/default.cc: Likewise.
3009         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3010         cons/gen1.cc: Likewise.
3011         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3012         operators/equal.cc: Likewise.
3013         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3014         operators/not_equal.cc: Likewise.
3015         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3016         operators/serialize.cc: Likewise.
3017         * testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
3018         Likewise.
3019         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3020         default.cc: Likewise.
3021         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3022         range.cc: Likewise.
3023         * testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/
3024         default.cc: Likewise.
3025         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3026         equal.cc: Likewise.
3027         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3028         not_equal.cc: Likewise.
3029         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3030         serialize.cc: Likewise.
3031         * testsuite/tr1/5_numerical_facilities/special_functions/
3032         08_cyl_bessel_i/check_value.cc: Likewise.
3033         * testsuite/tr1/5_numerical_facilities/special_functions/
3034         08_cyl_bessel_i/pr56216.cc: Likewise.
3035         * testsuite/tr1/5_numerical_facilities/special_functions/
3036         09_cyl_bessel_j/check_value.cc: Likewise.
3037         * testsuite/tr1/5_numerical_facilities/special_functions/
3038         10_cyl_bessel_k/check_value.cc: Likewise.
3039         * testsuite/tr1/5_numerical_facilities/special_functions/
3040         11_cyl_neumann/check_value.cc: Likewise.
3041         * testsuite/tr1/5_numerical_facilities/special_functions/
3042         16_hermite/check_value.cc: Likewise.
3043         * testsuite/tr1/5_numerical_facilities/special_functions/
3044         21_sph_bessel/check_value.cc: Likewise.
3045         * testsuite/tr1/5_numerical_facilities/special_functions/
3046         23_sph_neumann/check_value.cc: Likewise.
3047         * testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise.
3048         * testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise.
3049         * testsuite/tr1/6_containers/array/capacity/size.cc: Likewise.
3050         * testsuite/tr1/6_containers/array/comparison_operators/equal.cc:
3051         Likewise.
3052         * testsuite/tr1/6_containers/array/comparison_operators/greater.cc:
3053         Likewise.
3054         * testsuite/tr1/6_containers/array/comparison_operators/
3055         greater_or_equal.cc: Likewise.
3056         * testsuite/tr1/6_containers/array/comparison_operators/less.cc:
3057         Likewise.
3058         * testsuite/tr1/6_containers/array/comparison_operators/
3059         less_or_equal.cc: Likewise.
3060         * testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc:
3061         Likewise.
3062         * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
3063         Likewise.
3064         * testsuite/tr1/6_containers/array/element_access/back.cc: Likewise.
3065         * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
3066         * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
3067         * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc:
3068         Likewise.
3069         * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
3070         * testsuite/tr1/6_containers/array/requirements/contiguous.cc: Likewise.
3071         * testsuite/tr1/6_containers/array/requirements/member_swap.cc:
3072         Likewise.
3073         * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
3074         Likewise.
3075         * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
3076         Likewise.
3077         * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
3078         * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
3079         Likewise.
3080         * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
3081         Likewise.
3082         * testsuite/tr1/6_containers/hash/24799.cc: Likewise.
3083         * testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise.
3084         *
3085         testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
3086         Likewise.
3087         * testsuite/tr1/6_containers/tuple/cons/assignment.cc: Likewise.
3088         * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise.
3089         * testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise.
3090         * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc:
3091         Likewise.
3092         * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
3093         Likewise.
3094         * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: Likewise.
3095         * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Likewise.
3096         * testsuite/tr1/6_containers/tuple/element_access/get.cc: Likewise.
3097         * testsuite/tr1/6_containers/tuple/tuple_size.cc: Likewise.
3098         * testsuite/tr1/6_containers/unordered_map/24064.cc: Likewise.
3099         * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
3100         Likewise.
3101         * testsuite/tr1/6_containers/unordered_map/erase/1.cc: Likewise.
3102         * testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc: Likewise.
3103         * testsuite/tr1/6_containers/unordered_map/find/map1.cc: Likewise.
3104         * testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc:
3105         Likewise.
3106         * testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc:
3107         Likewise.
3108         * testsuite/tr1/6_containers/unordered_map/insert/map_range.cc:
3109         Likewise.
3110         * testsuite/tr1/6_containers/unordered_map/insert/map_single.cc:
3111         Likewise.
3112         * testsuite/tr1/6_containers/unordered_map/swap/1.cc: Likewise.
3113         * testsuite/tr1/6_containers/unordered_map/swap/2.cc: Likewise.
3114         * testsuite/tr1/6_containers/unordered_multimap/capacity/
3115         29134-multimap.cc: Likewise.
3116         * testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise.
3117         * testsuite/tr1/6_containers/unordered_multimap/erase/
3118         24061-multimap.cc: Likewise.
3119         * testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc:
3120         Likewise.
3121         * testsuite/tr1/6_containers/unordered_multimap/insert/
3122         24061-multimap.cc: Likewise.
3123         * testsuite/tr1/6_containers/unordered_multimap/insert/
3124         multimap_range.cc: Likewise.
3125         * testsuite/tr1/6_containers/unordered_multimap/insert/
3126         multimap_single.cc: Likewise.
3127         * testsuite/tr1/6_containers/unordered_multimap/swap/1.cc: Likewise.
3128         * testsuite/tr1/6_containers/unordered_multimap/swap/2.cc: Likewise.
3129         * testsuite/tr1/6_containers/unordered_multiset/24054.cc: Likewise.
3130         * testsuite/tr1/6_containers/unordered_multiset/capacity/
3131         29134-multiset.cc: Likewise.
3132         * testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise.
3133         * testsuite/tr1/6_containers/unordered_multiset/erase/
3134         24061-multiset.cc: Likewise.
3135         * testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc:
3136         Likewise.
3137         * testsuite/tr1/6_containers/unordered_multiset/insert/
3138         24061-multiset.cc: Likewise.
3139         * testsuite/tr1/6_containers/unordered_multiset/insert/
3140         multiset_range.cc: Likewise.
3141         * testsuite/tr1/6_containers/unordered_multiset/insert/
3142         multiset_single.cc: Likewise.
3143         * testsuite/tr1/6_containers/unordered_multiset/swap/1.cc: Likewise.
3144         * testsuite/tr1/6_containers/unordered_multiset/swap/2.cc: Likewise.
3145         * testsuite/tr1/6_containers/unordered_set/23465.cc: Likewise.
3146         * testsuite/tr1/6_containers/unordered_set/26132.cc: Likewise.
3147         * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
3148         Likewise.
3149         * testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise.
3150         * testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc: Likewise.
3151         * testsuite/tr1/6_containers/unordered_set/find/set1.cc: Likewise.
3152         * testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc:
3153         Likewise.
3154         * testsuite/tr1/6_containers/unordered_set/insert/set_range.cc:
3155         Likewise.
3156         * testsuite/tr1/6_containers/unordered_set/insert/set_single.cc:
3157         Likewise.
3158         * testsuite/tr1/6_containers/unordered_set/swap/1.cc: Likewise.
3159         * testsuite/tr1/6_containers/unordered_set/swap/2.cc: Likewise.
3160         * testsuite/tr1/6_containers/utility/pair.cc: Likewise.
3161         * testsuite/tr1/7_regular_expressions/match_results/ctors/char/
3162         default.cc: Likewise.
3163         * testsuite/tr1/7_regular_expressions/regex_traits/char/
3164         translate_nocase.cc: Likewise.
3165         * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc:
3166         Likewise.
3167         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
3168         translate_nocase.cc: Likewise.
3169         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc:
3170         Likewise.
3171         * testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.
3172         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise.
3173
3174 2016-10-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
3175
3176         Make sure the return value of malloc_allocator::allocate
3177         is zero-initialized so that checking it for non-zero works
3178         later.
3179         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
3180         Initialize the return value.
3181         * testsuite/ext/malloc_allocator/sanity.cc: New.
3182
3183 2016-10-14  Eelis van der Weegen  <eelis@eelis.net>
3184
3185         * include/bits/stl_algo.h (shuffle): Extract two random numbers from
3186         each generator invocation when its range is large enough.
3187
3188 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3189
3190         * testsuite/experimental/algorithm/sample.cc: Qualify calls to
3191         resolve ambiguity between std::sample and std::experimental::sample.
3192
3193         * include/std/functional (_Mu<A, false, true>, _Mu<A, true, false>):
3194         Simplify forwarding from tuple of references.
3195         (_Maybe_wrap_member_pointer): Remove.
3196         (_Bind::__call, _Bind::__call_c, _Bind::__call_v, _Bind::__call_c_v):
3197         Use std::__invoke.
3198         (_Bind::_Mu_type, _Bind::_Res_type_impl, _Bind::_Res_type)
3199         (_Bind::__dependent, _Bind::_Res_type_cv): New helpers to simplify
3200         return type deduction.
3201         (_Bind::operator(), _Bind::operator() const): Use new helpers.
3202         (_Bind::operator() volatile, _Bind::operator() const volatile):
3203         Likewise. Add deprecated attribute for C++17 mode.
3204         (_Bind_result::__call): Use std::__invoke.
3205         (_Bind_result::operator() volatile)
3206         (_Bind_result::operator() const volatile): Add deprecated attribute.
3207         (_Bind_helper::__maybe_type, _Bindres_helper::__maybe_type): Remove.
3208         (_Bind_helper, _Bindres_helper): Don't use _Maybe_wrap_member_pointer.
3209         (bind, bind<R>): Don't use __maybe_type.
3210         * src/c++11/compatibility-thread-c++0x.cc
3211         (_Maybe_wrap_member_pointer): Define here for compatibility symbols.
3212         * testsuite/20_util/bind/68912.cc: Don't test volatile-qualification
3213         in C++17 mode.
3214         * testsuite/20_util/bind/cv_quals.cc: Likewise.
3215         * testsuite/20_util/bind/cv_quals_2.cc: Likewise.
3216
3217         * include/std/scoped_allocator (scoped_allocator_adaptor): Forward
3218         piecewise construction arguments as tuples of references, to avoid
3219         copies (related to LWG 2511).
3220         * testsuite/20_util/scoped_allocator/construct_pair.cc: New test.
3221
3222 2016-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
3223
3224         * testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables.
3225         * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
3226         * testsuite/26_numerics/complex/13450.cc: Likewise.
3227         * testsuite/26_numerics/complex/50880.cc: Likewise.
3228         * testsuite/26_numerics/complex/c99.cc: Likewise.
3229         * testsuite/26_numerics/complex/cons/48760.cc: Likewise.
3230         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
3231         * testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise.
3232         * testsuite/26_numerics/complex/dr844.cc: Likewise.
3233         * testsuite/26_numerics/complex/inserters_extractors/char/1.cc:
3234         Likewise.
3235         * testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc:
3236         Likewise.
3237         * testsuite/26_numerics/complex/value_operations/1.cc: Likewise.
3238         * testsuite/26_numerics/complex/value_operations/dr387.cc: Likewise.
3239         * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
3240         * testsuite/26_numerics/headers/cmath/
3241         c99_classification_macros_c++11.c: Likewise.c
3242         * testsuite/26_numerics/headers/cmath/
3243         c99_classification_macros_c++98.cc: Likewise.
3244         * testsuite/26_numerics/headers/cmath/c_math.cc: Likewise.
3245         * testsuite/26_numerics/headers/cmath/dr550.cc: Likewise.
3246         * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
3247         * testsuite/26_numerics/headers/cmath/powi.cc: Likewise.
3248         * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
3249         * testsuite/26_numerics/inner_product/1.cc: Likewise.
3250         * testsuite/26_numerics/iota/1.cc: Likewise.
3251         * testsuite/26_numerics/partial_sum/1.cc: Likewise.
3252         * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
3253         Likewise.
3254         * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
3255         Likewise.
3256         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3257         equal.cc: Likewise.
3258         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3259         inequal.cc: Likewise.
3260         * testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
3261         Likewise.
3262         * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
3263         Likewise.
3264         * testsuite/26_numerics/random/binomial_distribution/operators/
3265         equal.cc: Likewise.
3266         * testsuite/26_numerics/random/binomial_distribution/operators/
3267         inequal.cc: Likewise.
3268         * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
3269         Likewise.
3270         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
3271         Likewise.
3272         * testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc:
3273         Likewise.
3274         * testsuite/26_numerics/random/cauchy_distribution/operators/
3275         inequal.cc: Likewise.
3276         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3277         default.cc: Likewise.
3278         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3279         parms.cc: Likewise.
3280         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3281         equal.cc: Likewise.
3282         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3283         inequal.cc: Likewise.
3284         * testsuite/26_numerics/random/default_random_engine.cc: Likewise.
3285         * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
3286         Likewise.
3287         * testsuite/26_numerics/random/discard_block_engine/operators/equal.cc:
3288         Likewise.
3289         * testsuite/26_numerics/random/discard_block_engine/operators/
3290         inequal.cc: Likewise.
3291         * testsuite/26_numerics/random/discard_block_engine/operators/
3292         serialize.cc: Likewise.
3293         * testsuite/26_numerics/random/discrete_distribution/cons/
3294         default.cc: Likewise.
3295         * testsuite/26_numerics/random/discrete_distribution/cons/
3296         initlist.cc: Likewise.
3297         * testsuite/26_numerics/random/discrete_distribution/cons/
3298         num_xbound_fun.cc: Likewise.
3299         * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
3300         Likewise.
3301         * testsuite/26_numerics/random/discrete_distribution/operators/
3302         equal.cc: Likewise.
3303         * testsuite/26_numerics/random/discrete_distribution/operators/
3304         inequal.cc: Likewise.
3305         * testsuite/26_numerics/random/exponential_distribution/cons/
3306         default.cc: Likewise.
3307         * testsuite/26_numerics/random/exponential_distribution/cons/
3308         parms.cc: Likewise.
3309         * testsuite/26_numerics/random/exponential_distribution/operators/
3310         equal.cc: Likewise.
3311         * testsuite/26_numerics/random/exponential_distribution/operators/
3312         inequal.cc: Likewise.
3313         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3314         default.cc: Likewise.
3315         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3316         parms.cc: Likewise.
3317         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3318         equal.cc: Likewise.
3319         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3320         inequal.cc: Likewise.
3321         * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
3322         Likewise.
3323         * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
3324         Likewise.
3325         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3326         equal.cc: Likewise.
3327         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3328         inequal.cc: Likewise.
3329         * testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
3330         Likewise.
3331         * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
3332         Likewise.
3333         * testsuite/26_numerics/random/gamma_distribution/operators/equal.cc:
3334         Likewise.
3335         * testsuite/26_numerics/random/gamma_distribution/operators/
3336         inequal.cc: Likewise.
3337         * testsuite/26_numerics/random/geometric_distribution/cons/
3338         default.cc: Likewise.
3339         * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
3340         Likewise.
3341         * testsuite/26_numerics/random/geometric_distribution/operators/
3342         equal.cc: Likewise.
3343         * testsuite/26_numerics/random/geometric_distribution/operators/
3344         inequal.cc: Likewise.
3345         * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
3346         Likewise.
3347         * testsuite/26_numerics/random/independent_bits_engine/operators/
3348         equal.cc: Likewise.
3349         * testsuite/26_numerics/random/independent_bits_engine/operators/
3350         inequal.cc: Likewise.
3351         * testsuite/26_numerics/random/independent_bits_engine/operators/
3352         serialize.cc: Likewise.
3353         * testsuite/26_numerics/random/knuth_b.cc: Likewise.
3354         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3355         55215.cc: Likewise.
3356         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3357         default.cc: Likewise.
3358         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3359         51795.cc: Likewise.
3360         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3361         equal.cc: Likewise.
3362         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3363         inequal.cc: Likewise.
3364         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3365         serialize.cc: Likewise.
3366         * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
3367         Likewise.
3368         * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
3369         Likewise.
3370         * testsuite/26_numerics/random/lognormal_distribution/operators/
3371         equal.cc: Likewise.
3372         * testsuite/26_numerics/random/lognormal_distribution/operators/
3373         inequal.cc: Likewise.
3374         * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
3375         Likewise.
3376         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
3377         default.cc: Likewise.
3378         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3379         equal.cc: Likewise.
3380         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3381         inequal.cc: Likewise.
3382         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3383         serialize.cc: Likewise.
3384         * testsuite/26_numerics/random/minstd_rand.cc: Likewise.
3385         * testsuite/26_numerics/random/minstd_rand0.cc: Likewise.
3386         * testsuite/26_numerics/random/mt19937.cc: Likewise.
3387         * testsuite/26_numerics/random/mt19937_64.cc: Likewise.
3388         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3389         default.cc: Likewise.
3390         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3391         parms.cc: Likewise.
3392         * testsuite/26_numerics/random/negative_binomial_distribution/
3393         operators/equal.cc: Likewise.
3394         * testsuite/26_numerics/random/negative_binomial_distribution/
3395         operators/inequal.cc: Likewise.
3396         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
3397         Likewise.
3398         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
3399         Likewise.
3400         * testsuite/26_numerics/random/normal_distribution/operators/
3401         equal.cc: Likewise.
3402         * testsuite/26_numerics/random/normal_distribution/operators/
3403         inequal.cc: Likewise.
3404         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3405         default.cc: Likewise.
3406         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3407         initlist_fun.cc: Likewise.
3408         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3409         num_xbound_fun.cc: Likewise.
3410         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3411         range.cc: Likewise.
3412         * testsuite/26_numerics/random/piecewise_constant_distribution/
3413         operators/equal.cc: Likewise.
3414         * testsuite/26_numerics/random/piecewise_constant_distribution/
3415         operators/inequal.cc: Likewise.
3416         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3417         default.cc: Likewise.
3418         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3419         initlist_fun.cc: Likewise.
3420         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3421         num_xbound_fun.cc: Likewise.
3422         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3423         range.cc: Likewise.
3424         * testsuite/26_numerics/random/piecewise_linear_distribution/
3425         operators/equal.cc: Likewise.
3426         * testsuite/26_numerics/random/piecewise_linear_distribution/
3427         operators/inequal.cc: Likewise.
3428         * testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
3429         Likewise.
3430         * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
3431         Likewise.
3432         * testsuite/26_numerics/random/poisson_distribution/operators/
3433         equal.cc: Likewise.
3434         * testsuite/26_numerics/random/poisson_distribution/operators/
3435         inequal.cc: Likewise.
3436         * testsuite/26_numerics/random/random_device/cons/default.cc: Likewise.
3437         * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
3438         * testsuite/26_numerics/random/ranlux24.cc: Likewise.
3439         * testsuite/26_numerics/random/ranlux24_base.cc: Likewise.
3440         * testsuite/26_numerics/random/ranlux48.cc: Likewise.
3441         * testsuite/26_numerics/random/ranlux48_base.cc: Likewise.
3442         * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Likewise.
3443         * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
3444         Likewise.
3445         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3446         equal.cc: Likewise.
3447         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3448         inequal.cc: Likewise.
3449         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3450         serialize.cc: Likewise.
3451         * testsuite/26_numerics/random/student_t_distribution/cons/
3452         default.cc: Likewise.
3453         * testsuite/26_numerics/random/student_t_distribution/cons/
3454         parms.cc: Likewise.
3455         * testsuite/26_numerics/random/student_t_distribution/operators/
3456         equal.cc: Likewise.
3457         * testsuite/26_numerics/random/student_t_distribution/operators/
3458         inequal.cc: Likewise.
3459         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3460         55215.cc: Likewise.
3461         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3462         default.cc: Likewise.
3463         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3464         equal.cc: Likewise.
3465         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3466         inequal.cc: Likewise.
3467         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3468         serialize.cc: Likewise.
3469         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3470         default.cc: Likewise.
3471         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3472         parms.cc: Likewise.
3473         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3474         equal.cc: Likewise.
3475         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3476         inequal.cc: Likewise.
3477         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3478         default.cc: Likewise.
3479         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3480         parms.cc: Likewise.
3481         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3482         equal.cc: Likewise.
3483         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3484         inequal.cc: Likewise.
3485         * testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
3486         Likewise.
3487         * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
3488         Likewise.
3489         * testsuite/26_numerics/random/weibull_distribution/operators/
3490         equal.cc: Likewise.
3491         * testsuite/26_numerics/random/weibull_distribution/operators/
3492         inequal.cc: Likewise.
3493         * testsuite/26_numerics/slice/1.cc: Likewise.
3494         * testsuite/26_numerics/slice_array/array_assignment.cc: Likewise.
3495         * testsuite/26_numerics/valarray/27867.cc: Likewise.
3496         * testsuite/26_numerics/valarray/28277.cc: Likewise.
3497         * testsuite/26_numerics/valarray/30416.cc: Likewise.
3498         * testsuite/26_numerics/valarray/dr543.cc: Likewise.
3499         * testsuite/26_numerics/valarray/dr630-1.cc: Likewise.
3500         * testsuite/26_numerics/valarray/dr630-2.cc: Likewise.
3501         * testsuite/26_numerics/valarray/dr630-3.C: Likewise.
3502         * testsuite/26_numerics/valarray/init-list.cc: Likewise.
3503         * testsuite/26_numerics/valarray/moveable.cc: Likewise.
3504         * testsuite/26_numerics/valarray/operators.cc: Likewise.
3505         * testsuite/26_numerics/valarray/swap.cc: Likewise.
3506         * testsuite/experimental/deque/erasure.cc: Likewise.
3507         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
3508         Likewise.
3509         * testsuite/experimental/filesystem/iterators/
3510         recursive_directory_iterator.cc: Likewise.
3511         * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
3512         * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
3513         * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
3514         * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
3515         * testsuite/experimental/filesystem/operations/create_directories.cc:
3516         Likewise.
3517         * testsuite/experimental/filesystem/operations/create_directory.cc:
3518         Likewise.
3519         * testsuite/experimental/filesystem/operations/current_path.cc:
3520         Likewise.
3521         * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
3522         * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
3523         * testsuite/experimental/filesystem/operations/last_write_time.cc:
3524         Likewise.
3525         * testsuite/experimental/filesystem/operations/permissions.cc: Likewise.
3526         * testsuite/experimental/filesystem/operations/status.cc: Likewise.
3527         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
3528         Likewise.
3529         * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
3530         * testsuite/experimental/forward_list/erasure.cc: Likewise.
3531         * testsuite/experimental/list/erasure.cc: Likewise.
3532         * testsuite/experimental/map/erasure.cc: Likewise.
3533         * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Likewise.
3534         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
3535         Likewise.
3536         * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: Likewise.
3537         * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: Likewise.
3538         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: Likewise.
3539         * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
3540         Likewise.
3541         * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: Likewise.
3542         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
3543         Likewise.
3544         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
3545         Likewise.
3546         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
3547         Likewise.
3548         * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
3549         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Likewise.
3550         * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: Likewise.
3551         * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
3552         Likewise.
3553         * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
3554         Likewise.
3555         * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
3556         Likewise.
3557         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
3558         Likewise.
3559         * testsuite/experimental/memory_resource/1.cc: Likewise.
3560         * testsuite/experimental/memory_resource/null_memory_resource.cc:
3561         Likewise.
3562         * testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise.
3563         * testsuite/experimental/set/erasure.cc: Likewise.
3564         * testsuite/experimental/string/erasure.cc: Likewise.
3565         * testsuite/experimental/string_view/capacity/1.cc: Likewise.
3566         * testsuite/experimental/string_view/cons/char/1.cc: Likewise.
3567         * testsuite/experimental/string_view/cons/char/2.cc: Likewise.
3568         * testsuite/experimental/string_view/cons/char/3.cc: Likewise.
3569         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
3570         * testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise.
3571         * testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise.
3572         * testsuite/experimental/string_view/element_access/char/1.cc: Likewise.
3573         * testsuite/experimental/string_view/element_access/char/empty.cc:
3574         Likewise.
3575         * testsuite/experimental/string_view/element_access/char/
3576         front_back.cc: Likewise.
3577         * testsuite/experimental/string_view/element_access/wchar_t/1.cc:
3578         Likewise.
3579         * testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
3580         Likewise.
3581         * testsuite/experimental/string_view/element_access/wchar_t/
3582         front_back.cc: Likewise.
3583         * testsuite/experimental/string_view/inserters/char/1.cc: Likewise.
3584         * testsuite/experimental/string_view/inserters/char/2.cc: Likewise.
3585         * testsuite/experimental/string_view/inserters/char/3.cc: Likewise.
3586         * testsuite/experimental/string_view/inserters/pod/10081-out.cc:
3587         Likewise.
3588         * testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise.
3589         * testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise.
3590         * testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise.
3591         * testsuite/experimental/string_view/modifiers/remove_prefix/char/
3592         1.cc: Likewise.
3593         * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
3594         1.cc: Likewise.
3595         * testsuite/experimental/string_view/modifiers/remove_suffix/char/
3596         1.cc: Likewise.
3597         * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
3598         1.cc: Likewise.
3599         * testsuite/experimental/string_view/operations/compare/char/1.cc:
3600         Likewise.
3601         * testsuite/experimental/string_view/operations/compare/char/
3602         13650.cc: Likewise.
3603         * testsuite/experimental/string_view/operations/compare/wchar_t/
3604         1.cc: Likewise.
3605         * testsuite/experimental/string_view/operations/compare/wchar_t/
3606         13650.cc: Likewise.
3607         * testsuite/experimental/string_view/operations/copy/char/1.cc:
3608         Likewise.
3609         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
3610         Likewise.
3611         * testsuite/experimental/string_view/operations/data/char/1.cc:
3612         Likewise.
3613         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
3614         Likewise.
3615         * testsuite/experimental/string_view/operations/find/char/1.cc:
3616         Likewise.
3617         * testsuite/experimental/string_view/operations/find/char/2.cc:
3618         Likewise.
3619         * testsuite/experimental/string_view/operations/find/char/3.cc:
3620         Likewise.
3621         * testsuite/experimental/string_view/operations/find/char/4.cc:
3622         Likewise.
3623         * testsuite/experimental/string_view/operations/find/wchar_t/1.cc:
3624         Likewise.
3625         * testsuite/experimental/string_view/operations/find/wchar_t/2.cc:
3626         Likewise.
3627         * testsuite/experimental/string_view/operations/find/wchar_t/3.cc:
3628         Likewise.
3629         * testsuite/experimental/string_view/operations/find/wchar_t/4.cc:
3630         Likewise.
3631         * testsuite/experimental/string_view/operations/rfind/char/1.cc:
3632         Likewise.
3633         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
3634         Likewise.
3635         * testsuite/experimental/string_view/operations/rfind/char/3.cc:
3636         Likewise.
3637         * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc:
3638         Likewise.
3639         * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc:
3640         Likewise.
3641         * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc:
3642         Likewise.
3643         * testsuite/experimental/string_view/operations/substr/char/1.cc:
3644         Likewise.
3645         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
3646         Likewise.
3647         * testsuite/experimental/string_view/operations/to_string/1.cc:
3648         Likewise.
3649         * testsuite/experimental/string_view/operators/char/2.cc: Likewise.
3650         * testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise.
3651         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
3652         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
3653         * testsuite/experimental/vector/erasure.cc: Likewise.
3654         * testsuite/ext/array_allocator/1.cc: Likewise.
3655         * testsuite/ext/array_allocator/2.cc: Likewise.
3656         * testsuite/ext/array_allocator/3.cc: Likewise.
3657         * testsuite/ext/array_allocator/variadic_construct.cc: Likewise.
3658         * testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
3659         * testsuite/ext/codecvt/1.cc: Likewise.
3660         * testsuite/ext/codecvt/char-1.cc: Likewise.
3661         * testsuite/ext/codecvt/char-2.cc: Likewise.
3662         * testsuite/ext/codecvt/wchar_t.cc: Likewise.
3663         * testsuite/ext/enc_filebuf/char/13189.cc: Likewise.
3664         * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
3665         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
3666         * testsuite/ext/ext_pointer/1.cc: Likewise.
3667         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
3668         * testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
3669         * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: Likewise.
3670         * testsuite/ext/mt_allocator/tune-1.cc: Likewise.
3671         * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
3672         * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
3673         * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
3674         * testsuite/ext/mt_allocator/variadic_construct.cc: Likewise.
3675         * testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
3676         * testsuite/ext/pod_char_traits.cc: Likewise.
3677         * testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
3678         * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
3679         * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
3680         * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
3681         Likewise.
3682         * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
3683         Likewise.
3684         * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
3685         Likewise.
3686         * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
3687         * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
3688         * testsuite/ext/random/beta_distribution/operators/equal.cc: Likewise.
3689         * testsuite/ext/random/beta_distribution/operators/inequal.cc: Likewise.
3690         * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
3691         * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
3692         * testsuite/ext/random/hoyt_distribution/operators/equal.cc: Likewise.
3693         * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: Likewise.
3694         * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
3695         Likewise.
3696         * testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
3697         Likewise.
3698         * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
3699         Likewise.
3700         * testsuite/ext/random/hypergeometric_distribution/operators/
3701         equal.cc: Likewise.
3702         * testsuite/ext/random/hypergeometric_distribution/operators/
3703         inequal.cc: Likewise.
3704         * testsuite/ext/random/hypergeometric_distribution/operators/
3705         serialize.cc: Likewise.
3706         * testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
3707         * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
3708         * testsuite/ext/random/k_distribution/operators/equal.cc: Likewise.
3709         * testsuite/ext/random/k_distribution/operators/inequal.cc: Likewise.
3710         * testsuite/ext/random/k_distribution/operators/serialize.cc: Likewise.
3711         * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
3712         * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
3713         * testsuite/ext/random/logistic_distribution/operators/equal.cc:
3714         Likewise.
3715         * testsuite/ext/random/logistic_distribution/operators/inequal.cc:
3716         Likewise.
3717         * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
3718         Likewise.
3719         * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
3720         * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
3721         * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
3722         Likewise.
3723         * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
3724         Likewise.
3725         * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
3726         Likewise.
3727         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
3728         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
3729         * testsuite/ext/random/normal_mv_distribution/operators/equal.cc:
3730         Likewise.
3731         * testsuite/ext/random/normal_mv_distribution/operators/inequal.cc:
3732         Likewise.
3733         * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
3734         * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
3735         * testsuite/ext/random/pareto_distribution/operators/equal.cc: Likewise.
3736         * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
3737         Likewise.
3738         * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
3739         Likewise.
3740         * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
3741         * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
3742         * testsuite/ext/random/rice_distribution/operators/equal.cc: Likewise.
3743         * testsuite/ext/random/rice_distribution/operators/inequal.cc: Likewise.
3744         * testsuite/ext/random/rice_distribution/operators/serialize.cc:
3745         Likewise.
3746         * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
3747         default.cc: Likewise.
3748         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3749         equal.cc: Likewise.
3750         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3751         inequal.cc: Likewise.
3752         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3753         serialize.cc: Likewise.
3754         * testsuite/ext/random/triangular_distribution/cons/default.cc:
3755         Likewise.
3756         * testsuite/ext/random/triangular_distribution/cons/parms.cc: Likewise.
3757         * testsuite/ext/random/triangular_distribution/operators/equal.cc:
3758         Likewise.
3759         * testsuite/ext/random/triangular_distribution/operators/inequal.cc:
3760         Likewise.
3761         * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
3762         Likewise.
3763         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3764         equal.cc: Likewise.
3765         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3766         generate.cc: Likewise.
3767         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3768         inequal.cc: Likewise.
3769         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3770         serialize.cc: Likewise.
3771         * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise.
3772         * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
3773         * testsuite/ext/random/von_mises_distribution/operators/equal.cc:
3774         Likewise.
3775         * testsuite/ext/random/von_mises_distribution/operators/inequal.cc:
3776         Likewise.
3777         * testsuite/ext/rope/2.cc: Likewise.
3778         * testsuite/ext/rope/3.cc: Likewise.
3779         * testsuite/ext/rope/4.cc: Likewise.
3780         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
3781         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
3782         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise.
3783         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
3784         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
3785         * testsuite/ext/stdio_filebuf/char/10063-1.cc: Likewise.
3786         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
3787         * testsuite/ext/stdio_filebuf/char/10063-3.cc: Likewise.
3788         * testsuite/ext/stdio_filebuf/char/2.cc: Likewise.
3789         * testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.
3790         * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise.
3791         * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise.
3792         * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise.
3793         * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise.
3794         * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
3795         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
3796         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise.
3797         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise.
3798         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise.
3799         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise.
3800         * testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
3801         * testsuite/ext/type_traits/add_unsigned.cc: Likewise.
3802         * testsuite/ext/type_traits/remove_unsigned.cc: Likewise.
3803         * testsuite/ext/vstring/capacity/29134.cc: Likewise.
3804         * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
3805         * testsuite/ext/vstring/cons/58415-1.cc: Likewise.
3806         * testsuite/ext/vstring/cons/moveable.cc: Likewise.
3807         * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
3808         * testsuite/ext/vstring/element_access/char/front_back.cc: Likewise.
3809         * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
3810         * testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise.
3811         * testsuite/ext/vstring/hash/char/1.cc: Likewise.
3812         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
3813         * testsuite/ext/vstring/init-list.cc: Likewise.
3814         * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
3815         * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise.
3816         * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Likewise.
3817         * testsuite/ext/vstring/modifiers/pop_back/char/1.cc: Likewise.
3818         * testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc: Likewise.
3819         * testsuite/ext/vstring/operators/1.cc: Likewise.
3820         * testsuite/ext/vstring/operators/2.cc: Likewise.
3821
3822 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3823
3824         PR libstdc++/65122
3825         * include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
3826         aligned_alloc for types with extended alignment if available,
3827         otherwise throw bad_alloc if malloc doesn't return a suitable value.
3828         * include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
3829         (bitmap_allocator::deallocate): Use aligned new/delete for types with
3830         extended alignment.
3831         * include/ext/mt_allocator.h (__mt_alloc::allocate)
3832         (__mt_alloc::deallocate): Likewise.
3833         * include/ext/new_allocator.h (new_allocator::allocate)
3834         (new_allocator::deallocate): Likewise.
3835         * include/ext/pool_allocator.h (__pool_alloc::allocate)
3836         (__pool_alloc::deallocate): Likewise.
3837         * testsuite/20_util/allocator/overaligned.cc: New test.
3838         * testsuite/ext/bitmap_allocator/overaligned.cc: New test.
3839         * testsuite/ext/malloc_allocator/overaligned.cc: New test.
3840         * testsuite/ext/mt_allocator/overaligned.cc: New test.
3841         * testsuite/ext/new_allocator/overaligned.cc: New test.
3842         * testsuite/ext/pool_allocator/overaligned.cc: New test.
3843
3844 2016-10-14  Tim Shen  <timshen@google.com>
3845
3846         PR libstdc++/77944
3847         * include/std/variant: Include <bits/funcexcept.h> for __try and
3848         __catch.
3849
3850 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3851
3852         * include/std/functional (_Reference_wrapper_base_impl): Remove.
3853         (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
3854         (_Reference_wrapper_base): Inherit from new helpers.
3855
3856 2016-10-13  Paolo Carlini  <paolo.carlini@oracle.com>
3857
3858         * testsuite/24_iterators/container_access.cc: Remove 'test' variables.
3859         * testsuite/24_iterators/istream_iterator/2.cc: Likewise.
3860         * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
3861         * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
3862         * testsuite/24_iterators/operations/next.cc: Likewise.
3863         * testsuite/24_iterators/operations/prev.cc: Likewise.
3864         * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
3865         * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
3866         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
3867         * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
3868         * testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
3869         * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
3870         * testsuite/25_algorithms/all_of/1.cc: Likewise.
3871         * testsuite/25_algorithms/any_of/1.cc: Likewise.
3872         * testsuite/25_algorithms/binary_search/2.cc: Likewise.
3873         * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
3874         * testsuite/25_algorithms/clamp/1.cc: Likewise.
3875         * testsuite/25_algorithms/clamp/2.cc: Likewise.
3876         * testsuite/25_algorithms/copy/1.cc: Likewise.
3877         * testsuite/25_algorithms/copy/2.cc: Likewise.
3878         * testsuite/25_algorithms/copy/3.cc: Likewise.
3879         * testsuite/25_algorithms/copy/34595.cc: Likewise.
3880         * testsuite/25_algorithms/copy/4.cc: Likewise.
3881         * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
3882         * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
3883         * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
3884         * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
3885         * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
3886         * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
3887         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
3888         Likewise.
3889         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
3890         Likewise.
3891         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
3892         Likewise.
3893         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
3894         Likewise.
3895         * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
3896         * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
3897         * testsuite/25_algorithms/copy_n/1.cc: Likewise.
3898         * testsuite/25_algorithms/copy_n/2.cc: Likewise.
3899         * testsuite/25_algorithms/copy_n/3.cc: Likewise.
3900         * testsuite/25_algorithms/copy_n/4.cc: Likewise.
3901         * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
3902         * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
3903         * testsuite/25_algorithms/equal_range/2.cc: Likewise.
3904         * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
3905         * testsuite/25_algorithms/fill/1.cc: Likewise.
3906         * testsuite/25_algorithms/fill/2.cc: Likewise.
3907         * testsuite/25_algorithms/fill/3.cc: Likewise.
3908         * testsuite/25_algorithms/fill/4.cc: Likewise.
3909         * testsuite/25_algorithms/fill_n/1.cc: Likewise.
3910         * testsuite/25_algorithms/find/39546.cc: Likewise.
3911         * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
3912         * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
3913         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
3914         Likewise.
3915         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
3916         Likewise.
3917         * testsuite/25_algorithms/find_if/1.cc: Likewise.
3918         * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
3919         * testsuite/25_algorithms/for_each/1.cc: Likewise.
3920         * testsuite/25_algorithms/heap/1.cc: Likewise.
3921         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
3922         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
3923         * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
3924         * testsuite/25_algorithms/includes/1.cc: Likewise.
3925         * testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
3926         * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
3927         * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
3928         * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
3929         * testsuite/25_algorithms/is_heap/1.cc: Likewise.
3930         * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
3931         * testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
3932         * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
3933         * testsuite/25_algorithms/is_permutation/2.cc: Likewise.
3934         * testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
3935         * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
3936         * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
3937         * testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
3938         * testsuite/25_algorithms/lower_bound/2.cc: Likewise.
3939         * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
3940         * testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
3941         * testsuite/25_algorithms/max/1.cc: Likewise.
3942         * testsuite/25_algorithms/max/2.cc: Likewise.
3943         * testsuite/25_algorithms/max/3.cc: Likewise.
3944         * testsuite/25_algorithms/max/37547.cc: Likewise.
3945         * testsuite/25_algorithms/max/4.cc: Likewise.
3946         * testsuite/25_algorithms/min/1.cc: Likewise.
3947         * testsuite/25_algorithms/min/2.cc: Likewise.
3948         * testsuite/25_algorithms/min/3.cc: Likewise.
3949         * testsuite/25_algorithms/min/37547.cc: Likewise.
3950         * testsuite/25_algorithms/min/4.cc: Likewise.
3951         * testsuite/25_algorithms/minmax/1.cc: Likewise.
3952         * testsuite/25_algorithms/minmax/2.cc: Likewise.
3953         * testsuite/25_algorithms/minmax/3.cc: Likewise.
3954         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
3955         * testsuite/25_algorithms/minmax_element/1.cc: Likewise.
3956         * testsuite/25_algorithms/move/1.cc: Likewise.
3957         * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
3958         * testsuite/25_algorithms/move_backward/1.cc: Likewise.
3959         * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
3960         * testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
3961         * testsuite/25_algorithms/none_of/1.cc: Likewise.
3962         * testsuite/25_algorithms/nth_element/1.cc: Likewise.
3963         * testsuite/25_algorithms/nth_element/2.cc: Likewise.
3964         * testsuite/25_algorithms/nth_element/3.cc: Likewise.
3965         * testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
3966         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
3967         * testsuite/25_algorithms/partial_sort/2.cc: Likewise.
3968         * testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
3969         Likewise.
3970         * testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
3971         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
3972         * testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
3973         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
3974         * testsuite/25_algorithms/partition/1.cc: Likewise.
3975         * testsuite/25_algorithms/partition/moveable.cc: Likewise.
3976         * testsuite/25_algorithms/partition_copy/1.cc: Likewise.
3977         * testsuite/25_algorithms/partition_point/1.cc: Likewise.
3978         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
3979         * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
3980         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
3981         * testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
3982         * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
3983         * testsuite/25_algorithms/rotate/1.cc: Likewise.
3984         * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
3985         * testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
3986         * testsuite/25_algorithms/rotate/rotate.cc: Likewise.
3987         * testsuite/25_algorithms/search/1.cc: Likewise.
3988         * testsuite/25_algorithms/search_n/58358.cc: Likewise.
3989         * testsuite/25_algorithms/shuffle/1.cc: Likewise.
3990         * testsuite/25_algorithms/sort/1.cc: Likewise.
3991         * testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
3992         * testsuite/25_algorithms/sort/moveable.cc: Likewise.
3993         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
3994         * testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
3995         * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
3996         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
3997         * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
3998         * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
3999         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
4000         * testsuite/25_algorithms/stable_sort/2.cc: Likewise.
4001         * testsuite/25_algorithms/stable_sort/3.cc: Likewise.
4002         * testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
4003         * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
4004         Likewise.
4005         * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
4006         * testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
4007         * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
4008         * testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
4009         * testsuite/25_algorithms/unique/11480.cc: Likewise.
4010         * testsuite/25_algorithms/unique/2.cc: Likewise.
4011         * testsuite/25_algorithms/unique/moveable.cc: Likewise.
4012         * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
4013         * testsuite/25_algorithms/unique_copy/2.cc: Likewise.
4014         * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
4015         * testsuite/25_algorithms/upper_bound/2.cc: Likewise.
4016         * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
4017         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
4018         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
4019         Likewise.
4020         * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
4021         Likewise.
4022         * testsuite/28_regex/algorithms/regex_match/basic/
4023         string_range_00_03.cc: Likewise.
4024         * testsuite/28_regex/algorithms/regex_match/basic/
4025         string_range_01_03.cc: Likewise.
4026         * testsuite/28_regex/algorithms/regex_match/basic/
4027         string_range_02_03.cc: Likewise.
4028         * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
4029         Likewise.
4030         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
4031         Likewise.
4032         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
4033         Likewise.
4034         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
4035         Likewise.
4036         * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
4037         Likewise.
4038         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
4039         Likewise.
4040         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
4041         Likewise.
4042         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
4043         Likewise.
4044         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
4045         Likewise.
4046         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
4047         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
4048         Likewise.
4049         * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
4050         Likewise.
4051         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
4052         Likewise.
4053         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
4054         anymatcher.cc: Likewise.
4055         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
4056         Likewise.
4057         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
4058         Likewise.
4059         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
4060         Likewise.
4061         * testsuite/28_regex/algorithms/regex_match/extended/
4062         cstring_questionmark.cc: Likewise.
4063         * testsuite/28_regex/algorithms/regex_match/extended/
4064         cstring_range.cc: Likewise.
4065         * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
4066         Likewise.
4067         * testsuite/28_regex/algorithms/regex_match/extended/
4068         string_range_00_03.cc: Likewise.
4069         * testsuite/28_regex/algorithms/regex_match/extended/
4070         string_range_01_03.cc: Likewise.
4071         * testsuite/28_regex/algorithms/regex_match/extended/
4072         string_range_02_03.cc: Likewise.
4073         * testsuite/28_regex/algorithms/regex_match/extended/
4074         wstring_locale.cc: Likewise.
4075         * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
4076         Likewise.
4077         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
4078         * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
4079         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
4080         Likewise.
4081         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
4082         Likewise.
4083         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
4084         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
4085         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
4086         Likewise.
4087         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
4088         * testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
4089         * testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
4090         * testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
4091         * testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
4092         * testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
4093         * testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
4094         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
4095         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
4096         * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
4097         * testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
4098         * testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
4099         * testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
4100         * testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
4101         Likewise.
4102         * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
4103         Likewise.
4104         * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
4105         * testsuite/28_regex/basic_regex/ctors/extended/
4106         string_range_01_02_03.cc: Likewise.
4107         * testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
4108         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
4109         * testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
4110         * testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
4111         * testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
4112         * testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
4113         * testsuite/28_regex/constants/error_type.cc: Likewise.
4114         * testsuite/28_regex/constants/match_flag_type.cc: Likewise.
4115         * testsuite/28_regex/init-list.cc: Likewise.
4116         * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
4117         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
4118         Likewise.
4119         * testsuite/28_regex/iterators/regex_iterator/char/
4120         string_position_01.cc
4121         * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
4122         Likewise.
4123         * testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
4124         default.cc: Likewise.
4125         * testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
4126         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
4127         Likewise.
4128         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
4129         Likewise.
4130         * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
4131         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
4132         Likewise.
4133         * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
4134         default.cc: Likewise.
4135         * testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
4136         default.cc: Likewise.
4137         * testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
4138         Likewise.
4139         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4140         string_01.cc: Likewise.
4141         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4142         wstring_02.cc: Likewise.
4143         * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
4144         * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
4145         * testsuite/28_regex/match_results/format.cc: Likewise.
4146         * testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
4147         * testsuite/28_regex/match_results/swap.cc: Likewise.
4148         * testsuite/28_regex/match_results/typedefs.cc: Likewise.
4149         * testsuite/28_regex/regex_error/regex_error.cc: Likewise.
4150         * testsuite/28_regex/regression.cc: Likewise.
4151         * testsuite/28_regex/sub_match/cast_char.cc: Likewise.
4152         * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
4153         * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
4154         * testsuite/28_regex/sub_match/length.cc: Likewise.
4155         * testsuite/28_regex/traits/char/ctor.cc: Likewise.
4156         * testsuite/28_regex/traits/char/isctype.cc: Likewise.
4157         * testsuite/28_regex/traits/char/length.cc: Likewise.
4158         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
4159         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
4160         * testsuite/28_regex/traits/char/transform.cc: Likewise.
4161         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
4162         * testsuite/28_regex/traits/char/translate.cc: Likewise.
4163         * testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
4164         * testsuite/28_regex/traits/char/user_defined.cc: Likewise.
4165         * testsuite/28_regex/traits/char/value.cc: Likewise.
4166         * testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
4167         * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
4168         * testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
4169         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
4170         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
4171         * testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
4172         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
4173         * testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
4174         * testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
4175         * testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
4176         * testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
4177         * testsuite/29_atomics/atomic/60658.cc: Likewise.
4178         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
4179         * testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
4180         * testsuite/backward/11460.cc: Likewise.
4181         * testsuite/backward/hash_map/1.cc: Likewise.
4182         * testsuite/backward/hash_map/25896.cc: Likewise.
4183         * testsuite/backward/hash_set/1.cc: Likewise.
4184         * testsuite/backward/hash_set/25896.cc: Likewise.
4185         * testsuite/decimal/binary-arith.cc: Likewise.
4186         * testsuite/decimal/comparison.cc: Likewise.
4187         * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
4188         * testsuite/decimal/compound-assignment.cc: Likewise.
4189         * testsuite/decimal/conversion-from-float.cc: Likewise.
4190         * testsuite/decimal/conversion-from-integral.cc: Likewise.
4191         * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
4192         * testsuite/decimal/conversion-to-integral.cc: Likewise.
4193         * testsuite/decimal/ctor.cc: Likewise.
4194         * testsuite/decimal/incdec-memfunc.cc: Likewise.
4195         * testsuite/decimal/incdec.cc: Likewise.
4196         * testsuite/decimal/make-decimal.cc: Likewise.
4197         * testsuite/decimal/pr54036-1.cc: Likewise.
4198         * testsuite/decimal/pr54036-2.cc: Likewise.
4199         * testsuite/decimal/pr54036-3.cc: Likewise.
4200         * testsuite/decimal/unary-arith.cc: Likewise.
4201         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
4202         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
4203         Likewise.
4204         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
4205         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
4206         Likewise.
4207         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
4208         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
4209         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
4210         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
4211         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
4212         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
4213         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
4214         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
4215         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
4216         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
4217         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
4218         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
4219         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
4220         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
4221         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
4222         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
4223         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
4224         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
4225         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
4226         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
4227         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
4228         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
4229         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
4230         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
4231         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
4232         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
4233         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
4234         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
4235         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
4236         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
4237         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
4238         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
4239         * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
4240         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
4241         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
4242         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
4243         * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
4244         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
4245         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
4246         * testsuite/tr2/bases/value.cc: Likewise.
4247         * testsuite/tr2/direct_bases/value.cc: Likewise.
4248         * testsuite/util/debug/checks.h: Likewise.
4249         * testsuite/util/debug/unordered_checks.h: Likewise.
4250         * testsuite/util/testsuite_allocator.h: Likewise.
4251         * testsuite/util/testsuite_api.h: Likewise.
4252         * testsuite/util/testsuite_common_types.h: Likewise.
4253         * testsuite/util/testsuite_random.h: Likewise.
4254         * testsuite/util/testsuite_rvalref.h: Likewise.
4255
4256 2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
4257
4258         * include/bits/shared_ptr_base.h: Include <functional>.
4259         [!__cpp_rtti]: Do not include <typeinfo>.
4260         * include/experimental/array: Do not include <functional>.
4261         * include/experimental/memory: Include <bits/functional_hash.h>
4262         instead of <functional>.
4263         * include/experimental/propagate_const: Include <bits/stl_function.h>,
4264         <bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
4265         * include/experimental/tuple: Do not include <functional>.
4266         * include/std/future: Include <functional>.
4267         * include/std/memory: Do not include <functional>.
4268         * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
4269         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
4270         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
4271         missing includes.
4272         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4273         * testsuite/20_util/specialized_algorithms/memory_management_tools/
4274         1.cc: Likewise.
4275         * testsuite/30_threads/call_once/60497.cc: Likewise.
4276         * testsuite/30_threads/lock/2.cc: Likewise.
4277         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
4278         * testsuite/experimental/algorithm/sample.cc: Likewise.
4279         * testsuite/experimental/array/make_array.cc: Likewise.
4280         * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
4281         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
4282         Adjust dg-error lines.
4283         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
4284         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
4285         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
4286         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
4287         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
4288
4289         * testsuite/experimental/algorithm/sample.cc: Add missing header.
4290
4291         * include/experimental/propagate_const (element_type): Qualify
4292         declval.
4293
4294         * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
4295         instead of assert.
4296
4297         * include/experiumental/functional (boyer_moore_searcher)
4298         (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
4299         with _GLIBCXX_STD_C.
4300         * include/std/functional: Likewise.
4301
4302         * include/std/chrono (floor): Replace non-constexpr operation.
4303         * testsuite/20_util/duration_cast/rounding.cc: Test conversion to
4304         durations with floating pointer representations.
4305
4306         * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
4307         (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
4308
4309         * include/std/functional (_Bind_simple, _Bind_simple_helper)
4310         (__bind_simple): Remove.
4311         * include/std/future: Include <bits/invoke.h> instead of <functional>.
4312         (__future_base::_Task_state::_M_run)
4313         (__future_base::_Task_state::_M_run_delayed): Use lambda expressions
4314         instead of __bind_simple.
4315         (__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
4316         (async): Use thread::__make_invoker instead of __bind_simple.
4317         * include/std/thread: Include <tuple> and <bits/invoke.h> instead of
4318         <functional>.
4319         (thread::_Invoker, thread::__make_invoker): Define helpers to do
4320         INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
4321
4322         * include/std/functional (_Not_fn): Make exception specifications
4323         depend on whether negating the result can throw.
4324         * testsuite/20_util/not_fn/1.cc: Move to ...
4325         * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
4326         for types that can throw when negated and that cannot be negated.
4327
4328         * include/bits/invoke.h (__invoke): Fix exception-specification.
4329         * include/std/functional (invoke): Likewise.
4330         * testsuite/20_util/function_objects/invoke/1.cc: New test.
4331
4332 2016-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
4333
4334         * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
4335         __builtin_printf and __builtin_abort.
4336         * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
4337         * scripts/testsuite_flags.in: Likewise.
4338         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
4339         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
4340         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
4341         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
4342         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
4343         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
4344         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
4345         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
4346         * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
4347         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
4348         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
4349         Likewise.
4350         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
4351         Likewise.
4352         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
4353         Likewise.
4354         * testsuite/27_io/objects/char/7.cc: Likewise.
4355         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
4356         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
4357         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
4358         * testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
4359         * testsuite/18_support/bad_alloc/what.cc: Likewise.
4360         * testsuite/18_support/bad_cast/what.cc: Likewise.
4361         * testsuite/18_support/bad_exception/what.cc: Likewise.
4362         * testsuite/18_support/bad_typeid/what.cc: Likewise.
4363         * testsuite/18_support/exception/38732.cc: Likewise.
4364         * testsuite/18_support/exception/what.cc: Likewise.
4365         * testsuite/18_support/exception_ptr/64241.cc: Likewise.
4366         * testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
4367         * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
4368         * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
4369         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
4370         * testsuite/18_support/nested_exception/cons.cc: Likewise.
4371         * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
4372         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
4373         * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
4374         * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
4375         * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
4376         * testsuite/18_support/numeric_limits/digits10.cc: Likewise.
4377         * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
4378         * testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
4379         * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
4380         * testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
4381         * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
4382         * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
4383         * testsuite/18_support/numeric_limits/min_max.cc: Likewise.
4384         * testsuite/18_support/numeric_limits/specialization_default_values.cc:
4385         Likewise.
4386         * testsuite/18_support/type_info/hash_code.cc: Likewise.
4387         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
4388         * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
4389         * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
4390         * testsuite/19_diagnostics/error_category/operators/
4391         not_equal.cc: Likewise.
4392         * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
4393         * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
4394         * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
4395         * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
4396         * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
4397         * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
4398         * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
4399         * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
4400         * testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
4401         Likewise.
4402         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
4403         * testsuite/19_diagnostics/error_condition/operators/equal.cc:
4404         Likewise.
4405         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
4406         Likewise.
4407         * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
4408         * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
4409         * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
4410         * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
4411         * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
4412         * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
4413         * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
4414         * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
4415         * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
4416         * testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
4417         * testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
4418         * testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
4419         * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
4420         * testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
4421         * testsuite/20_util/addressof/1.cc: Likewise.
4422         * testsuite/20_util/align/1.cc: Likewise.
4423         * testsuite/20_util/align/2.cc: Likewise.
4424         * testsuite/20_util/allocator/1.cc: Likewise.
4425         * testsuite/20_util/allocator/10378.cc: Likewise.
4426         * testsuite/20_util/allocator/8230.cc: Likewise.
4427         * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
4428         Likewise.
4429         * testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
4430         * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
4431         * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
4432         * testsuite/20_util/any/assign/exception.cc: Likewise.
4433         * testsuite/20_util/auto_ptr/1.cc: Likewise.
4434         * testsuite/20_util/auto_ptr/2.cc: Likewise.
4435         * testsuite/20_util/auto_ptr/3.cc: Likewise.
4436         * testsuite/20_util/auto_ptr/4.cc: Likewise.
4437         * testsuite/20_util/auto_ptr/5.cc: Likewise.
4438         * testsuite/20_util/auto_ptr/6.cc: Likewise.
4439         * testsuite/20_util/auto_ptr/7.cc: Likewise.
4440         * testsuite/20_util/bind/all_bound.cc: Likewise.
4441         * testsuite/20_util/bind/conv_result.cc: Likewise.
4442         * testsuite/20_util/bind/cv_quals.cc: Likewise.
4443         * testsuite/20_util/bind/cv_quals_2.cc
4444         * testsuite/20_util/bind/nested.cc: Likewise.
4445         * testsuite/20_util/bind/placeholders.cc: Likewise.
4446         * testsuite/20_util/bind/ref.cc: Likewise.
4447         * testsuite/20_util/bind/ref2.cc: Likewise.
4448         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
4449         * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
4450         * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
4451         * testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
4452         * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
4453         * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
4454         * testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
4455         * testsuite/20_util/duration/cons/1.cc: Likewise.
4456         * testsuite/20_util/duration/cons/2.cc: Likewise.
4457         * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
4458         * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
4459         * testsuite/20_util/enable_shared_from_this/members/assign.cc:
4460         Likewise.
4461         * testsuite/20_util/exchange/1.cc: Likewise.
4462         * testsuite/20_util/forward/a.cc: Likewise.
4463         * testsuite/20_util/forward/b.cc: Likewise.
4464         * testsuite/20_util/forward/d.cc: Likewise.
4465         * testsuite/20_util/function/1.cc: Likewise.
4466         * testsuite/20_util/function/2.cc: Likewise.
4467         * testsuite/20_util/function/3.cc: Likewise.
4468         * testsuite/20_util/function/4.cc: Likewise.
4469         * testsuite/20_util/function/43397.cc: Likewise.
4470         * testsuite/20_util/function/5.cc: Likewise.
4471         * testsuite/20_util/function/6.cc: Likewise.
4472         * testsuite/20_util/function/7.cc: Likewise.
4473         * testsuite/20_util/function/8.cc: Likewise.
4474         * testsuite/20_util/function/9.cc: Likewise.
4475         * testsuite/20_util/function/assign/move.cc: Likewise.
4476         * testsuite/20_util/function/cons/move.cc: Likewise.
4477         * testsuite/20_util/function_objects/dr660.cc: Likewise.
4478         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
4479         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
4480         * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
4481         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
4482         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
4483         * testsuite/20_util/hash/operators/size_t.cc: Likewise.
4484         * testsuite/20_util/hash/quality.cc: Likewise.
4485         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
4486         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
4487         * testsuite/20_util/is_function/24808.cc: Likewise.
4488         * testsuite/20_util/is_object/24808.cc: Likewise.
4489         * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
4490         * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
4491         * testsuite/20_util/owner_less/cmp.cc: Likewise.
4492         * testsuite/20_util/pair/1.cc: Likewise.
4493         * testsuite/20_util/pair/2.cc: Likewise.
4494         * testsuite/20_util/pair/3.cc: Likewise.
4495         * testsuite/20_util/pair/4.cc: Likewise.
4496         * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
4497         * testsuite/20_util/pair/moveable.cc: Likewise.
4498         * testsuite/20_util/pair/piecewise.cc: Likewise.
4499         * testsuite/20_util/pair/swap.cc: Likewise.
4500         * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
4501         * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
4502         * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
4503         * testsuite/20_util/ratio/cons/cons1.cc: Likewise.
4504         * testsuite/20_util/ratio/operations/45866.cc: Likewise.
4505         * testsuite/20_util/ratio/operations/47913.cc: Likewise.
4506         * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
4507         * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
4508         * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
4509         * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
4510         * testsuite/20_util/scoped_allocator/1.cc: Likewise.
4511         * testsuite/20_util/scoped_allocator/2.cc: Likewise.
4512         * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
4513         * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
4514         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
4515         * testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
4516         * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
4517         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
4518         Likewise.
4519         * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
4520         * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
4521         * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
4522         * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
4523         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
4524         * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
4525         * testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
4526         * testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
4527         * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
4528         * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
4529         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
4530         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
4531         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
4532         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
4533         Likewise.
4534         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
4535         Likewise.
4536         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
4537         * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
4538         * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
4539         * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
4540         * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
4541         * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
4542         * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
4543         * testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
4544         * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
4545         * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
4546         * testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
4547         * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
4548         * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
4549         * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
4550         * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
4551         * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
4552         * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
4553         * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
4554         * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
4555         * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
4556         * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
4557         * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
4558         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
4559         Likewise.
4560         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4561         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
4562         move_iterators/1.cc: Likewise.
4563         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
4564         move_iterators/1.cc: Likewise.
4565         * testsuite/20_util/temporary_buffer.cc: Likewise.
4566         * testsuite/20_util/time_point/1.cc: Likewise.
4567         * testsuite/20_util/time_point/2.cc: Likewise.
4568         * testsuite/20_util/time_point/3.cc: Likewise.
4569         * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
4570         * testsuite/20_util/tuple/48476.cc: Likewise.
4571         * testsuite/20_util/tuple/comparison_operators/comparisons.cc:
4572         Likewise.
4573         * testsuite/20_util/tuple/cons/allocators.cc: Likewise.
4574         * testsuite/20_util/tuple/cons/assignment.cc: Likewise.
4575         * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
4576         * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
4577         * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
4578         * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
4579         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
4580         * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
4581         Likewise.
4582         * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
4583         * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
4584         * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
4585         * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
4586         * testsuite/20_util/tuple/element_access/get.cc: Likewise.
4587         * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
4588         * testsuite/20_util/tuple/moveable.cc: Likewise.
4589         * testsuite/20_util/tuple/swap.cc: Likewise.
4590         * testsuite/20_util/tuple/tuple_size.cc: Likewise.
4591         * testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
4592         * testsuite/20_util/typeindex/hash.cc: Likewise.
4593         * testsuite/20_util/typeindex/hash_code.cc: Likewise.
4594         * testsuite/20_util/typeindex/name.cc: Likewise.
4595         * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
4596         * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
4597         * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
4598         * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
4599         * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
4600         * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
4601         * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
4602         * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
4603         * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
4604         * testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
4605         * testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
4606         * testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
4607         * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
4608         * testsuite/20_util/unique_ptr/specialized_algorithms/
4609         comparisons.cc: Likewise.
4610         * testsuite/20_util/unique_ptr/specialized_algorithms/
4611         comparisons_array.cc: Likewise.
4612         * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
4613         Likewise.
4614         * testsuite/20_util/uses_allocator/construction.cc: Likewise.
4615         * testsuite/20_util/uses_allocator/value.cc: Likewise.
4616         * testsuite/20_util/variant/run.cc: Likewise.
4617         * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
4618         * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
4619         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
4620         Likewise.
4621         * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
4622         * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
4623         Likewise.
4624         * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
4625         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
4626         Likewise.
4627         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
4628         Likewise.
4629         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
4630         Likewise.
4631         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
4632         Likewise.
4633         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
4634         Likewise.
4635         * testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
4636         * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
4637         * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
4638         * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
4639         * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
4640         Likewise.
4641         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
4642         * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
4643         Likewise.
4644         * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
4645         * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
4646         Likewise.
4647         * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
4648         * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
4649         * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
4650         * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
4651         * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
4652         * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
4653         * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
4654         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
4655         * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
4656         * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
4657         * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
4658         * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
4659         * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
4660         * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
4661         * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
4662         * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
4663         * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
4664         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
4665         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
4666         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
4667         * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
4668         * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
4669         Likewise.
4670         * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
4671         * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
4672         * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
4673         * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
4674         * testsuite/21_strings/basic_string/element_access/char/58163.cc:
4675         Likewise.
4676         * testsuite/21_strings/basic_string/element_access/char/empty.cc:
4677         Likewise.
4678         * testsuite/21_strings/basic_string/element_access/char/front_back.cc:
4679         Likewise.
4680         * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
4681         Likewise.
4682         * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
4683         Likewise.
4684         * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
4685         Likewise.
4686         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
4687         Likewise.
4688         * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
4689         Likewise.
4690         * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
4691         Likewise.
4692         * testsuite/21_strings/basic_string/element_access/wchar_t/
4693         front_back.cc: Likewise.
4694         * testsuite/21_strings/basic_string/init-list.cc: Likewise.
4695         * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
4696         Likewise.
4697         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
4698         Likewise.
4699         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
4700         Likewise.
4701         * testsuite/21_strings/basic_string/inserters_extractors/char/
4702         28277.cc: Likewise.
4703         * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
4704         Likewise.
4705         * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
4706         Likewise.
4707         * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
4708         Likewise.
4709         * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
4710         Likewise.
4711         * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
4712         Likewise.
4713         * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
4714         Likewise.
4715         * testsuite/21_strings/basic_string/inserters_extractors/pod/
4716         10081-in.cc: Likewise.
4717         * testsuite/21_strings/basic_string/inserters_extractors/pod/
4718         10081-out.cc: Likewise.
4719         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
4720         Likewise.
4721         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4722         10.cc: Likewise.
4723         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4724         11.cc: Likewise.
4725         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4726         28277.cc: Likewise.
4727         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
4728         Likewise.
4729         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
4730         Likewise.
4731         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
4732         Likewise.
4733         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
4734         Likewise.
4735         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
4736         Likewise.
4737         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
4738         Likewise.
4739         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
4740         Likewise.
4741         * testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
4742         Likewise.
4743         * testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
4744         Likewise.
4745         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
4746         Likewise.
4747         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
4748         Likewise.
4749         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
4750         Likewise.
4751         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
4752         Likewise.
4753         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
4754         Likewise.
4755         * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
4756         Likewise.
4757         * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
4758         Likewise.
4759         * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
4760         Likewise.
4761         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
4762         Likewise.
4763         * testsuite/21_strings/basic_string/modifiers/assign/char/
4764         move_assign.cc: Likewise.
4765         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
4766         Likewise.
4767         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
4768         Likewise.
4769         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
4770         Likewise.
4771         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
4772         Likewise.
4773         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
4774         move_assign.cc: Likewise.
4775         * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
4776         Likewise.
4777         * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
4778         Likewise.
4779         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
4780         Likewise.
4781         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
4782         Likewise.
4783         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
4784         Likewise.
4785         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
4786         Likewise.
4787         * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
4788         Likewise.
4789         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
4790         Likewise.
4791         * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
4792         Likewise.
4793         * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
4794         Likewise.
4795         * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
4796         Likewise.
4797         * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
4798         Likewise.
4799         * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
4800         Likewise.
4801         * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
4802         Likewise.
4803         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
4804         Likewise.
4805         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
4806         Likewise.
4807         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
4808         Likewise.
4809         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
4810         Likewise.
4811         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
4812         Likewise.
4813         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
4814         Likewise.
4815         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
4816         Likewise.
4817         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
4818         Likewise.
4819         * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
4820         Likewise.
4821         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
4822         Likewise.
4823         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
4824         Likewise.
4825         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
4826         Likewise.
4827         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
4828         Likewise.
4829         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
4830         Likewise.
4831         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
4832         Likewise.
4833         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
4834         Likewise.
4835         * testsuite/21_strings/basic_string/numeric_conversions/char/
4836         stoull.cc: Likewise.
4837         * testsuite/21_strings/basic_string/numeric_conversions/char/
4838         to_string.cc: Likewise.
4839         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4840         dr1261.cc: Likewise.
4841         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4842         stod.cc: Likewise.
4843         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4844         stof.cc: Likewise.
4845         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4846         stoi.cc: Likewise.
4847         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4848         stol.cc: Likewise.
4849         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4850         stold.cc: Likewise.
4851         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4852         stoll.cc: Likewise.
4853         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4854         stoul.cc: Likewise.
4855         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4856         stoull.cc: Likewise.
4857         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4858         to_wstring.cc: Likewise.
4859         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
4860         Likewise.
4861         * testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
4862         Likewise.
4863         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
4864         Likewise.
4865         * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
4866         Likewise.
4867         * testsuite/21_strings/basic_string/operations/compare/wchar_t/
4868         13650.cc: Likewise.
4869         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
4870         Likewise.
4871         * testsuite/21_strings/basic_string/operations/data/char/1.cc:
4872         Likewise.
4873         * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
4874         Likewise.
4875         * testsuite/21_strings/basic_string/operations/find/char/1.cc:
4876         Likewise.
4877         * testsuite/21_strings/basic_string/operations/find/char/2.cc:
4878         Likewise.
4879         * testsuite/21_strings/basic_string/operations/find/char/3.cc:
4880         Likewise.
4881         * testsuite/21_strings/basic_string/operations/find/char/4.cc:
4882         Likewise.
4883         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
4884         Likewise.
4885         * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
4886         Likewise.
4887         * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
4888         Likewise.
4889         * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
4890         Likewise.
4891         * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
4892         Likewise.
4893         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
4894         Likewise.
4895         * testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
4896         Likewise.
4897         * testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
4898         Likewise.
4899         * testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
4900         Likewise.
4901         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
4902         Likewise.
4903         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
4904         Likewise.
4905         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
4906         Likewise.
4907         * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
4908         Likewise.
4909         * testsuite/21_strings/basic_string/operations/substr/wchar_t/
4910         1.cc: Likewise.
4911         * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
4912         * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
4913         * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
4914         * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
4915         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
4916         * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
4917         * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
4918         * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
4919         * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
4920         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
4921         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
4922         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
4923         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
4924         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
4925         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
4926         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
4927         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
4928         * testsuite/21_strings/basic_string_view/element_access/char/
4929         1.cc: Likewise.
4930         * testsuite/21_strings/basic_string_view/element_access/char/
4931         empty.cc: Likewise.
4932         * testsuite/21_strings/basic_string_view/element_access/char/
4933         front_back.cc: Likewise.
4934         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
4935         1.cc: Likewise.
4936         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
4937         empty.cc: Likewise.
4938         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
4939         front_back.cc: Likewise.
4940         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
4941         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
4942         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
4943         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
4944         Likewise.
4945         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
4946         Likewise.
4947         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
4948         Likewise.
4949         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
4950         Likewise.
4951         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
4952         char/1.cc: Likewise.
4953         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
4954         wchar_t/1.cc: Likewise.
4955         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
4956         char/1.cc: Likewise.
4957         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
4958         wchar_t/1.cc: Likewise.
4959         * testsuite/21_strings/basic_string_view/operations/compare/char/
4960         1.cc: Likewise.
4961         * testsuite/21_strings/basic_string_view/operations/compare/char/
4962         13650.cc: Likewise.
4963         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
4964         1.cc: Likewise.
4965         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
4966         13650.cc: Likewise.
4967         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
4968         Likewise.
4969         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
4970         Likewise.
4971         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
4972         Likewise.
4973         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
4974         Likewise.
4975         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
4976         Likewise.
4977         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
4978         Likewise.
4979         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
4980         Likewise.
4981         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
4982         Likewise.
4983         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
4984         1.cc: Likewise.
4985         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
4986         2.cc: Likewise.
4987         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
4988         3.cc: Likewise.
4989         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
4990         4.cc: Likewise.
4991         * testsuite/21_strings/basic_string_view/operations/rfind/char/
4992         1.cc: Likewise.
4993         * testsuite/21_strings/basic_string_view/operations/rfind/char/
4994         2.cc: Likewise.
4995         * testsuite/21_strings/basic_string_view/operations/rfind/char/
4996         3.cc: Likewise.
4997         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
4998         1.cc: Likewise.
4999         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5000         2.cc: Likewise.
5001         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5002         3.cc: Likewise.
5003         * testsuite/21_strings/basic_string_view/operations/string_conversion/
5004         1.cc: Likewise.
5005         * testsuite/21_strings/basic_string_view/operations/substr/char/
5006         1.cc: Likewise.
5007         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
5008         1.cc: Likewise.
5009         * testsuite/21_strings/basic_string_view/operators/char/2.cc:
5010         Likewise.
5011         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
5012         Likewise.
5013         * testsuite/21_strings/c_strings/char/1.cc: Likewise.
5014         * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
5015         * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
5016         * testsuite/21_strings/char_traits/requirements/char/57704.cc:
5017         Likewise.
5018         * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
5019         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
5020
5021         * doc/xml/manual/test.xml: Fix typo.
5022
5023 2016-10-12  Jonathan Wakely  <jwakely@redhat.com>
5024
5025         * doc/xml/manual/status_cxx2017.xml: Add std::sample status.
5026         * doc/html/*: Regenerate.
5027         * include/experimental/algorithm (__sample): Move to bits/stl_algo.h
5028         and into namespace std.
5029         * include/bits/stl_algo.h (__sample): Define here. Fix invalid use
5030         of input iterator. Defend against overloaded comma operator.
5031         (sample): Define for C++17.
5032         * testsuite/25_algorithms/sample/1.cc: New test.
5033
5034         * testsuite/util/testsuite_common_types.h
5035         (bitwise_assignment_operators): Use direct-initialization for C++11
5036         and later, to avoid CopyConstructible requirement.
5037         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
5038         line numbers.
5039         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
5040         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
5041         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
5042         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
5043         Adjust expected errors and line numbers.
5044
5045         * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
5046         (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
5047
5048         * include/bits/stl_uninitialized.h
5049         (__uninitialized_default_novalue_n_1<true>): Add missing return.
5050         * testsuite/20_util/specialized_algorithms/memory_management_tools/
5051         1.cc: Check return values of uninitialized_xxx_n algorithms.
5052
5053         * libsupc++/nested_exception.h (throw_with_nested): Remove return.
5054
5055         * doc/xml/manual/intro.xml: Document LWG 2442 status.
5056         * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
5057         [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
5058         partial specialization to unpack args and forward to std::invoke.
5059         (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
5060         instead of __bind_simple and __once_call_impl.
5061         (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
5062         __bind_simple.
5063         * testsuite/30_threads/call_once/dr2442.cc: New test.
5064
5065 2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
5066
5067         * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
5068         _M_assign_dispatch directly with correct tag.
5069
5070         * doc/xml/manual/intro.xml: Document LWG 2484 status.
5071         * libsupc++/nested_exception.h (_Throw_with_nested_impl)
5072         (_Throw_with_nested_helper): Remove.
5073         (__throw_with_nested_impl): New overloaded functions to implement
5074         throw_with_nested logic.
5075         (throw_with_nested): Call __throw_with_nested_impl.
5076         (_Rethrow_if_nested_impl): Remove
5077         (__rethrow_if_nested_impl): New overloaded functions to implement
5078         rethrow_if_nested logic.
5079         (rethrow_if_nested): Call __rethrow_if_nested_impl.
5080         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
5081         problem cases from LWG 2484.
5082
5083         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
5084         Register printer for std::__cxx11::list.
5085         * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
5086         std::__cxx11::list as well as std::list.
5087
5088         * include/experimental/string_view (basic_string_view::_S_compare):
5089         Remove redundant const from return type.
5090         * include/std/string_view (basic_string_view:_S_compare): Likewise.
5091
5092         * include/bits/std_mutex.h (mutex::native_handle)
5093         (lock_guard(mutex_type&, adopt_lock_t)
5094         (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
5095         * include/std/mutex (recursive_mutex, timed_mutex)
5096         (recursive_timed_mutex): Likewise.
5097
5098 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5099
5100         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5101         Replace <literallayout> with nested <variablelist> elements. Update
5102         some more outdated text.
5103         * doc/html/*: Regenerate.
5104
5105 2016-10-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
5106
5107         Make any's copy assignment operator exception-safe,
5108         don't copy the underlying value when any is moved,
5109         make in_place constructors explicit.
5110         * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
5111         Make explicit.
5112         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
5113         Likewise.
5114         (operator=(const any&)): Make strongly exception-safe.
5115         (operator=(any&&)): reset() unconditionally in the case where
5116         rhs has a value.
5117         (operator=(_ValueType&&)): Indent the return type.
5118         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
5119         * testsuite/20_util/any/assign/2.cc: Adjust.
5120         * testsuite/20_util/any/assign/exception.cc: New.
5121         * testsuite/20_util/any/cons/2.cc: Adjust.
5122         * testsuite/20_util/any/cons/explicit.cc: New.
5123         * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
5124
5125 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5126
5127         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5128         Describe other subdirectories and add markup. Remove outdated
5129         reference to check-script target.
5130         * doc/html/*: Regenerate.
5131
5132         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
5133
5134         * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
5135         with noexcept.
5136
5137         * include/std/functional (_Bind_result::__enable_if_void): Use alias
5138         template instead of class template.
5139         (_Bind_result::__disable_if_void): Likewise.
5140         (_Bind_result::__call): Adjust uses of __enable_if_void and
5141         __disable_if_void.
5142
5143         * doc/xml/manual/intro.xml: Document DR 2296 status.
5144         * doc/xml/manual/status_cxx2017.xml: Update status.
5145         * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
5146         call __builtin_addressof.
5147         (addressof): Add _GLIBCXX17_CONSTEXPR.
5148         * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
5149         * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
5150         * testsuite/20_util/forward/f_neg.cc: Likewise.
5151
5152         * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
5153         * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
5154         is_always_equal.
5155         * testsuite/util/testsuite_allocator.h
5156         (uneq_allocator::is_always_equal): Define as false_type.
5157
5158         * include/experimental/numeric (gcd, lcm): Make bool arguments
5159         ill-formed.
5160         * include/std/numeric (gcd, lcm): Likewise.
5161         * testsuite/26_numerics/gcd/gcd_neg.cc: New test.
5162         * testsuite/26_numerics/lcm/lcm_neg.cc: New test.
5163
5164         * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
5165         Add noexcept.
5166         * include/bits/shared_ptr_base.h
5167         (__enable_shared_from_this::weak_from_this): Likewise.
5168         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
5169         Test exception-specification of weak_from_this.
5170
5171 2016-10-07  Jonathan Wakely  <jwakely@redhat.com>
5172
5173         * doc/xml/manual/status_cxx1998.xml: Improve documentation of
5174         implementation-defined properties.
5175         * doc/xml/manual/status_cxx2011.xml: Likewise.
5176         * doc/xml/manual/status_cxx2017.xml: Likewise.
5177
5178         * doc/xml/manual/status_cxx2017.xml: Update status.
5179         * include/std/type_traits (has_unique_object_representations): Define.
5180         * testsuite/20_util/has_unique_object_representations/value.cc: New.
5181         * testsuite/20_util/has_unique_object_representations/requirements/
5182         explicit_instantiation.cc: New.
5183         * testsuite/20_util/has_unique_object_representations/requirements/
5184         typedefs.cc: New.
5185
5186 2016-10-06  Jonathan Wakely  <jwakely@redhat.com>
5187
5188         * doc/xml/manual/status_cxx2011.xml: Update status.
5189         * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
5190         New helpers for recursive OUTERMOST.
5191         (__outermost): Use __outermost_type::_S_outermost.
5192         (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
5193         (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
5194         __outermost_type helper.
5195         (scoped_allocator_adaptor::_Constructible): New alias template.
5196         (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
5197         Constrain template constructors.
5198         * testsuite/20_util/scoped_allocator/3.cc: New test.
5199         * testsuite/20_util/scoped_allocator/outermost.cc: New test.
5200
5201 2016-10-05  Jonathan Wakely  <jwakely@redhat.com>
5202
5203         PR libstdc++/70564
5204         * testsuite/20_util/not_fn/1.cc: Fix test.
5205         * testsuite/experimental/functional/not_fn.cc: Likewise.
5206
5207         PR libstdc++/70101
5208         * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
5209         constructors.
5210         * testsuite/23_containers/priority_queue/allocator.cc: New test.
5211
5212         PR libstdc++/77864
5213         * include/bits/stl_map.h (map::map()): Use nothrow constructibility
5214         of comparison function in conditional noexcept.
5215         * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
5216         * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
5217         * include/bits/stl_set.h (set::set()): Likewise.
5218         * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
5219         New test.
5220         * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
5221         Likewise.
5222         * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
5223         Likewise.
5224         * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
5225         Likewise.
5226
5227         * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
5228         alias declaration.
5229
5230         PR libstdc++/70564
5231         * include/experimental/functional (_Not_fn): Remove.
5232         (not_fn): Use std::_Not_fn.
5233         * include/std/functional (_Not_fn): Add second parameter to
5234         disambiguate copying from initialization by not_fn. Define for C++14.
5235         (not_fn): Add second argument to initialization.
5236         * testsuite/20_util/not_fn/1.cc: Copy call wrapper using
5237         direct-initialization.
5238
5239 2016-10-03  François Dumont  <fdumont@gcc.gnu.org>
5240
5241         * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
5242         declaration...
5243         * src/c++11/mutex_pool.h: ... here. New.
5244         * src/c++11/debug.cc: Use latter.
5245
5246 2016-10-03  Jonathan Wakely  <jwakely@redhat.com>
5247
5248         * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
5249         * doc/html/*: Regenerate.
5250         * include/experimental/numeric (__abs): Move to <numeric>.
5251         (gcd, lcm): Use __detail::gcd and __detail::lcm.
5252         * include/std/numeric (__detail::__abs_integral)
5253         (__detail::__gcd, __detail::__lcm): Define.
5254         (gcd, lcm): Define for C++17.
5255         * testsuite/26_numerics/gcd/1.cc: New test.
5256         * testsuite/26_numerics/lcm/1.cc: New test.
5257         * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
5258         * testsuite/experimental/numeric/lcd.cc: ... this.
5259
5260         PR libstdc++/68323
5261         PR libstdc++/77794
5262         * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
5263         __cxa_thread_atexit and __gnu_cxx::__freeres.
5264         * include/Makefile.am: Add <experimental/bits/lfts_config.h>
5265         * include/Makefile.in: Regenerate.
5266         * include.bits/basic_string.h: Fix nesting of versioned namespaces.
5267         * include/bits/c++config: Declare versioned namespaces for literals.
5268         * include/bits/regex.h (basic_regex, match_results): Add workarounds
5269         for PR c++/59256.
5270         * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
5271         * include/std/chrono: Likewise.
5272         * include/std/complex: Likewise.
5273         * include/std/string_view: Likewise.
5274         * include/std/variant: Likewise. Add workaround for PR c++/59256.
5275         * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
5276         * include/experimental/bits/lfts_config.h: Declare versioned
5277         namespaces.
5278         * include/experimental/algorithm: Include
5279         <experimental/bits/lfts_config.h>.
5280         * include/experimental/any: Likewise.
5281         * include/experimental/bits/erase_if.h: Likewise.
5282         * include/experimental/chrono: Likewise.
5283         * include/experimental/functional: Likewise.
5284         * include/experimental/memory_resource: Likewise.
5285         * include/experimental/optional: Likewise.
5286         * include/experimental/propagate_const: Likewise.
5287         * include/experimental/random: Likewise.
5288         * include/experimental/ratio: Likewise.
5289         * include/experimental/system_error: Likewise.
5290         * include/experimental/tuple: Likewise.
5291         * include/experimental/type_traits: Likewise.
5292         * include/experimental/utility: Likewise.
5293         * include/experimental/string_view: Likewise. Fix nesting of
5294         versioned namespaces.
5295         * include/experimental/bits/string_view.tcc: Reopen inline namespace
5296         for non-inline function definitions.
5297         * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
5298         * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
5299         * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
5300         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
5301         Likewise.
5302         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
5303         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
5304         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
5305         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
5306         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
5307         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
5308
5309         PR libstdc++/77814
5310         * include/bits/std_abs.h: Use "C++" language linkage.
5311         * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
5312         the end. Add <stdalign.h>.
5313
5314 2016-10-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
5315
5316         PR libstdc++/77802
5317         * testsuite/20_util/tuple/77802.cc: New.
5318
5319         Revert:
5320         2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5321         Implement LWG 2729 for tuple.
5322         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5323         Suppress conditionally.
5324         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5325         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5326         (_Tuple_impl(const _Head&)): Constrain.
5327         (_Tuple_impl(_UHead&&)): Likewise.
5328         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5329         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5330         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5331         (operator=(const tuple&)): Enable conditionally.
5332         (operator=(tuple&&)): Suppress conditionally.
5333         (operator=(const tuple<_UElements...>&)): Constrain.
5334         (operator=(tuple<_UElements...>&&)): Likewise.
5335         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5336         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5337         (operator=(const tuple<_U1, _U2>&)): Constrain.
5338         (operator=(tuple<_U1, _U2>&&)): Likewise.
5339         (operator=(const pair<_U1, _U2>&)): Likewise.
5340         (operator=(pair<_U1, _U2>&&)): Likewise.
5341         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5342         * testsuite/20_util/tuple/tuple_traits.cc: New.
5343
5344 2016-09-30  Jonathan Wakely  <jwakely@redhat.com>
5345
5346         PR libstdc++/77795
5347         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
5348         for gets.
5349         * config.h.in: Regenerate.
5350         * configure: Regenerate.
5351         * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
5352         for C++98 and C++11.
5353         * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
5354         * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
5355
5356         * doc/xml/manual/intro.xml: Document LWG 2192 changes.
5357         * doc/html/*: Regenerate.
5358         * include/Makefile.am: Add bits/std_abs.h.
5359         * include/Makefile.in: Regenerate.
5360         * include/bits/std_abs.h: New header defining all required overloads
5361         of std::abs in one place (LWG 2294).
5362         * include/c_global/cmath (abs(double), abs(float), abs(long double)):
5363         Move to bits/std_abs.h.
5364         (abs<_Tp>(_Tp)): Remove.
5365         * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
5366         Move to bits/std_abs.h.
5367         * testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
5368         * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
5369         * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
5370         * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.
5371
5372         PR libstdc++/77801
5373         * include/experimental/numeric: Include <numeric>.
5374         (__abs): Define.
5375         (gcd, lcm): Use __abs instead of std::abs.
5376         * testsuite/experimental/numeric/77801.cc: New test.
5377         * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
5378         * testsuite/experimental/numeric/lcm.cc: Likewise.
5379
5380 2016-09-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
5381
5382         Make optional::reset noexcept, make optional::value
5383         work in constant expressions.
5384         * include/std/optional (_M_get): Make constexpr.
5385         (reset): Make noexcept.
5386         * testsuite/20_util/optional/assignment/7.cc: New.
5387         * testsuite/20_util/optional/observers/6.cc: New.
5388
5389 2016-09-29  Jonathan Wakely  <jwakely@redhat.com>
5390
5391         * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
5392         outside _GLIBCXX_USE_C99_MATH_TR1 condition.
5393
5394 2016-09-29  Alan Modra  <amodra@gmail.com>
5395
5396         * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
5397         * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
5398         Use LONG_DOUBLE_COMPAT_FLAGS.
5399         * Makefile.in: Regenerate.
5400         * configure: Regenerate.
5401         * doc/Makefile.in: Regenerate.
5402         * include/Makefile.in: Regenerate.
5403         * libsupc++/Makefile.in: Regenerate.
5404         * po/Makefile.in: Regenerate.
5405         * python/Makefile.in: Regenerate.
5406         * src/Makefile.in: Regenerate.
5407         * src/c++11/Makefile.in: Regenerate.
5408         * src/c++98/Makefile.in: Regenerate.
5409         * src/filesystem/Makefile.in: Regenerate.
5410         * testsuite/Makefile.in: Regenerate.
5411
5412 2016-09-28  Jonathan Wakely  <jwakely@redhat.com>
5413
5414         * include/std/chrono (system_clock): Fix typo in comment.
5415
5416         * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
5417         definition.
5418         * src/filesystem/ops.cc (file_time): Take error_code parameter and
5419         check for overflow.
5420         (do_copy_file, last_write_time): Pass error_code in file_time calls.
5421         * testsuite/experimental/filesystem/operations/last_write_time.cc:
5422         New.
5423         * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
5424
5425         PR libstdc++/77686
5426         * include/std/functional (_Any_data): Add may_alias attribute.
5427
5428 2016-09-27  Jonathan Wakely  <jwakely@redhat.com>
5429
5430         * doc/xml/manual/status_cxx2017.xml: Update status.
5431         * doc/html/*: Regenerate.
5432         * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
5433         * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
5434
5435         * doc/xml/manual/status_cxx2017.xml: Update status.
5436         * include/c_global/cmath (hypot): Add three-dimensional overloads.
5437         * testsuite/26_numerics/headers/cmath/hypot.cc: New.
5438
5439 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5440
5441         PR libstdc++/77727
5442         * include/std/optional (optional(const optional<_Up>&)):
5443         Default-initialize the base and use emplace.
5444         (optional(optional<_Up>&&)): Likewise.
5445         * testsuite/20_util/optional/cons/77727.cc: New.
5446
5447 2016-09-26  François Dumont  <fdumont@gcc.gnu.org>
5448
5449         * include/debug/safe_base.h
5450         (_Safe_iterator_base::_M_detach_single): Make public.
5451
5452 2016-09-26  Jonathan Wakely  <jwakely@redhat.com>
5453
5454         * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
5455         redefine macro defined in <bits/stl_iterator.h>.
5456
5457         * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
5458         iterator is not past-the-end.
5459         * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
5460         Likewise.
5461         * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
5462         Likewise.
5463         * include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
5464         * include/bits/unordered_map.h (unordered_map::extract(const_iterator))
5465         (unordered_multimap::extract(const_iterator)): Likewise.
5466         * include/bits/unordered_set.h (unordered_set::extract(const_iterator))
5467         (unordered_multiset::extract(const_iterator)): Likewise.
5468
5469 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5470
5471         PR libstdc++/77717
5472         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
5473         Fix an out-of-bounds access.
5474
5475 2016-09-26  Marek Polacek  <polacek@redhat.com>
5476
5477         PR c/7652
5478         * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
5479
5480 2016-09-25  François Dumont  <fdumont@gcc.gnu.org>
5481
5482         * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
5483         functional.
5484         (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
5485         * testsuite/23_containers/vector/debug/mutex_association.cc: New.
5486
5487         * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
5488         bitset*)): Remove __unused__ attribute.
5489         * include/debug/safe_base.h (_Safe_iterator_base): Make
5490         _Safe_sequence_base a friend.
5491         (_Safe_iterator_base::_M_attach): Make protected.
5492         (_Safe_iterator_base::_M_attach_single): Likewise.
5493         (_Safe_iterator_base::_M_detach): Likewise.
5494         (_Safe_iterator_base::_M_detach_single): Likewise.
5495         (_Safe_sequence_base): Make _Safe_iterator_base a friend.
5496         (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
5497         (_Safe_sequence_base::_M_swap): Make protected.
5498         (_Safe_sequence_base::_M_attach): Make private.
5499         (_Safe_sequence_base::_M_attach_single): Likewise.
5500         (_Safe_sequence_base::_M_detach): Likewise.
5501         (_Safe_sequence_base::_M_detach_single): Likewise.
5502         * include/debug/safe_container.h
5503         (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
5504         * include/debug/safe_iterator.h
5505         (_Safe_iterator::operator++()): Name __scoped_lock instance.
5506         * include/debug/safe_iterator.tcc: Remove trailing line.
5507         * include/debug/safe_unordered_base.h
5508         (_Safe_local_iterator_base::_M_attach): Make protected.
5509         (_Safe_local_iterator_base::_M_attach_single): Likewise.
5510         (_Safe_local_iterator_base::_M_detach): Likewise.
5511         (_Safe_local_iterator_base::_M_detach_single): Likewise.
5512         (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
5513         (_Safe_unordered_container_base::_M_attach_local): Make private.
5514         (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
5515         (_Safe_unordered_container_base::_M_detach_local): Likewise.
5516         (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
5517
5518         * include/parallel/algo.h: Generalize usage of std::__iterator_category.
5519         Adjust whitespaces.
5520
5521 2016-09-23  Jonathan Wakely  <jwakely@redhat.com>
5522
5523         PR libstdc++/56166
5524         PR libstdc++/77582
5525         * include/bits/basic_string.h (basic_string::clear()): Drop reference
5526         and use empty rep.
5527         * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
5528         Likewise.
5529         * testsuite/21_strings/basic_string/56166.cc: New.
5530         * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
5531
5532         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
5533         (basic_string::erase(size_type, size_type)): Add fast path for
5534         truncating the string, by calling _M_set_length directly.
5535         (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
5536         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
5537         (basic_string::resize(size_type, _CharT)): Likewise.
5538
5539 2016-09-22  Jason Merrill  <jason@redhat.com>
5540
5541         * configure.ac: Define HAVE_MEMALIGN for newlib.
5542
5543 2015-09-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5544
5545         * config/cpu/m68k/atomicity.h: Adjust comment.
5546         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
5547         explicit atomicity_dir setup via configure.host.
5548         * configure.host (rtems-*): Set atomicity_dir.
5549         * configure: Regenerate.
5550
5551 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5552
5553         Implement C++17 node extraction and insertion (P0083R5)
5554         * doc/xml/manual/status_cxx2017.xml: Document status.
5555         * doc/html/*: Regenerate.
5556         * include/Makefile.am: Add bits/node_handle.h and reorder.
5557         * include/Makefile.in: Regenerate.
5558         * include/bits/hashtable.h (_Hashtable::node_type)
5559         (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
5560         (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
5561         (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
5562         (_Hash_merge_helper): Define primary template.
5563         * include/bits/node_handle.h: New header.
5564         * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
5565         friend.
5566         (map::node_type, map::insert_return_type, map::extract, map::merge)
5567         (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
5568         Define new members.
5569         (_Rb_tree_merge_helper): Specialize for map.
5570         * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
5571         as friend.
5572         (multimap::node_type, multimap::extract, multimap::merge)
5573         (multimap::insert(node_type&&))
5574         (multimap::insert(const_iterator, node_type&&)): Define.
5575         (_Rb_tree_merge_helper): Specialize for multimap.
5576         * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
5577         as friend.
5578         (multiset::node_type, multiset::extract, multiset::merge)
5579         (multiset::insert(node_type&&))
5580         (multiset::insert(const_iterator, node_type&&)): Define.
5581         * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
5582         friend.
5583         (set::node_type, set::insert_return_type, set::extract, set::merge)
5584         (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
5585         Define.
5586         (_Rb_tree_merge_helper): Specialize for set.
5587         * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
5588         (_Rb_tree::node_type, _Rb_tree::insert_return_type)
5589         (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
5590         (_Rb_tree::_M_reinsert_node_hint_unique)
5591         (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
5592         (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
5593         (_Rb_tree_merge_helper): Specialize for multiset.
5594         * include/bits/unordered_map.h (unordered_map): Declare
5595         unordered_map<> and unordered_multimap<> as friends.
5596         (unordered_map::node_type, unordered_map::insert_return_type)
5597         (unordered_map::extract, unordered_map::merge)
5598         (unordered_map::insert(node_type&&))
5599         (unordered_map::insert(const_iterator, node_type&&))
5600         (unordered_multimap): Declare _Hash_merge_helper as friend.
5601         (unordered_multimap::node_type, unordered_multimap::extract)
5602         (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
5603         (unordered_multimap::insert(const_iterator, node_type&&)): Define.
5604         (_Hash_merge_helper): Specialize for unordered maps and multimaps.
5605         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
5606         Declare _Hash_merge_helper as friend.
5607         (unordered_set::node_type, unordered_set::insert_return_type)
5608         (unordered_set::extract, unordered_set::merge)
5609         (unordered_set::insert(node_type&&))
5610         (unordered_set::insert(const_iterator, node_type&&)): Define.
5611         (unordered_multiset::node_type, unordered_multiset::extract)
5612         (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
5613         (unordered_multiset::insert(const_iterator, node_type&&)): Define.
5614         (_Hash_merge_helper): Specialize for unordered sets and multisets.
5615         * include/debug/map.h (map): Add using declarations or forwarding
5616         functions for new members.
5617         * include/debug/map.h (multimap): Likewise.
5618         * include/debug/map.h (multiset): Likewise.
5619         * include/debug/map.h (set): Likewise.
5620         * include/debug/unordered_map (unordered_map, unordered_multimap):
5621         Likewise.
5622         * include/debug/unordered_set( unordered_set, unordered_multiset):
5623         Likewise.
5624         * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
5625         helper function.
5626         (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
5627         (StdNodeHandlePrinter): Define printer for node handles.
5628         (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
5629         * testsuite/23_containers/map/modifiers/extract.cc: New.
5630         * testsuite/23_containers/map/modifiers/merge.cc: New.
5631         * testsuite/23_containers/multimap/modifiers/extract.cc: New.
5632         * testsuite/23_containers/multimap/modifiers/merge.cc: New.
5633         * testsuite/23_containers/multiset/modifiers/extract.cc: New.
5634         * testsuite/23_containers/multiset/modifiers/merge.cc: New.
5635         * testsuite/23_containers/set/modifiers/extract.cc: New.
5636         * testsuite/23_containers/set/modifiers/merge.cc: New.
5637         * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
5638         * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
5639         * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
5640         New.
5641         * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
5642         * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
5643         New.
5644         * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
5645         * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
5646         * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
5647         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
5648         dg-error lineno.
5649         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
5650
5651 2016-09-22  Ville Voutilainen  <ville.voutilainen@gmail.com>
5652
5653         Fix tests on old arm platforms for optional.
5654         * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
5655
5656 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5657
5658         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
5659         recent change to _Variant_storage.
5660         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
5661         reference type.
5662
5663         * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
5664         std::forward and ::new. Cast pointer to void*.
5665         * include/std/variant (_Variant_storage, _Union, _Variant_base)
5666         (__access, __visit_invoke, variant, visit): Qualify std::forward.
5667         * testsuite/20_util/variant/compile.cc: Test for ADL problems.
5668
5669 2016-09-22  Tim Shen  <timshen@google.com>
5670
5671         * include/std/variant (variant::operator=): Fix assignment
5672         on references.
5673         * testsuite/20_util/variant/compile.cc: Add test.
5674
5675 2016-09-22  Tim Shen  <timshen@google.com>
5676
5677         PR libstdc++/77641
5678         * include/std/variant (_Variant_storage::_Variant_storage):
5679         Change _Variant_storage's union to be default constructible.
5680         * testsuite/20_util/variant/compile.cc: New test.
5681
5682 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5683
5684         PR libstdc++/77288
5685         * include/std/optional (__is_optional_impl, __is_optional): Remove.
5686         (__converts_from_optional, __assigns_from_optional): New.
5687         (optional(_Up&&)): Use is_same instead of __is_optional.
5688         (optional(const optional<_Up>&)): Constrain with
5689         __converts_from_optional.
5690         (optional(optional<_Up>&&)): Likewise.
5691         (operator=(_Up&&)): Use is_same instead of __is_optional, check
5692         is_same and is_scalar.
5693         (operator=(const optional<_Up>&)): Constrain with
5694         __converts_from_optional and __assigns_from_optional.
5695         (operator=(optional<_Up>&&)): Likewise.
5696         * testsuite/20_util/optional/77288.cc: New.
5697         * testsuite/20_util/optional/cons/value.cc: Adjust.
5698
5699 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5700
5701         Implement LWG 2729 for tuple.
5702         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5703         Suppress conditionally.
5704         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5705         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5706         (_Tuple_impl(const _Head&)): Constrain.
5707         (_Tuple_impl(_UHead&&)): Likewise.
5708         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5709         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5710         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5711         (operator=(const tuple&)): Enable conditionally.
5712         (operator=(tuple&&)): Suppress conditionally.
5713         (operator=(const tuple<_UElements...>&)): Constrain.
5714         (operator=(tuple<_UElements...>&&)): Likewise.
5715         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5716         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5717         (operator=(const tuple<_U1, _U2>&)): Constrain.
5718         (operator=(tuple<_U1, _U2>&&)): Likewise.
5719         (operator=(const pair<_U1, _U2>&)): Likewise.
5720         (operator=(pair<_U1, _U2>&&)): Likewise.
5721         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5722         * testsuite/20_util/tuple/tuple_traits.cc: New.
5723
5724 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5725
5726         PR libstdc++/77537
5727         Implement LWG 2729 for pair.
5728         * include/bits/stl_pair.h (_PCC): New.
5729         (_ConstructiblePair, _ImplicitlyConvertiblePair):
5730         Turn into static member functions of _PCC.
5731         (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
5732         (_PCCP): New.
5733         (pair(const _T1&, const _T2&)): Adjust.
5734         (_PCCFP): New.
5735         (pair(const pair<_U1, _U2>&)): Adjust.
5736         (pair(_U1&&, const _T2&)): Likewise.
5737         (pair(const _T1&, _U2&&)): Likewise.
5738         (pair(_U1&&, _U2&&)): Likewise.
5739         (pair(pair<_U1, _U2>&&)): Likewise.
5740         (operator=(const pair&)): Make conditionally deleted.
5741         (operator=(pair&&)): Make conditionally suppressed.
5742         (operator=(const pair<_U1, _U2>&)): Constrain.
5743         (operator=(pair<_U1, _U2>&&): Likewise.
5744         * include/std/type_traits (__nonesuch): New.
5745         * testsuite/20_util/pair/traits.cc: New.
5746
5747 2016-09-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
5748
5749         PR libstdc++/77619
5750         * include/bits/stl_construct.h: (_Construct_novalue): New.
5751         (_Destroy_n_aux, _Destroy_n): New.
5752         * include/bits/stl_uninitialized.h: (type_traits):
5753         New include in C++11 mode.
5754         (__uninitialized_default_novalue_1): New.
5755         (__uninitialized_default_novalue_n_1): Likewise.
5756         (__uninitialized_default_novalue): Likewise.
5757         (__uninitialized_default_novalue_n): Likewise.
5758         (__uninitialized_copy_n_pair): Likewise.
5759         (uninitialized_default_construct):
5760         Use __uninitialized_default_novalue.
5761         (uninitialized_default_construct_n):
5762         Use __uninitialized_default_novalue_n.
5763         (uninitialized_value_construct): Use __uninitialized_default.
5764         (uninitialized_value_construct_n): Use __uninitialized_default_n.
5765         (uninitialized_move): Use uninitialized_copy.
5766         (uninitialized_move_n): Use __uninitialized_copy_n_pair.
5767         (destroy_at): Use _Destroy.
5768         (destroy): Likewise.
5769         (destroy_n): Likewise.
5770         * testsuite/20_util/specialized_algorithms/
5771         memory_management_tools/1.cc: Add tests for exceptions,
5772         add tests for trivial cases for construct and move.
5773
5774 2016-09-20  Jonathan Wakely  <jwakely@redhat.com>
5775
5776         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
5777         (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
5778
5779 2016-09-19  Jonathan Wakely  <jwakely@redhat.com>
5780
5781         PR libstdc++/77645
5782         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
5783         (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
5784         division to int to work with Python 3.
5785
5786         * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
5787
5788         * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
5789         display_hint to be set by subclasses.
5790         (StdVariantPrinter): Use array for display_hint. Adjust output to be
5791         more similar to std::any and std::optional output.
5792         (register_type_printers): Add type printers for basic_string_view
5793         typedefs and experimental::any. Adjust type printers for
5794         fundamentals_v1 templates to match fundamentals_v2 and later.
5795         * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
5796
5797         PR libstdc++/77645
5798         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
5799         argument.
5800         (ListWorkerBase.get_value_from_node): Define new method.
5801         (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
5802
5803 2016-09-17  Jonathan Wakely  <jwakely@redhat.com>
5804
5805         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
5806         (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
5807         Register for C++17 components in namespace std. Strip inline namespace
5808         from typename.
5809
5810 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5811
5812         * doc/xml/manual/profile_mode.xml: Fix typo.
5813         * doc/html/manual/profile_mode_devel.html: Regenerate.
5814
5815 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5816             Marc Glisse  <marc.glisse@inria.fr>
5817
5818         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
5819         (operator new(size_t, align_val_t)): Replace modulus operator with
5820         mask.
5821
5822 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5823
5824         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
5825         Increase alignment if less than sizeof(void*).
5826         [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
5827         Increase size if not a multiple of alignment.
5828
5829 2016-09-15  Jonathan Wakely  <jwakely@redhat.com>
5830
5831         * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
5832         * doc/html/*: Regenerate.
5833
5834         * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
5835         -Wno-deprecated.
5836         * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
5837
5838 2016-09-14  Marek Polacek  <polacek@redhat.com>
5839
5840         * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
5841         -Wno-deprecated.
5842
5843 2016-09-14  Christophe Lyon  <christophe.lyon@linaro.org>
5844
5845         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
5846         Move dg-do directive before dg-skip.
5847         * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
5848         Move dg-do directive before dg-require.
5849         * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
5850         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
5851         * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
5852         * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
5853         * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
5854         * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
5855         * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
5856         * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
5857         * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
5858         * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
5859         * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
5860         * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
5861         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
5862         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
5863         * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
5864         Likewise.
5865         * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
5866         * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
5867         * testsuite/27_io/objects/char/12048-5.cc: Likewise.
5868         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
5869         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
5870
5871 2016-09-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
5872
5873         Implement P0040R3, Extending memory management tools.
5874         * include/bits/stl_uninitialized.h (utility): New include
5875         in C++17 mode.
5876         (uninitialized_default_construct): New.
5877         (uninitialized_default_construct_n): Likewise.
5878         (uninitialized_value_construct): Likewise.
5879         (uninitialized_value_construct_n): Likewise.
5880         (uninitialized_move): Likewise.
5881         (uninitialized_move_n): Likewise.
5882         (destroy_at, destroy, destroy_n): Likewise.
5883         * testsuite/20_util/specialized_algorithms/memory_management_tools/
5884         1.cc: New.
5885
5886 2016-09-12  Jason Merrill  <jason@redhat.com>
5887
5888         * config/abi/pre/gnu.ver: Use [jmy] for size_t.
5889
5890 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
5891
5892         Implement P0253R1, Fixing a design mistake in the searchers
5893         interface in Library Fundamentals.
5894         * include/std/functional: (utility): New include in C++17 mode.
5895         (default_searcher): Use a pair as return type, adjust the definition.
5896         (boyer_moore_searcher): Likewise.
5897         (boyer_moore_horspool_searcher): Likewise.
5898         * testsuite/20_util/function_objects/searchers.cc: Adjust.
5899
5900 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
5901
5902         Implement C++17 string searchers.
5903         * include/std/functional: (unordered_map, vector): New includes
5904         in C++17 mode.
5905         (array, bits/stl_algo.h): Likewise.
5906         (default_searcher, __boyer_moore_map_base): New.
5907         (__boyer_moore_array_base, __is_std_equal_to): Likewise.
5908         (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
5909         (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
5910         (make_boyer_moore_searcher): Likewise.
5911         (make_boyer_moore_horspool_searcher): Likewise.
5912         * testsuite/20_util/function_objects/searchers.cc: New.
5913
5914 2016-09-12  Matthew Wahab  <matthew.wahab@arm.com>
5915
5916         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
5917         Move dg-do directive before dg-require.
5918         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
5919         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
5920         Likewise.
5921         * testsuite/22_locale/codecvt/utf8.cc: Likewise.
5922         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
5923         * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
5924         * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
5925         * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
5926         * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
5927         * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
5928         * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
5929         * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
5930         * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
5931         * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
5932         * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
5933         * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
5934         Likewise.
5935         * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
5936         Likewise.
5937         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
5938         * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
5939         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
5940         Likewise.
5941         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
5942         Likewise.
5943         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
5944         Likewise.
5945         * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
5946         Likewise.
5947         * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
5948         Likewise.
5949         * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
5950         Likewise.
5951         * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
5952         Likewise.
5953         * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
5954         Likewise.
5955         * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
5956         Likewise.
5957         * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
5958         Likewise.
5959         * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
5960         Likewise.
5961         * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
5962         Likewise.
5963         * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
5964         Likewise.
5965         * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
5966         Likewise.
5967         * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
5968         Likewise.
5969         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
5970         Likewise.
5971         * testsuite/23_containers/forward_list/debug/
5972         iterator_self_move_assign_neg.cc: Likewise.
5973         * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
5974         Likewise.
5975         * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
5976         Likewise.
5977         * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
5978         Likewise.
5979         * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
5980         Likewise.
5981         * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
5982         Likewise.
5983         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
5984         Likewise.
5985         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
5986         Likewise.
5987         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
5988         Likewise.
5989         * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
5990         * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
5991         * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
5992         * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
5993         * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
5994         * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
5995         * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
5996         * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
5997         * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
5998         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
5999         * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
6000         Likewise.
6001         * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
6002         * testsuite/23_containers/map/debug/60499.cc: Likewise.
6003         * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
6004         * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
6005         * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
6006         * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
6007         * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
6008         * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
6009         * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
6010         Likewise.
6011         * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
6012         * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
6013         * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
6014         * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
6015         * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
6016         * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
6017         * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
6018         * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
6019         * testsuite/23_containers/multimap/debug/
6020         iterator_self_move_assign_neg.cc: Likewise.
6021         * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
6022         Likewise.
6023         * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
6024         * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
6025         * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
6026         * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
6027         * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
6028         * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
6029         * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
6030         * testsuite/23_containers/multiset/debug/
6031         iterator_self_move_assign_neg.cc: Likewise.
6032         * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
6033         Likewise.
6034         * testsuite/23_containers/set/debug/60499.cc: Likewise.
6035         * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
6036         * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
6037         * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
6038         * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
6039         * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
6040         * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
6041         * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
6042         Likewise.
6043         * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
6044         * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
6045         * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
6046         * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
6047         * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
6048         Likewise.
6049         * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
6050         * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
6051         * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
6052         Likewise.
6053         * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
6054         Likewise.
6055         * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
6056         Likewise.
6057         * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
6058         * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
6059         * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
6060         * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
6061         * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
6062         * testsuite/23_containers/unordered_map/debug/
6063         invalid_local_iterator_compare_neg.cc: Likewise.
6064         * testsuite/23_containers/unordered_map/debug/
6065         invalid_local_iterator_range_neg.cc: Likewise.
6066         * testsuite/23_containers/unordered_map/debug/
6067         iterator_self_move_assign_neg.cc: Likewise.
6068         * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
6069         Likewise.
6070         * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
6071         Likewise.
6072         * testsuite/23_containers/unordered_map/debug/
6073         use_erased_local_iterator_neg.cc: Likewise.
6074         * testsuite/23_containers/unordered_map/debug/
6075         use_invalid_iterator_neg.cc: Likewise.
6076         * testsuite/23_containers/unordered_map/debug/
6077         use_invalid_local_iterator_neg.cc: Likewise.
6078         * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
6079         * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
6080         Likewise.
6081         * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
6082         Likewise.
6083         * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
6084         Likewise.
6085         * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
6086         Likewise.
6087         * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
6088         Likewise.
6089         * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
6090         Likewise.
6091         * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
6092         Likewise.
6093         * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
6094         Likewise.
6095         * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
6096         Likewise.
6097         * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
6098         Likewise.
6099         * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
6100         Likewise.
6101         * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
6102         Likewise.
6103         * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
6104         Likewise.
6105         * testsuite/23_containers/unordered_multimap/debug/
6106         invalid_local_iterator_compare_neg.cc: Likewise.
6107         * testsuite/23_containers/unordered_multimap/debug/
6108         invalid_local_iterator_range_neg.cc: Likewise.
6109         * testsuite/23_containers/unordered_multimap/debug/
6110         iterator_self_move_assign_neg.cc: Likewise.
6111         * testsuite/23_containers/unordered_multimap/debug/
6112         max_load_factor_neg.cc: Likewise.
6113         * testsuite/23_containers/unordered_multimap/debug/
6114         self_move_assign_neg.cc: Likewise.
6115         * testsuite/23_containers/unordered_multimap/debug/
6116         use_erased_local_iterator_neg.cc: Likewise.
6117         * testsuite/23_containers/unordered_multimap/debug/
6118         use_invalid_iterator_neg.cc: Likewise.
6119         * testsuite/23_containers/unordered_multimap/debug/
6120         use_invalid_local_iterator_neg.cc: Likewise.
6121         * testsuite/23_containers/unordered_multiset/debug/60499.cc:
6122         Likewise.
6123         * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
6124         Likewise.
6125         * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
6126         Likewise.
6127         * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
6128         Likewise.
6129         * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
6130         Likewise.
6131         * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
6132         Likewise.
6133         * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
6134         Likewise.
6135         * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
6136         Likewise.
6137         * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
6138         Likewise.
6139         * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
6140         Likewise.
6141         * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
6142         Likewise.
6143         * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
6144         Likewise.
6145         * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
6146         Likewise.
6147         * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
6148         Likewise.
6149         * testsuite/23_containers/unordered_multiset/debug/
6150         invalid_local_iterator_compare_neg.cc: Likewise.
6151         * testsuite/23_containers/unordered_multiset/debug/
6152         invalid_local_iterator_range_neg.cc: Likewise.
6153         * testsuite/23_containers/unordered_multiset/debug/
6154         iterator_self_move_assign_neg.cc: Likewise.
6155         * testsuite/23_containers/unordered_multiset/debug/
6156         max_load_factor_neg.cc: Likewise.
6157         * testsuite/23_containers/unordered_multiset/debug/
6158         self_move_assign_neg.cc: Likewise.
6159         * testsuite/23_containers/unordered_multiset/debug/
6160         use_erased_local_iterator_neg.cc: Likewise.
6161         * testsuite/23_containers/unordered_multiset/debug/
6162         use_invalid_iterator_neg.cc: Likewise.
6163         * testsuite/23_containers/unordered_multiset/debug/
6164         use_invalid_local_iterator_neg.cc: Likewise.
6165         *  testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
6166         * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
6167         * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
6168         * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
6169         Likewise.
6170         * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
6171         * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
6172         * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
6173         Likewise.
6174         * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
6175         Likewise.
6176         * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
6177         Likewise.
6178         * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
6179         * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
6180         * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
6181         * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
6182         * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
6183         * testsuite/23_containers/unordered_set/debug/
6184         invalid_local_iterator_compare_neg.cc: Likewise.
6185         * testsuite/23_containers/unordered_set/debug/
6186         invalid_local_iterator_range_neg.cc: Likewise.
6187         * testsuite/23_containers/unordered_set/debug/
6188         iterator_self_move_assign_neg.cc: Likewise.
6189         * testsuite/23_containers/unordered_set/debug/
6190         max_load_factor_neg.cc: Likewise.
6191         * testsuite/23_containers/unordered_set/debug/
6192         self_move_assign_neg.cc: Likewise.
6193         * testsuite/23_containers/unordered_set/debug/
6194         use_erased_local_iterator_neg.cc: Likewise.
6195         * testsuite/23_containers/unordered_set/debug/
6196         use_invalid_iterator_neg.cc: Likewise.
6197         * testsuite/23_containers/unordered_set/debug/
6198         use_invalid_local_iterator_neg.cc: Likewise.
6199         * testsuite/23_containers/vector/debug/52433.cc: Likewise.
6200         * testsuite/23_containers/vector/debug/60499.cc: Likewise.
6201         * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
6202         * testsuite/23_containers/vector/debug/
6203         iterator_self_move_assign_neg.cc: Likewise.
6204         * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
6205         Likewise.
6206         * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
6207         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
6208         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
6209         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
6210         * testsuite/29_atomics/atomic/60658.cc: Likewise.
6211         * testsuite/29_atomics/atomic/60695.cc: Likewise.
6212         * testsuite/29_atomics/atomic/62259.cc: Likewise.
6213         * testsuite/29_atomics/atomic/64658.cc: Likewise.
6214         * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
6215         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
6216         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
6217         Likewise.
6218
6219 2016-09-11  Jonathan Wakely  <jwakely@redhat.com>
6220
6221         * libsupc++/new_opant.cc: Include exception_defines.h.
6222         * libsupc++/new_opvant.cc: Likewise.
6223
6224 2016-09-09  Jason Merrill  <jason@redhat.com>
6225
6226         Implement P0035R4, C++17 new of over-aligned types.
6227         * libsupc++/new: Declare aligned new/delete operators.
6228         * config/abi/pre/gnu.ver: Export them.
6229         * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
6230         _aligned_malloc.
6231         * libsupc++/new_opa.cc: New.
6232         * libsupc++/new_opant.cc: New.
6233         * libsupc++/new_opva.cc: New.
6234         * libsupc++/new_opva.cc: New.
6235         * libsupc++/del_opa.cc: New.
6236         * libsupc++/del_opant.cc: New.
6237         * libsupc++/del_opsa.cc: New.
6238         * libsupc++/del_opva.cc: New.
6239         * libsupc++/del_opvant.cc: New.
6240         * libsupc++/del_opvsa.cc: New.
6241         * libsupc++/Makefile.am: Build them.
6242
6243 2016-09-05  Tim Shen  <timshen@google.com>
6244
6245         * include/std/variant: include bits/move.h for std::addressof.
6246
6247 2016-09-05  Mikhail Strelnikov  <mikhail.strelnikov@gmail.com>
6248
6249         * include/std/variant (_Variant_storage::_M_storage()): Use
6250         std::addressof instead of operator& to take address.
6251
6252 2016-09-02  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
6253
6254         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
6255         setrlimit on both native and cross targets.
6256         * configure: Regenerate.
6257
6258 2016-08-31  Jonathan Wakely  <jwakely@redhat.com>
6259
6260         * include/bits/shared_ptr.h (_Assignable): New alias template.
6261         (shared_ptr::operator=(const shared_ptr<_Tp1>&))
6262         (shared_ptr::operator=(shared_ptr<_Tp1>&&))
6263         (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6264         _Assignable.
6265         * include/bits/shared_ptr_base.h (_Assignable): New alias template.
6266         (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
6267         (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
6268         (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6269         _Assignable.
6270         (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
6271         (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
6272         _Convertible.
6273         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
6274         match on any line.
6275         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
6276         * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
6277         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
6278         expected errors. Remove unnecessary code.
6279         * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
6280
6281         * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
6282         comparison object.
6283         * testsuite/23_containers/set/move_comparison.cc: New test.
6284
6285         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
6286         New test.
6287
6288 2016-08-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
6289
6290         PR libstdc++/77395
6291         * include/std/type_traits (is_constructible): Forward-declare...
6292         (__is_base_to_derived_ref): ...and use here.
6293         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
6294         * testsuite/20_util/is_constructible/77395.cc: New.
6295         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
6296         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
6297         Likewise.
6298         * testsuite/20_util/tuple/77395.cc: New.
6299
6300 2016-08-30  Uros Bizjak  <ubizjak@gmail.com>
6301
6302         * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
6303         directive above dg-require-namedlocale directive.
6304         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
6305         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
6306         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
6307         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
6308         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
6309
6310 2016-08-27  Tim Shen  <timshen@google.com>
6311
6312         PR libstdc++/77356
6313         * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
6314         _M_expression_term): Modify to support dash literal.
6315         * include/bits/regex_scanner.h: Add dash as a token type to make
6316         a different from the mandated dash literal by escaping.
6317         * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
6318         token in bracket expression parsing.
6319         * testsuite/28_regex/regression.cc: Add new testcases.
6320
6321 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6322
6323         PR libstdc++/51960
6324         * doc/xml/manual/intro.xml: Document DR 2127 change.
6325         * doc/html/*: Regenerate.
6326         * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
6327         (operator++(), operator++(int)): Use injected class name.
6328         * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
6329
6330         * testsuite/*: Use { target c++11 } or { target c++14 } instead of
6331         using -std in dg-options.
6332
6333 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6334             Pedro Alves  <palves@redhat.com>
6335
6336         * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
6337         and restore dg-interpreter-batch-mode.
6338         * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
6339         gdb-dg-runtest instead of dg-runtest.
6340         * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
6341
6342 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6343
6344         * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
6345         precise patterns for basic_string constructors.
6346         (GLIBCXX_3.4.23): Export new constructors.
6347         * doc/xml/manual/intro.xml: Document LWG 2583 status.
6348         * doc/html/*: Regenerate.
6349         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
6350         (basic_string(const basic_string&, size_type, const Alloc&)): Add
6351         new constructor for LWG 2583.
6352         (basic_string(const basic_string&, size_type, size_type)): Remove
6353         default argument.
6354         [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
6355         * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
6356         * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
6357         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
6358
6359 2016-08-24  Aditya Kumar  <hiraditya@msn.com>
6360
6361         * include/bits/algorithmfwd.h: Remove trailing whitespace.
6362         * include/bits/shared_ptr_base.h: Likewise.
6363
6364 2016-08-23  Jonathan Wakely  <jwakely@redhat.com>
6365
6366         * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
6367         * include/profile/array (array): Likewise.
6368         (array::swap): Fix exception specification for zero-sized arrays.
6369
6370         PR libstdc++/77334
6371         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
6372         (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
6373         * testsuite/23_containers/map/77334.cc: New test.
6374
6375         * doc/xml/manual/using.xml: Remove reference to -pthreads option.
6376         * doc/html/*: Regenerate.
6377
6378         * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
6379         * testsuite/experimental/feat-lib-fund.cc: Likewise.
6380
6381         PR libstdc++/71771
6382         * include/bits/stl_iterator.h
6383         (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
6384         define for C++98 mode.
6385         (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
6386         * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
6387         -std=gnu++98.
6388         * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
6389         * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
6390         * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
6391         * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
6392         difference operator.
6393         * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
6394         difference operator for C++98.
6395         * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
6396
6397         * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
6398         * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
6399         (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
6400         * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
6401         (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
6402         Likewise.
6403         * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
6404         _GLIBCXX14_CONSTEXPR.
6405         (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
6406         * include/std/array (array::begin, array::end, array::rbegin)
6407         (array::rend, array::cbegin, array:cend, array::crbegin)
6408         (array::crend, array::operator[], array::at, array::front)
6409         (array::back, array::data): Likewise.
6410         * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
6411         with separate tests for C++11, C++14, and C++17.
6412         * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
6413         * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
6414         * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
6415
6416 2016-08-22  Tim Shen  <timshen@google.com>
6417
6418         Split _M_dfs() into smaller functions.
6419         * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
6420         (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
6421         (_M_handle_line_end_assertion, _M_handle_word_boundary)
6422         (_M_handle_subexpr_lookahead, _M_handle_match)
6423         (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
6424         Add separate function declarations.
6425         * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
6426
6427 2016-08-22  Gleb Natapov  <gleb@scylladb.com>
6428
6429         PR libstdc++/68297
6430         * config/abi/pre/gnu-versioned-namespace.ver: Export
6431         __cxa_init_primary_exception and std::exception_ptr(void*).
6432         * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
6433         export __cxa_init_primary_exception and std::exception_ptr(void*).
6434         * include/Makefile.am: Add new headers.
6435         * include/Makefile.in: Regenerate.
6436         * libsupc++/Makefile.am: Add new headers.
6437         * libsupc++/Makefile.in: Regenerate.
6438         * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
6439         * libsupc++/cxxabi_init_exception.h: New header.
6440         (__cxa_init_primary_exception): Declare.
6441         * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
6442         (__cxa_throw): Use __cxa_init_primary_exception.
6443         * libsupc++/exception (std::exception): Move to ...
6444         * libsupc++/exception.h: New header.
6445         * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
6446         friend declaration.
6447         (__exception_ptr::__dest_thunk): New function template.
6448         (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
6449         Use __cxa_allocate_exception and __cxa_init_primary_exception to
6450         create exception_ptr.
6451         * libsupc++/typeinfo: Include bits/exception.h instead of exception.
6452         * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
6453
6454 2016-08-22  Jonathan Wakely  <jwakely@redhat.com>
6455
6456         * doc/xml/api.xml: Replace hardcoded links for specific versions with
6457         link to docs for all releases.
6458         * doc/html/*: Regenerate.
6459
6460         PR libstdc++/77322
6461         * doc/xml/manual/intro.xml: Document DR 2062 change.
6462         * include/std/functional (function::swap): Add noexcept.
6463         (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
6464         * testsuite/20_util/function/77322.cc: New test.
6465
6466 2016-08-19  Jonathan Wakely  <jwakely@redhat.com>
6467
6468         * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
6469         *-*-solaris* instead of -pthreads.
6470         * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
6471         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
6472         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
6473         * testsuite/23_containers/list/pthread1.cc: Likewise.
6474         * testsuite/23_containers/list/pthread5.cc: Likewise.
6475         * testsuite/23_containers/map/pthread6.cc: Likewise.
6476         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
6477         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
6478         * testsuite/30_threads/shared_mutex/*: Likewise.
6479         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
6480         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6481         default_weaktoshared.cc: Likewise.
6482         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6483         mutex_weaktoshared.cc: Likewise.
6484         * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
6485         dg-require-effective-target instead of using -std option.
6486         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
6487         Likewise.
6488         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
6489         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
6490         Likewise.
6491         * testsuite/30_threads/async/*: Likewise.
6492         * testsuite/30_threads/call_once/*: Likewise.
6493         * testsuite/30_threads/condition_variable/*: Likewise.
6494         * testsuite/30_threads/condition_variable_any/*: Likewise.
6495         * testsuite/30_threads/future/*: Likewise.
6496         * testsuite/30_threads/lock/*: Likewise.
6497         * testsuite/30_threads/mutex/*: Likewise.
6498         * testsuite/30_threads/packaged_task/*: Likewise.
6499         * testsuite/30_threads/promise/*: Likewise.
6500         * testsuite/30_threads/recursive_mutex/*: Likewise.
6501         * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
6502         * testsuite/30_threads/shared_future/*: Likewise.
6503         * testsuite/30_threads/shared_lock/*: Likewise.
6504         * testsuite/30_threads/shared_timed_mutex/*: Likewise.
6505         * testsuite/30_threads/this_thread/*: Likewise.
6506         * testsuite/30_threads/thread/*: Likewise.
6507         * testsuite/30_threads/timed_mutex/*: Likewise.
6508         * testsuite/30_threads/try_lock/*: Likewise.
6509         * testsuite/30_threads/unique_lock/*: Likewise.
6510
6511         * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
6512         * doc/html/*: Regenerate.
6513         * include/experimental/functional (_Not_fn, not_fn): Match C++17
6514         semantics.
6515         * include/std/functional (_Not_fn, not_fn): Define for C++17.
6516         * testsuite/20_util/not_fn/1.cc: New.
6517         * testsuite/experimental/functional/not_fn.cc: Test abstract class.
6518         Remove test for volatile-qualified wrapper.
6519
6520         * include/std/atomic (atomic::is_always_lock_free): Define.
6521         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
6522         * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
6523         * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
6524         * doc/xml/manual/status_cxx2017.xml: Update status.
6525         * doc/html/*: Regenerate.
6526
6527         * include/experimental/tuple (apply): Qualify call to __apply_impl.
6528         * include/std/tuple (apply): Likewise.
6529         * testsuite/experimental/system_error/value.cc: Fix ambiguities in
6530         C++17 mode.
6531         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
6532         * testsuite/experimental/type_traits/value.cc: Likewise.
6533
6534         * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
6535         and variant.
6536         * doc/html/*: Regenerate.
6537
6538 2016-08-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
6539
6540         Implement the latest proposed resolution of LWG 2756.
6541         * include/std/optional (Optional_base(const _Tp&))
6542         (Optional_base(_Tp&&), using _Base::_Base): Remove.
6543         (optional(nullopt_t)): New.
6544         (optional(_Up&&)): Invoke base directly with in_place
6545         rather than creating a temporary, add default template
6546         argument, change constraints.
6547         (optional(const optional<_Up>&)): Invoke base directly
6548         with in_place, remove unnecessary constraints.
6549         (optional(optional<_Up>&& __t)): Likewise.
6550         (optional(in_place_t, _Args&&...)): New.
6551         (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
6552         (operator=(_Up&&)): Add default template argument, change constraints.
6553         (operator=(const optional<_Up>&)): Put is_same first in the
6554         constraints.
6555         (operator=(optional<_Up>&&)): Likewise.
6556         * testsuite/20_util/optional/assignment/5.cc: Add a test to
6557         verify assignment from something that can't be perfect-forwarded.
6558         * testsuite/20_util/optional/cons/value.cc: Add tests to verify
6559         that a nested optional is disengaged when constructed
6560         from a disengaged element type, and to verify that assignments
6561         from an engaged element type engage the optional.
6562
6563 2016-08-18  Tim Shen  <timshen@google.com>
6564
6565         Implement <variant>
6566
6567         * include/Makefile.am: Add new file std/variant.
6568         * include/Makefile.in: Generated from Makefile.am.
6569         * include/bits/enable_special_members.h: Add a tag type to allow
6570         the construction in non-default constructor.
6571         * include/bits/uses_allocator.h: Add convenience traits to
6572         detect constructibility.
6573         * include/std/variant: Implement <variant>.
6574         * testsuite/20_util/variant/compile.cc: Compile-time tests.
6575         * testsuite/20_util/variant/run.cc: Runtime tests.
6576
6577 2016-08-18  Jonathan Wakely  <jwakely@redhat.com>
6578
6579         * doc/xml/manual/test.xml (test.run.permutations): Expand section.
6580         (test.new_tests): Rewrite section.
6581         (tests.dg.directives): New section.
6582         * doc/html/*: Regenerate.
6583
6584         * doc/xml/manual/test.xml: Improve documentation of test targets.
6585         Document new-abi-baseline, check-debug, and check-parallel targets.
6586
6587         * doc/xml/manual/build_hacking.xml: New section on shared library
6588         versioning.
6589
6590         * doc/xml/manual/build_hacking.xml: Improve markup.
6591         * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
6592         to "Testing".
6593         * doc/xml/faq.xml: Change link text to "Testing".
6594
6595         * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
6596         dg-options directive.
6597
6598 2016-08-17  Jonathan Wakely  <jwakely@redhat.com>
6599
6600         * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
6601         directive and use effective target instead of dg-options.
6602
6603         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
6604         instead of -std in dg-options.
6605         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
6606         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
6607         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
6608         * testsuite/20_util/hash/quality.cc: Likewise.
6609         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
6610         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
6611         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
6612         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
6613         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
6614         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
6615
6616         * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
6617         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
6618         * testsuite/27_io/rvalue_streams.cc: Likewise.
6619
6620         * testsuite/26_numerics/complex/literals/types.cc: Add comment.
6621
6622         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
6623         Remove duplicate dg-options directive.
6624
6625         * testsuite/ext/profile/all.cc: Use effective target instead of
6626         -std=gnu++11. Use dg-additional-options instead of repeating options.
6627
6628         * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
6629         -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
6630         instead of dg-excess-errors.
6631
6632         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
6633         test for C++17.
6634         * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
6635         * testsuite/experimental/ratio/value.cc: Likewise.
6636         * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
6637         C++17.
6638         * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
6639         * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
6640         * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
6641         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
6642         * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
6643         * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
6644         * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
6645         * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
6646         * testsuite/tr1/5_numerical_facilities/special_functions/
6647         10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
6648         C++17 compatibility.
6649
6650         * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
6651         expected signatures for C++14 compatibility.
6652
6653         PR libstdc++/77264
6654         * include/bits/basic_string.h (operator=(__sv_type)
6655         (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
6656         (replace(size_type, size_type, __sv_type))
6657         (replace(const_iterator, const_iterator, __sv_type))
6658         (find(__sv_type, size_type), rfind(__sv_type, size_type))
6659         (compare(size_type, size_type, __sv_type)): Reformat.
6660         (_If_sv): Define helper for SFINAE constaints.
6661         (append(const _Tp&, size_type, size_type))
6662         (assign(const _Tp&, size_type, size_type))
6663         (insert(size_type, const _Tp&, size_type, size_type))
6664         (replace(size_type, size_type, const _Tp&, size_type, size_type)):
6665         Use _If_sv.
6666         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
6667         SFINAE constraints.
6668         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
6669         Likewise.
6670         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
6671         Likewise.
6672         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
6673         Likewise.
6674         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
6675         Likewise.
6676         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
6677         Likewise.
6678         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
6679         Likewise.
6680         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
6681         Likewise.
6682         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
6683         Likewise.
6684         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
6685         Likewise.
6686         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
6687         Likewise.
6688
6689 2016-08-16  Jonathan Wakely  <jwakely@redhat.com>
6690
6691         PR libstdc++/72847
6692         * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
6693         pointers to start and end of storage.
6694         * testsuite/23_containers/vector/bool/72847.cc: New test.
6695         * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
6696         _M_finish after deallocating.
6697         (vector<bool>::_M_fill_insert): Likewise.
6698         (vector<bool>::_M_insert_range): Likewise.
6699         (vector<bool>::_M_insert_aux): Likewise.
6700
6701 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
6702
6703         Implement LWG 2744 and LWG 2754.
6704         * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
6705         (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
6706         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
6707         Likewise.
6708         (emplace(_Args&&...)): Likewise.
6709         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
6710         * include/std/utility: (__is_in_place_type_impl): New.
6711         (__is_in_place_type): Likewise.
6712         * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
6713         emplace.
6714         * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
6715         in_place constructor.
6716         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
6717         * testsuite/20_util/any/requirements.cc: Add a test for
6718         in_place-constructing a non-default-constructible type.
6719
6720 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
6721
6722         Add a feature macro for C++17 make_from_tuple.
6723         * include/std/tuple (__cpp_lib_make_from_tuple): New.
6724         (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
6725         Qualify the call to get<>().
6726         * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
6727
6728 2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
6729
6730         * src/filesystem/ops.cc: Always include ostream and
6731         ext/stdio_filebuf.h.
6732         (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
6733         [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
6734         sendfile fails with ENOSYS or EINVAL.
6735
6736 2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
6737
6738         PR libstdc++/72840
6739         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
6740         syntax.
6741
6742 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
6743
6744         Implement C++17 make_from_tuple.
6745         * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
6746         * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
6747
6748 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
6749
6750         Implement LWG 2758.
6751         * include/bits/basic_string.h
6752         (append(__sv_type, size_type, size_type)): Turn into a template,
6753         change parameter type, constrain, add a conversion to __sv_type
6754         from the dependent parameter type.
6755         (assign(__sv_type, size_type, size_type)): Likewise.
6756         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
6757         (replace(size_type, size_type, __sv_type, size_type, size_type)):
6758         Likewise.
6759         (compare(size_type, size_type,__sv_type, size_type, size_type)):
6760         Likewise.
6761         * testsuite/21_strings/basic_string/lwg2758.cc: New.
6762
6763 2016-08-06  Jonathan Wakely  <jwakely@redhat.com>
6764
6765         * doc/xml/manual/status_cxx2017.xml: Update status table.
6766         * doc/html/manual/status.html: Regenerate.
6767
6768         * testsuite/lib/libstdc++.exp: Fix typo in comment.
6769
6770         PR libstdc++/72820
6771         * include/std/functional (_Function_base::_Base_manager::_M_clone):
6772         Qualify new operator.
6773         * testsuite/20_util/function/cons/72820.cc: New test.
6774
6775         * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
6776         * doc/html/manual/status.html: Regenerate.
6777         * include/Makefile.am: Add new header.
6778         * include/Makefile.in: Regenerate.
6779         * include/bits/invoke.h: New header.
6780         (__invoke): Make constexpr. Add && to types in exception specification.
6781         * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
6782         names. Include <bits/invoke.h> and use std::__invoke.
6783         * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
6784         new header.
6785         (invoke): Add && to types in exception specification.
6786         * include/std/tuple (apply, __apply_impl): Define for C++17.
6787         * testsuite/20_util/tuple/apply/1.cc: New test.
6788         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
6789         lineno.
6790
6791 2016-08-05  Jonathan Wakely  <jwakely@redhat.com>
6792
6793         * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
6794         * doc/html/manual/status.html: Regenerate.
6795
6796         * include/std/chrono (floor, ceil, round, abs): New for C++17.
6797         * testsuite/20_util/duration_cast/rounding.cc: New test.
6798         * testsuite/20_util/time_point_cast/rounding.cc: New test.
6799         * doc/xml/manual/status_cxx2017.xml: Update status table.
6800         * doc/html/manual/status.html: Regenerate.
6801         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
6802         dg-error lineno.
6803         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
6804         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
6805         * testsuite/20_util/duration/literals/range.cc: Likewise.
6806
6807         * include/std/functional (__callable_functor): Remove.
6808         (_Function_handler::_M_invoke): Use __invoke instead of
6809         __callable_functor or mem_fn.
6810         (function::_Callable): Use lvalue in result_of expression.
6811         (function): Remove TODO comments about allocators.
6812         * testsuite/20_util/function/cons/refqual.cc: New test.
6813
6814 2016-08-04  Jonathan Wakely  <jwakely@redhat.com>
6815
6816         * doc/xml/manual/status_cxx2017.xml: Update status table.
6817         * include/std/functional (__inv_unwrap): Move to <type_traits>.
6818         (__invoke_impl): Remove exception specifications.
6819         (__invoke, invoke): Add exception specifications using
6820         __is_nothrow_callable.
6821         * include/std/type_traits (__inv_unwrap): Move from <functional>.
6822         (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
6823         (__is_callable, __is_nothrow_callable): New traits.
6824         (is_callable, is_callable_v): New C++17 traits.
6825         (is_nothrow_callable, is_nothrow_callable_v): Likewise.
6826         * testsuite/20_util/is_callable/requirements/
6827         explicit_instantiation.cc: New test.
6828         * testsuite/20_util/is_callable/requirements/
6829         explicit_instantiation_ext.cc: New test.
6830         * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
6831         * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
6832         test.
6833         * testsuite/20_util/is_callable/value.cc: New test.
6834         * testsuite/20_util/is_callable/value_ext.cc: New test.
6835         * testsuite/20_util/is_nothrow_callable/requirements/
6836         explicit_instantiation.cc: New test.
6837         * testsuite/20_util/is_nothrow_callable/requirements/
6838         explicit_instantiation_ext.cc: New test.
6839         * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
6840         New test.
6841         * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
6842         New test.
6843         * testsuite/20_util/is_nothrow_callable/value.cc: New test.
6844         * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
6845
6846         * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
6847         * doc/html/manual/status.html: Regenerate.
6848
6849         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
6850         effective target not dg-options. Move check for feature-test macro to:
6851         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
6852         New test.
6853
6854         * include/std/functional (_Unwrap): Rename to __inv_unwrap.
6855         (__invfwd): Adjust.
6856         (__invoke_impl): Remove unused template parameters.
6857         * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
6858         parameter.
6859         * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
6860         and test __invoke extension for C++11.
6861
6862 2016-08-03  Jonathan Wakely  <jwakely@redhat.com>
6863
6864         * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
6865         Define feature-test macro.
6866         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
6867         for the macro.
6868
6869         * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
6870         * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
6871         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
6872         * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
6873         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
6874
6875         * include/std/utility (as_const): Define.
6876         * testsuite/20_util/as_const/1.cc: New test.
6877         * testsuite/20_util/as_const/rvalue_neg.cc: New test.
6878
6879         * include/bits/shared_ptr.h (owner_less): Add default template
6880         argument.
6881         * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
6882         specialization.
6883         (owner_less<void>): Define specialization.
6884         * include/bits/stl_function.h (__cpp_lib_transparent_operators):
6885         Update value.
6886         * testsuite/20_util/owner_less/void.cc: New test.
6887         * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
6888
6889         * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
6890         Define feature-test macro.
6891         * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
6892         * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
6893         * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
6894         (__cpp_lib_type_trait_variable_templates): Define.
6895
6896         * include/bits/stl_function.h: Remove commented-out macro.
6897         * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
6898         Define feature-test macro.
6899         * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
6900
6901         * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
6902         C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
6903         true.
6904         * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
6905         do #error for C++17.
6906         * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
6907         of __STDCPP_WANT_MATH_SPEC_FUNCS__.
6908         * include/tr1/bessel_function.tcc: Likewise.
6909         * include/tr1/beta_function.tcc: Likewise.
6910         * include/tr1/cmath: Likewise.
6911         * include/tr1/ell_integral.tcc: Likewise.
6912         * include/tr1/exp_integral.tcc: Likewise.
6913         * include/tr1/gamma.tcc: Likewise.
6914         * include/tr1/hypergeometric.tcc: Likewise.
6915         * include/tr1/legendre_function.tcc: Likewise.
6916         * include/tr1/modified_bessel_func.tcc: Likewise.
6917         * include/tr1/poly_hermite.tcc: Likewise.
6918         * include/tr1/poly_laguerre.tcc: Likewise.
6919         * include/tr1/riemann_zeta.tcc: Likewise.
6920         * include/tr1/special_function_util.h: Likewise.
6921         * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
6922
6923         * include/std/type_traits (has_trivial_default_constructor): Remove.
6924         (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
6925         * testsuite/20_util/has_trivial_copy_assign/requirements/
6926         explicit_instantiation.cc: Remove test.
6927         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
6928         line number.
6929         * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
6930         Likewise.
6931         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
6932         * testsuite/20_util/has_trivial_copy_constructor/requirements/
6933         explicit_instantiation.cc: Likewise.
6934         * testsuite/20_util/has_trivial_copy_constructor/requirements/
6935         typedefs.cc: Likewise.
6936         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
6937         * testsuite/20_util/has_trivial_default_constructor/requirements/
6938         explicit_instantiation.cc: Likewise.
6939         * testsuite/20_util/has_trivial_default_constructor/requirements/
6940         typedefs.cc: Likewise.
6941         * testsuite/20_util/has_trivial_default_constructor/value.cc:
6942         Likewise.
6943         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
6944         Check has_trivial_default_constructor, has_trivial_copy_constructor,
6945         and has_trivial_copy_assign are not defined.
6946         * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
6947         tests.
6948         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
6949         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
6950         dg-error line number.
6951         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
6952         Likewise.
6953
6954 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
6955
6956         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
6957         Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
6958         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
6959         Likewise.
6960         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
6961         Likewise.
6962         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
6963         Likewise.
6964         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
6965         Likewise.
6966         * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
6967         Likewise.
6968         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
6969         Likewise.
6970
6971         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
6972         comments.
6973
6974         * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
6975         dg-error to relevant line.
6976         * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
6977         Likewise.
6978         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
6979
6980         * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
6981
6982         * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
6983         options are present that aren't valid for C.
6984         * testsuite/abi/header_cxxabi.c: Likewise.
6985
6986         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
6987         check_value.cc: Do not add special functions to namespace std in TR1
6988         test.
6989
6990         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
6991         run for C++11 and later.
6992         * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
6993         Likewise.
6994         * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
6995         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
6996         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
6997         * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
6998         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
6999         Likewise.
7000         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
7001         Likewise.
7002         * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
7003         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
7004         Likewise.
7005         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
7006         Likewise.
7007         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
7008         Likewise.
7009         * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
7010         * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
7011         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
7012         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
7013         * testsuite/special_functions/03_beta/compile.cc: Likewise.
7014         * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
7015         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
7016         * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
7017         Likewise.
7018         * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
7019         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
7020         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
7021         * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
7022         Likewise.
7023         * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
7024         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
7025         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
7026         * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
7027         Likewise.
7028         * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
7029         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
7030         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
7031         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
7032         Likewise.
7033         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
7034         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
7035         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
7036         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
7037         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
7038         Likewise.
7039         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
7040         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
7041         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
7042         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
7043         Likewise.
7044         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
7045         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
7046         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
7047         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
7048         * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
7049         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
7050         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
7051         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
7052         * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
7053         * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
7054         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
7055         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
7056         * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
7057         * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
7058         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
7059         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
7060         * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
7061         * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
7062         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
7063         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
7064         * testsuite/special_functions/14_expint/compile.cc: Likewise.
7065         * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
7066         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
7067         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
7068         * testsuite/special_functions/15_hermite/compile.cc: Likewise.
7069         * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
7070         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
7071         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
7072         * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
7073         * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
7074         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
7075         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
7076         * testsuite/special_functions/17_legendre/compile.cc: Likewise.
7077         * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
7078         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
7079         * testsuite/special_functions/18_riemann_zeta/check_value.cc:
7080         Likewise.
7081         * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
7082         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
7083         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
7084         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
7085         * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
7086         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
7087         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
7088         * testsuite/special_functions/20_sph_legendre/check_value.cc:
7089         Likewise.
7090         * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
7091         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
7092         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
7093         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
7094         * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
7095         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
7096
7097         * testsuite/tr1/5_numerical_facilities/special_functions/
7098         08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
7099         of [[gnu::unused]].
7100         * testsuite/tr1/5_numerical_facilities/special_functions/
7101         09_cyl_bessel_j/check_value.cc: Likewise.
7102         * testsuite/tr1/5_numerical_facilities/special_functions/
7103         10_cyl_bessel_k/check_value.cc: Likewise.
7104         * testsuite/tr1/5_numerical_facilities/special_functions/
7105         11_cyl_neumann/check_value.cc: Likewise.
7106         * testsuite/tr1/5_numerical_facilities/special_functions/
7107         21_sph_bessel/check_value.cc: Likewise.
7108         * testsuite/tr1/5_numerical_facilities/special_functions/
7109         23_sph_neumann/check_value.cc: Likewise.
7110
7111 2016-08-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7112
7113         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
7114         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
7115         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
7116         * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
7117         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
7118         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
7119
7120 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7121
7122         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
7123         test if -flto used.
7124
7125         * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
7126         additional flags for compiling libtestc++.a objects.
7127
7128 2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
7129
7130         * include/bits/basic_string.h (data() const): Update comment.
7131         (data()): Add non-const overload for C++17.
7132         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
7133         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
7134
7135         * include/bits/basic_string.tcc: Disable explicit instantiation
7136         declarations for C++17.
7137
7138         * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
7139         ignored "xfail" from { dg-do compile { xfail selector } } directive.
7140         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
7141         Likewise.
7142         * testsuite/26_numerics/headers/cmath/
7143         c99_classification_macros_c++11.cc: Likewise.
7144         * testsuite/26_numerics/headers/cmath/
7145         c99_classification_macros_c++98.cc: Likewise.
7146         * testsuite/26_numerics/headers/cmath/
7147         c99_classification_macros_c.cc: Likewise.
7148
7149         * testsuite/backward/hash_set/check_construct_destroy.cc: Account
7150         for different construct/destroy counts in C++98 mode.
7151
7152         * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
7153
7154         * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
7155         later.
7156         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
7157         Likewise.
7158
7159         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
7160         C++98-compatible initialization for array.
7161
7162         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
7163         unused header and variable from compile-only test.
7164         * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
7165         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
7166         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
7167         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
7168         Likewise.
7169
7170         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
7171         Remove duplicate dg-options directive.
7172
7173         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
7174         808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
7175
7176         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
7177         linker options from compile-only tests.
7178         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7179         Likewise.
7180
7181         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
7182         supported for C++11 and later.
7183         * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
7184         * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
7185
7186 2016-08-01  Uros Bizjak  <ubizjak@gmail.com>
7187
7188         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
7189
7190 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7191
7192         * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
7193         compile-only test.
7194
7195         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7196         Ensure test is compiled with optimization.
7197
7198         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7199         Adjust dg-prune-output pattern for error in C++98 mode.
7200
7201         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
7202         run for C++11 or later.
7203
7204         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
7205         test to not rely on GNU extension (escaped normal characters in POSIX
7206         BRE). Enable tests for other strings which are now supported.
7207
7208         * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
7209         c++11 instead of setting -std=gnu++14.
7210
7211         PR libstdc++/72745
7212         * include/std/array (get): Use positive message for static assertions.
7213         * include/std/functional (_Safe_tuple_element_t): Fix indentation.
7214         * include/std/tuple (tuple_element<I, tuple<>>): Add partial
7215         specialization for invalid indices, with static assertion.
7216         * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
7217
7218         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
7219         dg-error to relevant line.
7220         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7221         Likewise.
7222         * testsuite/23_containers/forward_list/requirements/dr438/
7223         assign_neg.cc: Likewise.
7224         * testsuite/23_containers/forward_list/requirements/dr438/
7225         constructor_1_neg.cc: Likewise.
7226         * testsuite/23_containers/forward_list/requirements/dr438/
7227         constructor_2_neg.cc: Likewise.
7228         * testsuite/23_containers/forward_list/requirements/dr438/
7229         insert_neg.cc: Likewise.
7230         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
7231         Likewise.
7232         * testsuite/26_numerics/random/linear_congruential_engine/
7233         requirements/non_uint_neg.cc: Likewise.
7234         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
7235         Likewise. Also test for std::atomic_address.
7236
7237 2016-07-31  Ville Voutilainen  <ville.voutilainen@gmail.com>
7238
7239         Add missing variable traits, fix testsuite failures.
7240         * include/bits/uses_allocator.h (uses_allocator_v): New.
7241         * include/std/functional (is_bind_expression_v, is_placeholder_v):
7242         Likewise.
7243         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
7244         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
7245         * testsuite/20_util/duration/literals/range.cc: Likewise.
7246         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
7247         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
7248         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
7249         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
7250         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7251         Likewise.
7252         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
7253         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
7254         New.
7255
7256 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7257
7258         * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
7259         not test 128-bit types.
7260         * testsuite/20_util/is_floating_point/value.cc: Likewise.
7261         * testsuite/20_util/is_integral/value.cc: Likewise.
7262         * testsuite/20_util/is_signed/value.cc: Likewise.
7263         * testsuite/20_util/is_unsigned/value.cc: Likewise.
7264         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
7265         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
7266         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
7267         Likewise.
7268         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7269         Likewise.
7270
7271         * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
7272
7273 2016-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
7274
7275         Implement C++17 variable templates for type traits.
7276         * include/std/chrono (treat_as_floating_point_v): New.
7277         * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
7278         (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
7279         (ratio_greater_equal_v): Likewise.
7280         * include/std/system_error (is_error_code_enum_v)
7281         (is_error_condition_enum_v): Likewise.
7282         * include/std/tuple (tuple_size_v): Likewise.
7283         * type_traits (conjunction_v, disjunction_v, negation_v)
7284         (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
7285         (is_array_v, is_pointer_v, is_lvalue_reference_v)
7286         (is_rvalue_reference_v, is_member_object_pointer_v)
7287         (is_member_function_pointer_v, is_enum_v, is_union_v)
7288         (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
7289         (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
7290         (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
7291         (is_trivially_copyable_v, is_standard_layout_v)
7292         (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
7293         (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
7294         (is_constructible_v, is_default_constructible_v)
7295         (is_copy_constructible_v, is_move_constructible_v)
7296         (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
7297         (is_destructible_v, is_trivially_constructible_v)
7298         (is_trivially_default_constructible_v)
7299         (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
7300         (is_trivially_assignable_v, is_trivially_copy_assignable_v)
7301         (is_trivially_move_assignable_v, is_trivially_destructible_v)
7302         (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
7303         (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
7304         (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
7305         (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
7306         (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
7307         (is_same_v, is_base_of_v, is_convertible_v): Likewise.
7308         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
7309         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
7310         Likewise.
7311         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
7312         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
7313         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
7314
7315 2016-07-29  Andreas Schwab  <schwab@linux-m68k.org>
7316
7317         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
7318         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
7319         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
7320
7321 2016-07-29  Jonathan Wakely  <jwakely@redhat.com>
7322
7323         * doc/xml/manual/abi.xml: Document 6.0.22 library version.
7324         * doc/html/manual/abi.html: Regenerate.
7325
7326         * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
7327         * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
7328         symbols.
7329         * configure: Regenerate.
7330         * testsuite/util/testsuite_abi.cc: Add new symbol version.
7331
7332         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
7333         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
7334         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
7335         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
7336         Likewise.
7337         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
7338         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
7339         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
7340
7341 2016-07-28  Jonathan Wakely  <jwakely@redhat.com>
7342
7343         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
7344         Adjust dg-prune-output pattern for error in C++98 mode.
7345         * testsuite/23_containers/deque/requirements/dr438/
7346         constructor_1_neg.cc: Likewise.
7347         * testsuite/23_containers/deque/requirements/dr438/
7348         constructor_2_neg.cc: Likewise.
7349         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
7350         Likewise.
7351         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
7352         Likewise.
7353         * testsuite/23_containers/list/requirements/dr438/
7354         constructor_1_neg.cc: Likewise.
7355         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7356         Likewise.
7357         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
7358         Likewise.
7359         * testsuite/23_containers/vector/requirements/dr438/
7360         constructor_1_neg.cc: Likewise.
7361         * testsuite/23_containers/vector/requirements/dr438/
7362         constructor_2_neg.cc: Likewise.
7363         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
7364         Likewise.
7365
7366         * testsuite/23_containers/vector/check_construct_destroy.cc: Account
7367         for different construct/destroy counts in C++98 mode.
7368
7369         * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
7370         dg-options to dg-additional-options so that default options are used.
7371         * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
7372         Likewise.
7373         * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
7374         * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
7375         Likewise.
7376         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7377         Use dg-additional-options instead of repeating the common options.
7378
7379         * testsuite/22_locale/conversions/string/1.cc: Remove unintended
7380         dg-do compile directive.
7381         * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
7382         dg-do directive.
7383         * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
7384
7385 2016-07-28  Ville Voutilainen  <ville.voutilainen@gmail.com>
7386
7387         Implement std::string_view and P0254r2,
7388         Integrating std::string_view and std::string.
7389         * include/Makefile.am: Add string_view and string_view.tcc
7390         to the exported headers.
7391         * include/Makefile.in: Likewise.
7392         * include/bits/basic_string.h: Include <string_view> in C++17 mode.
7393         (__sv_type): New.
7394         (basic_string(__sv_type, const _Alloc&)): Likewise.
7395         (operator=(__sv_type)): Likewise.
7396         (operator __sv_type()): Likewise.
7397         (operator+=(__sv_type)): Likewise.
7398         (append(__sv_type __sv)): Likewise.
7399         (append(__sv_type, size_type, size_type)): Likewise.
7400         (assign(__sv_type)): Likewise.
7401         (assign(__sv_type, size_type, size_type)): Likewise.
7402         (insert(size_type, __sv_type)): Likewise.
7403         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
7404         (replace(size_type, size_type, __sv_type)): Likewise.
7405         (replace(size_type, size_type, __sv_type, size_type, size_type)):
7406         Likewise.
7407         (replace(const_iterator, const_iterator, __sv_type)): Likewise.
7408         (find(__sv_type, size_type)): Likewise.
7409         (rfind(__sv_type, size_type)): Likewise.
7410         (find_first_of(__sv_type, size_type)): Likewise.
7411         (find_last_of(__sv_type, size_type)): Likewise.
7412         (find_first_not_of(__sv_type, size_type)): Likewise.
7413         (find_last_not_of(__sv_type, size_type)): Likewise.
7414         (compare(__sv_type)): Likewise.
7415         (compare(size_type, size_type, __sv_type)): Likewise.
7416         (compare(size_type, size_type, __sv_type, size_type, size_type)):
7417         Likewise.
7418         * include/bits/string_view.tcc: New.
7419         * include/std/string_view: Likewise.
7420         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
7421         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
7422         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
7423         Likewise.
7424         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
7425         Likewise.
7426         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
7427         Likewise.
7428         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
7429         Likewise.
7430         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
7431         Likewise.
7432         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
7433         Likewise.
7434         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7435         Likewise.
7436         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
7437         Likewise.
7438         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
7439         Likewise.
7440         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
7441         Likewise.
7442         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
7443         Likewise.
7444         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
7445         Likewise.
7446         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
7447         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
7448         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
7449         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
7450         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
7451         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
7452         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
7453         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
7454         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
7455         * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
7456         Likewise.
7457         * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
7458         Likewise.
7459         * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
7460         Likewise.
7461         * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
7462         Likewise.
7463         * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
7464         Likewise.
7465         * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
7466         Likewise.
7467         * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
7468         Likewise.
7469         * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
7470         Likewise.
7471         * testsuite/21_strings/basic_string_view/include.cc: Likewise.
7472         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
7473         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
7474         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
7475         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
7476         Likewise.
7477         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
7478         Likewise.
7479         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
7480         Likewise.
7481         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
7482         Likewise.
7483         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
7484         Likewise.
7485         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
7486         Likewise.
7487         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
7488         Likewise.
7489         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
7490         Likewise.
7491         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
7492         Likewise.
7493         * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
7494         Likewise.
7495         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
7496         Likewise.
7497         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
7498         Likewise.
7499         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
7500         Likewise.
7501         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
7502         Likewise.
7503         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
7504         Likewise.
7505         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
7506         Likewise.
7507         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
7508         Likewise.
7509         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
7510         Likewise.
7511         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
7512         Likewise.
7513         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
7514         Likewise.
7515         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
7516         Likewise.
7517         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
7518         Likewise.
7519         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
7520         Likewise.
7521         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
7522         Likewise.
7523         * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
7524         Likewise.
7525         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
7526         Likewise.
7527         * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
7528         Likewise.
7529         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
7530         Likewise.
7531         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
7532         Likewise.
7533         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
7534         Likewise.
7535         * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
7536         Likewise.
7537         * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
7538         Likewise.
7539         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
7540         Likewise.
7541         * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
7542         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
7543         Likewise.
7544         * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
7545         Likewise.
7546         * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
7547         Likewise.
7548         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
7549         Likewise.
7550         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
7551         Likewise.
7552         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
7553         Likewise.
7554         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
7555         Likewise.
7556         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
7557         Likewise.
7558         * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
7559         Likewise.
7560         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
7561         * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
7562
7563 2016-07-27  Jonathan Wakely  <jwakely@redhat.com>
7564
7565         * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
7566
7567 2016-07-25  Georeth Chow  <georeth2010@gmail.com>
7568
7569         * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
7570         _S_concat enumerator.
7571         * testsuite/ext/rope/6.cc: New test.
7572
7573 2016-07-25  Jonathan Wakely  <jwakely@redhat.com>
7574
7575         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
7576         std::mt19937, std::thread and std::atomic to simplify test.
7577         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
7578
7579 2016-07-22  Jonathan Wakely  <jwakely@redhat.com>
7580
7581         PR libstdc++/71964
7582         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
7583         (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
7584         * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
7585         * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
7586         * testsuite/23_containers/set/allocator/71964.cc: New test.
7587
7588         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
7589         delete[] instead of delete.
7590
7591 2016-07-21  Jonathan Wakely  <jwakely@redhat.com>
7592
7593         * include/experimental/propagate_const (propagate_const::__t): Rename
7594         to _M_t and remove comment. Qualify std::move and std::forward.
7595         * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
7596
7597         * testsuite/23_containers/vector/zero_sized_allocations.cc:
7598         Define sized deallocation function.
7599         * testsuite/util/testsuite_new_operators.h:
7600         (operator delete(void*, const std::nothrow_t&)): Define nothrow
7601         deallocation function.
7602
7603         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
7604         reads past the end of strings.
7605         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
7606         Likewise.
7607         * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
7608         invalid array accesses.
7609         * testsuite/experimental/string_view/operations/compare/char/1.cc:
7610         Fix read past the end of string.
7611         * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
7612
7613         * testsuite/24_iterators/container_access.cc: Fix missing returns.
7614         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
7615
7616         * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
7617         leak) memory for arguments to placement delete.
7618         * testsuite/20_util/addressof/1.cc: Don't leak memory.
7619         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
7620         * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
7621         Likewise.
7622
7623 2016-07-20  Jonathan Wakely  <jwakely@redhat.com>
7624
7625         * doc/xml/manual/intro.xml: Document DR 2684 status.
7626         * doc/html/*: Regenerate.
7627
7628         * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
7629         (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
7630         (atomic_uint64_t): Define (LWG 2441).
7631         * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
7632         lines.
7633         * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
7634         the new types.
7635         * doc/xml/manual/intro.xml: Document DR 2441 status.
7636
7637         * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
7638         to use perfect forwarding (LWG 2328).
7639         * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
7640         * doc/xml/manual/intro.xml: Document DR 2328 status.
7641
7642         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
7643         static objects for catching nullptr as pointer to member types.
7644
7645 2016-07-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
7646
7647         Clean up optional's comments.
7648         * include/std/optional: Remove incorrect section headers
7649         from comments when redundant, replace bare section
7650         headers with more descriptive comments.
7651
7652 2016-07-15  Jonathan Wakely  <jwakely@redhat.com>
7653
7654         * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
7655         * include/bits/move.h: Likewise.
7656         * include/bits/postypes.h: Likewise.
7657         * include/debug/bitset: Likewise.
7658         * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
7659         * include/ext/string_conversions.h: Change C++0x to __cxx11 in
7660         comment.
7661         * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
7662         * testsuite/util/thread/all.h: Likewise.
7663
7664         * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
7665         and adjust comment.
7666
7667         PR c++/58796
7668         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
7669         nullptr match handlers of pointer type.
7670
7671 2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
7672
7673         Implement C++17 P0025 clamp.
7674         * include/bits/algorithmfwd.h: Declare clamp overloads.
7675         * include/bits/stl_algo.h: Implement clamp.  Feature __cpp_lib_clamp.
7676         * testsuite/25_algorithms/clamp/1.cc: New test.
7677         * testsuite/25_algorithms/clamp/2.cc: New test.
7678         * testsuite/25_algorithms/clamp/constexpr.cc: New test.
7679         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
7680         1.cc: New test.
7681         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
7682         pod.cc: New test.
7683
7684 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
7685
7686         Fix the constraints for any's assignment operator template to properly
7687         reject assignment from a non-copyable lvalue.
7688         * include/std/any (operator=(_ValueType&&)): Constrain the decayed
7689         type for is_copy_constructible,
7690         * testsuite/20_util/any/requirements.cc: Add a test for
7691         non-copyable lvalues.
7692
7693 2016-07-14  Jonathan Wakely  <jwakely@redhat.com>
7694
7695         * include/experimental/functional: Include <parallel/algorithm> in
7696         Parallel Mode.
7697
7698         * testsuite/experimental/functional/searchers.cc: Include <algorithm>
7699         for std::search.
7700
7701         PR libstdc++/70716
7702         * include/bits/forward_list.h (forward_list): Update doxygen comments
7703         to reflect allocator propagation semantics. Remove ambiguous
7704         statements about data being lost.
7705         * include/bits/stl_deque.h (deque): Likewise.
7706         * include/bits/stl_list.h (list): Likewise.
7707         * include/bits/stl_map.h (map): Likewise.
7708         * include/bits/stl_multimap.h (multimap): Likewise.
7709         * include/bits/stl_multiset.h (multiset): Likewise.
7710         * include/bits/stl_set.h (set): Likewise.
7711         * include/bits/stl_vector.h (vector): Likewise.
7712         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
7713         Likewise.
7714         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
7715         Likewise.
7716
7717 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
7718
7719         Implement P0032R3, Homogeneous interface for variant, any and optional,
7720         for the parts concerning any and optional.
7721         * include/std/any (_Storage()): Make constexpr and have it
7722         initialize _M_ptr.
7723         (any()): Make constexpr.
7724         (any(const any&)): Adjust.
7725         (any(any&&)): Likewise.
7726         (__any_constructible_t): New.
7727         (any(_ValueType&&)): Constrain.
7728         (any(in_place_type_t<_Tp>, _Args&&...)): New.
7729         (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
7730         Likewise.
7731         (~any()): Adjust.
7732         (operator=(const any&)): Likewise.
7733         (operator=(any&&)): Likewise.
7734         (operator=(_ValueType&&)): Constrain.
7735         (emplace(_Args&&...)): New.
7736         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
7737         (clear()): Remove.
7738         (reset()): New.
7739         (swap(any&)): Adjust.
7740         (empty()): Remove.
7741         (has_value()): New.
7742         (type()): Adjust.
7743         (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
7744         (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
7745         (make_any(_Args&&...)): Likewise.
7746         (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
7747         * include/std/optional (in_place_t, in_place): Remove.
7748         (bad_optional_access): Add a comment referring to LEWG 72.
7749         (emplace(_Args&&...)): Constrain.
7750         (has_value()): New.
7751         (reset()): Likewise.
7752         (make_optional(_Args&&...)): Likewise.
7753         (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
7754         * include/std/utility (in_place_tag): New.
7755         (__in_place, __in_place_type, __in_place_index): Likewise.
7756         (in_place_t, in_place_type_t, in_place_index_t): Likewise.
7757         (in_place(__in_place*)): Likewise.
7758         (in_place(__in_place_type<_Tp>*)): Likewise.
7759         (in_place(__in_place_index<_Idx>*)): Likewise.
7760         * testsuite/20_util/any/assign/1.cc: Adjust.
7761         * testsuite/20_util/any/assign/emplace.cc: New.
7762         * testsuite/20_util/any/assign/self.cc: Adjust.
7763         * testsuite/20_util/any/cons/1.cc: Likewise.
7764         * testsuite/20_util/any/cons/in_place.cc: New.
7765         * testsuite/20_util/any/make_any.cc: Likewise.
7766         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
7767         * testsuite/20_util/any/misc/swap.cc: Likewise.
7768         * testsuite/20_util/any/modifiers/1.cc: Likewise.
7769         * testsuite/20_util/any/requirements.cc: New.
7770         * testsuite/20_util/in_place/requirements.cc: Likewise.
7771         * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
7772         * testsuite/20_util/optional/in_place.cc: Likewise.
7773         * testsuite/20_util/optional/make_optional.cc: Add tests for
7774         the new overloads of make_optional.
7775
7776 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
7777
7778         Implement P0307R2, Making Optional Greater Equal Again.
7779         * include/experimental/optional (_Has_addressof): Fix the comment.
7780         * include/std/optional (_Has_addressof): Likewise.
7781         (operator=(_Up&&)): Constrain.
7782         (operator=(const optional<_Up>&)): Likewise.
7783         (operator=(optional<_Up>&&)): Likewise.
7784         (__optional_relop_t): New.
7785         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7786         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
7787         Constrain and make transparent.
7788         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7789         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
7790         Constrain and make transparent.
7791         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7792         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7793         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
7794         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
7795         (operator!=(const optional<_Tp>&, _Tp const&)):
7796         Constrain and make transparent.
7797         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
7798         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
7799         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
7800         (operator>(const optional<_Tp>&, const _Tp&)):
7801         Constrain and make transparent.
7802         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
7803         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
7804         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
7805         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
7806         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
7807         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
7808         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
7809         * testsuite/20_util/optional/relops/1.cc: Likewise.
7810         * testsuite/20_util/optional/relops/2.cc: Likewise.
7811         * testsuite/20_util/optional/relops/3.cc: Likewise.
7812         * testsuite/20_util/optional/relops/4.cc: Likewise.
7813         * testsuite/20_util/optional/requirements.cc: Add tests to verify
7814         that optional's relops are transparent and don't synthesize
7815         operators. Also test that assignment sfinaes.
7816
7817 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
7818
7819         PR libstdc++/71856
7820         * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
7821         * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
7822         Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
7823         on _GLIBCXX_ASSERTIONS.
7824         * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
7825         Include <unistd.h> for sleep.
7826         * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
7827         * include/parallel/merge.h: Likewise.
7828         * include/parallel/multiway_merge.h: Likewise.
7829         * include/parallel/partition.h: Likewise.
7830         * include/parallel/queue.h: Likewise.
7831         * include/parallel/sort.h: Likewise.
7832         * testsuite/25_algorithms/headers/algorithm/
7833         parallel_algorithm_assert.cc: New.
7834
7835         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
7836         (replace(__const_iterator, __const_iterator, initializer_list<C>)):
7837         Forward to different overload.
7838
7839         * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
7840         static.
7841
7842 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
7843
7844         Revert "Add non-const overload of std::string::data()".
7845
7846 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
7847
7848         Implement P0307R2, Making Optional Greater Equal Again.
7849         * include/experimental/optional (_Has_addressof): Fix the comment.
7850         * include/std/optional (_Has_addressof): Likewise.
7851         (operator=(_Up&&)): Constrain.
7852         (operator=(const optional<_Up>&)): Likewise.
7853         (operator=(optional<_Up>&&)): Likewise.
7854         (__optional_relop_t): New.
7855         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7856         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
7857         Constrain and make transparent.
7858         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7859         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
7860         Constrain and make transparent.
7861         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7862         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7863         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
7864         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
7865         (operator!=(const optional<_Tp>&, _Tp const&)):
7866         Constrain and make transparent.
7867         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
7868         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
7869         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
7870         (operator>(const optional<_Tp>&, const _Tp&)):
7871         Constrain and make transparent.
7872         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
7873         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
7874         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
7875         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
7876         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
7877         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
7878         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
7879         * testsuite/20_util/optional/relops/1.cc: Likewise.
7880         * testsuite/20_util/optional/relops/2.cc: Likewise.
7881         * testsuite/20_util/optional/relops/3.cc: Likewise.
7882         * testsuite/20_util/optional/relops/4.cc: Likewise.
7883         * testsuite/20_util/optional/requirements.cc: Add tests to verify
7884         that optional's relops are transparent and don't synthesize
7885         operators. Also test that assignment sfinaes.
7886
7887 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
7888
7889         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
7890         New function.
7891         (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
7892         instead of _M_data().
7893         (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
7894         Likewise.
7895         (append(const basic_string&)): Likewise.
7896         (append(const basic_string&, size_type, size_type)): Likewise.
7897         (assign(const basic_string&, size_type, size_type)): Likewise.
7898         (insert(size_type, const basic_string&)): Likewise.
7899         (insert(size_type, const basic_string&, size_type, size_type)):
7900         Likewise.
7901         (replace(size_type, size_type, const basic_string&, size_type,
7902         size_type)): Likewise.
7903         (replace(__const_iterator, __const_iterator, const basic_string&)):
7904         Likewise.
7905         (c_str(), data()): Use c_str() instead of _M_data().
7906         (data()): Add non-const overload as per LWG 2391 and P0272R1.
7907         (compare(const basic_string&)): Use data() instead of _M_data().
7908         [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
7909         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
7910         Pass raw pointers to _S_copy.
7911         (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
7912         _S_assign.
7913         (find(const _CharT*, size_type, size_type)): Use data instead of
7914         _M_data().
7915         * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
7916         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
7917         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
7918
7919 2016-07-12  Jonathan Wakely  <jwakely@redhat.com>
7920
7921         * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
7922         * doc/xml/manual/intro.xml: Document DR 2458 status.
7923         * doc/html*: Regenerate.
7924
7925         * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
7926         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
7927         Only include <array>.
7928         * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
7929         Likewise.
7930         * doc/xml/manual/intro.xml: Document LWG 2212 support.
7931         * doc/html*: Regenerate.
7932
7933         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
7934         Add testcase from LWG 2164.
7935
7936 2016-07-11  François Dumont  <fdumont@gcc.gnu.org>
7937
7938         * include/bits/stl_vector.h (push_back(const value_type&)): Forward
7939         to _M_realloc_insert.
7940         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
7941         (_M_realloc_insert): Declare new function.
7942         (_M_emplace_back_aux): Remove definition.
7943         * include/bits/vector.tcc (emplace_back(_Args...)):
7944         Use _M_realloc_insert.
7945         (insert(const_iterator, const value_type&)): Likewise.
7946         (_M_insert_rval, _M_emplace_aux): Likewise.
7947         (_M_emplace_back_aux): Remove declaration.
7948         (_M_realloc_insert): Define.
7949         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
7950         Adjust expected results for emplacing an lvalue with reallocation.
7951
7952 2016-07-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
7953
7954         Implement std::optional.
7955         * include/Makefile.am: Add optional to exported headers.
7956         * include/Makefile.in: Likewise.
7957         * include/std/optional: New.
7958         * testsuite/20_util/optional/typedefs.cc: Likewise.
7959         * testsuite/20_util/optional/relops/2.cc: Likewise.
7960         * testsuite/20_util/optional/relops/3.cc: Likewise.
7961         * testsuite/20_util/optional/relops/4.cc: Likewise.
7962         * testsuite/20_util/optional/relops/5.cc: Likewise.
7963         * testsuite/20_util/optional/relops/1.cc: Likewise.
7964         * testsuite/20_util/optional/relops/6.cc: Likewise.
7965         * testsuite/20_util/optional/nullopt.cc: Likewise.
7966         * testsuite/20_util/optional/in_place.cc: Likewise.
7967         * testsuite/20_util/optional/make_optional.cc: Likewise.
7968         * testsuite/20_util/optional/assignment/2.cc: Likewise.
7969         * testsuite/20_util/optional/assignment/3.cc: Likewise.
7970         * testsuite/20_util/optional/assignment/4.cc: Likewise.
7971         * testsuite/20_util/optional/assignment/5.cc: Likewise.
7972         * testsuite/20_util/optional/assignment/1.cc: Likewise.
7973         * testsuite/20_util/optional/assignment/6.cc: Likewise.
7974         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
7975         * testsuite/20_util/optional/cons/default.cc: Likewise.
7976         * testsuite/20_util/optional/cons/move.cc: Likewise.
7977         * testsuite/20_util/optional/cons/value.cc: Likewise.
7978         * testsuite/20_util/optional/cons/copy.cc: Likewise.
7979         * testsuite/20_util/optional/requirements.cc: Likewise.
7980         * testsuite/20_util/optional/observers/2.cc: Likewise.
7981         * testsuite/20_util/optional/observers/3.cc: Likewise.
7982         * testsuite/20_util/optional/observers/4.cc: Likewise.
7983         * testsuite/20_util/optional/observers/5.cc: Likewise.
7984         * testsuite/20_util/optional/observers/1.cc: Likewise.
7985         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
7986         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
7987         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
7988         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
7989         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
7990         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
7991         * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
7992         * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
7993         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
7994         * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
7995         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
7996         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
7997         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
7998         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
7999         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
8000         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
8001         * testsuite/20_util/optional/swap/1.cc: Likewise.
8002
8003 2016-07-08  Jonathan Wakely  <jwakely@redhat.com>
8004
8005         * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
8006
8007 2016-07-07  Jonathan Wakely  <jwakely@redhat.com>
8008
8009         * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
8010         * doc/html/*: Regenerate.
8011
8012 2016-07-07  Ville Voutilainen  <ville.voutilainen@gmail.com>
8013
8014         Implement std::any.
8015         * include/Makefile.am: Add any and c++17_warning.h to exported headers.
8016         * include/Makefile.in: Likewise.
8017         * include/std/any: New.
8018         * testsuite/20_util/any/assign/1.cc: Likewise.
8019         * testsuite/20_util/any/assign/2.cc: Likewise.
8020         * testsuite/20_util/any/assign/self.cc: Likewise.
8021         * testsuite/20_util/any/cons/1.cc: Likewise.
8022         * testsuite/20_util/any/cons/2.cc: Likewise.
8023         * testsuite/20_util/any/cons/aligned.cc: Likewise.
8024         * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
8025         * testsuite/20_util/any/misc/any_cast.cc: Likewise.
8026         * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
8027         * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
8028         * testsuite/20_util/any/misc/swap.cc: Likewise.
8029         * testsuite/20_util/any/modifiers/1.cc: Likewise.
8030         * testsuite/20_util/any/observers/type.cc: Likewise.
8031         * testsuite/20_util/any/typedefs.cc: Likewise.
8032
8033 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8034
8035         Add a new header for diagnosing the use of C++17 facilities
8036         in pre-C++17 modes.
8037         * include/bits/c++17_warning.h: New.
8038
8039 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8040
8041         Implement LWG 2451, optional<T> should 'forward' T's
8042         implicit conversions.
8043         * include/experimental/optional (__is_optional_impl, __is_optional):
8044         New.
8045         (optional()): Make constexpr and default.
8046         (optional(_Up&&), optional(const optional<_Up>&),
8047         optional(optional<_Up>&& __t): New.
8048         (operator=(_Up&&)): Constrain.
8049         (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
8050         * testsuite/experimental/optional/cons/value.cc:
8051         Add tests for the functionality added by LWG 2451.
8052         * testsuite/experimental/optional/cons/value_neg.cc: New.
8053
8054 2016-07-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8055
8056         Implement LWG 2509,
8057         any_cast doesn't work with rvalue reference targets and cannot
8058         move with a value target.
8059         * include/experimental/any (any(_ValueType&&)): Constrain and
8060         add an overload that doesn't forward.
8061         (any_cast(any&&)): Constrain and add an overload that moves.
8062         * testsuite/experimental/any/misc/any_cast.cc: Add tests for
8063         the functionality added by LWG 2509.
8064
8065 2016-07-04  François Dumont  <fdumont@gcc.gnu.org>
8066
8067         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8068         New test.
8069         * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
8070         test.
8071
8072 2016-07-04  Jonathan Wakely  <jwakely@redhat.com>
8073
8074         * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
8075         Define inline. Forward to _M_emplace_aux.
8076         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8077         (_M_insert_rval, _M_emplace_aux): Declare new functions.
8078         (_Temporary_value): New RAII type using allocator to construct/destroy.
8079         (_S_insert_aux_assign): Remove.
8080         (_M_insert_aux): Make non-variadic.
8081         * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
8082         Use _Temporary_value.
8083         (emplace(const_iterator, _Args&&...)): Remove definition.
8084         (_M_insert_rval, _M_emplace_aux): Define.
8085         (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
8086         (_M_fill_insert): Use _Temporary_value.
8087         * testsuite/23_containers/vector/allocator/construction.cc: New test.
8088         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8089         Adjust expected results for emplacing an lvalue with reallocation.
8090         * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
8091         expected results to account for construction/destruction of temporary
8092         using allocator.
8093         * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
8094
8095 2016-07-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
8096
8097         PR libstdc++/71313
8098         * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
8099         Call remove_all for children of a directory.
8100         * testsuite/experimental/filesystem/operations/create_directories.cc:
8101         Adjust.
8102
8103 2016-07-02  François Dumont  <fdumont@gcc.gnu.org>
8104
8105         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
8106         dg-error line numbers.
8107         * testsuite/23_containers/array/tuple_interface/
8108         tuple_element_debug_neg.cc: Likewise.
8109         * testsuite/25_algorithms/lexicographical_compare/debug/
8110         irreflexive_neg.cc: Remove.
8111
8112 2016-06-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8113
8114         * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
8115         than specific target.
8116
8117 2016-06-27  François Dumont  <fdumont@gcc.gnu.org>
8118
8119         PR libstdc++/71640
8120         * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
8121         friend declaration.
8122
8123 2016-06-23  François Dumont  <fdumont@gcc.gnu.org>
8124
8125         * include/debug/array (array<>::swap): Fix noexcept qualificaton for
8126         zero-size array.
8127
8128 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8129
8130         * configure.host: Remove mep-* support.
8131
8132 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8133
8134         * configure: Regenerate.
8135         * configure.host: Remove support for knetbsd.
8136         * crossconfig.m4: Likewise.
8137
8138 2016-06-20  François Dumont  <fdumont@gcc.gnu.org>
8139
8140         PR libstdc++/71181
8141         * include/tr1/hashtable_policy.h
8142         (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
8143         dereferenceable to avoid check on lower_bound result.
8144         (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
8145         (_Prime_rehash_policy::_M_need_rehash): Likewise.
8146         * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
8147         Always return a value greater than input value. Set _M_next_resize to
8148         max value when reaching highest prime number.
8149         * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
8150         being now useless.
8151         * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
8152         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
8153         (test02): New.
8154         * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
8155         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8156         Fix indentation.
8157
8158 2016-06-17  Jonathan Wakely  <jwakely@redhat.com>
8159
8160         PR libstdc++/71545
8161         * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
8162         Remove irreflexive checks.
8163         * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
8164         binary_search): Likewise.
8165         * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
8166         * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
8167         * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
8168         * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
8169         * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
8170         Add constructor from array.
8171
8172 2016-06-16  François Dumont  <fdumont@gcc.gnu.org>
8173
8174         * include/debug/debug.h
8175         (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
8176         (__glibcxx_requires_subscript): Move...
8177         * include/debug/assertions.h: ...here and add __builtin_expect.
8178         (_GLIBCXX_DEBUG_ONLY): Remove ; value.
8179         * include/bits/stl_deque.h
8180         (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
8181         (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
8182         (std::deque<>::back()): Likewise.
8183         (std::deque<>::pop_front()): Likewise.
8184         (std::deque<>::pop_back()): Likewise.
8185         (std::deque<>::swap(deque&)): Add allocator check.
8186         * include/bits/stl_vector.h
8187         (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
8188         (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
8189         (std::vector<>::back()): Likewise.
8190         (std::vector<>::pop_back()): Likewise.
8191         (std::vector<>::swap(vector&)): Add allocator check.
8192
8193 2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>
8194
8195         Provide swappable traits (p0185r1)
8196         * include/std/type_traits (is_swappable, is_nothrow_swappable,
8197         is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
8198         is_nothrow_swappable_v, is_swappable_with_v,
8199         is_nothrow_swappable_with_v): New.
8200         * include/bits/stl_pair.h: Use it as per p0185r1.
8201         * include/bits/stl_queue.h: Likewise.
8202         * include/bits/stl_stack.h: Likewise.
8203         * include/bits/unique_ptr.h: Likewise.
8204         * include/std/tuple: Likewise.
8205         * include/std/array: Likewise. Fix zero-size member swap.
8206         * include/bits/hashtable.h: Use __and_.
8207         * testsuite/20_util/is_nothrow_swappable/requirements/
8208         explicit_instantiation.cc: Change test options to std=gnu++17.
8209         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
8210         Likewise.
8211         * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
8212         * testsuite/20_util/is_swappable/requirements/
8213         explicit_instantiation.cc: Likewise.
8214         * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
8215         * testsuite/20_util/is_swappable/value.cc: Likewise.
8216         * testsuite/20_util/is_nothrow_swappable/requirements/
8217         explicit_instantiation_ext.cc: New.
8218         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
8219         New.
8220         * testsuite/20_util/is_nothrow_swappable/value.h: New.
8221         * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
8222         * testsuite/20_util/is_nothrow_swappable_with/requirements/
8223         explicit_instantiation.cc: New.
8224         * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
8225         New.
8226         * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
8227         * testsuite/20_util/is_swappable/requirements/
8228         explicit_instantiation_ext.cc: New.
8229         * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
8230         * testsuite/20_util/is_swappable/value.h: New.
8231         * testsuite/20_util/is_swappable/value_ext.cc: New.
8232         * testsuite/20_util/is_swappable_with/requirements/
8233         explicit_instantiation.cc: New.
8234         * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
8235         * testsuite/20_util/is_swappable_with/value.cc: New.
8236         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
8237         dg-error line numbers.
8238         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
8239         Likewise.
8240
8241 2016-06-16  Jonathan Wakely  <jwakely@redhat.com>
8242
8243         * include/std/array: Remove trailing whitespace.
8244         * include/std/atomic: Likewise.
8245         * include/std/bitset: Likewise.
8246         * include/std/chrono: Likewise.
8247         * include/std/complex: Likewise.
8248         * include/std/condition_variable: Likewise.
8249         * include/std/fstream: Likewise.
8250         * include/std/functional: Likewise.
8251         * include/std/future: Likewise.
8252         * include/std/iomanip: Likewise.
8253         * include/std/iosfwd: Likewise.
8254         * include/std/istream: Likewise.
8255         * include/std/limits: Likewise.
8256         * include/std/ratio: Likewise.
8257         * include/std/scoped_allocator: Likewise.
8258         * include/std/sstream: Likewise.
8259         * include/std/stdexcept: Likewise.
8260         * include/std/string: Likewise.
8261         * include/std/system_error: Likewise.
8262         * include/std/thread: Likewise.
8263         * include/std/tuple: Likewise.
8264         * include/std/type_traits: Likewise.
8265         * include/std/utility: Likewise.
8266         * include/std/valarray: Likewise.
8267         * include/std/vector: Likewise.
8268
8269         * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
8270         new overloaded functions.
8271         * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
8272         to avoid creating a redundant temporary.
8273         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
8274         test.
8275
8276 2016-06-15  François Dumont  <fdumont@gcc.gnu.org>
8277
8278         * include/bits/stl_deque.h
8279         (std::deque<>::operator=): Call _M_assign_aux.
8280         (std::deque<>::assign(initializer_list<>)): Likewise.
8281         (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8282         (std::deque<>::insert(const_iterator, initializer_list<>)):
8283         Call _M_range_insert_aux.
8284         (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
8285         Likewise.
8286         (std::deque<>::_M_fill_assign): Call _M_fill_insert.
8287         (std::deque<>::_M_move_assign2): Call _M_assign_aux.
8288         * include/bits/deque.tcc
8289         (std::deque<>::operator=): Call _M_range_insert_aux.
8290         (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
8291         Likewise.
8292         * include/bits/stl_vector.h
8293         (std::vector<>::operator=): Call _M_assign_aux.
8294         (std::vector<>::assign(initializer_list<>)): Likewise.
8295         (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8296         (std::vector<>::insert(const_iterator, initializer_list<>)):
8297         Call _M_range_insert.
8298         * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
8299
8300 2016-06-07  François Dumont  <fdumont@gcc.gnu.org>
8301
8302         * include/std/tuple (_Head_base<>): Default specialization condition at
8303         type declaration.
8304
8305 2016-06-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8306
8307         Support allocators in tuples of zero size.
8308         * include/std/tuple (tuple<>::tuple(),
8309         tuple<>::tuple(allocator_arg_t, const _Alloc&),
8310         tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
8311         * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
8312
8313 2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
8314
8315         PR libstdc++/71320
8316         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
8317         Add or remove permissions according to perms argument.
8318         * testsuite/experimental/filesystem/operations/permissions.cc: New
8319         test.
8320
8321 2016-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8322
8323         Protect allocator-overloads of tuple-from-tuple constructors
8324         from cases that would create dangling references.
8325         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8326         const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
8327         tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
8328         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
8329
8330 2016-05-29  Gerald Pfeifer  <gerald@pfeifer.com>
8331
8332         * doc/xml/manual/backwards_compatibility.xml: Adjust
8333         lists.debian.org link to https.
8334         * doc/html/manual/backwards.html: Regenerate.
8335
8336 2016-05-27  Jonathan Wakely  <jwakely@redhat.com>
8337
8338         * doc/xml/manual/abi.xml: Adjust URL to use https.
8339         * doc/html/manual/*: Regenerate.
8340
8341 2016-05-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
8342
8343         PR libstdc++/66338
8344         * include/std/tuple (_TMC): Add a check for _NotSameTuple.
8345         * include/std/tuple (tuple(_UElements&&...)): Remove the separate
8346         check for _NotSameTuple.
8347         * include/std/tuple (_TMCT): New.
8348         * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
8349         * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
8350         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8351               const tuple<_UElements...>&)): Likewise.
8352         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8353               tuple<_UElements...>&&)): Likewise.
8354         * testsuite/20_util/tuple/cons/66338.cc: New.
8355
8356 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
8357
8358         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
8359         * configure: Regenerate.
8360         * config.h.in: Regenerate.
8361
8362         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
8363         * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
8364         Remove const qualification on function. Replace
8365         _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
8366         (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
8367         (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
8368
8369 2016-05-24  François Dumont  <fdumont@gcc.gnu.org>
8370
8371         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
8372         * include/bits/hashtable_policy.h
8373         (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
8374         having load factor management.
8375         (_Mask_range_hashing): New.
8376         (__clp2): New.
8377         (_Power2_rehash_policy): New.
8378         (_Inserts<>): Remove last template parameter, _Unique_keys, so that
8379         partial specializations only depend on whether iterators are constant
8380         or not.
8381         * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
8382         test new hash policy.
8383         * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
8384         Likewise.
8385         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8386         Likewise.
8387         * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
8388         Likewise.
8389         * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
8390         Likewise.
8391         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
8392         New.
8393         * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
8394         using the new hash policy.
8395         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
8396
8397 2016-05-24  Jonathan Wakely  <jwakely@redhat.com>
8398
8399         * include/bits/stl_queue.h (priority_queue::value_compare): Define.
8400
8401 2016-05-23  François Dumont  <fdumont@gcc.gnu.org>
8402
8403         * include/debug/safe_iterator.h
8404         (_Safe_iterator<>::operator->()): Implement using underlying iterator
8405         operator ->.
8406         * include/debug/safe_local_iterator.h
8407         (_Safe_local_iterator<>::operator->()): Likewise.
8408
8409 2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8410
8411         * testsuite/experimental/memory_resource/1.cc: Add required argument
8412         to dg-require-atomic-builtins.
8413
8414 2016-05-13  Jonathan Wakely  <jwakely@redhat.com>
8415
8416         PR libstdc++/71073
8417         * include/debug/bitset: Add #pragma GCC system_header.
8418         * include/debug/deque: Likewise.
8419         * include/debug/list: Likewise.
8420         * include/debug/map: Likewise.
8421         * include/debug/set: Likewise.
8422         * include/debug/string: Likewise.
8423         * include/debug/unordered_map: Likewise.
8424         * include/debug/unordered_set: Likewise.
8425         * include/debug/vector: Likewise.
8426         * include/debug/functions.h: Adjust whitespace.
8427
8428 2016-05-12  Jonathan Wakely  <jwakely@redhat.com>
8429
8430         PR libstdc++/71081
8431         * testsuite/experimental/memory_resource/1.cc: Require atomics.
8432
8433 2016-05-11  Jonathan Wakely  <jwakely@redhat.com>
8434
8435         PR libstdc++/71049
8436         * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
8437         exception constructors with __sso_string parameters.
8438
8439 2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
8440
8441         * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
8442         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8443         Test begin and end functions.
8444         * testsuite/experimental/filesystem/iterators/
8445         recursive_directory_iterator.cc: Likewise.
8446
8447         PR libstdc++/71038
8448         * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
8449         * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
8450
8451         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8452         Overload operator* to move from rvalues.
8453
8454         PR libstdc++/71036
8455         * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
8456         * testsuite/experimental/filesystem/operations/create_directory.cc:
8457         New test.
8458
8459         PR libstdc++/71037
8460         * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
8461         base path to exception.
8462         * testsuite/experimental/filesystem/operations/canonical.cc: Test
8463         paths contained in exception.
8464
8465         * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
8466         using declaration.
8467
8468         PR libstdc++/71005
8469         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8470         New type.
8471         (directory_iterator::operator++(int)): Return proxy.
8472         (recursive_directory_iterator::operator++(int)): Likewise.
8473         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8474         Test post-increment.
8475         * testsuite/experimental/filesystem/iterators/
8476         recursive_directory_iterator.cc: Likewise.
8477
8478 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8479
8480         PR libstdc++/71004
8481         * testsuite/experimental/filesystem/iterators/
8482         recursive_directory_iterator.cc: Fix test02 to not call member
8483         functions on invalid iterator, and use VERIFY not assert.
8484
8485 2016-05-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
8486
8487         Avoid endless run-time recursion for copying single-element
8488         tuples where the element type is by-value constructible
8489         from any type.
8490         * include/std/tuple (_NotSameTuple): New.
8491         * include/std/tuple (tuple(_UElements&&...): Use it.
8492         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
8493
8494 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8495
8496         PR libstdc++/71004
8497         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
8498         Initialize scalar member variables in default constructor.
8499         * testsuite/experimental/filesystem/iterators/
8500         recursive_directory_iterator.cc: Test default construction.
8501
8502 2016-05-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8503
8504         * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
8505
8506 2016-05-05  Jonathan Wakely  <jwakely@redhat.com>
8507
8508         * testsuite/experimental/filesystem/path/native/string.cc: Add
8509         dg-require-filesystem-ts directive.
8510
8511 2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
8512
8513         PR libstdc++/70940
8514         * include/experimental/memory_resource
8515         (__resource_adaptor_imp::do_allocate): Do not default-construct
8516         rebound allocator.
8517         (__resource_adaptor_imp::do_deallocate): Likewise. Use
8518         allocator_traits to get pointer type.
8519         (__null_memory_resource::do_allocate): Remove unused parameters.
8520         (__null_memory_resource::do_deallocate): Likewise.
8521         (__null_memory_resource::do_is_equal): Likewise. Add return statement.
8522         * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
8523         * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
8524         move to ...
8525         * testsuite/experimental/memory_resource/1.cc: Here.
8526         * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
8527         * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
8528
8529 2016-04-29  Chris Gregory  <czipperz@gmail.com>
8530
8531         * config/*: Remove trailing whitespace.
8532         * src/*: Likewise.
8533         * testsuite/tr1/*: Likewise.
8534         * testsuite/util/*: Likewise.
8535
8536 2016-04-28  Jonathan Wakely  <jwakely@redhat.com>
8537
8538         PR libstdc++/70766
8539         * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
8540         __addressof.
8541         * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
8542         Likewise.
8543         * include/std/atomic (atomic<_Tp>): Likewise.
8544         * include/std/shared_mutex (shared_lock): Likewise.
8545         * testsuite/24_iterators/istream_iterator/70766.cc: New test.
8546         * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
8547         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
8548         * testsuite/29_atomics/atomic/70766.cc: New test.
8549         * testsuite/30_threads/shared_lock/70766.cc: New test.
8550
8551         * include/bits/hashtable_policy.h (__detail::_Insert_base,
8552         __detail::_Insert): Improve comments.
8553
8554 2016-04-27  Jonathan Wakely  <jwakely@redhat.com>
8555
8556         PR libstdc++/70767
8557         * include/std/limits: Update comments about DRs.
8558         (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
8559         numeric_limits<const volatile _Tp>): Define unconditionally.
8560
8561 2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
8562
8563         PR libstdc++/70762
8564         * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
8565         static counter to return a different path on every call.
8566
8567 2016-04-22  Tim Shen  <timshen@google.com>
8568
8569         PR libstdc++/70745
8570         * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
8571         Fix the match_not_bow and match_not_eow behavior.
8572         * testsuite/28_regex/regression.cc: Add testcase.
8573
8574 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
8575
8576         PR libstdc++/69703
8577         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
8578         __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
8579
8580 2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
8581
8582         PR libstdc++/69703
8583         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
8584         Override endianness bit in mode.
8585         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
8586         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
8587         that little_endian mode is ignored.
8588         * testsuite/experimental/filesystem/path/native/string.cc: New test.
8589
8590         PR libstdc++/70609
8591         * src/filesystem/ops.cc (close_fd): New function.
8592         (do_copy_file): Set permissions before copying file contents. Check
8593         result of closing file descriptors. Don't copy streambuf when file
8594         is empty.
8595         (copy(const path&, const path&, copy_options, error_code&)): Use
8596         lstat for source file when copy_symlinks is set.
8597         * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
8598
8599         * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
8600         operator~ operator&=, operator|=, operator^=): Add noexcept to
8601         overloaded operators for copy_options, perms and directory_options.
8602         * src/filesystem/ops.cc (make_file_type, make_file_status,
8603         is_not_found_errno, file_time): Add noexcept.
8604
8605 2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>
8606
8607         * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
8608
8609 2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
8610
8611         PR libstdc++/41759
8612         * include/bits/random.h: Reword static assertion messages to state
8613         positive conditions.
8614         * include/bits/random.tcc: Likewise.
8615         * include/bits/uniform_int_dist.h: Likewise.
8616         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
8617         patterns.
8618
8619         * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
8620
8621         * config/cpu/sh/atomicity.h: Fix typo in comment.
8622
8623         PR libstdc++/70294
8624         * include/std/thread (operator<, operator==): Move definitions to
8625         namespace-scope.
8626         * testsuite/30_threads/thread/id/70294.cc: New test.
8627
8628         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
8629         -Wno-pedantic to dg-options.
8630         * testsuite/20_util/align/2.cc: Use type as operand of alignof.
8631         * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
8632         to dg-options.
8633         * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
8634         Remove extra semi-colon.
8635         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8636         Always supply second argument to static_assert.
8637         * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
8638         semi-colon.
8639         * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
8640         dg-options.
8641         * testsuite/26_numerics/complex/literals/values.cc: Likewise.
8642         * testsuite/29_atomics/atomic/60695.cc: Likewise.
8643         * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
8644         alignof when operand is an object not a type.
8645         * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
8646         * testsuite/decimal/make-decimal.cc: Likewise.
8647         * testsuite/experimental/type_traits/value.cc: Always supply second
8648         argument to static_assert.
8649         * testsuite/util/testsuite_common_types.h: Use __extension__ for
8650         __int128 types.
8651
8652         * testsuite/experimental/type_erased_allocator/1.cc: Don't include
8653         internal header.
8654         * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
8655         * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
8656         * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
8657         Likewise. Add licence and change to compile-only test.
8658
8659         * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
8660         unused parameter.
8661         * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
8662
8663         * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
8664         warnings.
8665
8666 2016-04-17  Edward Smith-Rowland  <3dw4rd@verizon.net>
8667
8668         * include/bits/specfun.h: Trivial comment misspelling.
8669
8670 2016-04-14  Jason Merrill  <jason@redhat.com>
8671
8672         Revert Jonathan's empty ABI change from yesterday.
8673
8674 2016-04-13  Martin Sebor  <msebor@redhat.com>
8675
8676         PR c++/69517
8677         * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
8678         upper bound is positive.
8679
8680 2016-04-13  Jonathan Wakely  <jwakely@redhat.com>
8681
8682         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
8683         _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
8684         * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
8685         of functions taking empty structs by value. Add a template parameter
8686         to overloads without hints. Rename overloads with hints to
8687         _M_emplace_hint.
8688         (_Hashtable::_M_erase(true_type, const_iterator),
8689         _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
8690         by reordering parameters.
8691         * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
8692         _M_emplace_hint instead of _M_emplace.
8693         * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
8694         shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
8695         * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
8696         __shared_ptr): Likewise.
8697         * include/bits/stl_algo.h (replace_if): Likewise.
8698         * include/bits/stl_pair.h (piecewise_construct_t,
8699         piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
8700         * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
8701         __uses_alloc0): Likewise.
8702         * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
8703         * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
8704         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
8705         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
8706         * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
8707         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
8708         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
8709
8710 2016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
8711
8712         Document C++17/TR29124 C++ Special Math Functions.
8713         * include/bits/specfun.h: Add Doxygen markup.
8714
8715 2016-04-07  Jonathan Wakely  <jwakely@redhat.com>
8716
8717         * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
8718
8719 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
8720
8721         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
8722         * src/Makefile.in: Regenerate.
8723
8724 2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
8725
8726         PR libstdc++/70554
8727         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
8728         __atomic_fetch_add for bool.
8729         * configure: Regenerate.
8730
8731         * testsuite/30_threads/thread/70503.cc: Require -static to work.
8732
8733         PR libstdc++/70503
8734         * src/c++11/thread.cc (execute_native_thread_routine,
8735         execute_native_thread_routine_compat): Give internal linkage.
8736         * testsuite/30_threads/thread/70503.cc: New test.
8737
8738 2016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8739
8740         PR libstdc++/70437
8741         * include/bits/stl_pair.h (_ConstructiblePair,
8742         _ImplicitlyConvertiblePair, _MoveConstructiblePair,
8743         _ImplicitlyMoveConvertiblePair): Add shortcut conditions
8744         for same-type cases.
8745         * testsuite/20_util/pair/70437.cc: New.
8746
8747 2016-03-24  Jonathan Wakely  <jwakely@redhat.com>
8748
8749         PR libstdc++/69945
8750         * config/abi/pre/gnu.ver: Add new symbol.
8751         * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
8752         * testsuite/18_support/free_eh_pool.cc: New test.
8753
8754 2016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8755
8756         * include/Makefile.am (install-freestanding-headers): Add
8757         concept_check.h and move.h to the installed headers.
8758         * include/Makefile.in: Regenerated.
8759         * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
8760         freestanding implementations.
8761         * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
8762         that this macro has no effect for freestanding implementations.
8763         * doc/html/manual/using_macros.html: Likewise.
8764
8765 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
8766
8767         PR libstdc++/69939
8768         * include/experimental/tuple (__apply_impl): Qualify get and forward.
8769
8770 2016-02-23  Jonathan Wakely  <jwakely@redhat.com>
8771
8772         * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
8773         * doc/html/*: Regenerate.
8774
8775         PR libstdc++/69893
8776         * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
8777         exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
8778         llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
8779         nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
8780         trunc) [__cplusplus >= 201103L]: Import from namespace std.
8781         (fabs) [__cplusplus < 201103L]: Import from namespace std.
8782         * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
8783         Likewise.
8784         * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
8785         namespace before including TR1 headers.
8786         * testsuite/tr1/headers/c++200x/math.cc: New test.
8787
8788 2016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8789
8790         PR libstdc++/69881
8791         * include/c_global/cstdarg: Undefine __need___va_list.
8792         * include/c_global/cstddef: Undefine all kinds of __need_*.
8793
8794 2016-02-16  Tim Shen  <timshen@google.com>
8795
8796         PR libstdc++/69794
8797         * include/bits/regex_scanner.h: Add different special character
8798         sets for grep and egrep regex.
8799         * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
8800         * testsuite/28_regex/regression.cc: Add new testcase.
8801
8802 2016-02-08  Jonathan Wakely  <jwakely@redhat.com>
8803
8804         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
8805         added 'constexpr' in previous commit.
8806         * configure: Regenerate.
8807
8808         PR libstdc++/48891
8809         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
8810         checks for all targets except *-*-solaris2.* and ensure we find the
8811         libc math.h header not our own.
8812         * configure: Regenerate.
8813
8814 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
8815
8816         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
8817         New file.  Copied over from s390-linux-gnu.
8818
8819 2016-02-04  Jonathan Wakely  <jwakely@redhat.com>
8820
8821         PR libstdc++/69626
8822         * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
8823         with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
8824         * config.h.in: Regenerate.
8825         * configure: Regenerate.
8826         * testsuite/21_strings/c_strings/char/69626.cc: New.
8827
8828         * doc/html/index.html: Regenerate.
8829
8830         * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
8831         * doc/xml/manual/spine.xml: Update copyright years and author blurb.
8832         * doc/html/*: Regenerate.
8833
8834 2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8835
8836         PR libstdc++/69581
8837         * include/c_compatibility/math.h: Move header guards.
8838         * include/c_compatibility/stdlib.h: Likewise.
8839
8840 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
8841
8842         PR libstdc++/69506
8843         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
8844
8845 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
8846
8847         PR libstdc++/69450
8848         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
8849         isinf and isnan functions into two independent checks.  Check on hpux.
8850         * config.h.in: Regenerate.
8851         * configure: Regenerate.
8852         * include/c_global/cmath (isinf(double), isnan(double)): Use
8853         _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
8854         respectively.
8855
8856 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
8857
8858         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
8859
8860 2016-01-27  Jonathan Wakely  <jwakely@redhat.com>
8861
8862         PR libstdc++/69295
8863         * testsuite/ext/special_functions/hyperg/check_value.cc: Use
8864         -ffp-contract=off, and -ffloat-store to disable excess precision.
8865         * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
8866         -ffp-contract=off.
8867
8868 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
8869
8870         PR libstdc++/69478
8871         * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
8872         random_access_iterator_tag>): Check is_move_assignable when moving.
8873         (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
8874         Likewise.
8875         * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
8876         * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
8877         * testsuite/25_algorithms/move/69478.cc: New.
8878         * testsuite/25_algorithms/move_backward/69478.cc: new.
8879
8880 2016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
8881
8882         * include/c_compatibility/stdlib.h: Include wide character related
8883         definitions only when they are available in cstdlib.
8884
8885 2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
8886
8887         PR libstdc++/69464
8888         * include/Makefile.am: Add new header.
8889         * include/Makefile.in: Regenerate.
8890         * include/bits/random.h (uniform_int_distribution): Move to
8891         bits/uniform_int_dist.h.
8892         * include/bits/random.tcc (uniform_int_distribution::operator(),
8893         uniform_int_distribution::__generate_impl): Likewise.
8894         * include/bits/uniform_int_dist.h: New header.
8895         * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
8896         <bits/uniform_int_dist.h> instead of <random>.
8897         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
8898         move_iterators/1.cc: Include correct header for uninitialized_copy.
8899         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
8900         move_iterators/1.cc: Likewise.
8901         * testsuite/25_algorithms/nth_element/58800.cc: Include correct
8902         header for vector.
8903         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
8904
8905 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
8906
8907         PR libstdc++/69446
8908         * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
8909
8910 2016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
8911
8912         TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
8913         * include/c_compatibility/math.h: Import the TR29124 functions
8914         into the global namespace.
8915         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
8916         xfail and make compile-only.
8917         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
8918         * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
8919         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
8920         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
8921         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
8922         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
8923         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
8924         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
8925         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
8926         * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
8927         * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
8928         * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
8929         * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
8930         * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
8931         * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
8932         * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
8933         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
8934         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
8935         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
8936         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
8937
8938 2016-01-22  Jonathan Wakely  <jwakely@redhat.com>
8939
8940         PR libstdc++/69116
8941         * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
8942         define result_type for types which can be safely used with valarrays.
8943         * testsuite/26_numerics/valarray/69116.cc: New.
8944
8945         PR libstdc++/69413
8946         * config/os/gnu-linux/os_defines.h: Define
8947         _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
8948         * include/c_global/cmath (isinf, isnan): Check it.
8949         * doc/xml/manual/internals.xml: Document it.
8950         * doc/html/*: Regenerate.
8951
8952 2016-01-21  Jonathan Wakely  <jwakely@redhat.com>
8953
8954         PR libstdc++/69406
8955         * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
8956         * include/ext/type_traits.h: Likewise.
8957         * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
8958         for presence of C headers.
8959         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
8960         dg-error line number.
8961         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
8962         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
8963         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
8964
8965 2016-01-20  Torvald Riegel  <triegel@redhat.com>
8966
8967         PR libstdc++/69310
8968         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
8969
8970 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
8971
8972         PR libstdc++/60401
8973         * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
8974         copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
8975         lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
8976         nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
8977         tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
8978         Add using declarations.
8979         * testsuite/26_numerics/headers/cmath/60401.cc: New.
8980
8981         PR libstdc++/69386
8982         * include/c_global/ccomplex: Ensure C++ language linkage.
8983         * include/c_global/cmath: Likewise.
8984         * include/c_global/cstdlib: Likewise.
8985         * include/c_global/ctgmath: Likewise.
8986         * testsuite/17_intro/headers/c++2011/linkage.cc: New.
8987
8988 2016-01-19  Jonathan Wakely  <jwakely@redhat.com>
8989
8990         PR libstdc++/14608
8991         PR libstdc++/60401
8992         * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
8993         --enable-cheaders=c_global configs.
8994         * include/Makefile.in: Regenerate.
8995         * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
8996         test and allow inclusion from C files.
8997         * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
8998         (at_quick_exit, quick_exit): Add using directives.
8999         * include/c_global/cmath: Use #include_next for math.h.
9000         * include/c_global/cstdlib: Use #include_next for stdlib.h.
9001         * testsuite/26_numerics/headers/cmath/14608.cc: New.
9002         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
9003         Remove xfail for most targets.
9004         * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
9005
9006 2016-01-18  Torvald Riegel  <triegel@redhat.com>
9007
9008         * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
9009         (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
9010         and move after its definition.
9011         * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
9012         * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
9013         __GXX_WEAK__, and only provide transactional clones if
9014         _GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
9015         functions.
9016
9017 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
9018
9019         PR libstdc++/60637
9020         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
9021
9022         PR libstdc++/69243
9023         * include/std/functional (_Function_base::_M_not_empty_function):
9024         Change overloads for pointers to take arguments by value.
9025         * testsuite/20_util/function/cons/57465.cc: Add tests for
9026         pointer-to-member cases.
9027
9028         PR libstdc++/69340
9029         * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
9030         Use macros for exception handling and fix unused parameter warning.
9031
9032 2016-01-17  John David Anglin  <danglin@gcc.gnu.org>
9033
9034         PR libstdc++/68734
9035         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
9036
9037 2016-01-17  Torvald Riegel  <triegel@redhat.com>
9038
9039         * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
9040
9041 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
9042
9043         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
9044         __int128 symbols.
9045
9046 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9047
9048         PR libstdc++/69293
9049         * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
9050         static assertion that type is constructible from the arguments.
9051         * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
9052         * testsuite/20_util/uses_allocator/69293_neg.cc: New.
9053         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
9054
9055         PR libstdc++/69294
9056         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9057         and isnan on AIX. Quote variables.
9058         * configure: Regenerate.
9059
9060 2016-01-15  Torvald Riegel  <triegel@redhat.com>
9061
9062         * include/bits/basic_string.h (basic_string): Declare friends.
9063         * include/bits/c++config (_GLIBCXX_TXN_SAFE,
9064         _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
9065         * include/std/stdexcept (logic_error, domain_error, invalid_argument,
9066         length_error, out_of_range, runtime_error, range_error,
9067         underflow_error, overflow_error): Declare members as transaction-safe.
9068         (logic_error, runtime_error): Declare friend functions.
9069         * libsupc++/exception (exception, bad_exception): Declare members as
9070         transaction-safe.
9071         * src/c++11/cow-stdexcept.cc: Define transactional clones for the
9072         transaction-safe members of exceptions and helper functions.
9073         * libsupc++/eh_exception.cc: Adjust and define transactional clones.
9074         * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
9075         (CXXABI_1.3.10): New.
9076         * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
9077         (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
9078         * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
9079         * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
9080         * include/Makefile.in: Regenerate.
9081         * config.h.in: Regenerate.
9082         * configure: Regenerate.
9083         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
9084
9085 2016-01-15  Steve Ellcey  <sellcey@imgtec.com>
9086
9087         * include/ext/random.tcc: Use __builtin_isfinite instead of
9088         std::isfinite.
9089
9090 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9091
9092         * include/bits/std_mutex.h: Fix Doxygen @file name.
9093
9094 2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
9095             Jonathan Wakely  <jwakely@redhat.com>
9096             Florian Goth <CaptainSifff@gmx.de>
9097
9098         Implement TR29124 C++ special Math Functions.
9099         * include/Makefile.am: Add new headers.
9100         * include/Makefile.in: Regenerate.
9101         * include/bits/specfun.h: New.
9102         * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
9103         * include/tr1/bessel_function.tcc: Ditto.
9104         * include/tr1/beta_function.tcc: Ditto.
9105         * include/tr1/cmath: Ditto.
9106         * include/tr1/ell_integral.tcc: Ditto.
9107         * include/tr1/exp_integral.tcc: Ditto.
9108         * include/tr1/gamma.tcc: Ditto.
9109         * include/tr1/hypergeometric.tcc: Ditto.
9110         * include/tr1/legendre_function.tcc: Ditto.
9111         * include/tr1/modified_bessel_func.tcc: Ditto.
9112         * include/tr1/poly_hermite.tcc: Ditto.
9113         * include/tr1/poly_laguerre.tcc: Ditto.
9114         * include/tr1/riemann_zeta.tcc: Ditto.
9115         * include/tr1/special_function_util.h: Ditto.
9116         * testsuite/ext/special_functions/conf_hyperg: New.
9117         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
9118         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
9119         * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
9120         * testsuite/ext/special_functions/hyperg: New.
9121         * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
9122         * testsuite/ext/special_functions/hyperg/check_value.cc: New.
9123         * testsuite/ext/special_functions/hyperg/compile.cc: New.
9124         * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
9125         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
9126         * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
9127         * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
9128         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
9129         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
9130         * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
9131         * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
9132         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
9133         * testsuite/special_functions/03_beta/check_nan.cc: New.
9134         * testsuite/special_functions/03_beta/check_value.cc: New.
9135         * testsuite/special_functions/03_beta/compile.cc: New.
9136         * testsuite/special_functions/03_beta/compile_2.cc: New.
9137         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
9138         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
9139         * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
9140         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
9141         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
9142         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
9143         * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
9144         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
9145         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
9146         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
9147         * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
9148         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
9149         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
9150         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
9151         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
9152         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
9153         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
9154         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
9155         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
9156         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
9157         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
9158         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
9159         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
9160         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
9161         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
9162         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
9163         * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
9164         * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
9165         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
9166         * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
9167         * testsuite/special_functions/11_ellint_1/check_value.cc: New.
9168         * testsuite/special_functions/11_ellint_1/compile.cc: New.
9169         * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
9170         * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
9171         * testsuite/special_functions/12_ellint_2/check_value.cc: New.
9172         * testsuite/special_functions/12_ellint_2/compile.cc: New.
9173         * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
9174         * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
9175         * testsuite/special_functions/13_ellint_3/check_value.cc: New.
9176         * testsuite/special_functions/13_ellint_3/compile.cc: New.
9177         * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
9178         * testsuite/special_functions/14_expint/check_nan.cc: New.
9179         * testsuite/special_functions/14_expint/check_value.cc: New.
9180         * testsuite/special_functions/14_expint/compile.cc: New.
9181         * testsuite/special_functions/14_expint/compile_2.cc: New.
9182         * testsuite/special_functions/15_hermite/check_nan.cc: New.
9183         * testsuite/special_functions/15_hermite/check_value.cc: New.
9184         * testsuite/special_functions/15_hermite/compile.cc: New.
9185         * testsuite/special_functions/15_hermite/compile_2.cc: New.
9186         * testsuite/special_functions/16_laguerre/check_nan.cc: New.
9187         * testsuite/special_functions/16_laguerre/check_value.cc: New.
9188         * testsuite/special_functions/16_laguerre/compile.cc: New.
9189         * testsuite/special_functions/16_laguerre/compile_2.cc: New.
9190         * testsuite/special_functions/17_legendre/check_nan.cc: New.
9191         * testsuite/special_functions/17_legendre/check_value.cc: New.
9192         * testsuite/special_functions/17_legendre/compile.cc: New.
9193         * testsuite/special_functions/17_legendre/compile_2.cc: New.
9194         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
9195         * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
9196         * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
9197         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
9198         * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
9199         * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
9200         * testsuite/special_functions/19_sph_bessel/compile.cc: New.
9201         * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
9202         * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
9203         * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
9204         * testsuite/special_functions/20_sph_legendre/compile.cc: New.
9205         * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
9206         * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
9207         * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
9208         * testsuite/special_functions/21_sph_neumann/compile.cc: New.
9209         * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
9210         * testsuite/util/specfun_testcase.h: New.
9211         * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
9212         * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
9213         * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
9214         * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
9215         * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
9216         * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
9217         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
9218
9219 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
9220
9221         PR libstdc++/48891
9222         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9223         and isnan functions.
9224         * config.h.in: Regenerate.
9225         * configure: Regenerate.
9226         * include/c_global/cmath (isinf(double), isnan(double))
9227         [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
9228         * testsuite/26_numerics/headers/cmath/48891.cc: New.
9229
9230 2016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9231
9232         PR libstdc++/66006
9233         * configure.host (abi_baseline_pair): Use separate baseline for
9234         Solaris 11+ and Solaris 10 with gld.
9235         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
9236         * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
9237         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
9238
9239 2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
9240
9241         PR libstdc++/68877
9242         * include/std/type_traits: Following N4511, reimplement __is_swappable
9243         and __is_nothrow_swappable. Move __is_swappable to namespace std,
9244         adjust callers. Use __is_nothrow_swappable in swap.
9245         * include/bits/move.h: Use __is_nothrow_swappable in swap.
9246         * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
9247         __is_swappable related tests.
9248         * testsuite/20_util/is_swappable/value.cc: New.
9249         * testsuite/20_util/is_swappable/requirements/
9250         explicit_instantiation.cc: New.
9251         * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
9252         * testsuite/25_algorithms/swap/68877.cc: New.
9253
9254 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
9255
9256         * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
9257
9258         PR libstdc++/69005
9259         PR libstdc++/69222
9260         * include/std/functional (function::_Invoke): Remove, use result_of.
9261         (function::_Callable): Replace alias template with class template
9262         and use partial specialization instead of _NotSelf alias template.
9263         (function(_Functor)): Add "not self" constraint so that _Callable is
9264         not used while type is incomplete.
9265         * testsuite/20_util/function/69222.cc: New.
9266
9267 2016-01-11  Jonathan Wakely  <jwakely@redhat.com>
9268
9269         PR libstdc++/60976
9270         * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
9271         Define partial specialization.
9272         * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
9273         destroy members to std::allocator explicit specialization.
9274
9275 2016-01-08  Jonathan Wakely  <jwakely@redhat.com>
9276
9277         * testsuite/26_numerics/headers/cmath/
9278         c99_classification_macros_c++.cc: Rename to ...
9279         * testsuite/26_numerics/headers/cmath/
9280         c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
9281         * testsuite/26_numerics/headers/cmath/
9282         c99_classification_macros_c++0x.cc: Rename to ...
9283         * testsuite/26_numerics/headers/cmath/
9284         c99_classification_macros_c++11.cc: Here.
9285
9286         PR libstdc++/69190
9287         * include/bits/uses_allocator.h: Add missing include.
9288
9289 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
9290
9291         PR libstdc++/69105
9292         PR libstdc++/69106
9293         PR libstdc++/69114
9294         * include/bits/stl_iterator.h (back_insert_iterator,
9295         front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
9296         * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
9297         * include/std/future (__future::base::_State_baseV2::__setter):
9298         Likewise.
9299         * include/std/scoped_allocator (__outermost): Likewise.
9300         * testsuite/20_util/scoped_allocator/69114.cc: New.
9301         * testsuite/20_util/uses_allocator/69114.cc: New.
9302         * testsuite/30_threads/promise/69106.cc: New.
9303
9304 2016-01-06  Jonathan Wakely  <jwakely@redhat.com>
9305
9306         PR libstdc++/69092
9307         * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
9308         Remove _GLIBCXX_NOEXCEPT.
9309         testsuite/21_strings/basic_string/cons/char/69092.cc: New.
9310
9311         * include/Makefile.am: Adjust.
9312         * include/Makefile.in: Regenerate.
9313         * include/bits/mutex.h: Rename to bits/std_mutex.h.
9314         * include/std/condition_variable: Adjust include.
9315         * include/std/mutex: Likewise.
9316
9317 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
9318
9319         Update copyright years.
9320 \f
9321 Copyright (C) 2016 Free Software Foundation, Inc.
9322
9323 Copying and distribution of this file, with or without modification,
9324 are permitted in any medium without royalty provided the copyright
9325 notice and this notice are preserved.