PR78326 fix incorrect access of data member in base class
[platform/upstream/gcc.git] / libstdc++-v3 / ChangeLog
1 2016-11-13  Jonathan Wakely  <jwakely@redhat.com>
2
3         PR libstdc++/78326
4         * include/experimental/memory_resource (memory_resource::_S_max_align):
5         Change access to protected.
6
7         * doc/xml/manual/status_cxx2017.xml: Update status.
8         * doc/html/manual/status.html: Regenerate.
9         * include/bits/shared_ptr.h (shared_ptr(unique_ptr<_Yp, _Del>)): Add
10         extension constructor to maintain C++14 behaviour.
11         * include/bits/shared_ptr_base.h (__sp_array_delete): Add new struct.
12         (__shared_count(_Ptr, false_type), __shared_count(_Ptr, true_type)):
13         New constructors.
14         (__sp_compatible_with, __sp_is_constructible): Add specializations
15         for array support.
16         (__sp_is_constructible_arr, __sp_is_constructible_arrN): New helpers.
17         (__shared_ptr_access): New base class for observer member functions.
18         (__shared_ptr::element_type): Use remove_extent.
19         (__shared_ptr::_UniqCompatible): Add __sp_compatible_with check.
20         (__shared_ptr(_Yp*)): Use tag dispatching to call new __shared_count
21         constructor.
22         (__shared_ptr(unique_ptr<_Yp, _Del>)): Add extension constructor.
23         (__shared_ptr::operator*, __shared_ptr::operator->): Remove and
24         inherit from __shared_ptr_access base class.
25         (__shared_ptr::__has_esft_base): Return false for array types.
26         (__weak_ptr::element_type): Use remove_extent.
27         * include/experimental/bits/shared_ptr.h (__libfund_v1): Remove.
28         (__shared_ptr<__libfund_v1<_Tp>>): Remove specializations.
29         (__wak_ptr<__libfund_v1<_Tp>>): Likewise.
30         (experimental::__sp_compatible_v): Redefine using
31         __sp_compatible_with.
32         (experimental::__sp_is_constructible_v): Redefine using
33         __sp_is_constructible.
34         (get_deleter, operator<<): Change argument from __shared_ptr to
35         shared_ptr.
36         * testsuite/20_util/shared_ptr/cons/array.cc: New test.
37         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Adjust for
38         new behaviour.
39         * testsuite/20_util/shared_ptr/observers/array.cc: Test observers for
40         arrays.
41         * testsuite/20_util/shared_ptr/observers/array_neg.cc: New test.
42
43 2016-11-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
44
45         Implement P0403R1, Literal suffixes for basic_string_view.
46         * include/std/string_view
47         (operator""sv(const char*, size_t)): New.
48         (operator""sv(const wchar_t*, size_t)): Likewise.
49         (operator""sv(const char16_t*, size_t)): Likewise.
50         (operator""sv(const char32_t*, size_t)): Likewise.
51         * testsuite/21_strings/basic_string_view/literals/types.cc: New.
52         * testsuite/21_strings/basic_string_view/literals/values.cc: Likewise.
53         * testsuite/experimental/string_view/literals/values.cc: Add
54         tests for literals with embedded NULs.
55
56 2016-11-12  Jonathan Wakely  <jwakely@redhat.com>
57
58         * src/filesystem/ops.cc (is_empty): Fix typo in exception message.
59
60         * include/std/future (future_error): Fix public typo to private.
61
62 2016-11-11  Jonathan Wakely  <jwakely@redhat.com>
63
64         * include/std/future (future_error): Make existing constructor
65         private and add constructor from future_errc.
66
67         * include/bits/shared_ptr.h (hash<shared_ptr<T>>): Use element_type.
68         * include/bits/shared_ptr_base.h (hash<__shared_ptr<T, L>>): Likewise.
69
70 2016-11-10  François Dumont  <fdumont@gcc.gnu.org>
71
72         * src/c++11/debug.cc (format_word): Delete.
73         (print_literal): New. Replace call to print_word for literals.
74
75 2016-11-09  Tim Shen  <timshen@google.com>
76
77         * libstdc++-v3/include/bits/regex.h (regex_iterator::regex_iterator()):
78         Define end() as _M_pregex == nullptr.
79         * libstdc++-v3/include/bits/regex.tcc (regex_iterator::operator==(),
80         regex_iterator::operator++()): Fix operator==() and operator++() to
81         look at null-ness of _M_pregex on both sides.
82         * testsuite/28_regex/regression.cc: New testcase.
83
84 2016-11-07  Jason Merrill  <jason@redhat.com>
85
86         * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM)
87         (_GLIBCXX_NOEXCEPT_QUAL): New.
88         * include/std/type_traits (is_function): Use them.
89         * libsubc++/new (launder): Likewise.
90         * libsupc++/cxxabi.h (__pbase_type_info::__masks): Add
91         __noexcept_mask.
92         * libsupc++/pbase_type_info.cc (__do_catch): Handle function
93         pointer conversion.
94
95 2016-11-07  François Dumont  <fdumont@gcc.gnu.org>
96
97         * config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of
98         over-aligned types symbols.
99
100 2016-10-28  Jonathan Wakely  <jwakely@redhat.com>
101
102         * include/experimental/bits/fs_path.h (__is_path_src)
103         (_S_range_begin, _S_range_end): Overload to treat string_view as a
104         Source object.
105         (path::operator+=, path::compare): Overload for basic_string_view.
106         * testsuite/experimental/filesystem/path/construct/string_view.cc:
107         New test.
108         * testsuite/experimental/filesystem/path/construct/
109         string_view_cxx17.cc: New test.
110
111         * include/experimental/bits/fs_path.h
112         (path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from
113         iterator's value_type.
114         (path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise.
115         Do not use operation not supported by input iterators.
116         (path::__is_path_iter_src): Add partial specialization for const
117         encoded character types.
118         * testsuite/experimental/filesystem/path/construct/range.cc: Test
119         construction from input iterators with const value types.
120
121         * doc/xml/manual/status_cxx2017.xml: Update status.
122         * doc/html/*: Regenerate.
123         * include/std/type_traits (has_unique_object_representations): Guard
124         with __has_builtin check.
125         * libsupc++/new (launder): Define for C++17.
126         * testsuite/18_support/launder/1.cc: New test.
127         * testsuite/18_support/launder/requirements.cc: New test.
128         * testsuite/18_support/launder/requirements_neg.cc: New test.
129
130 2016-10-27  Uros Bizjak  <ubizjak@gmail.com>
131
132         PR libstdc++/70975
133         * src/filesystem/ops.cc (do_copy_file) [_GLIBCXX_USE_SENDFILE]:
134         Pass non-null pointer to sendfile for offset argument.
135
136 2016-10-27  Jonathan Wakely  <jwakely@redhat.com>
137
138         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
139         default.cc: Fix effective target selector.
140         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
141         parms.cc: Likewise.
142         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
143         equal.cc: Likewise.
144         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
145         generate.cc: Likewise.
146         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
147         inequal.cc: Likewise.
148         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
149         serialize.cc: Likewise.
150
151         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
152         Use end() function to get end iterator.
153         * testsuite/experimental/filesystem/iterators/pop.cc: Remove printf
154         statements that were present for debugging.
155         * testsuite/experimental/filesystem/iterators/
156         recursive_directory_iterator.cc: Use end() function to get end
157         iterator.
158         * testsuite/experimental/filesystem/operations/last_write_time.cc:
159         Only require file timestamps to be accurate to one second.
160
161 2016-10-26  François Dumont  <fdumont@gcc.gnu.org>
162
163         * include/bits/stl_map.h (map()): Make default.
164         * include/bits/stl_multimap.h (multimap()): Likewise.
165         * include/bits/stl_multiset.h (multiset()): Likewise.
166         * include/bits/stl_set.h (set()): Likewise.
167         * include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept.
168         (_Rb_tree()): Make default.
169
170 2016-10-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>
171
172         PR libstdc++/78110
173         * libsupc++/new_opa.cc: Don't include <malloc.h> in a free standing
174         environment.  Declare memalign directly in that case.
175
176 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
177
178         * testsuite/experimental/filesystem/iterators/pop.cc: Remove
179         unreliable dependency on directory order.
180
181 2016-10-26  Edward Smith-Rowland  <3dw4rd@verizon.net>
182
183         Implement uniform_inside_sphere_distribution extension.
184         * include/ext/random: Implement uniform_inside_sphere_distribution.
185         * include/ext/random.tcc: Ditto.
186         * testsuite/ext/random/uniform_inside_sphere_distribution/
187         cons/default.cc: New.
188         * testsuite/ext/random/uniform_inside_sphere_distribution/
189         cons/parms.cc: New.
190         * testsuite/ext/random/uniform_inside_sphere_distribution/
191         operators/equal.cc: New.
192         * testsuite/ext/random/uniform_inside_sphere_distribution/
193         operators/generate.cc: New.
194         * testsuite/ext/random/uniform_inside_sphere_distribution/
195         operators/inequal.cc: New.
196         * testsuite/ext/random/uniform_inside_sphere_distribution/
197         operators/serialize.cc: New.
198
199 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
200
201         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
202         Overload pop (LWG 2706).
203         * src/filesystem/dir.cc (recursive_directory_iterator::pop): Define
204         new overload.
205         * testsuite/experimental/filesystem/iterators/pop.cc: New test.
206
207         * src/filesystem/dir.cc (recursive_directory_iterator::increment):
208         Reset state on error.
209         * testsuite/experimental/filesystem/iterators/
210         recursive_directory_iterator.cc: Check state after increment error.
211
212         PR libstdc++/78111
213         * src/filesystem/ops.cc (canonical): Set error for non-existent path.
214
215 2016-10-26  Uros Bizjak  <ubizjak@gmail.com>
216
217         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
218         for PATH_MAX in realpath test.
219         * configure: Regenerate.
220
221 2016-10-25  Jonathan Wakely  <jwakely@redhat.com>
222
223         * src/filesystem/ops.cc
224         (last_write_time(const path&, file_time_type, error_code&)): Handle
225         negative times correctly.
226         * testsuite/experimental/filesystem/operations/last_write_time.cc:
227         Test writing file times.
228
229         * src/filesystem/ops.cc (do_copy_file): Report an error if source or
230         destination is not a regular file (LWG 2712).
231         (equivalent): Fix error handling and result when only one file exists.
232         * testsuite/experimental/filesystem/operations/copy.cc: Remove files
233         created by tests. Test copying directories.
234         * testsuite/experimental/filesystem/operations/copy_file.cc: Remove
235         files created by tests.
236         * testsuite/experimental/filesystem/operations/equivalent.cc: New.
237         * testsuite/experimental/filesystem/operations/is_empty.cc: New.
238         * testsuite/experimental/filesystem/operations/read_symlink.cc: Remove
239         file created by test.
240         * testsuite/experimental/filesystem/operations/remove_all.cc: New.
241         * testsuite/util/testsuite_fs.h (~scoped_file): Only try to remove
242         file if path is non-empty, to support removal by other means.
243
244 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
245
246         * src/filesystem/ops.cc (is_empty): Fix error handling.
247         * testsuite/experimental/filesystem/operations/is_empty.cc: New test.
248
249         PR libstdc++/71337
250         * src/filesystem/ops.cc (temp_directory_path): Pass error_code
251         argument to other filesystem operations.
252         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
253         Add testcase for inaccessible directory.
254
255         * src/filesystem/dir.cc (open_dir): Return same value for errors
256         whether ignored or not.
257         (_Dir::advance(error_code*, directory_options)): Return false on
258         error.
259         (directory_iterator(const path&, directory_options, error_code*)):
260         Create end iterator on error (LWG 2723).
261         (recursive_directory_iterator(const path&, directory_options,
262         error_code*)): Likewise.
263         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
264         Update expected behaviour on error.
265         * testsuite/experimental/filesystem/iterators/
266         recursive_directory_iterator.cc: Likewise.
267
268         * src/filesystem/ops.cc (close_fd): Remove.
269         (do_copy_file): Just use close(3) instead of close_fd, to prevent
270         retrying on error.
271
272         * src/filesystem/ops.cc (do_copy_file): Return an error if either
273         source or destination is not a regular file.
274         (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683
275         resolutions.
276         (read_symlink): Add missing ec.clear().
277         * testsuite/experimental/filesystem/operations/copy.cc: Update
278         expected behaviour for copying directories with create_symlinks.
279         Verify that error_code arguments are cleared if there's no error.
280         * testsuite/experimental/filesystem/operations/read_symlink.cc: New.
281
282 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
283
284         Cross-port exception-safety and move fixes of std::any to
285         std::experimental::any.
286         * include/experimental/any (operator=(const any&)):
287         Make strongly exception-safe.
288         (operator=(any&&)): clear() unconditionally in the case where
289         rhs has a value.
290         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
291         * testsuite/experimental/any/assign/2.cc: Adjust.
292         * testsuite/experimental/any/assign/exception.cc: New.
293         * testsuite/experimental/any/cons/2.cc: Adjust.
294         * testsuite/experimental/any/misc/any_cast_neg.cc: Ajust.
295
296 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
297
298         Cross-port the latest resolution of LWG2756 and some
299         bug-fixes to experimental::optional.
300         PR libstdc++/77288
301         PR libstdc++/77727
302         * include/experimental/optional (_Optional_base):
303         Remove constructors that take a _Tp.
304         (__is_optional_impl, __is_optional): Remove.
305         (__converts_from_optional): New.
306         (optional(_Up&&)): Fix constraints, call base with in_place.
307         (optional(const optional<_Up>&)): Fix constraints, use emplace.
308         (optional(optional<_Up>&&)): Likewise.
309         (operator=(_Up&&)): Fix constraints.
310         (operator=(const optional<_Up>&)): Likewise.
311         (operator=(optional<_Up>&&)): Likewise.
312         (emplace(_Args&&...)): Constrain.
313         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
314         * testsuite/experimental/optional/77288.cc: New.
315         * testsuite/experimental/optional/assignment/5.cc: Adjust.
316         * testsuite/experimental/optional/cons/77727.cc: New.
317         * testsuite/experimental/optional/cons/value.cc: Adjust.
318
319 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
320
321         * include/bits/stl_vector.h (vector::_M_data_ptr, vector::data):
322         Change return type of non-standard C++98 extension to match C++11.
323
324 2016-10-22  François Dumont  <fdumont@gcc.gnu.org>
325
326         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_ALGO)
327         (_GLIBCXX_END_NAMESPACE_ALGO): Default to respectively
328         _GLIBCXX_BEGIN_NAMESPACE_VERSION and _GLIBCXX_END_NAMESPACE_VERSION.
329         (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER, _GLIBCXX_END_NAMESPACE_CONTAINER):
330         Likewise.
331
332 2016-10-22  Jonathan Wakely  <jwakely@redhat.com>
333
334         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
335         Ignore symlink_nofollow flag if file is not a symlink.
336         * testsuite/experimental/filesystem/operations/permissions.cc: Test
337         symlink_nofollow on non-symlinks.
338
339 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
340
341         * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks):
342         Replace with symlink_nofollow (LWG 2720).
343         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
344         Handle symlink_nofollow.
345         * testsuite/experimental/filesystem/operations/create_symlink.cc: New
346         test.
347         * testsuite/experimental/filesystem/operations/permissions.cc: Test
348         overload taking error_code.
349
350         * include/experimental/bits/fs_ops.h
351         (exists(const path&, error_code&)): Clear error if status is known
352         (LWG 2725).
353         (status(const path&, error_code&)): Handle EOVERFLOW.
354         * testsuite/experimental/filesystem/operations/exists.cc: Test
355         overload taking an error_code.
356
357         * include/experimental/bits/fs_path.h (path::path(string_type&&))
358         (path::operator=(string&&), path::assign(string_type&&)): Define
359         construction and assignment from string_type rvalues (LWG 2707).
360
361 2016-10-21  Eelis van der Weegen  <eelis@eelis.net>
362
363         * include/bits/stl_algo.h (__gen_two_uniform_ints): Move logic out
364         of shuffle into new function.
365         (shuffle): Call __gen_two_uniform_ints.
366         (__sample<ForwardIterator, OutputIterator, Cat, Size, URBG>): Use
367         __gen_two_uniform_ints and perform two samples at a time.
368
369 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
370
371         * include/Makefile.am: Add <bits/refwrap.h> and <bits/std_function.h>.
372         Order alphabetically.
373         * include/Makefile.in: Regenerate.
374         * include/bits/refwrap.h: New header.
375         (_Maybe_get_result_type,_Weak_result_type_impl, _Weak_result_type)
376         (_Reference_wrapper_base_impl, _Reference_wrapper_base)
377         (reference_wrapper, ref, cref): Move here from <functional>.
378         * include/bits/shared_ptr_base.h: Include <bits/refwrap.h> and
379         <bits/stl_function.h> instead of <functional>.
380         * include/bits/std_function.h: New header.
381         (_Maybe_unary_or_binary_function, bad_function_call)
382         (__is_location_invariant, _Nocopy_types, _Any_data)
383         (_Simple_type_wrapper, _Function_base, _Function_handler, function):
384         Move here from <functional>.
385         * include/bits/unique_ptr.h: Include <bits/stl_function.h>.
386         * include/std/functional: Include new headers and move components to
387         them.
388         * include/std/future: Include <bits/std_function.h> instead of
389         <functional>.
390         * include/std/mutex: Likewise.
391         * include/std/regex: Likewise.
392         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
393         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
394         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
395         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
396         lines.
397         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
398         * testsuite/30_threads/packaged_task/49668.cc: Include <functional>.
399
400         * libsupc++/exception_ptr.h (make_exception_ptr): Qualify new.
401         * testsuite/18_support/exception_ptr/make_exception_ptr_2.cc: New
402         test.
403
404 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
405
406         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&))
407         (shared_ptr(auto_ptr&&)): Adjust template parameter lists.
408         * include/bits/shared_ptr.h (__sp_compatible_with)
409         (__sp_is_constructible): New helper traits for shared_ptr.
410         (shared_ptr::_Convertible): Replace with _Constructible.
411         (shared_ptr::_Constructible, shared_ptr::_Assignable): Forward checks
412         to base class.
413         (shared_ptr::shared_ptr, shared_ptr::operator=): Constrain template
414         with _Constructible and _Assignable.
415         (shared_ptr::shared_ptr(shared_ptr<_Tp1>, _Tp*)): Use element_type
416         instead of _Tp.
417         (operator<): Likewise.
418         (operator>): Define in terms of operator<.
419         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
420         element_type instead of _Tp.
421         (reinterpret_pointer_cast): Define for C++17.
422         (weak_ptr::_Convertible): Replace with _Constructible.
423         (weak_ptr::_Constructible, weak_ptr::_Assignable): Forward checks
424         to base class.
425         (weak_ptr::weak_ptr, weak_ptr::operator=): Constrain templates
426         with _Constructible and _Assignable.
427         * include/bits/shared_ptr_base.h (__shared_ptr::_Convertible): Replace
428         with _Compatible.
429         (__shared_ptr::_SafeConv): New constraint for incoming raw pointers.
430         (__shared_ptr::_Compatible): New constraint for converting from
431         other types of shared_ptr and weak_ptr.
432         (__shared_ptr::_Assignable): Define in terms of _Compatible.
433         (__shared_ptr::_UniqCompatible, __shared_ptr::_UniqAssignable): New
434         constraints for converting from unique_ptr.
435         (__shared_ptr::__shared_ptr, __shared_ptr::operator=): Constrain
436         template with _SaveConf, _Compatible and _Assignable. Remove
437         __glibcxx_function_requires concept checks. Add static assertion for
438         deleter expression being well-formed.
439         (__shared_ptr::__shared_ptr(__shared_ptr<_Tp1>, _Tp*))
440         (__shared_ptr::operator*, __shared_ptr::operator->)
441         (__shared_ptr::get, __shared_ptr::_M_ptr): Use element_type instead
442         of _Tp.
443         (operator<): Likewise.
444         (operator>): Define in terms of operator<.
445         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
446         element_type instead of _Tp.
447         (reinterpret_pointer_cast): Define for C++17.
448         (weak_ptr::_Convertible): Replace with _Compatible.
449         (weak_ptr::_Compatible, weak_ptr::_Assignable): New constraints for
450         conversions from other types of weak_ptr and shared_ptr.
451         (__weak_ptr::__weak_ptr, __weak_ptr::operator=): Constrain templates
452         with _Constructible and _Assignable.
453         (__weak_ptr::_M_ptr): Use element_type instead of _Tp.
454         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Adjust
455         dg-error pattern.
456         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Test conversions.
457         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
458         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
459         * testsuite/20_util/shared_ptr/casts/reinterpret.cc: New test.
460
461 2016-10-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
462
463         Do the operator= SFINAE in the return type for optional,
464         not in the template parameters.
465         * include/std/optional (operator=(_Up&&)): Move SFINAE
466         from template parameters to the return type.
467         (operator=(const optional<_Up>&)): Likewise.
468         (operator=(optional<_Up>&&)): Likewise.
469
470 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
471
472         * include/bits/allocator.h: Remove trailing whitespace, tab-indent.
473         * include/ext/new_allocator.h: Likewise.
474
475         PR libstdc++/78052
476         * include/bits/allocator.h (allocator<void>::construct)
477         (allocator<void>::destroy): Define.
478         * testsuite/20_util/allocator/void.cc: New test.
479
480         * testsuite/20_util/enable_shared_from_this/56383.cc: Add tests for
481         additional ambiguous cases.
482
483 2016-10-19  Jonathan Wakely  <jwakely@redhat.com>
484
485         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&)): Call
486         _M_enable_shared_from_this_with instead of
487         __enable_shared_from_this_helper.
488         * include/bits/shared_ptr.h (__enable_shared_from_this_helper):
489         Remove overload for std::enable_shared_from_this..
490         (__enable_shared_from_this_base): Define friend function to select a
491         std::enable_shared_from_this base class.
492         * include/bits/shared_ptr_base.h (__enable_shared_from_this_helper):
493         Remove all overloads.
494         (__shared_ptr): Change all relevant constructors to call
495         _M_enable_shared_from_this_with instead of
496         __enable_shared_from_this_helper.
497         (__shared_ptr::__efst_base_t, __shared_ptr::__has_efst_base): Helpers
498         to detect accessible and unambiguous enable_shared_from_this bases.
499         (__shared_ptr::_M_enable_shared_from_this_with): New function to
500         replace __enable_shared_from_this_helper overloads.
501         (__enable_shared_from_this_helper): Remove overload for
502         std::__enable_shared_from_this.
503         (__enable_shared_from_this_base): Define friend function to select a
504         std::__enable_shared_from_this base class.
505         * include/experimental/bits/shared_ptr.h (experimental::shared_ptr):
506         Change relevant constructors to call _M_enable_shared_from_this_with.
507         (experimental::shared_ptr::__efst_base_t)
508         (experimental::shared_ptr::__has_efst_base): Helpers to detect
509         accessible and unambiguous enable_shared_from_this bases.
510         (experimental::shared_ptr::_M_enable_shared_from_this_with): Define.
511         (experimental::__enable_shared_from_this_helper): Remove overload for
512         std::experimental::enable_shared_from_this.
513         (experimental::__expt_enable_shared_from_this_base): Define friend
514         function to select a std::experimental::enable_shared_from_this base.
515         * testsuite/experimental/memory/shared_ptr/cons/
516         enable_shared_from_this.cc: New test.
517         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
518         Adjust expected behaviour for shared_ptr<A[]>.
519
520         * include/debug/vector (__gnu_debug::vector::emplace_back): Fix return
521         type.
522
523         * include/backward/auto_ptr.h (dauto_ptr): Correct comment about
524         conversions from auto_ptr<Derived> rvalues to auto_ptr<Base>.
525         * testsuite/20_util/auto_ptr/assign_neg.cc: Remove redundant dg-error
526         directives that only match notes, not errors.
527
528         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
529         Add tests for valid and invalid conversions.
530         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
531         Likewise.
532
533         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests
534         to new file.
535         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file.  Fix
536         test for incompatible deleters to not also use incompatible types.
537         Add tests for incompatible array types.
538
539         * include/experimental/bits/shared_ptr.h
540         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_Compatible): Just use
541         is_convertible for non-array specialization.
542         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_UniqCompatible): New
543         constraint for conversions from unique_ptr.
544         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::__shared_ptr): Constrain.
545         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::reset): Likewise.
546         (__sp_compatible_v): New variable template for trait.
547         (__sp_is_constructible): New trait to check shared_ptr constraints.
548         (__sp_is_constructible_v): New variable template for trait.
549         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_SafeConv): New
550         constraint for construction/reset, using __sp_is_constructible_v.
551         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_UniqCompatible): New
552         constraint for conversions from unique_ptr.
553         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::__shared_ptr): Constrain.
554         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::reset): Likewise.
555         (shared_ptr::_SafeConv): Constraint for checking constructors.
556         (shared_ptr(Tp1*), shared_ptr(_Tp1, _Deleter))
557         (shared_ptr(_Tp1, _Deleter, _Alloc)): Constrain with _SafeConv.
558         (shared_ptr(const weak_ptr<_Tp1>&)): Constrain with _Compatible.
559         (shared_ptr(auto_ptr<_Tp1>&&)): Fix, remove TODO.
560         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
561         Remove tests using invalid conversions.
562         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc:
563         New test.
564         * testsuite/experimental/memory/shared_ptr/cons/torture.cc: New test.
565         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Remove
566         tests using invalid conversions.
567         * testsuite/experimental/memory/shared_ptr/modifiers/reset_neg.cc: New
568         test.
569         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
570         Remove tests using invalid conversions.
571
572         PR libstdc++/77990
573         * include/bits/unique_ptr.h (__uniq_ptr_impl): New type to
574         encapsulate implementation details.
575         (unique_ptr::unique_ptr(_Up)): Don't copy deleter object.
576         (unique_ptr::get, unique_ptr::get_deleter, unique_ptr::release):
577         Call member functions of implementation object.
578         (unique_ptr<T[], D>): Likewise.
579         * python/libstdcxx/v6/printers.py (UniquePointerPrinter): Adjust for
580         new implementation.
581         * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Likewise.
582         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
583         lines.
584         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
585         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
586         * testsuite/20_util/unique_ptr/cons/77990.cc: New test.
587
588 2016-10-18  Jonathan Wakely  <jwakely@redhat.com>
589
590         * include/experimental/bits/shared_ptr.h: Fix indentation.
591
592         * include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)):
593         Remove const from parameter.
594         (operator<(const shared_ptr<T>&, nullptr_t)): Use correct
595         specialization of std::less.
596         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
597         Test comparison with nullptr and actually call test functions.
598
599         * include/bits/uses_allocator.h (__is_uses_allocator_constructible_v)
600         (__is_nothrow_uses_allocator_constructible_v): Only define for C++14
601         and later.
602
603 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
604
605         * testsuite/27_io/basic_filebuf/close/12790-1.cc: Remove 'test'
606         variables.
607         * testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
608         * testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Likewise.
609         * testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Likewise.
610         * testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
611         * testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Likewise.
612         * testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
613         * testsuite/27_io/basic_filebuf/close/char/3.cc: Likewise.
614         * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise.
615         * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise.
616         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc: Likewise.
617         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc: Likewise.
618         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
619         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc: Likewise.
620         * testsuite/27_io/basic_filebuf/cons/2020.cc: Likewise.
621         * testsuite/27_io/basic_filebuf/cons/char/1.cc: Likewise.
622         * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
623         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: Likewise.
624         * testsuite/27_io/basic_filebuf/imbue/12206.cc: Likewise.
625         * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
626         * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
627         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
628         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
629         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
630         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
631         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
632         * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
633         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise.
634         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
635         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
636         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
637         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
638         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
639         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
640         * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
641         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
642         * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Likewise.
643         * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise.
644         * testsuite/27_io/basic_filebuf/open/12790-1.cc: Likewise.
645         * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
646         * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
647         * testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise.
648         * testsuite/27_io/basic_filebuf/open/char/4.cc: Likewise.
649         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
650         * testsuite/27_io/basic_filebuf/overflow/char/1.cc: Likewise.
651         * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Likewise.
652         * testsuite/27_io/basic_filebuf/overflow/char/2.cc: Likewise.
653         * testsuite/27_io/basic_filebuf/overflow/char/3599.cc: Likewise.
654         * testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Likewise.
655         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Likewise.
656         * testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Likewise.
657         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
658         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
659         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
660         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
661         * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Likewise.
662         * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise.
663         * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise.
664         * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise.
665         * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise.
666         * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise.
667         * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise.
668         * testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Likewise.
669         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
670         * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Likewise.
671         * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Likewise.
672         * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Likewise.
673         * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise.
674         * testsuite/27_io/basic_filebuf/seekoff/45628-2.cc: Likewise.
675         * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
676         * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise.
677         * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
678         * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Likewise.
679         * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: Likewise.
680         * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Likewise.
681         * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Likewise.
682         * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Likewise.
683         * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Likewise.
684         * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
685         * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
686         * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
687         * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise.
688         * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise.
689         * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
690         * testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Likewise.
691         * testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: Likewise.
692         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
693         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: Likewise.
694         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc: Likewise.
695         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc: Likewise.
696         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc: Likewise.
697         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc: Likewise.
698         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise.
699         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Likewise.
700         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.
701         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
702         Likewise.
703         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
704         * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Likewise.
705         * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Likewise.
706         * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Likewise.
707         * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise.
708         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
709         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise.
710         * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Likewise.
711         * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Likewise.
712         * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc: Likewise.
713         * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Likewise.
714         * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise.
715         * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
716         * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise.
717         * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
718         * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise.
719         * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
720         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Likewise.
721         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc: Likewise.
722         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc: Likewise.
723         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc: Likewise.
724         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc: Likewise.
725         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
726         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
727         Likewise.
728         * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
729         * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Likewise.
730         * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
731         * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Likewise.
732         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
733         * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise.
734         * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise.
735         * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise.
736         * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise.
737         * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise.
738         * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise.
739         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise.
740         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
741         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise.
742         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
743         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
744         * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise.
745         * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise.
746         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise.
747         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Likewise.
748         * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise.
749         * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise.
750         * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise.
751         * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise.
752         * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise.
753         * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise.
754         * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Likewise.
755         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Likewise.
756         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
757         * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Likewise.
758         * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Likewise.
759         * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
760         * testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Likewise.
761         * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise.
762         * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise.
763         * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise.
764         * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise.
765         * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise.
766         * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise.
767         * testsuite/27_io/basic_filebuf/sputc/char/59427.cc: Likewise.
768         * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Likewise.
769         * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise.
770         * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise.
771         * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise.
772         * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Likewise.
773         * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise.
774         * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise.
775         * testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.
776         * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Likewise.
777         * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Likewise.
778         * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise.
779         * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise.
780         * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise.
781         * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise.
782         * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise.
783         * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise.
784         * testsuite/27_io/basic_filebuf/sync/char/1057.cc: Likewise.
785         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Likewise.
786         * testsuite/27_io/basic_filebuf/underflow/char/1.cc: Likewise.
787         * testsuite/27_io/basic_filebuf/underflow/char/2.cc: Likewise.
788         * testsuite/27_io/basic_filebuf/underflow/char/3.cc: Likewise.
789         * testsuite/27_io/basic_filebuf/underflow/char/45841.cc: Likewise.
790         * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: Likewise.
791         * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
792         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise.
793         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise.
794         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise.
795         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise.
796         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: Likewise.
797         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Likewise.
798         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise.
799         * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
800         * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
801         * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise.
802         * testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise.
803         * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise.
804         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Likewise.
805         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
806         * testsuite/27_io/basic_fstream/cons/1.cc: Likewise.
807         * testsuite/27_io/basic_fstream/rdbuf/char/2832.cc: Likewise.
808         * testsuite/27_io/basic_ifstream/cons/2020.cc: Likewise.
809         * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise.
810         * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise.
811         * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise.
812         * testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
813         * testsuite/27_io/basic_ios/cons/2020.cc: Likewise.
814         * testsuite/27_io/basic_ios/cons/char/1.cc: Likewise.
815         * testsuite/27_io/basic_ios/cons/char/2.cc: Likewise.
816         * testsuite/27_io/basic_ios/cons/char/3.cc: Likewise.
817         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
818         * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
819         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
820         * testsuite/27_io/basic_ios/imbue/14072.cc: Likewise.
821         * testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
822         * testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
823         * testsuite/27_io/basic_istream/cons/3.cc: Likewise.
824         * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Likewise.
825         * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: Likewise.
826         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
827         Likewise.
828         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
829         Likewise.
830         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
831         Likewise.
832         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
833         Likewise.
834         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
835         Likewise.
836         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
837         Likewise.
838         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
839         Likewise.
840         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
841         Likewise.
842         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
843         Likewise.
844         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
845         Likewise.
846         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
847         Likewise.
848         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
849         Likewise.
850         * testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc:
851         Likewise.
852         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
853         exceptions_badbit_throw.cc: Likewise.
854         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
855         exceptions_failbit.cc: Likewise.
856         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
857         exceptions_failbit_throw.cc: Likewise.
858         * testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc:
859         Likewise.
860         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
861         Likewise.
862         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc:
863         Likewise.
864         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc:
865         Likewise.
866         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc:
867         Likewise.
868         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
869         Likewise.
870         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc:
871         Likewise.
872         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
873         Likewise.
874         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
875         Likewise.
876         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc:
877         Likewise.
878         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
879         Likewise.
880         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
881         Likewise.
882         * testsuite/27_io/basic_istream/extractors_arithmetic/
883         wchar_t/9555-ia.cc: Likewise.
884         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
885         dr696.cc: Likewise.
886         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
887         exceptions_badbit_throw.cc: Likewise.
888         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
889         exceptions_failbit.cc: Likewise.
890         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
891         exceptions_failbit_throw.cc: Likewise.
892         * testsuite/27_io/basic_istream/extractors_character/char/1.cc:
893         Likewise.
894         * testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc:
895         Likewise.
896         * testsuite/27_io/basic_istream/extractors_character/char/2.cc:
897         Likewise.
898         * testsuite/27_io/basic_istream/extractors_character/char/3.cc:
899         Likewise.
900         * testsuite/27_io/basic_istream/extractors_character/char/4.cc:
901         Likewise.
902         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
903         Likewise.
904         * testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc:
905         Likewise.
906         * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
907         Likewise.
908         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
909         11095-i.cc: Likewise.
910         * testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc:
911         Likewise.
912         * testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc:
913         Likewise.
914         * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
915         Likewise.
916         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
917         9555-ic.cc: Likewise.
918         * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
919         * testsuite/27_io/basic_istream/extractors_other/char/2.cc: Likewise.
920         * testsuite/27_io/basic_istream/extractors_other/char/26181.cc:
921         Likewise.
922         * testsuite/27_io/basic_istream/extractors_other/char/3.cc: Likewise.
923         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
924         Likewise.
925         * testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc:
926         Likewise.
927         * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
928         Likewise.
929         * testsuite/27_io/basic_istream/extractors_other/char/
930         error_failbit.cc: Likewise.
931         * testsuite/27_io/basic_istream/extractors_other/char/
932         exceptions_badbit_throw.cc: Likewise.
933         * testsuite/27_io/basic_istream/extractors_other/char/
934         exceptions_failbit_throw.cc: Likewise.
935         * testsuite/27_io/basic_istream/extractors_other/char/
936         exceptions_null.cc: Likewise.
937         * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc:
938         Likewise.
939         * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc: Likewise.
940         * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: Likewise.
941         * testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
942         Likewise.
943         * testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc: Likewise.
944         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc:
945         Likewise.
946         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc:
947         Likewise.
948         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc:
949         Likewise.
950         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
951         error_failbit.cc: Likewise.
952         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
953         exceptions_badbit_throw.cc: Likewise.
954         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
955         exceptions_failbit_throw.cc: Likewise.
956         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
957         exceptions_null.cc: Likewise.
958         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
959         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
960         * testsuite/27_io/basic_istream/get/char/3.cc: Likewise.
961         * testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
962         * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
963         * testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise.
964         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
965         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
966         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
967         * testsuite/27_io/basic_istream/getline/char/4.cc: Likewise.
968         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
969         * testsuite/27_io/basic_istream/getline/char/6.cc: Likewise.
970         * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
971         * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Likewise.
972         * testsuite/27_io/basic_istream/getline/wchar_t/3.cc: Likewise.
973         * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise.
974         * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Likewise.
975         * testsuite/27_io/basic_istream/getline/wchar_t/6.cc: Likewise.
976         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
977         * testsuite/27_io/basic_istream/ignore/char/2.cc: Likewise.
978         * testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise.
979         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
980         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
981         * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
982         * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
983         * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
984         * testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise.
985         * testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise.
986         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
987         * testsuite/27_io/basic_istream/peek/char/12296.cc: Likewise.
988         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
989         * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
990         * testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
991         * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
992         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
993         * testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
994         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
995         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
996         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
997         * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
998         * testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
999         * testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
1000         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc: Likewise.
1001         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Likewise.
1002         * testsuite/27_io/basic_istream/readsome/char/8258.cc: Likewise.
1003         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
1004         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
1005         * testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
1006         * testsuite/27_io/basic_istream/seekg/char/2.cc: Likewise.
1007         * testsuite/27_io/basic_istream/seekg/char/26211.cc: Likewise.
1008         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1009         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1010         * testsuite/27_io/basic_istream/seekg/char/
1011         exceptions_badbit_throw.cc: Likewise.
1012         * testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise.
1013         * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise.
1014         * testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
1015         * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
1016         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
1017         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
1018         * testsuite/27_io/basic_istream/seekg/wchar_t/
1019         exceptions_badbit_throw.cc: Likewise.
1020         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
1021         * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
1022         * testsuite/27_io/basic_istream/sentry/char/1.cc: Likewise.
1023         * testsuite/27_io/basic_istream/sentry/char/2.cc: Likewise.
1024         * testsuite/27_io/basic_istream/sentry/char/3.cc: Likewise.
1025         * testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise.
1026         * testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
1027         * testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
1028         * testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
1029         * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise.
1030         * testsuite/27_io/basic_istream/tellg/char/2.cc: Likewise.
1031         * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
1032         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1033         * testsuite/27_io/basic_istream/tellg/char/
1034         exceptions_badbit_throw.cc: Likewise.
1035         * testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise.
1036         * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise.
1037         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
1038         * testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
1039         * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
1040         * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
1041         * testsuite/27_io/basic_istream/tellg/wchar_t/
1042         exceptions_badbit_throw.cc: Likewise.
1043         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
1044         * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
1045         * testsuite/27_io/basic_istream/ws/char/1.cc: Likewise.
1046         * testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
1047         * testsuite/27_io/basic_istringstream/cons/2020.cc: Likewise.
1048         * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Likewise.
1049         * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: Likewise.
1050         * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
1051         * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
1052         * testsuite/27_io/basic_ofstream/cons/2020.cc: Likewise.
1053         * testsuite/27_io/basic_ofstream/cons/char/1.cc: Likewise.
1054         * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
1055         * testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Likewise.
1056         * testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
1057         * testsuite/27_io/basic_ostream/cons/char/9827.cc: Likewise.
1058         * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: Likewise.
1059         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1060         * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
1061         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
1062         * testsuite/27_io/basic_ostream/ends/char/2.cc: Likewise.
1063         * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
1064         * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
1065         * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise.
1066         * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
1067         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1068         * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
1069         * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
1070         Likewise.
1071         * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
1072         * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
1073         * testsuite/27_io/basic_ostream/flush/wchar_t/
1074         exceptions_badbit_throw.cc: Likewise.
1075         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1076         Likewise.
1077         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1078         Likewise.
1079         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc:
1080         Likewise.
1081         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc:
1082         Likewise.
1083         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc:
1084         Likewise.
1085         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc:
1086         Likewise.
1087         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc:
1088         Likewise.
1089         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
1090         Likewise.
1091         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
1092         Likewise.
1093         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1094         exceptions_badbit_throw.cc: Likewise.
1095         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1096         exceptions_failbit_throw.cc: Likewise.
1097         * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc:
1098         Likewise.
1099         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1100         Likewise.
1101         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
1102         Likewise.
1103         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc:
1104         Likewise.
1105         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc:
1106         Likewise.
1107         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc:
1108         Likewise.
1109         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc:
1110         Likewise.
1111         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc:
1112         Likewise.
1113         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
1114         Likewise.
1115         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1116         9555-oa.cc: Likewise.
1117         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1118         exceptions_badbit_throw.cc: Likewise.
1119         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1120         exceptions_failbit_throw.cc: Likewise.
1121         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc:
1122         Likewise.
1123         * testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc:
1124         Likewise.
1125         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc:
1126         Likewise.
1127         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc: Likewise.
1128         * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
1129         Likewise.
1130         * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
1131         Likewise.
1132         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc: Likewise.
1133         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc: Likewise.
1134         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc: Likewise.
1135         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc: Likewise.
1136         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc: Likewise.
1137         * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
1138         Likewise.
1139         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1140         11095-od.cc: Likewise.
1141         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1142         11095-oe.cc: Likewise.
1143         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1144         11095-of.cc: Likewise.
1145         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc:
1146         Likewise.
1147         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1148         28277-1.cc: Likewise.
1149         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1150         28277-2.cc: Likewise.
1151         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1152         28277-3.cc: Likewise.
1153         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1154         28277-4.cc: Likewise.
1155         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc:
1156         Likewise.
1157         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc:
1158         Likewise.
1159         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc:
1160         Likewise.
1161         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc:
1162         Likewise.
1163         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1164         Likewise.
1165         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1166         Likewise.
1167         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1168         9555-oc.cc: Likewise.
1169         * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
1170         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Likewise.
1171         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Likewise.
1172         * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: Likewise.
1173         * testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc:
1174         Likewise.
1175         * testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc:
1176         Likewise.
1177         * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
1178         Likewise.
1179         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
1180         Likewise.
1181         * testsuite/27_io/basic_ostream/inserters_other/char/
1182         error_failbit.cc: Likewise.
1183         * testsuite/27_io/basic_ostream/inserters_other/char/
1184         exceptions_badbit_throw.cc: Likewise.
1185         * testsuite/27_io/basic_ostream/inserters_other/char/
1186         exceptions_failbit_throw.cc: Likewise.
1187         * testsuite/27_io/basic_ostream/inserters_other/char/
1188         exceptions_null.cc: Likewise.
1189         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: Likewise.
1190         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc: Likewise.
1191         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc: Likewise.
1192         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc: Likewise.
1193         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1194         9318-out.cc: Likewise.
1195         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1196         9424-out.cc: Likewise.
1197         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1198         9555-oo.cc: Likewise.
1199         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1200         error_code.cc: Likewise.
1201         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1202         error_failbit.cc: Likewise.
1203         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1204         exceptions_badbit_throw.cc: Likewise.
1205         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1206         exceptions_failbit_throw.cc: Likewise.
1207         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1208         exceptions_null.cc: Likewise.
1209         * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
1210         * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
1211         * testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Likewise.
1212         * testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc: Likewise.
1213         * testsuite/27_io/basic_ostream/seekp/char/
1214         exceptions_badbit_throw.cc: Likewise.
1215         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc: Likewise.
1216         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc: Likewise.
1217         * testsuite/27_io/basic_ostream/seekp/wchar_t/
1218         exceptions_badbit_throw.cc: Likewise.
1219         * testsuite/27_io/basic_ostream/sentry/char/1.cc: Likewise.
1220         * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
1221         * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
1222         * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
1223         * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
1224         * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
1225         * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
1226         * testsuite/27_io/basic_ostream/tellp/char/
1227         exceptions_badbit_throw.cc: Likewise.
1228         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
1229         * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
1230         * testsuite/27_io/basic_ostream/tellp/wchar_t/
1231         exceptions_badbit_throw.cc: Likewise.
1232         * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
1233         * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
1234         * testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise.
1235         * testsuite/27_io/basic_ostringstream/cons/char/3.cc: Likewise.
1236         * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
1237         * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: Likewise.
1238         * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
1239         * testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise.
1240         * testsuite/27_io/basic_ostringstream/str/char/2.cc: Likewise.
1241         * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
1242         * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
1243         * testsuite/27_io/basic_streambuf/cons/2020.cc: Likewise.
1244         * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
1245         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Likewise.
1246         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
1247         * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise.
1248         * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
1249         * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
1250         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise.
1251         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
1252         * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
1253         * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: Likewise.
1254         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Likewise.
1255         * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
1256         * testsuite/27_io/basic_streambuf/overflow/char/2.cc: Likewise.
1257         * testsuite/27_io/basic_streambuf/overflow/char/3599.cc: Likewise.
1258         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
1259         * testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc: Likewise.
1260         * testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc: Likewise.
1261         * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
1262         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
1263         * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
1264         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
1265         * testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc: Likewise.
1266         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
1267         * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
1268         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
1269         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
1270         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
1271         * testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise.
1272         * testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise.
1273         * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
1274         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Likewise.
1275         * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
1276         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Likewise.
1277         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
1278         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Likewise.
1279         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
1280         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Likewise.
1281         * testsuite/27_io/basic_stringbuf/overflow/char/2.cc: Likewise.
1282         * testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: Likewise.
1283         * testsuite/27_io/basic_stringbuf/overflow/char/3599.cc: Likewise.
1284         * testsuite/27_io/basic_stringbuf/overflow/char/9988.cc: Likewise.
1285         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc: Likewise.
1286         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc: Likewise.
1287         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Likewise.
1288         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc: Likewise.
1289         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc: Likewise.
1290         * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: Likewise.
1291         * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
1292         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
1293         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
1294         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
1295         * testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc: Likewise.
1296         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
1297         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc: Likewise.
1298         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise.
1299         * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: Likewise.
1300         * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: Likewise.
1301         * testsuite/27_io/basic_stringbuf/seekoff/char/2.cc: Likewise.
1302         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
1303         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
1304         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: Likewise.
1305         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc: Likewise.
1306         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
1307         * testsuite/27_io/basic_stringbuf/seekpos/char/2.cc: Likewise.
1308         * testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: Likewise.
1309         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Likewise.
1310         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
1311         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc: Likewise.
1312         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: Likewise.
1313         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc: Likewise.
1314         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Likewise.
1315         * testsuite/27_io/basic_stringbuf/setbuf/char/2.cc: Likewise.
1316         * testsuite/27_io/basic_stringbuf/setbuf/char/3.cc: Likewise.
1317         * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: Likewise.
1318         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Likewise.
1319         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc: Likewise.
1320         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc: Likewise.
1321         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
1322         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise.
1323         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
1324         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
1325         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
1326         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
1327         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
1328         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise.
1329         * testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc: Likewise.
1330         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise.
1331         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc: Likewise.
1332         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Likewise.
1333         * testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc: Likewise.
1334         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Likewise.
1335         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc: Likewise.
1336         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Likewise.
1337         * testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc: Likewise.
1338         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Likewise.
1339         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc: Likewise.
1340         * testsuite/27_io/basic_stringbuf/str/char/1.cc: Likewise.
1341         * testsuite/27_io/basic_stringbuf/str/char/2.cc: Likewise.
1342         * testsuite/27_io/basic_stringbuf/str/char/3.cc: Likewise.
1343         * testsuite/27_io/basic_stringbuf/str/char/3955.cc: Likewise.
1344         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Likewise.
1345         * testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc: Likewise.
1346         * testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc: Likewise.
1347         * testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc: Likewise.
1348         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
1349         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
1350         * testsuite/27_io/basic_stringbuf/sync/char/1057.cc: Likewise.
1351         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
1352         * testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise.
1353         * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Likewise.
1354         * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: Likewise.
1355         * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
1356         * testsuite/27_io/basic_stringstream/str/char/2.cc: Likewise.
1357         * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
1358         * testsuite/27_io/basic_stringstream/str/char/4.cc: Likewise.
1359         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
1360         * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
1361         * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
1362         * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
1363         * testsuite/27_io/fpos/11450.cc: Likewise.
1364         * testsuite/27_io/fpos/14252.cc: Likewise.
1365         * testsuite/27_io/fpos/14320-1.cc: Likewise.
1366         * testsuite/27_io/fpos/14320-2.cc: Likewise.
1367         * testsuite/27_io/fpos/14320-3.cc: Likewise.
1368         * testsuite/27_io/fpos/14320-4.cc: Likewise.
1369         * testsuite/27_io/fpos/14320-5.cc: Likewise.
1370         * testsuite/27_io/fpos/14775.cc: Likewise.
1371         * testsuite/27_io/fpos/mbstate_t/1.cc: Likewise.
1372         * testsuite/27_io/fpos/mbstate_t/12065.cc: Likewise.
1373         * testsuite/27_io/fpos/mbstate_t/2.cc: Likewise.
1374         * testsuite/27_io/fpos/mbstate_t/3.cc: Likewise.
1375         * testsuite/27_io/ios_base/callbacks/1.cc: Likewise.
1376         * testsuite/27_io/ios_base/failure/what-1.cc: Likewise.
1377         * testsuite/27_io/ios_base/failure/what-2.cc: Likewise.
1378         * testsuite/27_io/ios_base/failure/what-3.cc: Likewise.
1379         * testsuite/27_io/ios_base/failure/what-big.cc: Likewise.
1380         * testsuite/27_io/ios_base/state/1.cc: Likewise.
1381         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
1382         * testsuite/27_io/ios_base/storage/11584.cc: Likewise.
1383         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1384         * testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise.
1385         * testsuite/27_io/manipulators/adjustfield/char/1.cc: Likewise.
1386         * testsuite/27_io/manipulators/adjustfield/char/2.cc
1387         * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: Likewise.
1388         * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
1389         * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
1390         * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
1391         * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
1392         * testsuite/27_io/manipulators/extended/get_money/char/51288.cc:
1393         Likewise.
1394         * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
1395         Likewise.
1396         * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
1397         Likewise.
1398         * testsuite/27_io/manipulators/extended/get_time/char/1.cc
1399         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
1400         * testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: Likewise.
1401         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Likewise.
1402         * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
1403         * testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
1404         Likewise.
1405         * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
1406         Likewise.
1407         * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
1408         Likewise.
1409         * testsuite/27_io/manipulators/extended/put_time/char/1.cc: Likewise.
1410         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
1411         * testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: Likewise.
1412         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Likewise.
1413         * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
1414         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
1415         * testsuite/27_io/manipulators/standard/char/dr2344.cc: Likewise.
1416         * testsuite/27_io/manipulators/standard/char/quoted.cc: Likewise.
1417         * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
1418         * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
1419         * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: Likewise.
1420         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Likewise.
1421         * testsuite/27_io/objects/char/1.cc: Likewise.
1422         * testsuite/27_io/objects/char/10.cc: Likewise.
1423         * testsuite/27_io/objects/char/3045.cc: Likewise.
1424         * testsuite/27_io/objects/char/41037.cc: Likewise.
1425         * testsuite/27_io/objects/char/5.cc: Likewise.
1426         * testsuite/27_io/objects/char/6.cc: Likewise.
1427         * testsuite/27_io/objects/char/6548_xin.cc: Likewise.
1428         * testsuite/27_io/objects/char/6648-1_xin.cc: Likewise.
1429         * testsuite/27_io/objects/char/6648-2_xin.cc: Likewise.
1430         * testsuite/27_io/objects/char/7744_xin.cc: Likewise.
1431         * testsuite/27_io/objects/char/8.cc: Likewise.
1432         * testsuite/27_io/objects/char/9.cc: Likewise.
1433         * testsuite/27_io/objects/char/9661-2_xin.cc: Likewise.
1434         * testsuite/27_io/objects/char/dr455.cc: Likewise.
1435         * testsuite/27_io/objects/wchar_t/1.cc: Likewise.
1436         * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
1437         * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
1438         * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
1439         * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
1440         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
1441         * testsuite/27_io/objects/wchar_t/3045.cc: Likewise.
1442         * testsuite/27_io/objects/wchar_t/41037.cc: Likewise.
1443         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
1444         * testsuite/27_io/objects/wchar_t/6548_xin.cc: Likewise.
1445         * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: Likewise.
1446         * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: Likewise.
1447         * testsuite/27_io/objects/wchar_t/7744_xin.cc: Likewise.
1448         * testsuite/27_io/objects/wchar_t/8.cc: Likewise.
1449         * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
1450         * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: Likewise.
1451         * testsuite/27_io/objects/wchar_t/9662.cc: Likewise.
1452         * testsuite/27_io/objects/wchar_t/dr455.cc: Likewise.
1453         * testsuite/27_io/types/3.cc: Likewise.
1454
1455 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1456
1457         PR libstdc++/77994
1458         * include/bits/stl_algo.h (sample): Convert size argument to iterator
1459         difference type.
1460         * include/experimental/algorithm (experimental::sample): Likewise.
1461         * testsuite/25_algorithms/sample/2.cc: New test.
1462
1463 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1464
1465         * testsuite/unordered_map/insert/57619.C: Rename to 57619.cc.
1466         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
1467
1468 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1469
1470         * testsuite/array/capacity/empty.cc: Remove 'test' variables.
1471         * testsuite/array/capacity/max_size.cc: Likewise.
1472         * testsuite/array/capacity/size.cc: Likewise.
1473         * testsuite/array/comparison_operators/equal.cc: Likewise.
1474         * testsuite/array/comparison_operators/greater.cc: Likewise.
1475         * testsuite/array/comparison_operators/greater_or_equal.cc: Likewise.
1476         * testsuite/array/comparison_operators/less.cc: Likewise.
1477         * testsuite/array/comparison_operators/less_or_equal.cc: Likewise.
1478         * testsuite/array/comparison_operators/not_equal.cc: Likewise.
1479         * testsuite/array/element_access/54388.cc: Likewise.
1480         * testsuite/array/element_access/at_out_of_range.cc: Likewise.
1481         * testsuite/array/element_access/back.cc: Likewise.
1482         * testsuite/array/element_access/data.cc: Likewise.
1483         * testsuite/array/element_access/front.cc: Likewise.
1484         * testsuite/array/iterators/end_is_one_past.cc: Likewise.
1485         * testsuite/array/requirements/contiguous.cc: Likewise.
1486         * testsuite/array/requirements/fill.cc: Likewise.
1487         * testsuite/array/requirements/member_swap.cc: Likewise.
1488         * testsuite/array/requirements/zero_sized_arrays.cc: Likewise.
1489         * testsuite/array/specialized_algorithms/swap.cc: Likewise.
1490         * testsuite/array/tuple_interface/tuple_element.cc: Likewise.
1491         * testsuite/array/tuple_interface/tuple_element_cpp14.cc: Likewise.
1492         * testsuite/array/tuple_interface/tuple_size.cc: Likewise.
1493         * testsuite/bitset/all/1.cc: Likewise.
1494         * testsuite/bitset/cons/1.cc: Likewise.
1495         * testsuite/bitset/cons/16020.cc: Likewise.
1496         * testsuite/bitset/cons/2.cc: Likewise.
1497         * testsuite/bitset/cons/3.cc: Likewise.
1498         * testsuite/bitset/cons/50268.cc: Likewise.
1499         * testsuite/bitset/cons/6282.cc: Likewise.
1500         * testsuite/bitset/cons/dr1325-2.cc: Likewise.
1501         * testsuite/bitset/cons/dr396.cc: Likewise.
1502         * testsuite/bitset/ext/15361.cc: Likewise.
1503         * testsuite/bitset/input/1.cc: Likewise.
1504         * testsuite/bitset/operations/1.cc: Likewise.
1505         * testsuite/bitset/operations/13838.cc: Likewise.
1506         * testsuite/bitset/operations/2.cc: Likewise.
1507         * testsuite/bitset/test/1.cc: Likewise.
1508         * testsuite/bitset/to_string/1.cc: Likewise.
1509         * testsuite/bitset/to_string/dr396.cc: Likewise.
1510         * testsuite/bitset/to_ullong/1.cc: Likewise.
1511         * testsuite/bitset/to_ulong/1.cc: Likewise.
1512         * testsuite/deque/allocator/copy.cc: Likewise.
1513         * testsuite/deque/allocator/copy_assign.cc: Likewise.
1514         * testsuite/deque/allocator/ext_ptr.cc: Likewise.
1515         * testsuite/deque/allocator/minimal.cc: Likewise.
1516         * testsuite/deque/allocator/move.cc: Likewise.
1517         * testsuite/deque/allocator/move_assign.cc: Likewise.
1518         * testsuite/deque/allocator/swap.cc: Likewise.
1519         * testsuite/deque/capacity/29134-2.cc: Likewise.
1520         * testsuite/deque/capacity/29134.cc: Likewise.
1521         * testsuite/deque/capacity/moveable.cc: Likewise.
1522         * testsuite/deque/capacity/resize_size.cc: Likewise.
1523         * testsuite/deque/capacity/shrink_to_fit.cc: Likewise.
1524         * testsuite/deque/cons/1.cc: Likewise.
1525         * testsuite/deque/cons/2.cc: Likewise.
1526         * testsuite/deque/cons/assign/1.cc: Likewise.
1527         * testsuite/deque/cons/cons_size.cc: Likewise.
1528         * testsuite/deque/cons/moveable.cc: Likewise.
1529         * testsuite/deque/modifiers/erase/1.cc: Likewise.
1530         * testsuite/deque/modifiers/erase/2.cc: Likewise.
1531         * testsuite/deque/modifiers/erase/3.cc: Likewise.
1532         * testsuite/deque/modifiers/erase/moveable.cc: Likewise.
1533         * testsuite/deque/modifiers/moveable.cc: Likewise.
1534         * testsuite/deque/modifiers/push_back/49836.cc: Likewise.
1535         * testsuite/deque/modifiers/push_front/49836.cc: Likewise.
1536         * testsuite/deque/modifiers/swap/1.cc: Likewise.
1537         * testsuite/deque/modifiers/swap/2.cc: Likewise.
1538         * testsuite/deque/modifiers/swap/3.cc: Likewise.
1539         * testsuite/deque/operators/1.cc: Likewise.
1540         * testsuite/deque/operators/2.cc: Likewise.
1541         * testsuite/forward_list/allocator/copy.cc: Likewise.
1542         * testsuite/forward_list/allocator/copy_assign.cc: Likewise.
1543         * testsuite/forward_list/allocator/ext_ptr.cc: Likewise.
1544         * testsuite/forward_list/allocator/minimal.cc: Likewise.
1545         * testsuite/forward_list/allocator/move.cc: Likewise.
1546         * testsuite/forward_list/allocator/move_assign.cc: Likewise.
1547         * testsuite/forward_list/allocator/swap.cc: Likewise.
1548         * testsuite/forward_list/capacity/1.cc: Likewise.
1549         * testsuite/forward_list/capacity/resize_size.cc: Likewise.
1550         * testsuite/forward_list/comparable.cc: Likewise.
1551         * testsuite/forward_list/cons/1.cc: Likewise.
1552         * testsuite/forward_list/cons/2.cc: Likewise.
1553         * testsuite/forward_list/cons/3.cc: Likewise.
1554         * testsuite/forward_list/cons/4.cc: Likewise.
1555         * testsuite/forward_list/cons/5.cc: Likewise.
1556         * testsuite/forward_list/cons/6.cc: Likewise.
1557         * testsuite/forward_list/cons/7.cc: Likewise.
1558         * testsuite/forward_list/cons/8.cc: Likewise.
1559         * testsuite/forward_list/cons/9.cc: Likewise.
1560         * testsuite/forward_list/cons/cons_size.cc: Likewise.
1561         * testsuite/forward_list/cons/moveable.cc: Likewise.
1562         * testsuite/forward_list/debug/clear.cc: Likewise.
1563         * testsuite/forward_list/debug/construct4_neg.cc: Likewise.
1564         * testsuite/forward_list/debug/erase_after1_neg.cc: Likewise.
1565         * testsuite/forward_list/debug/move_assign_neg.cc: Likewise.
1566         * testsuite/forward_list/debug/move_constructor.cc: Likewise.
1567         * testsuite/forward_list/debug/move_neg.cc: Likewise.
1568         * testsuite/forward_list/debug/splice_after.cc: Likewise.
1569         * testsuite/forward_list/debug/swap.cc: Likewise.
1570         * testsuite/forward_list/modifiers/1.cc: Likewise.
1571         * testsuite/forward_list/modifiers/2.cc: Likewise.
1572         * testsuite/forward_list/modifiers/3.cc: Likewise.
1573         * testsuite/forward_list/modifiers/4.cc: Likewise.
1574         * testsuite/forward_list/modifiers/5.cc: Likewise.
1575         * testsuite/forward_list/modifiers/6.cc: Likewise.
1576         * testsuite/forward_list/operations/1.cc: Likewise.
1577         * testsuite/forward_list/operations/2.cc: Likewise.
1578         * testsuite/forward_list/operations/3.cc: Likewise.
1579         * testsuite/forward_list/operations/4.cc: Likewise.
1580         * testsuite/forward_list/operations/5.cc: Likewise.
1581         * testsuite/forward_list/operations/6.cc: Likewise.
1582         * testsuite/forward_list/operations/7.cc: Likewise.
1583         * testsuite/forward_list/operations/remove_freed.cc: Likewise.
1584         * testsuite/list/61347.cc: Likewise.
1585         * testsuite/list/allocator/copy.cc: Likewise.
1586         * testsuite/list/allocator/copy_assign.cc: Likewise.
1587         * testsuite/list/allocator/minimal.cc: Likewise.
1588         * testsuite/list/allocator/move.cc: Likewise.
1589         * testsuite/list/allocator/move_assign.cc: Likewise.
1590         * testsuite/list/allocator/swap.cc: Likewise.
1591         * testsuite/list/capacity/1.h: Likewise.
1592         * testsuite/list/capacity/29134.cc: Likewise.
1593         * testsuite/list/capacity/resize_size.cc: Likewise.
1594         * testsuite/list/cons/1.h: Likewise.
1595         * testsuite/list/cons/2.h: Likewise.
1596         * testsuite/list/cons/3.h: Likewise.
1597         * testsuite/list/cons/4.h: Likewise.
1598         * testsuite/list/cons/5.h: Likewise.
1599         * testsuite/list/cons/6.h: Likewise.
1600         * testsuite/list/cons/7.h: Likewise.
1601         * testsuite/list/cons/8.h: Likewise.
1602         * testsuite/list/cons/9.h: Likewise.
1603         * testsuite/list/cons/cons_size.cc: Likewise.
1604         * testsuite/list/cons/moveable.h: Likewise.
1605         * testsuite/list/debug/invalidation/1.cc: Likewise.
1606         * testsuite/list/debug/invalidation/2.cc: Likewise.
1607         * testsuite/list/debug/invalidation/3.cc: Likewise.
1608         * testsuite/list/debug/invalidation/4.cc: Likewise.
1609         * testsuite/list/modifiers/1.h: Likewise.
1610         * testsuite/list/modifiers/2.h: Likewise.
1611         * testsuite/list/modifiers/3.h: Likewise.
1612         * testsuite/list/modifiers/insert/25288.h: Likewise.
1613         * testsuite/list/modifiers/swap/1.h: Likewise.
1614         * testsuite/list/modifiers/swap/2.h: Likewise.
1615         * testsuite/list/modifiers/swap/3.h: Likewise.
1616         * testsuite/list/operations/1.h: Likewise.
1617         * testsuite/list/operations/2.h: Likewise.
1618         * testsuite/list/operations/3.h: Likewise.
1619         * testsuite/list/operations/4.h: Likewise.
1620         * testsuite/list/operations/42352.cc: Likewise.
1621         * testsuite/map/allocator/copy.cc: Likewise.
1622         * testsuite/map/allocator/copy_assign.cc: Likewise.
1623         * testsuite/map/allocator/init-list.cc: Likewise.
1624         * testsuite/map/allocator/minimal.cc: Likewise.
1625         * testsuite/map/allocator/move.cc: Likewise.
1626         * testsuite/map/allocator/move_assign.cc: Likewise.
1627         * testsuite/map/allocator/swap.cc: Likewise.
1628         * testsuite/map/capacity/29134.cc: Likewise.
1629         * testsuite/map/cons/moveable.cc: Likewise.
1630         * testsuite/map/debug/construct5_neg.cc: Likewise.
1631         * testsuite/map/debug/move_assign_neg.cc: Likewise.
1632         * testsuite/map/debug/move_neg.cc: Likewise.
1633         * testsuite/map/element_access/1.cc: Likewise.
1634         * testsuite/map/element_access/2.cc: Likewise.
1635         * testsuite/map/element_access/39901.cc: Likewise.
1636         * testsuite/map/init-list.cc: Likewise.
1637         * testsuite/map/modifiers/dr130.cc: Likewise.
1638         * testsuite/map/modifiers/emplace/1.cc: Likewise.
1639         * testsuite/map/modifiers/extract.cc: Likewise.
1640         * testsuite/map/modifiers/insert/1.cc: Likewise.
1641         * testsuite/map/modifiers/insert/16813.cc: Likewise.
1642         * testsuite/map/modifiers/insert/2.cc: Likewise.
1643         * testsuite/map/modifiers/insert/3.cc: Likewise.
1644         * testsuite/map/modifiers/insert/4.cc: Likewise.
1645         * testsuite/map/modifiers/insert/5.cc: Likewise.
1646         * testsuite/map/modifiers/insert_or_assign/1.cc: Likewise.
1647         * testsuite/map/modifiers/merge.cc: Likewise.
1648         * testsuite/map/modifiers/swap/1.cc: Likewise.
1649         * testsuite/map/modifiers/swap/2.cc: Likewise.
1650         * testsuite/map/modifiers/swap/3.cc: Likewise.
1651         * testsuite/map/modifiers/try_emplace/1.cc: Likewise.
1652         * testsuite/map/operations/1.cc: Likewise.
1653         * testsuite/map/operations/count.cc: Likewise.
1654         * testsuite/map/operators/1_neg.cc: Likewise.
1655         * testsuite/map/operators/2.cc: Likewise.
1656         * testsuite/multimap/allocator/copy.cc: Likewise.
1657         * testsuite/multimap/allocator/copy_assign.cc: Likewise.
1658         * testsuite/multimap/allocator/init-list.cc: Likewise.
1659         * testsuite/multimap/allocator/minimal.cc: Likewise.
1660         * testsuite/multimap/allocator/move.cc: Likewise.
1661         * testsuite/multimap/allocator/move_assign.cc: Likewise.
1662         * testsuite/multimap/allocator/swap.cc: Likewise.
1663         * testsuite/multimap/capacity/29134.cc: Likewise.
1664         * testsuite/multimap/cons/moveable.cc: Likewise.
1665         * testsuite/multimap/debug/construct5_neg.cc: Likewise.
1666         * testsuite/multimap/debug/move_assign_neg.cc: Likewise.
1667         * testsuite/multimap/debug/move_neg.cc: Likewise.
1668         * testsuite/multimap/init-list.cc: Likewise.
1669         * testsuite/multimap/modifiers/dr130.cc: Likewise.
1670         * testsuite/multimap/modifiers/emplace/1.cc: Likewise.
1671         * testsuite/multimap/modifiers/extract.cc: Likewise.
1672         * testsuite/multimap/modifiers/insert/1.cc: Likewise.
1673         * testsuite/multimap/modifiers/insert/2.cc: Likewise.
1674         * testsuite/multimap/modifiers/insert/22102.cc: Likewise.
1675         * testsuite/multimap/modifiers/insert/3.cc: Likewise.
1676         * testsuite/multimap/modifiers/insert/4.cc: Likewise.
1677         * testsuite/multimap/modifiers/merge.cc: Likewise.
1678         * testsuite/multimap/modifiers/swap/1.cc: Likewise.
1679         * testsuite/multimap/modifiers/swap/2.cc: Likewise.
1680         * testsuite/multimap/modifiers/swap/3.cc: Likewise.
1681         * testsuite/multimap/operations/1.cc: Likewise.
1682         * testsuite/multimap/operations/count.cc: Likewise.
1683         * testsuite/multiset/allocator/copy.cc: Likewise.
1684         * testsuite/multiset/allocator/copy_assign.cc: Likewise.
1685         * testsuite/multiset/allocator/init-list.cc: Likewise.
1686         * testsuite/multiset/allocator/minimal.cc: Likewise.
1687         * testsuite/multiset/allocator/move.cc: Likewise.
1688         * testsuite/multiset/allocator/move_assign.cc: Likewise.
1689         * testsuite/multiset/allocator/swap.cc: Likewise.
1690         * testsuite/multiset/capacity/29134.cc: Likewise.
1691         * testsuite/multiset/cons/moveable.cc: Likewise.
1692         * testsuite/multiset/debug/construct5_neg.cc: Likewise.
1693         * testsuite/multiset/debug/invalidation/2.cc: Likewise.
1694         * testsuite/multiset/debug/move_assign_neg.cc: Likewise.
1695         * testsuite/multiset/debug/move_neg.cc: Likewise.
1696         * testsuite/multiset/init-list.cc: Likewise.
1697         * testsuite/multiset/modifiers/dr130.cc: Likewise.
1698         * testsuite/multiset/modifiers/emplace/1.cc: Likewise.
1699         * testsuite/multiset/modifiers/extract.cc: Likewise.
1700         * testsuite/multiset/modifiers/insert/1.cc: Likewise.
1701         * testsuite/multiset/modifiers/insert/2.cc: Likewise.
1702         * testsuite/multiset/modifiers/insert/22102.cc: Likewise.
1703         * testsuite/multiset/modifiers/insert/3.cc: Likewise.
1704         * testsuite/multiset/modifiers/insert/4.cc: Likewise.
1705         * testsuite/multiset/modifiers/merge.cc: Likewise.
1706         * testsuite/multiset/modifiers/swap/1.cc: Likewise.
1707         * testsuite/multiset/modifiers/swap/2.cc: Likewise.
1708         * testsuite/multiset/modifiers/swap/3.cc: Likewise.
1709         * testsuite/multiset/operations/1.cc: Likewise.
1710         * testsuite/multiset/operations/count.cc: Likewise.
1711         * testsuite/priority_queue/moveable.cc: Likewise.
1712         * testsuite/queue/moveable.cc: Likewise.
1713         * testsuite/set/allocator/copy.cc: Likewise.
1714         * testsuite/set/allocator/copy_assign.cc: Likewise.
1715         * testsuite/set/allocator/init-list.cc: Likewise.
1716         * testsuite/set/allocator/minimal.cc: Likewise.
1717         * testsuite/set/allocator/move.cc: Likewise.
1718         * testsuite/set/allocator/move_assign.cc: Likewise.
1719         * testsuite/set/allocator/swap.cc: Likewise.
1720         * testsuite/set/capacity/29134.cc: Likewise.
1721         * testsuite/set/cons/moveable.cc: Likewise.
1722         * testsuite/set/debug/construct5_neg.cc: Likewise.
1723         * testsuite/set/debug/invalidation/2.cc: Likewise.
1724         * testsuite/set/debug/move_assign_neg.cc: Likewise.
1725         * testsuite/set/debug/move_neg.cc: Likewise.
1726         * testsuite/set/init-list.cc: Likewise.
1727         * testsuite/set/modifiers/17948.cc: Likewise.
1728         * testsuite/set/modifiers/dr130.cc: Likewise.
1729         * testsuite/set/modifiers/emplace/1.cc: Likewise.
1730         * testsuite/set/modifiers/extract.cc: Likewise.
1731         * testsuite/set/modifiers/insert/1.cc: Likewise.
1732         * testsuite/set/modifiers/insert/2.cc: Likewise.
1733         * testsuite/set/modifiers/insert/3.cc: Likewise.
1734         * testsuite/set/modifiers/merge.cc: Likewise.
1735         * testsuite/set/modifiers/swap/1.cc: Likewise.
1736         * testsuite/set/modifiers/swap/2.cc: Likewise.
1737         * testsuite/set/modifiers/swap/3.cc: Likewise.
1738         * testsuite/set/operations/1.cc: Likewise.
1739         * testsuite/set/operations/count.cc: Likewise.
1740         * testsuite/set/operators/1_neg.cc: Likewise.
1741         * testsuite/unordered_map/allocator/copy.cc: Likewise.
1742         * testsuite/unordered_map/allocator/copy_assign.cc: Likewise.
1743         * testsuite/unordered_map/allocator/minimal.cc: Likewise.
1744         * testsuite/unordered_map/allocator/move.cc: Likewise.
1745         * testsuite/unordered_map/allocator/move_assign.cc: Likewise.
1746         * testsuite/unordered_map/allocator/swap.cc: Likewise.
1747         * testsuite/unordered_map/cons/moveable.cc: Likewise.
1748         * testsuite/unordered_map/debug/construct5_neg.cc: Likewise.
1749         * testsuite/unordered_map/debug/move_assign_neg.cc: Likewise.
1750         * testsuite/unordered_map/debug/move_neg.cc: Likewise.
1751         * testsuite/unordered_map/dr761.cc: Likewise.
1752         * testsuite/unordered_map/erase/1.cc: Likewise.
1753         * testsuite/unordered_map/erase/24061-map.cc: Likewise.
1754         * testsuite/unordered_map/erase/54276.cc: Likewise.
1755         * testsuite/unordered_map/hash_policy/dr1189.cc: Likewise.
1756         * testsuite/unordered_map/init-list.cc: Likewise.
1757         * testsuite/unordered_map/insert/24061-map.cc: Likewise.
1758         * testsuite/unordered_map/insert/57619.C: Likewise.
1759         * testsuite/unordered_map/insert/array_syntax.cc: Likewise.
1760         * testsuite/unordered_map/insert/array_syntax_move.cc: Likewise.
1761         * testsuite/unordered_map/insert/map_range.cc: Likewise.
1762         * testsuite/unordered_map/insert/map_single.cc: Likewise.
1763         * testsuite/unordered_map/insert/map_single_move-1.cc: Likewise.
1764         * testsuite/unordered_map/insert/map_single_move-2.cc: Likewise.
1765         * testsuite/unordered_map/modifiers/61667.cc: Likewise.
1766         * testsuite/unordered_map/modifiers/emplace.cc: Likewise.
1767         * testsuite/unordered_map/modifiers/extract.cc: Likewise.
1768         * testsuite/unordered_map/modifiers/insert_or_assign.cc: Likewise.
1769         * testsuite/unordered_map/modifiers/merge.cc: Likewise.
1770         * testsuite/unordered_map/modifiers/reserve.cc: Likewise.
1771         * testsuite/unordered_map/modifiers/try_emplace.cc: Likewise.
1772         * testsuite/unordered_map/operations/count.cc: Likewise.
1773         * testsuite/unordered_map/operators/1.cc: Likewise.
1774         * testsuite/unordered_map/operators/2.cc: Likewise.
1775         * testsuite/unordered_multimap/allocator/copy.cc: Likewise.
1776         * testsuite/unordered_multimap/allocator/copy_assign.cc: Likewise.
1777         * testsuite/unordered_multimap/allocator/minimal.cc: Likewise.
1778         * testsuite/unordered_multimap/allocator/move.cc: Likewise.
1779         * testsuite/unordered_multimap/allocator/move_assign.cc: Likewise.
1780         * testsuite/unordered_multimap/allocator/swap.cc: Likewise.
1781         * testsuite/unordered_multimap/cons/moveable.cc: Likewise.
1782         * testsuite/unordered_multimap/debug/construct5_neg.cc: Likewise.
1783         * testsuite/unordered_multimap/debug/move_assign_neg.cc: Likewise.
1784         * testsuite/unordered_multimap/debug/move_neg.cc: Likewise.
1785         * testsuite/unordered_multimap/erase/1.cc: Likewise.
1786         * testsuite/unordered_multimap/erase/2.cc: Likewise.
1787         * testsuite/unordered_multimap/erase/24061-multimap.cc: Likewise.
1788         * testsuite/unordered_multimap/erase/51845-multimap.cc: Likewise.
1789         * testsuite/unordered_multimap/erase/54276.cc: Likewise.
1790         * testsuite/unordered_multimap/hash_policy/dr1189.cc: Likewise.
1791         * testsuite/unordered_multimap/init-list.cc: Likewise.
1792         * testsuite/unordered_multimap/insert/24061-multimap.cc: Likewise.
1793         * testsuite/unordered_multimap/insert/51866.cc: Likewise.
1794         * testsuite/unordered_multimap/insert/52476.cc: Likewise.
1795         * testsuite/unordered_multimap/insert/53115.cc: Likewise.
1796         * testsuite/unordered_multimap/insert/57619.C: Likewise.
1797         * testsuite/unordered_multimap/insert/hint.cc: Likewise.
1798         * testsuite/unordered_multimap/insert/multimap_range.cc: Likewise.
1799         * testsuite/unordered_multimap/insert/multimap_single.cc: Likewise.
1800         * testsuite/unordered_multimap/insert/multimap_single_move-1.cc:
1801         Likewise.
1802         * testsuite/unordered_multimap/insert/multimap_single_move-2.cc:
1803         Likewise.
1804         * testsuite/unordered_multimap/modifiers/emplace.cc: Likewise.
1805         * testsuite/unordered_multimap/modifiers/extract.cc: Likewise.
1806         * testsuite/unordered_multimap/modifiers/merge.cc: Likewise.
1807         * testsuite/unordered_multimap/modifiers/reserve.cc: Likewise.
1808         * testsuite/unordered_multimap/operations/count.cc: Likewise.
1809         * testsuite/unordered_multimap/operators/1.cc: Likewise.
1810         * testsuite/unordered_multimap/operators/2.cc: Likewise.
1811         * testsuite/unordered_multiset/allocator/copy.cc: Likewise.
1812         * testsuite/unordered_multiset/allocator/copy_assign.cc: Likewise.
1813         * testsuite/unordered_multiset/allocator/minimal.cc: Likewise.
1814         * testsuite/unordered_multiset/allocator/move.cc: Likewise.
1815         * testsuite/unordered_multiset/allocator/move_assign.cc: Likewise.
1816         * testsuite/unordered_multiset/allocator/swap.cc: Likewise.
1817         * testsuite/unordered_multiset/cons/copy.cc: Likewise.
1818         * testsuite/unordered_multiset/cons/moveable.cc: Likewise.
1819         * testsuite/unordered_multiset/debug/construct5_neg.cc: Likewise.
1820         * testsuite/unordered_multiset/debug/move_assign_neg.cc: Likewise.
1821         * testsuite/unordered_multiset/debug/move_neg.cc: Likewise.
1822         * testsuite/unordered_multiset/erase/1.cc: Likewise.
1823         * testsuite/unordered_multiset/erase/2.cc: Likewise.
1824         * testsuite/unordered_multiset/erase/24061-multiset.cc: Likewise.
1825         * testsuite/unordered_multiset/hash_policy/dr1189.cc: Likewise.
1826         * testsuite/unordered_multiset/init-list.cc: Likewise.
1827         * testsuite/unordered_multiset/insert/24061-multiset.cc: Likewise.
1828         * testsuite/unordered_multiset/insert/51866.cc: Likewise.
1829         * testsuite/unordered_multiset/insert/52476.cc: Likewise.
1830         * testsuite/unordered_multiset/insert/53115.cc: Likewise.
1831         * testsuite/unordered_multiset/insert/hash_policy.cc: Likewise.
1832         * testsuite/unordered_multiset/insert/multiset_range.cc: Likewise.
1833         * testsuite/unordered_multiset/insert/multiset_single.cc: Likewise.
1834         * testsuite/unordered_multiset/insert/multiset_single_move.cc: Likewise.
1835         * testsuite/unordered_multiset/modifiers/emplace.cc: Likewise.
1836         * testsuite/unordered_multiset/modifiers/extract.cc: Likewise.
1837         * testsuite/unordered_multiset/modifiers/merge.cc: Likewise.
1838         * testsuite/unordered_multiset/modifiers/reserve.cc: Likewise.
1839         * testsuite/unordered_multiset/operations/count.cc: Likewise.
1840         * testsuite/unordered_multiset/operators/1.cc: Likewise.
1841         * testsuite/unordered_set/allocator/copy.cc: Likewise.
1842         * testsuite/unordered_set/allocator/copy_assign.cc: Likewise.
1843         * testsuite/unordered_set/allocator/ext_ptr.cc: Likewise.
1844         * testsuite/unordered_set/allocator/minimal.cc: Likewise.
1845         * testsuite/unordered_set/allocator/move.cc: Likewise.
1846         * testsuite/unordered_set/allocator/move_assign.cc: Likewise.
1847         * testsuite/unordered_set/allocator/swap.cc: Likewise.
1848         * testsuite/unordered_set/buckets/swap.cc: Likewise.
1849         * testsuite/unordered_set/cons/moveable.cc: Likewise.
1850         * testsuite/unordered_set/debug/construct5_neg.cc: Likewise.
1851         * testsuite/unordered_set/debug/debug_functions.cc: Likewise.
1852         * testsuite/unordered_set/debug/move_assign_neg.cc: Likewise.
1853         * testsuite/unordered_set/debug/move_neg.cc: Likewise.
1854         * testsuite/unordered_set/erase/1.cc: Likewise.
1855         * testsuite/unordered_set/erase/24061-set.cc: Likewise.
1856         * testsuite/unordered_set/hash_policy/26132.cc: Likewise.
1857         * testsuite/unordered_set/hash_policy/71181.cc: Likewise.
1858         * testsuite/unordered_set/hash_policy/dr1189.cc: Likewise.
1859         * testsuite/unordered_set/hash_policy/load_factor.cc: Likewise.
1860         * testsuite/unordered_set/hash_policy/power2_rehash.cc: Likewise.
1861         * testsuite/unordered_set/hash_policy/prime_rehash.cc: Likewise.
1862         * testsuite/unordered_set/hash_policy/rehash.cc: Likewise.
1863         * testsuite/unordered_set/init-list.cc: Likewise.
1864         * testsuite/unordered_set/insert/24061-set.cc: Likewise.
1865         * testsuite/unordered_set/insert/hash_policy.cc: Likewise.
1866         * testsuite/unordered_set/insert/move_range.cc: Likewise.
1867         * testsuite/unordered_set/insert/set_range.cc: Likewise.
1868         * testsuite/unordered_set/insert/set_single.cc: Likewise.
1869         * testsuite/unordered_set/insert/set_single_move.cc: Likewise.
1870         * testsuite/unordered_set/max_load_factor/robustness.cc: Likewise.
1871         * testsuite/unordered_set/modifiers/emplace.cc: Likewise.
1872         * testsuite/unordered_set/modifiers/extract.cc: Likewise.
1873         * testsuite/unordered_set/modifiers/merge.cc: Likewise.
1874         * testsuite/unordered_set/modifiers/reserve.cc: Likewise.
1875         * testsuite/unordered_set/modifiers/swap.cc: Likewise.
1876         * testsuite/unordered_set/operations/count.cc: Likewise.
1877         * testsuite/unordered_set/operators/1.cc: Likewise.
1878         * testsuite/vector/allocator/copy.cc: Likewise.
1879         * testsuite/vector/allocator/copy_assign.cc: Likewise.
1880         * testsuite/vector/allocator/ext_ptr.cc: Likewise.
1881         * testsuite/vector/allocator/minimal.cc: Likewise.
1882         * testsuite/vector/allocator/move.cc: Likewise.
1883         * testsuite/vector/allocator/move_assign.cc: Likewise.
1884         * testsuite/vector/allocator/swap.cc: Likewise.
1885         * testsuite/vector/bool/6886.cc: Likewise.
1886         * testsuite/vector/bool/72847.cc: Likewise.
1887         * testsuite/vector/bool/allocator/copy.cc: Likewise.
1888         * testsuite/vector/bool/allocator/copy_assign.cc: Likewise.
1889         * testsuite/vector/bool/allocator/ext_ptr.cc: Likewise.
1890         * testsuite/vector/bool/allocator/move.cc: Likewise.
1891         * testsuite/vector/bool/allocator/move_assign.cc: Likewise.
1892         * testsuite/vector/bool/allocator/swap.cc: Likewise.
1893         * testsuite/vector/bool/capacity/1.cc: Likewise.
1894         * testsuite/vector/bool/capacity/29134.cc: Likewise.
1895         * testsuite/vector/bool/capacity/shrink_to_fit.cc: Likewise.
1896         * testsuite/vector/bool/cons/1.cc: Likewise.
1897         * testsuite/vector/bool/cons/2.cc: Likewise.
1898         * testsuite/vector/bool/modifiers/erase/1.cc: Likewise.
1899         * testsuite/vector/bool/modifiers/insert/1.cc: Likewise.
1900         * testsuite/vector/bool/modifiers/insert/31370.cc: Likewise.
1901         * testsuite/vector/bool/modifiers/swap/1.cc: Likewise.
1902         * testsuite/vector/bool/modifiers/swap/2.cc: Likewise.
1903         * testsuite/vector/bool/swap.cc: Likewise.
1904         * testsuite/vector/capacity/1.cc: Likewise.
1905         * testsuite/vector/capacity/2.cc: Likewise.
1906         * testsuite/vector/capacity/29134-2.cc: Likewise.
1907         * testsuite/vector/capacity/29134.cc: Likewise.
1908         * testsuite/vector/capacity/44190.cc: Likewise.
1909         * testsuite/vector/capacity/8230.cc: Likewise.
1910         * testsuite/vector/capacity/reserve/moveable.cc: Likewise.
1911         * testsuite/vector/capacity/reserve/moveable2.cc: Likewise.
1912         * testsuite/vector/capacity/resize/1.cc: Likewise.
1913         * testsuite/vector/capacity/resize/moveable.cc: Likewise.
1914         * testsuite/vector/capacity/resize/moveable2.cc: Likewise.
1915         * testsuite/vector/capacity/resize/resize_size.cc: Likewise.
1916         * testsuite/vector/capacity/shrink_to_fit.cc: Likewise.
1917         * testsuite/vector/capacity/shrink_to_fit2.cc: Likewise.
1918         * testsuite/vector/cons/3.cc: Likewise.
1919         * testsuite/vector/cons/4.cc: Likewise.
1920         * testsuite/vector/cons/cons_size.cc: Likewise.
1921         * testsuite/vector/cons/moveable.cc: Likewise.
1922         * testsuite/vector/data_access/1.cc: Likewise.
1923         * testsuite/vector/debug/debug_functions.cc: Likewise.
1924         * testsuite/vector/debug/move_assign_neg.cc: Likewise.
1925         * testsuite/vector/debug/move_neg.cc: Likewise.
1926         * testsuite/vector/debug/multithreaded_swap.cc: Likewise.
1927         * testsuite/vector/element_access/1.cc: Likewise.
1928         * testsuite/vector/ext_pointer/citerators.cc: Likewise.
1929         * testsuite/vector/ext_pointer/data_access.cc: Likewise.
1930         * testsuite/vector/ext_pointer/modifiers/element.cc: Likewise.
1931         * testsuite/vector/ext_pointer/modifiers/erase.cc: Likewise.
1932         * testsuite/vector/ext_pointer/modifiers/insert.cc: Likewise.
1933         * testsuite/vector/ext_pointer/resize.cc: Likewise.
1934         * testsuite/vector/modifiers/1.cc: Likewise.
1935         * testsuite/vector/modifiers/2.cc: Likewise.
1936         * testsuite/vector/modifiers/emplace/self_emplace.cc: Likewise.
1937         * testsuite/vector/modifiers/erase/1.cc: Likewise.
1938         * testsuite/vector/modifiers/erase/moveable.cc: Likewise.
1939         * testsuite/vector/modifiers/insert/1.cc: Likewise.
1940         * testsuite/vector/modifiers/insert/self_insert.cc: Likewise.
1941         * testsuite/vector/modifiers/moveable.cc: Likewise.
1942         * testsuite/vector/modifiers/moveable2.cc: Likewise.
1943         * testsuite/vector/modifiers/push_back/49836.cc: Likewise.
1944         * testsuite/vector/modifiers/swap/1.cc: Likewise.
1945         * testsuite/vector/modifiers/swap/2.cc: Likewise.
1946         * testsuite/vector/modifiers/swap/3.cc: Likewise.
1947         * testsuite/vector/zero_sized_allocations.cc: Likewise.
1948
1949 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
1950
1951         PR libstdc++/77998
1952         * include/std/future (__future_base::_Deferred_state)
1953         (__future_base::_Async_state_impl): Use decltype to deduce return
1954         type, instead of _Invoker::result_type.
1955         * include/std/thread (thread::_Invoker::operator()): Likewise.
1956         (thread::_Invoker::result_type): Remove.
1957
1958         PR libstdc++/77987
1959         * include/bits/unique_ptr.h (unique_ptr<T[], D>::reset<U>(U)): Copy
1960         value to pointer of the correct type to swap, to support conversions
1961         allowed by LWG 2118 / N4089.
1962         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for
1963         incompatible deleters from ...
1964         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here.
1965         * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for
1966         incompatible pointers to ...
1967         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move
1968         destructor definition to base class. Test for invalid derived-to-base
1969         conversion.
1970
1971         * doc/xml/manual/status_cxx2017.xml: Update status.
1972         * doc/html/*: Regenerate.
1973         * include/bits/deque.tcc (deque::emplace_front, deque::emplace_back):
1974         Return a reference in C++17 mode.
1975         * include/bits/forward_list.h (forward_list::emplace_front): Likewise.
1976         * include/bits/stl_bvector.h (vector<bool>::emplace_back): Likewise.
1977         * include/bits/stl_deque.h (deque::emplace_front, deque::emplace_back):
1978         Likewise.
1979         * include/bits/stl_list.h (list::emplace_front, list::emplace_back):
1980         Likewise.
1981         * include/bits/stl_queue.h (queue::emplace): Likewise.
1982         * include/bits/stl_stack.h (stack::emplace): Likewise.
1983         * include/bits/stl_vector.h (vector::emplace_back): Likewise.
1984         * include/bits/vector.tcc (vector::emplace_back): Likewise.
1985         * include/debug/deque (__gnu_debug::deque::emplace_front)
1986         (__gnu_debug::deque::emplace_back): Likewise.
1987         * include/debug/vector (__gnu_debug::vector::emplace_back): Likewise.
1988         * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
1989         New.
1990         * testsuite/23_containers/forward_list/modifiers/
1991         emplace_cxx17_return.cc: New.
1992         * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: New.
1993         * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: New.
1994         * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: New.
1995         * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: New.
1996         * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
1997         New.
1998
1999 2016-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
2000
2001         * testsuite/22_locale/classification/isblank.cc: Remove 'test'
2002         variables.
2003         * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
2004         * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Likewise.
2005         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
2006         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
2007         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise.
2008         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Likewise.
2009         * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
2010         * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Likewise.
2011         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
2012         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
2013         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise.
2014         * testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
2015         * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Likewise.
2016         * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
2017         * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise.
2018         * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise.
2019         * testsuite/22_locale/codecvt/in/wchar_t/5.cc: Likewise.
2020         * testsuite/22_locale/codecvt/in/wchar_t/6.cc: Likewise.
2021         * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise.
2022         * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
2023         * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
2024         * testsuite/22_locale/codecvt/length/char/1.cc: Likewise.
2025         * testsuite/22_locale/codecvt/length/char/2.cc: Likewise.
2026         * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Likewise.
2027         * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
2028         * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
2029         * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
2030         * testsuite/22_locale/codecvt/length/wchar_t/5.cc: Likewise.
2031         * testsuite/22_locale/codecvt/length/wchar_t/6.cc: Likewise.
2032         * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise.
2033         * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
2034         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Likewise.
2035         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
2036         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
2037         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise.
2038         * testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
2039         * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Likewise.
2040         * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
2041         * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise.
2042         * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
2043         * testsuite/22_locale/codecvt/out/wchar_t/5.cc: Likewise.
2044         * testsuite/22_locale/codecvt/out/wchar_t/6.cc: Likewise.
2045         * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
2046         * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
2047         * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Likewise.
2048         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
2049         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
2050         * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
2051         * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
2052         * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
2053         * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
2054         * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
2055         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
2056         * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
2057         * testsuite/22_locale/collate/hash/char/1.cc: Likewise.
2058         * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
2059         * testsuite/22_locale/collate/hash/wchar_t/1.cc: Likewise.
2060         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
2061         * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
2062         * testsuite/22_locale/collate/transform/char/28277.cc: Likewise.
2063         * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
2064         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
2065         * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise.
2066         * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
2067         * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
2068         * testsuite/22_locale/ctype/cons/char/1.cc: Likewise.
2069         * testsuite/22_locale/ctype/is/char/1.cc: Likewise.
2070         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
2071         * testsuite/22_locale/ctype/is/char/3.cc: Likewise.
2072         * testsuite/22_locale/ctype/is/char/9858.cc: Likewise.
2073         * testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
2074         * testsuite/22_locale/ctype/is/wchar_t/11740.cc: Likewise.
2075         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
2076         * testsuite/22_locale/ctype/narrow/char/1.cc: Likewise.
2077         * testsuite/22_locale/ctype/narrow/char/19955.cc: Likewise.
2078         * testsuite/22_locale/ctype/narrow/char/2.cc: Likewise.
2079         * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Likewise.
2080         * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Likewise.
2081         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise.
2082         * testsuite/22_locale/ctype/scan/char/1.cc: Likewise.
2083         * testsuite/22_locale/ctype/scan/wchar_t/1.cc: Likewise.
2084         * testsuite/22_locale/ctype/to/char/1.cc: Likewise.
2085         * testsuite/22_locale/ctype/to/wchar_t/1.cc: Likewise.
2086         * testsuite/22_locale/ctype/widen/char/1.cc: Likewise.
2087         * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Likewise.
2088         * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
2089         * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise.
2090         * testsuite/22_locale/ctype_base/11844.cc: Likewise.
2091         * testsuite/22_locale/facet/1.cc: Likewise.
2092         * testsuite/22_locale/facet/2.cc: Likewise.
2093         * testsuite/22_locale/facet/25421.cc: Likewise.
2094         * testsuite/22_locale/global_templates/1.cc: Likewise.
2095         * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
2096         Likewise.
2097         * testsuite/22_locale/global_templates/user_facet_hierarchies.cc:
2098         Likewise.
2099         * testsuite/22_locale/locale/13630.cc: Likewise.
2100         * testsuite/22_locale/locale/cons/12352.cc: Likewise.
2101         * testsuite/22_locale/locale/cons/12438.cc: Likewise.
2102         * testsuite/22_locale/locale/cons/2.cc: Likewise.
2103         * testsuite/22_locale/locale/cons/29217.cc: Likewise.
2104         * testsuite/22_locale/locale/cons/38365.cc: Likewise.
2105         * testsuite/22_locale/locale/cons/38368.cc: Likewise.
2106         * testsuite/22_locale/locale/cons/4.cc: Likewise.
2107         * testsuite/22_locale/locale/cons/40184.cc: Likewise.
2108         * testsuite/22_locale/locale/cons/5.cc: Likewise.
2109         * testsuite/22_locale/locale/cons/6.cc: Likewise.
2110         * testsuite/22_locale/locale/cons/7.cc: Likewise.
2111         * testsuite/22_locale/locale/cons/7222-c.cc: Likewise.
2112         * testsuite/22_locale/locale/cons/7222-env.cc: Likewise.
2113         * testsuite/22_locale/locale/cons/8.cc: Likewise.
2114         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
2115         * testsuite/22_locale/locale/global_locale_objects/1.cc: Likewise.
2116         * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
2117         * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
2118         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
2119         * testsuite/22_locale/locale/operations/1.cc: Likewise.
2120         * testsuite/22_locale/locale/operations/2.cc: Likewise.
2121         * testsuite/22_locale/messages/13631.cc: Likewise.
2122         * testsuite/22_locale/messages/members/char/1.cc: Likewise.
2123         * testsuite/22_locale/messages/members/char/2.cc: Likewise.
2124         * testsuite/22_locale/messages/members/char/3.cc: Likewise.
2125         * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
2126         * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
2127         * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
2128         * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
2129         * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
2130         * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
2131         * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
2132         * testsuite/22_locale/money_get/get/char/14.cc: Likewise.
2133         * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
2134         * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
2135         * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
2136         * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
2137         * testsuite/22_locale/money_get/get/char/19.cc: Likewise.
2138         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2139         * testsuite/22_locale/money_get/get/char/22131.cc: Likewise.
2140         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2141         * testsuite/22_locale/money_get/get/char/38399.cc: Likewise.
2142         * testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
2143         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2144         * testsuite/22_locale/money_get/get/char/5.cc: Likewise.
2145         * testsuite/22_locale/money_get/get/char/6.cc: Likewise.
2146         * testsuite/22_locale/money_get/get/char/7.cc: Likewise.
2147         * testsuite/22_locale/money_get/get/char/8.cc: Likewise.
2148         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2149         * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
2150         * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
2151         * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
2152         * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
2153         * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
2154         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Likewise.
2155         * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
2156         * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
2157         * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
2158         * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
2159         * testsuite/22_locale/money_get/get/wchar_t/19.cc: Likewise.
2160         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2161         * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
2162         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2163         * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
2164         * testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
2165         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2166         * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
2167         * testsuite/22_locale/money_get/get/wchar_t/6.cc: Likewise.
2168         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
2169         * testsuite/22_locale/money_get/get/wchar_t/8.cc: Likewise.
2170         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
2171         * testsuite/22_locale/money_put/put/char/12971.cc: Likewise.
2172         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
2173         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
2174         * testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
2175         * testsuite/22_locale/money_put/put/char/4.cc: Likewise.
2176         * testsuite/22_locale/money_put/put/char/5.cc: Likewise.
2177         * testsuite/22_locale/money_put/put/char/6.cc: Likewise.
2178         * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
2179         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
2180         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
2181         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2182         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2183         * testsuite/22_locale/money_put/put/wchar_t/39168.cc: Likewise.
2184         * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
2185         * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
2186         * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
2187         * testsuite/22_locale/moneypunct/40712.cc: Likewise.
2188         * testsuite/22_locale/moneypunct/members/char/1.cc: Likewise.
2189         * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
2190         * testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise.
2191         * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
2192         * testsuite/22_locale/moneypunct/requirements/false/intl.cc: Likewise.
2193         * testsuite/22_locale/moneypunct/requirements/true/intl.cc: Likewise.
2194         * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
2195         * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
2196         * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
2197         * testsuite/22_locale/num_get/get/char/11.cc: Likewise.
2198         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
2199         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
2200         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
2201         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
2202         * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
2203         * testsuite/22_locale/num_get/get/char/2.cc: Likewise.
2204         * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
2205         * testsuite/22_locale/num_get/get/char/23953.cc: Likewise.
2206         * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
2207         * testsuite/22_locale/num_get/get/char/37958.cc: Likewise.
2208         * testsuite/22_locale/num_get/get/char/39168.cc: Likewise.
2209         * testsuite/22_locale/num_get/get/char/39802.cc: Likewise.
2210         * testsuite/22_locale/num_get/get/char/4.cc: Likewise.
2211         * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
2212         * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
2213         * testsuite/22_locale/num_get/get/char/7.cc: Likewise.
2214         * testsuite/22_locale/num_get/get/char/8.cc: Likewise.
2215         * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
2216         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
2217         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
2218         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
2219         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
2220         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
2221         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
2222         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
2223         * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
2224         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Likewise.
2225         * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
2226         * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
2227         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
2228         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
2229         * testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
2230         * testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.
2231         * testsuite/22_locale/num_get/get/wchar_t/4.cc: Likewise.
2232         * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
2233         * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
2234         * testsuite/22_locale/num_get/get/wchar_t/7.cc: Likewise.
2235         * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
2236         * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
2237         * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
2238         * testsuite/22_locale/num_put/put/char/10.cc: Likewise.
2239         * testsuite/22_locale/num_put/put/char/11.cc: Likewise.
2240         * testsuite/22_locale/num_put/put/char/12.cc: Likewise.
2241         * testsuite/22_locale/num_put/put/char/14220.cc: Likewise.
2242         * testsuite/22_locale/num_put/put/char/15565.cc: Likewise.
2243         * testsuite/22_locale/num_put/put/char/2.cc: Likewise.
2244         * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
2245         * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
2246         * testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
2247         * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
2248         * testsuite/22_locale/num_put/put/char/38196.cc: Likewise.
2249         * testsuite/22_locale/num_put/put/char/38210.cc: Likewise.
2250         * testsuite/22_locale/num_put/put/char/4.cc: Likewise.
2251         * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
2252         * testsuite/22_locale/num_put/put/char/6.cc: Likewise.
2253         * testsuite/22_locale/num_put/put/char/7.cc: Likewise.
2254         * testsuite/22_locale/num_put/put/char/8.cc: Likewise.
2255         * testsuite/22_locale/num_put/put/char/9.cc: Likewise.
2256         * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
2257         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
2258         * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
2259         * testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise.
2260         * testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise.
2261         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2262         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: Likewise.
2263         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
2264         * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
2265         * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
2266         * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
2267         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
2268         * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
2269         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
2270         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
2271         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
2272         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
2273         * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
2274         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
2275         * testsuite/22_locale/num_put/put/wchar_t/9.cc: Likewise.
2276         * testsuite/22_locale/numpunct/members/char/1.cc: Likewise.
2277         * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
2278         * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
2279         * testsuite/22_locale/numpunct/members/char/cache_1.cc: Likewise.
2280         * testsuite/22_locale/numpunct/members/char/cache_2.cc: Likewise.
2281         * testsuite/22_locale/numpunct/members/pod/1.cc: Likewise.
2282         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Likewise.
2283         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
2284         * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: Likewise.
2285         * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: Likewise.
2286         * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
2287         * testsuite/22_locale/time_get/date_order/char/1.cc: Likewise.
2288         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Likewise.
2289         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
2290         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
2291         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
2292         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
2293         * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
2294         * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
2295         * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
2296         * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
2297         * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
2298         * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
2299         * testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
2300         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
2301         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
2302         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
2303         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
2304         * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
2305         * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
2306         * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
2307         * testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
2308         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
2309         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
2310         * testsuite/22_locale/time_get/get_monthname/char/3.cc: Likewise.
2311         * testsuite/22_locale/time_get/get_monthname/char/4.cc: Likewise.
2312         * testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
2313         * testsuite/22_locale/time_get/get_monthname/char/6.cc: Likewise.
2314         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
2315         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
2316         * testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc: Likewise.
2317         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: Likewise.
2318         * testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
2319         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
2320         * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
2321         * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
2322         * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
2323         * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
2324         * testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
2325         * testsuite/22_locale/time_get/get_time/char/6.cc: Likewise.
2326         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
2327         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
2328         * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
2329         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
2330         * testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
2331         * testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise.
2332         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
2333         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
2334         * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
2335         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
2336         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
2337         * testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
2338         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
2339         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
2340         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
2341         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
2342         * testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
2343         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
2344         * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
2345         * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
2346         * testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
2347         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
2348         * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
2349         * testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise.
2350         * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
2351         * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
2352         * testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
2353         * testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
2354         * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
2355         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
2356         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
2357         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
2358         * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
2359         * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
2360         * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
2361         * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
2362         * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
2363         * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
2364         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
2365         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
2366         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
2367         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
2368         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
2369         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
2370         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
2371         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
2372         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
2373         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
2374         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
2375         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
2376         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
2377         * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
2378         * testsuite/30_threads/async/42819.cc: Likewise.
2379         * testsuite/30_threads/async/any.cc: Likewise.
2380         * testsuite/30_threads/async/async.cc: Likewise.
2381         * testsuite/30_threads/async/except.cc: Likewise.
2382         * testsuite/30_threads/async/launch.cc: Likewise.
2383         * testsuite/30_threads/async/sync.cc: Likewise.
2384         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2385         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2386         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
2387         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
2388         * testsuite/30_threads/condition_variable/members/3.cc: Likewise.
2389         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2390         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
2391         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
2392         * testsuite/30_threads/future/members/45133.cc: Likewise.
2393         * testsuite/30_threads/future/members/get.cc: Likewise.
2394         * testsuite/30_threads/future/members/get2.cc: Likewise.
2395         * testsuite/30_threads/future/members/share.cc: Likewise.
2396         * testsuite/30_threads/future/members/valid.cc: Likewise.
2397         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
2398         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
2399         * testsuite/30_threads/lock/1.cc: Likewise.
2400         * testsuite/30_threads/lock/2.cc: Likewise.
2401         * testsuite/30_threads/lock/3.cc: Likewise.
2402         * testsuite/30_threads/lock/4.cc: Likewise.
2403         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
2404         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2405         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2406         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2407         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2408         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2409         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2410         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2411         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
2412         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
2413         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
2414         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
2415         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
2416         * testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
2417         Likewise.
2418         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
2419         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
2420         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
2421         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
2422         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
2423         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
2424         * testsuite/30_threads/promise/cons/move.cc: Likewise.
2425         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
2426         * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
2427         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
2428         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
2429         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
2430         * testsuite/30_threads/promise/members/swap.cc: Likewise.
2431         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
2432         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
2433         Likewise.
2434         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2435         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
2436         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
2437         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
2438         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
2439         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
2440         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
2441         Likewise.
2442         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
2443         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
2444         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
2445         Likewise.
2446         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
2447         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
2448         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2449         Likewise.
2450         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
2451         Likewise.
2452         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
2453         Likewise.
2454         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
2455         Likewise.
2456         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
2457         Likewise.
2458         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
2459         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
2460         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
2461         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2462         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
2463         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
2464         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
2465         * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
2466         * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
2467         * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
2468         * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
2469         * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
2470         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
2471         * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
2472         * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
2473         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
2474         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
2475         * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
2476         * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
2477         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
2478         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
2479         * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
2480         * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
2481         * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
2482         * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
2483         * testsuite/30_threads/this_thread/1.cc: Likewise.
2484         * testsuite/30_threads/this_thread/2.cc: Likewise.
2485         * testsuite/30_threads/this_thread/3.cc: Likewise.
2486         * testsuite/30_threads/this_thread/4.cc: Likewise.
2487         * testsuite/30_threads/this_thread/60421.cc: Likewise.
2488         * testsuite/30_threads/thread/cons/1.cc: Likewise.
2489         * testsuite/30_threads/thread/cons/2.cc: Likewise.
2490         * testsuite/30_threads/thread/cons/3.cc: Likewise.
2491         * testsuite/30_threads/thread/cons/4.cc: Likewise.
2492         * testsuite/30_threads/thread/cons/5.cc: Likewise.
2493         * testsuite/30_threads/thread/cons/6.cc: Likewise.
2494         * testsuite/30_threads/thread/cons/7.cc: Likewise.
2495         * testsuite/30_threads/thread/cons/8.cc: Likewise.
2496         * testsuite/30_threads/thread/cons/9.cc: Likewise.
2497         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
2498         * testsuite/30_threads/thread/members/1.cc: Likewise.
2499         * testsuite/30_threads/thread/members/2.cc: Likewise.
2500         * testsuite/30_threads/thread/members/3.cc: Likewise.
2501         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
2502         * testsuite/30_threads/thread/swap/1.cc: Likewise.
2503         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
2504         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
2505         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
2506         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
2507         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
2508         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
2509         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
2510         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
2511         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
2512         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
2513         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
2514         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
2515         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
2516         * testsuite/30_threads/try_lock/1.cc: Likewise.
2517         * testsuite/30_threads/try_lock/2.cc: Likewise.
2518         * testsuite/30_threads/try_lock/3.cc: Likewise.
2519         * testsuite/30_threads/try_lock/4.cc: Likewise.
2520         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2521         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2522         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2523         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2524         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2525         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2526         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2527         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2528         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2529         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2530         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2531         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2532         not_shared.cc: Likewise.
2533         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2534         not_shared2.cc: Likewise.
2535         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2536         not_shared3.cc: Likewise.
2537         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2538         shared.cc: Likewise.
2539         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
2540         still_shared.cc: Likewise.
2541         * testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc:
2542         Likewise.
2543         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
2544         Likewise.
2545         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
2546         Likewise.
2547         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
2548         auto_ptr_rvalue_neg.cc: Likewise.
2549         * testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc:
2550         Likewise.
2551         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
2552         shared_ptr_neg.cc: Likewise.
2553         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
2554         Likewise.
2555         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
2556         Likewise.
2557         * testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc: Likewise.
2558         * testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc:
2559         Likewise.
2560         * testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc:
2561         Likewise.
2562         * testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc:
2563         Likewise.
2564         * testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc: Likewise.
2565         * testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc: Likewise.
2566         * testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc: Likewise.
2567         * testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc: Likewise.
2568         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc:
2569         Likewise.
2570         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
2571         Likewise.
2572         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc:
2573         Likewise.
2574         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc:
2575         Likewise.
2576         * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
2577         Likewise.
2578         * testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc:
2579         Likewise.
2580         * testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc:
2581         Likewise.
2582         * testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc:
2583         Likewise.
2584         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2585         default_weaktoshared.cc: Likewise.
2586         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2587         mutex_weaktoshared.cc: Likewise.
2588         * testsuite/tr1/3_function_objects/bind/all_bound.cc: Likewise.
2589         * testsuite/tr1/3_function_objects/bind/mixed.cc: Likewise.
2590         * testsuite/tr1/3_function_objects/bind/nested.cc: Likewise.
2591         * testsuite/tr1/3_function_objects/bind/placeholders.cc: Likewise.
2592         * testsuite/tr1/3_function_objects/bind/ref.cc: Likewise.
2593         * testsuite/tr1/3_function_objects/function/1.cc: Likewise.
2594         * testsuite/tr1/3_function_objects/function/2.cc: Likewise.
2595         * testsuite/tr1/3_function_objects/function/3.cc: Likewise.
2596         * testsuite/tr1/3_function_objects/function/4.cc: Likewise.
2597         * testsuite/tr1/3_function_objects/function/5.cc: Likewise.
2598         * testsuite/tr1/3_function_objects/function/6.cc: Likewise.
2599         * testsuite/tr1/3_function_objects/function/7.cc: Likewise.
2600         * testsuite/tr1/3_function_objects/function/8.cc: Likewise.
2601         * testsuite/tr1/3_function_objects/function/9.cc: Likewise.
2602         * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
2603         Likewise.
2604         * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
2605         Likewise.
2606         * testsuite/tr1/3_function_objects/result_of.cc: Likewise.
2607         * testsuite/tr1/4_metaprogramming/add_const/value.cc: Likewise.
2608         * testsuite/tr1/4_metaprogramming/add_cv/value.cc: Likewise.
2609         * testsuite/tr1/4_metaprogramming/add_pointer/value.cc: Likewise.
2610         * testsuite/tr1/4_metaprogramming/add_reference/value.cc: Likewise.
2611         * testsuite/tr1/4_metaprogramming/add_volatile/value.cc: Likewise.
2612         * testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: Likewise.
2613         * testsuite/tr1/4_metaprogramming/alignment_of/value.cc: Likewise.
2614         * testsuite/tr1/4_metaprogramming/extent/value.cc: Likewise.
2615         * testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc: Likewise.
2616         * testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc:
2617         Likewise.
2618         * testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc: Likewise.
2619         * testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc: Likewise.
2620         * testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc:
2621         Likewise.
2622         * testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc: Likewise.
2623         * testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc:
2624         Likewise.
2625         * testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc:
2626         Likewise.
2627         * testsuite/tr1/4_metaprogramming/integral_constant/
2628         static_definition.cc: Likewise.
2629         * testsuite/tr1/4_metaprogramming/integral_constant/
2630         true_false_value.cc: Likewise.
2631         * testsuite/tr1/4_metaprogramming/is_abstract/value.cc: Likewise.
2632         * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc: Likewise.
2633         * testsuite/tr1/4_metaprogramming/is_array/value.cc: Likewise.
2634         * testsuite/tr1/4_metaprogramming/is_base_of/value.cc: Likewise.
2635         * testsuite/tr1/4_metaprogramming/is_class/value.cc: Likewise.
2636         * testsuite/tr1/4_metaprogramming/is_compound/value.cc: Likewise.
2637         * testsuite/tr1/4_metaprogramming/is_const/value.cc: Likewise.
2638         * testsuite/tr1/4_metaprogramming/is_convertible/value.cc: Likewise.
2639         * testsuite/tr1/4_metaprogramming/is_empty/value.cc: Likewise.
2640         * testsuite/tr1/4_metaprogramming/is_enum/24808.cc: Likewise.
2641         * testsuite/tr1/4_metaprogramming/is_enum/value.cc: Likewise.
2642         * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc: Likewise.
2643         * testsuite/tr1/4_metaprogramming/is_function/24808.cc: Likewise.
2644         * testsuite/tr1/4_metaprogramming/is_function/value.cc: Likewise.
2645         * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc: Likewise.
2646         * testsuite/tr1/4_metaprogramming/is_integral/value.cc: Likewise.
2647         * testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc:
2648         Likewise.
2649         * testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc:
2650         Likewise.
2651         * testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc: Likewise.
2652         * testsuite/tr1/4_metaprogramming/is_object/24808.cc: Likewise.
2653         * testsuite/tr1/4_metaprogramming/is_object/value.cc: Likewise.
2654         * testsuite/tr1/4_metaprogramming/is_pod/value.cc: Likewise.
2655         * testsuite/tr1/4_metaprogramming/is_pointer/value.cc: Likewise.
2656         * testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc: Likewise.
2657         * testsuite/tr1/4_metaprogramming/is_reference/value.cc: Likewise.
2658         * testsuite/tr1/4_metaprogramming/is_same/value.cc: Likewise.
2659         * testsuite/tr1/4_metaprogramming/is_scalar/value.cc: Likewise.
2660         * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise.
2661         * testsuite/tr1/4_metaprogramming/is_union/value.cc: Likewise.
2662         * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc: Likewise.
2663         * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise.
2664         * testsuite/tr1/4_metaprogramming/is_volatile/value.cc: Likewise.
2665         * testsuite/tr1/4_metaprogramming/rank/value.cc: Likewise.
2666         * testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc: Likewise.
2667         * testsuite/tr1/4_metaprogramming/remove_const/value.cc: Likewise.
2668         * testsuite/tr1/4_metaprogramming/remove_cv/value.cc: Likewise.
2669         * testsuite/tr1/4_metaprogramming/remove_extent/value.cc: Likewise.
2670         * testsuite/tr1/4_metaprogramming/remove_pointer/value.cc: Likewise.
2671         * testsuite/tr1/4_metaprogramming/remove_reference/value.cc: Likewise.
2672         * testsuite/tr1/4_metaprogramming/remove_volatile/value.cc: Likewise.
2673         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
2674         equal.cc: Likewise.
2675         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
2676         not_equal.cc: Likewise.
2677         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
2678         serialize.cc: Likewise.
2679         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
2680         cons/default.cc: Likewise.
2681         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
2682         cons/gen1.cc: Likewise.
2683         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
2684         operators/equal.cc: Likewise.
2685         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
2686         operators/not_equal.cc: Likewise.
2687         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
2688         operators/serialize.cc: Likewise.
2689         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
2690         cons/default.cc: Likewise.
2691         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
2692         cons/gen1.cc: Likewise.
2693         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
2694         operators/equal.cc: Likewise.
2695         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
2696         operators/not_equal.cc: Likewise.
2697         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
2698         operators/serialize.cc: Likewise.
2699         * testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc: Likewise.
2700         * testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc: Likewise.
2701         * testsuite/tr1/5_numerical_facilities/random/mt19937.cc: Likewise.
2702         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
2703         default.cc: Likewise.
2704         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
2705         token.cc: Likewise.
2706         * testsuite/tr1/5_numerical_facilities/random/ranlux3.cc: Likewise.
2707         * testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc: Likewise.
2708         * testsuite/tr1/5_numerical_facilities/random/ranlux4.cc: Likewise.
2709         * testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc
2710         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
2711         cons/default.cc: Likewise.
2712         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
2713         cons/gen1.cc: Likewise.
2714         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
2715         operators/equal.cc: Likewise.
2716         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
2717         operators/not_equal.cc: Likewise.
2718         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
2719         operators/serialize.cc: Likewise.
2720         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
2721         cons/default.cc: Likewise.
2722         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
2723         cons/gen1.cc: Likewise.
2724         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
2725         operators/equal.cc: Likewise.
2726         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
2727         operators/not_equal.cc: Likewise.
2728         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
2729         operators/serialize.cc: Likewise.
2730         * testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
2731         Likewise.
2732         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
2733         default.cc: Likewise.
2734         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
2735         range.cc: Likewise.
2736         * testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/
2737         default.cc: Likewise.
2738         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
2739         equal.cc: Likewise.
2740         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
2741         not_equal.cc: Likewise.
2742         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
2743         serialize.cc: Likewise.
2744         * testsuite/tr1/5_numerical_facilities/special_functions/
2745         08_cyl_bessel_i/check_value.cc: Likewise.
2746         * testsuite/tr1/5_numerical_facilities/special_functions/
2747         08_cyl_bessel_i/pr56216.cc: Likewise.
2748         * testsuite/tr1/5_numerical_facilities/special_functions/
2749         09_cyl_bessel_j/check_value.cc: Likewise.
2750         * testsuite/tr1/5_numerical_facilities/special_functions/
2751         10_cyl_bessel_k/check_value.cc: Likewise.
2752         * testsuite/tr1/5_numerical_facilities/special_functions/
2753         11_cyl_neumann/check_value.cc: Likewise.
2754         * testsuite/tr1/5_numerical_facilities/special_functions/
2755         16_hermite/check_value.cc: Likewise.
2756         * testsuite/tr1/5_numerical_facilities/special_functions/
2757         21_sph_bessel/check_value.cc: Likewise.
2758         * testsuite/tr1/5_numerical_facilities/special_functions/
2759         23_sph_neumann/check_value.cc: Likewise.
2760         * testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise.
2761         * testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise.
2762         * testsuite/tr1/6_containers/array/capacity/size.cc: Likewise.
2763         * testsuite/tr1/6_containers/array/comparison_operators/equal.cc:
2764         Likewise.
2765         * testsuite/tr1/6_containers/array/comparison_operators/greater.cc:
2766         Likewise.
2767         * testsuite/tr1/6_containers/array/comparison_operators/
2768         greater_or_equal.cc: Likewise.
2769         * testsuite/tr1/6_containers/array/comparison_operators/less.cc:
2770         Likewise.
2771         * testsuite/tr1/6_containers/array/comparison_operators/
2772         less_or_equal.cc: Likewise.
2773         * testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc:
2774         Likewise.
2775         * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
2776         Likewise.
2777         * testsuite/tr1/6_containers/array/element_access/back.cc: Likewise.
2778         * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
2779         * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
2780         * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc:
2781         Likewise.
2782         * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
2783         * testsuite/tr1/6_containers/array/requirements/contiguous.cc: Likewise.
2784         * testsuite/tr1/6_containers/array/requirements/member_swap.cc:
2785         Likewise.
2786         * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
2787         Likewise.
2788         * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
2789         Likewise.
2790         * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
2791         * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
2792         Likewise.
2793         * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
2794         Likewise.
2795         * testsuite/tr1/6_containers/hash/24799.cc: Likewise.
2796         * testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise.
2797         *
2798         testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
2799         Likewise.
2800         * testsuite/tr1/6_containers/tuple/cons/assignment.cc: Likewise.
2801         * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise.
2802         * testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise.
2803         * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc:
2804         Likewise.
2805         * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
2806         Likewise.
2807         * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: Likewise.
2808         * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Likewise.
2809         * testsuite/tr1/6_containers/tuple/element_access/get.cc: Likewise.
2810         * testsuite/tr1/6_containers/tuple/tuple_size.cc: Likewise.
2811         * testsuite/tr1/6_containers/unordered_map/24064.cc: Likewise.
2812         * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
2813         Likewise.
2814         * testsuite/tr1/6_containers/unordered_map/erase/1.cc: Likewise.
2815         * testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc: Likewise.
2816         * testsuite/tr1/6_containers/unordered_map/find/map1.cc: Likewise.
2817         * testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc:
2818         Likewise.
2819         * testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc:
2820         Likewise.
2821         * testsuite/tr1/6_containers/unordered_map/insert/map_range.cc:
2822         Likewise.
2823         * testsuite/tr1/6_containers/unordered_map/insert/map_single.cc:
2824         Likewise.
2825         * testsuite/tr1/6_containers/unordered_map/swap/1.cc: Likewise.
2826         * testsuite/tr1/6_containers/unordered_map/swap/2.cc: Likewise.
2827         * testsuite/tr1/6_containers/unordered_multimap/capacity/
2828         29134-multimap.cc: Likewise.
2829         * testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise.
2830         * testsuite/tr1/6_containers/unordered_multimap/erase/
2831         24061-multimap.cc: Likewise.
2832         * testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc:
2833         Likewise.
2834         * testsuite/tr1/6_containers/unordered_multimap/insert/
2835         24061-multimap.cc: Likewise.
2836         * testsuite/tr1/6_containers/unordered_multimap/insert/
2837         multimap_range.cc: Likewise.
2838         * testsuite/tr1/6_containers/unordered_multimap/insert/
2839         multimap_single.cc: Likewise.
2840         * testsuite/tr1/6_containers/unordered_multimap/swap/1.cc: Likewise.
2841         * testsuite/tr1/6_containers/unordered_multimap/swap/2.cc: Likewise.
2842         * testsuite/tr1/6_containers/unordered_multiset/24054.cc: Likewise.
2843         * testsuite/tr1/6_containers/unordered_multiset/capacity/
2844         29134-multiset.cc: Likewise.
2845         * testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise.
2846         * testsuite/tr1/6_containers/unordered_multiset/erase/
2847         24061-multiset.cc: Likewise.
2848         * testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc:
2849         Likewise.
2850         * testsuite/tr1/6_containers/unordered_multiset/insert/
2851         24061-multiset.cc: Likewise.
2852         * testsuite/tr1/6_containers/unordered_multiset/insert/
2853         multiset_range.cc: Likewise.
2854         * testsuite/tr1/6_containers/unordered_multiset/insert/
2855         multiset_single.cc: Likewise.
2856         * testsuite/tr1/6_containers/unordered_multiset/swap/1.cc: Likewise.
2857         * testsuite/tr1/6_containers/unordered_multiset/swap/2.cc: Likewise.
2858         * testsuite/tr1/6_containers/unordered_set/23465.cc: Likewise.
2859         * testsuite/tr1/6_containers/unordered_set/26132.cc: Likewise.
2860         * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
2861         Likewise.
2862         * testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise.
2863         * testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc: Likewise.
2864         * testsuite/tr1/6_containers/unordered_set/find/set1.cc: Likewise.
2865         * testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc:
2866         Likewise.
2867         * testsuite/tr1/6_containers/unordered_set/insert/set_range.cc:
2868         Likewise.
2869         * testsuite/tr1/6_containers/unordered_set/insert/set_single.cc:
2870         Likewise.
2871         * testsuite/tr1/6_containers/unordered_set/swap/1.cc: Likewise.
2872         * testsuite/tr1/6_containers/unordered_set/swap/2.cc: Likewise.
2873         * testsuite/tr1/6_containers/utility/pair.cc: Likewise.
2874         * testsuite/tr1/7_regular_expressions/match_results/ctors/char/
2875         default.cc: Likewise.
2876         * testsuite/tr1/7_regular_expressions/regex_traits/char/
2877         translate_nocase.cc: Likewise.
2878         * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc:
2879         Likewise.
2880         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
2881         translate_nocase.cc: Likewise.
2882         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc:
2883         Likewise.
2884         * testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.
2885         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise.
2886
2887 2016-10-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
2888
2889         Make sure the return value of malloc_allocator::allocate
2890         is zero-initialized so that checking it for non-zero works
2891         later.
2892         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
2893         Initialize the return value.
2894         * testsuite/ext/malloc_allocator/sanity.cc: New.
2895
2896 2016-10-14  Eelis van der Weegen  <eelis@eelis.net>
2897
2898         * include/bits/stl_algo.h (shuffle): Extract two random numbers from
2899         each generator invocation when its range is large enough.
2900
2901 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
2902
2903         * testsuite/experimental/algorithm/sample.cc: Qualify calls to
2904         resolve ambiguity between std::sample and std::experimental::sample.
2905
2906         * include/std/functional (_Mu<A, false, true>, _Mu<A, true, false>):
2907         Simplify forwarding from tuple of references.
2908         (_Maybe_wrap_member_pointer): Remove.
2909         (_Bind::__call, _Bind::__call_c, _Bind::__call_v, _Bind::__call_c_v):
2910         Use std::__invoke.
2911         (_Bind::_Mu_type, _Bind::_Res_type_impl, _Bind::_Res_type)
2912         (_Bind::__dependent, _Bind::_Res_type_cv): New helpers to simplify
2913         return type deduction.
2914         (_Bind::operator(), _Bind::operator() const): Use new helpers.
2915         (_Bind::operator() volatile, _Bind::operator() const volatile):
2916         Likewise. Add deprecated attribute for C++17 mode.
2917         (_Bind_result::__call): Use std::__invoke.
2918         (_Bind_result::operator() volatile)
2919         (_Bind_result::operator() const volatile): Add deprecated attribute.
2920         (_Bind_helper::__maybe_type, _Bindres_helper::__maybe_type): Remove.
2921         (_Bind_helper, _Bindres_helper): Don't use _Maybe_wrap_member_pointer.
2922         (bind, bind<R>): Don't use __maybe_type.
2923         * src/c++11/compatibility-thread-c++0x.cc
2924         (_Maybe_wrap_member_pointer): Define here for compatibility symbols.
2925         * testsuite/20_util/bind/68912.cc: Don't test volatile-qualification
2926         in C++17 mode.
2927         * testsuite/20_util/bind/cv_quals.cc: Likewise.
2928         * testsuite/20_util/bind/cv_quals_2.cc: Likewise.
2929
2930         * include/std/scoped_allocator (scoped_allocator_adaptor): Forward
2931         piecewise construction arguments as tuples of references, to avoid
2932         copies (related to LWG 2511).
2933         * testsuite/20_util/scoped_allocator/construct_pair.cc: New test.
2934
2935 2016-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
2936
2937         * testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables.
2938         * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
2939         * testsuite/26_numerics/complex/13450.cc: Likewise.
2940         * testsuite/26_numerics/complex/50880.cc: Likewise.
2941         * testsuite/26_numerics/complex/c99.cc: Likewise.
2942         * testsuite/26_numerics/complex/cons/48760.cc: Likewise.
2943         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
2944         * testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise.
2945         * testsuite/26_numerics/complex/dr844.cc: Likewise.
2946         * testsuite/26_numerics/complex/inserters_extractors/char/1.cc:
2947         Likewise.
2948         * testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc:
2949         Likewise.
2950         * testsuite/26_numerics/complex/value_operations/1.cc: Likewise.
2951         * testsuite/26_numerics/complex/value_operations/dr387.cc: Likewise.
2952         * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
2953         * testsuite/26_numerics/headers/cmath/
2954         c99_classification_macros_c++11.c: Likewise.c
2955         * testsuite/26_numerics/headers/cmath/
2956         c99_classification_macros_c++98.cc: Likewise.
2957         * testsuite/26_numerics/headers/cmath/c_math.cc: Likewise.
2958         * testsuite/26_numerics/headers/cmath/dr550.cc: Likewise.
2959         * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
2960         * testsuite/26_numerics/headers/cmath/powi.cc: Likewise.
2961         * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
2962         * testsuite/26_numerics/inner_product/1.cc: Likewise.
2963         * testsuite/26_numerics/iota/1.cc: Likewise.
2964         * testsuite/26_numerics/partial_sum/1.cc: Likewise.
2965         * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
2966         Likewise.
2967         * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
2968         Likewise.
2969         * testsuite/26_numerics/random/bernoulli_distribution/operators/
2970         equal.cc: Likewise.
2971         * testsuite/26_numerics/random/bernoulli_distribution/operators/
2972         inequal.cc: Likewise.
2973         * testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
2974         Likewise.
2975         * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
2976         Likewise.
2977         * testsuite/26_numerics/random/binomial_distribution/operators/
2978         equal.cc: Likewise.
2979         * testsuite/26_numerics/random/binomial_distribution/operators/
2980         inequal.cc: Likewise.
2981         * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
2982         Likewise.
2983         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
2984         Likewise.
2985         * testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc:
2986         Likewise.
2987         * testsuite/26_numerics/random/cauchy_distribution/operators/
2988         inequal.cc: Likewise.
2989         * testsuite/26_numerics/random/chi_squared_distribution/cons/
2990         default.cc: Likewise.
2991         * testsuite/26_numerics/random/chi_squared_distribution/cons/
2992         parms.cc: Likewise.
2993         * testsuite/26_numerics/random/chi_squared_distribution/operators/
2994         equal.cc: Likewise.
2995         * testsuite/26_numerics/random/chi_squared_distribution/operators/
2996         inequal.cc: Likewise.
2997         * testsuite/26_numerics/random/default_random_engine.cc: Likewise.
2998         * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
2999         Likewise.
3000         * testsuite/26_numerics/random/discard_block_engine/operators/equal.cc:
3001         Likewise.
3002         * testsuite/26_numerics/random/discard_block_engine/operators/
3003         inequal.cc: Likewise.
3004         * testsuite/26_numerics/random/discard_block_engine/operators/
3005         serialize.cc: Likewise.
3006         * testsuite/26_numerics/random/discrete_distribution/cons/
3007         default.cc: Likewise.
3008         * testsuite/26_numerics/random/discrete_distribution/cons/
3009         initlist.cc: Likewise.
3010         * testsuite/26_numerics/random/discrete_distribution/cons/
3011         num_xbound_fun.cc: Likewise.
3012         * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
3013         Likewise.
3014         * testsuite/26_numerics/random/discrete_distribution/operators/
3015         equal.cc: Likewise.
3016         * testsuite/26_numerics/random/discrete_distribution/operators/
3017         inequal.cc: Likewise.
3018         * testsuite/26_numerics/random/exponential_distribution/cons/
3019         default.cc: Likewise.
3020         * testsuite/26_numerics/random/exponential_distribution/cons/
3021         parms.cc: Likewise.
3022         * testsuite/26_numerics/random/exponential_distribution/operators/
3023         equal.cc: Likewise.
3024         * testsuite/26_numerics/random/exponential_distribution/operators/
3025         inequal.cc: Likewise.
3026         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3027         default.cc: Likewise.
3028         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3029         parms.cc: Likewise.
3030         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3031         equal.cc: Likewise.
3032         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3033         inequal.cc: Likewise.
3034         * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
3035         Likewise.
3036         * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
3037         Likewise.
3038         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3039         equal.cc: Likewise.
3040         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3041         inequal.cc: Likewise.
3042         * testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
3043         Likewise.
3044         * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
3045         Likewise.
3046         * testsuite/26_numerics/random/gamma_distribution/operators/equal.cc:
3047         Likewise.
3048         * testsuite/26_numerics/random/gamma_distribution/operators/
3049         inequal.cc: Likewise.
3050         * testsuite/26_numerics/random/geometric_distribution/cons/
3051         default.cc: Likewise.
3052         * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
3053         Likewise.
3054         * testsuite/26_numerics/random/geometric_distribution/operators/
3055         equal.cc: Likewise.
3056         * testsuite/26_numerics/random/geometric_distribution/operators/
3057         inequal.cc: Likewise.
3058         * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
3059         Likewise.
3060         * testsuite/26_numerics/random/independent_bits_engine/operators/
3061         equal.cc: Likewise.
3062         * testsuite/26_numerics/random/independent_bits_engine/operators/
3063         inequal.cc: Likewise.
3064         * testsuite/26_numerics/random/independent_bits_engine/operators/
3065         serialize.cc: Likewise.
3066         * testsuite/26_numerics/random/knuth_b.cc: Likewise.
3067         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3068         55215.cc: Likewise.
3069         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3070         default.cc: Likewise.
3071         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3072         51795.cc: Likewise.
3073         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3074         equal.cc: Likewise.
3075         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3076         inequal.cc: Likewise.
3077         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3078         serialize.cc: Likewise.
3079         * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
3080         Likewise.
3081         * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
3082         Likewise.
3083         * testsuite/26_numerics/random/lognormal_distribution/operators/
3084         equal.cc: Likewise.
3085         * testsuite/26_numerics/random/lognormal_distribution/operators/
3086         inequal.cc: Likewise.
3087         * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
3088         Likewise.
3089         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
3090         default.cc: Likewise.
3091         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3092         equal.cc: Likewise.
3093         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3094         inequal.cc: Likewise.
3095         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3096         serialize.cc: Likewise.
3097         * testsuite/26_numerics/random/minstd_rand.cc: Likewise.
3098         * testsuite/26_numerics/random/minstd_rand0.cc: Likewise.
3099         * testsuite/26_numerics/random/mt19937.cc: Likewise.
3100         * testsuite/26_numerics/random/mt19937_64.cc: Likewise.
3101         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3102         default.cc: Likewise.
3103         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3104         parms.cc: Likewise.
3105         * testsuite/26_numerics/random/negative_binomial_distribution/
3106         operators/equal.cc: Likewise.
3107         * testsuite/26_numerics/random/negative_binomial_distribution/
3108         operators/inequal.cc: Likewise.
3109         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
3110         Likewise.
3111         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
3112         Likewise.
3113         * testsuite/26_numerics/random/normal_distribution/operators/
3114         equal.cc: Likewise.
3115         * testsuite/26_numerics/random/normal_distribution/operators/
3116         inequal.cc: Likewise.
3117         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3118         default.cc: Likewise.
3119         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3120         initlist_fun.cc: Likewise.
3121         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3122         num_xbound_fun.cc: Likewise.
3123         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3124         range.cc: Likewise.
3125         * testsuite/26_numerics/random/piecewise_constant_distribution/
3126         operators/equal.cc: Likewise.
3127         * testsuite/26_numerics/random/piecewise_constant_distribution/
3128         operators/inequal.cc: Likewise.
3129         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3130         default.cc: Likewise.
3131         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3132         initlist_fun.cc: Likewise.
3133         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3134         num_xbound_fun.cc: Likewise.
3135         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3136         range.cc: Likewise.
3137         * testsuite/26_numerics/random/piecewise_linear_distribution/
3138         operators/equal.cc: Likewise.
3139         * testsuite/26_numerics/random/piecewise_linear_distribution/
3140         operators/inequal.cc: Likewise.
3141         * testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
3142         Likewise.
3143         * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
3144         Likewise.
3145         * testsuite/26_numerics/random/poisson_distribution/operators/
3146         equal.cc: Likewise.
3147         * testsuite/26_numerics/random/poisson_distribution/operators/
3148         inequal.cc: Likewise.
3149         * testsuite/26_numerics/random/random_device/cons/default.cc: Likewise.
3150         * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
3151         * testsuite/26_numerics/random/ranlux24.cc: Likewise.
3152         * testsuite/26_numerics/random/ranlux24_base.cc: Likewise.
3153         * testsuite/26_numerics/random/ranlux48.cc: Likewise.
3154         * testsuite/26_numerics/random/ranlux48_base.cc: Likewise.
3155         * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Likewise.
3156         * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
3157         Likewise.
3158         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3159         equal.cc: Likewise.
3160         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3161         inequal.cc: Likewise.
3162         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3163         serialize.cc: Likewise.
3164         * testsuite/26_numerics/random/student_t_distribution/cons/
3165         default.cc: Likewise.
3166         * testsuite/26_numerics/random/student_t_distribution/cons/
3167         parms.cc: Likewise.
3168         * testsuite/26_numerics/random/student_t_distribution/operators/
3169         equal.cc: Likewise.
3170         * testsuite/26_numerics/random/student_t_distribution/operators/
3171         inequal.cc: Likewise.
3172         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3173         55215.cc: Likewise.
3174         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3175         default.cc: Likewise.
3176         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3177         equal.cc: Likewise.
3178         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3179         inequal.cc: Likewise.
3180         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3181         serialize.cc: Likewise.
3182         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3183         default.cc: Likewise.
3184         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3185         parms.cc: Likewise.
3186         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3187         equal.cc: Likewise.
3188         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3189         inequal.cc: Likewise.
3190         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3191         default.cc: Likewise.
3192         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3193         parms.cc: Likewise.
3194         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3195         equal.cc: Likewise.
3196         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3197         inequal.cc: Likewise.
3198         * testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
3199         Likewise.
3200         * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
3201         Likewise.
3202         * testsuite/26_numerics/random/weibull_distribution/operators/
3203         equal.cc: Likewise.
3204         * testsuite/26_numerics/random/weibull_distribution/operators/
3205         inequal.cc: Likewise.
3206         * testsuite/26_numerics/slice/1.cc: Likewise.
3207         * testsuite/26_numerics/slice_array/array_assignment.cc: Likewise.
3208         * testsuite/26_numerics/valarray/27867.cc: Likewise.
3209         * testsuite/26_numerics/valarray/28277.cc: Likewise.
3210         * testsuite/26_numerics/valarray/30416.cc: Likewise.
3211         * testsuite/26_numerics/valarray/dr543.cc: Likewise.
3212         * testsuite/26_numerics/valarray/dr630-1.cc: Likewise.
3213         * testsuite/26_numerics/valarray/dr630-2.cc: Likewise.
3214         * testsuite/26_numerics/valarray/dr630-3.C: Likewise.
3215         * testsuite/26_numerics/valarray/init-list.cc: Likewise.
3216         * testsuite/26_numerics/valarray/moveable.cc: Likewise.
3217         * testsuite/26_numerics/valarray/operators.cc: Likewise.
3218         * testsuite/26_numerics/valarray/swap.cc: Likewise.
3219         * testsuite/experimental/deque/erasure.cc: Likewise.
3220         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
3221         Likewise.
3222         * testsuite/experimental/filesystem/iterators/
3223         recursive_directory_iterator.cc: Likewise.
3224         * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
3225         * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
3226         * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
3227         * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
3228         * testsuite/experimental/filesystem/operations/create_directories.cc:
3229         Likewise.
3230         * testsuite/experimental/filesystem/operations/create_directory.cc:
3231         Likewise.
3232         * testsuite/experimental/filesystem/operations/current_path.cc:
3233         Likewise.
3234         * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
3235         * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
3236         * testsuite/experimental/filesystem/operations/last_write_time.cc:
3237         Likewise.
3238         * testsuite/experimental/filesystem/operations/permissions.cc: Likewise.
3239         * testsuite/experimental/filesystem/operations/status.cc: Likewise.
3240         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
3241         Likewise.
3242         * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
3243         * testsuite/experimental/forward_list/erasure.cc: Likewise.
3244         * testsuite/experimental/list/erasure.cc: Likewise.
3245         * testsuite/experimental/map/erasure.cc: Likewise.
3246         * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Likewise.
3247         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
3248         Likewise.
3249         * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: Likewise.
3250         * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: Likewise.
3251         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: Likewise.
3252         * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
3253         Likewise.
3254         * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: Likewise.
3255         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
3256         Likewise.
3257         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
3258         Likewise.
3259         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
3260         Likewise.
3261         * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
3262         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Likewise.
3263         * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: Likewise.
3264         * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
3265         Likewise.
3266         * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
3267         Likewise.
3268         * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
3269         Likewise.
3270         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
3271         Likewise.
3272         * testsuite/experimental/memory_resource/1.cc: Likewise.
3273         * testsuite/experimental/memory_resource/null_memory_resource.cc:
3274         Likewise.
3275         * testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise.
3276         * testsuite/experimental/set/erasure.cc: Likewise.
3277         * testsuite/experimental/string/erasure.cc: Likewise.
3278         * testsuite/experimental/string_view/capacity/1.cc: Likewise.
3279         * testsuite/experimental/string_view/cons/char/1.cc: Likewise.
3280         * testsuite/experimental/string_view/cons/char/2.cc: Likewise.
3281         * testsuite/experimental/string_view/cons/char/3.cc: Likewise.
3282         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
3283         * testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise.
3284         * testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise.
3285         * testsuite/experimental/string_view/element_access/char/1.cc: Likewise.
3286         * testsuite/experimental/string_view/element_access/char/empty.cc:
3287         Likewise.
3288         * testsuite/experimental/string_view/element_access/char/
3289         front_back.cc: Likewise.
3290         * testsuite/experimental/string_view/element_access/wchar_t/1.cc:
3291         Likewise.
3292         * testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
3293         Likewise.
3294         * testsuite/experimental/string_view/element_access/wchar_t/
3295         front_back.cc: Likewise.
3296         * testsuite/experimental/string_view/inserters/char/1.cc: Likewise.
3297         * testsuite/experimental/string_view/inserters/char/2.cc: Likewise.
3298         * testsuite/experimental/string_view/inserters/char/3.cc: Likewise.
3299         * testsuite/experimental/string_view/inserters/pod/10081-out.cc:
3300         Likewise.
3301         * testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise.
3302         * testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise.
3303         * testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise.
3304         * testsuite/experimental/string_view/modifiers/remove_prefix/char/
3305         1.cc: Likewise.
3306         * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
3307         1.cc: Likewise.
3308         * testsuite/experimental/string_view/modifiers/remove_suffix/char/
3309         1.cc: Likewise.
3310         * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
3311         1.cc: Likewise.
3312         * testsuite/experimental/string_view/operations/compare/char/1.cc:
3313         Likewise.
3314         * testsuite/experimental/string_view/operations/compare/char/
3315         13650.cc: Likewise.
3316         * testsuite/experimental/string_view/operations/compare/wchar_t/
3317         1.cc: Likewise.
3318         * testsuite/experimental/string_view/operations/compare/wchar_t/
3319         13650.cc: Likewise.
3320         * testsuite/experimental/string_view/operations/copy/char/1.cc:
3321         Likewise.
3322         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
3323         Likewise.
3324         * testsuite/experimental/string_view/operations/data/char/1.cc:
3325         Likewise.
3326         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
3327         Likewise.
3328         * testsuite/experimental/string_view/operations/find/char/1.cc:
3329         Likewise.
3330         * testsuite/experimental/string_view/operations/find/char/2.cc:
3331         Likewise.
3332         * testsuite/experimental/string_view/operations/find/char/3.cc:
3333         Likewise.
3334         * testsuite/experimental/string_view/operations/find/char/4.cc:
3335         Likewise.
3336         * testsuite/experimental/string_view/operations/find/wchar_t/1.cc:
3337         Likewise.
3338         * testsuite/experimental/string_view/operations/find/wchar_t/2.cc:
3339         Likewise.
3340         * testsuite/experimental/string_view/operations/find/wchar_t/3.cc:
3341         Likewise.
3342         * testsuite/experimental/string_view/operations/find/wchar_t/4.cc:
3343         Likewise.
3344         * testsuite/experimental/string_view/operations/rfind/char/1.cc:
3345         Likewise.
3346         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
3347         Likewise.
3348         * testsuite/experimental/string_view/operations/rfind/char/3.cc:
3349         Likewise.
3350         * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc:
3351         Likewise.
3352         * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc:
3353         Likewise.
3354         * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc:
3355         Likewise.
3356         * testsuite/experimental/string_view/operations/substr/char/1.cc:
3357         Likewise.
3358         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
3359         Likewise.
3360         * testsuite/experimental/string_view/operations/to_string/1.cc:
3361         Likewise.
3362         * testsuite/experimental/string_view/operators/char/2.cc: Likewise.
3363         * testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise.
3364         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
3365         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
3366         * testsuite/experimental/vector/erasure.cc: Likewise.
3367         * testsuite/ext/array_allocator/1.cc: Likewise.
3368         * testsuite/ext/array_allocator/2.cc: Likewise.
3369         * testsuite/ext/array_allocator/3.cc: Likewise.
3370         * testsuite/ext/array_allocator/variadic_construct.cc: Likewise.
3371         * testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
3372         * testsuite/ext/codecvt/1.cc: Likewise.
3373         * testsuite/ext/codecvt/char-1.cc: Likewise.
3374         * testsuite/ext/codecvt/char-2.cc: Likewise.
3375         * testsuite/ext/codecvt/wchar_t.cc: Likewise.
3376         * testsuite/ext/enc_filebuf/char/13189.cc: Likewise.
3377         * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
3378         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
3379         * testsuite/ext/ext_pointer/1.cc: Likewise.
3380         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
3381         * testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
3382         * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: Likewise.
3383         * testsuite/ext/mt_allocator/tune-1.cc: Likewise.
3384         * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
3385         * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
3386         * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
3387         * testsuite/ext/mt_allocator/variadic_construct.cc: Likewise.
3388         * testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
3389         * testsuite/ext/pod_char_traits.cc: Likewise.
3390         * testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
3391         * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
3392         * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
3393         * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
3394         Likewise.
3395         * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
3396         Likewise.
3397         * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
3398         Likewise.
3399         * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
3400         * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
3401         * testsuite/ext/random/beta_distribution/operators/equal.cc: Likewise.
3402         * testsuite/ext/random/beta_distribution/operators/inequal.cc: Likewise.
3403         * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
3404         * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
3405         * testsuite/ext/random/hoyt_distribution/operators/equal.cc: Likewise.
3406         * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: Likewise.
3407         * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
3408         Likewise.
3409         * testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
3410         Likewise.
3411         * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
3412         Likewise.
3413         * testsuite/ext/random/hypergeometric_distribution/operators/
3414         equal.cc: Likewise.
3415         * testsuite/ext/random/hypergeometric_distribution/operators/
3416         inequal.cc: Likewise.
3417         * testsuite/ext/random/hypergeometric_distribution/operators/
3418         serialize.cc: Likewise.
3419         * testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
3420         * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
3421         * testsuite/ext/random/k_distribution/operators/equal.cc: Likewise.
3422         * testsuite/ext/random/k_distribution/operators/inequal.cc: Likewise.
3423         * testsuite/ext/random/k_distribution/operators/serialize.cc: Likewise.
3424         * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
3425         * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
3426         * testsuite/ext/random/logistic_distribution/operators/equal.cc:
3427         Likewise.
3428         * testsuite/ext/random/logistic_distribution/operators/inequal.cc:
3429         Likewise.
3430         * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
3431         Likewise.
3432         * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
3433         * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
3434         * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
3435         Likewise.
3436         * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
3437         Likewise.
3438         * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
3439         Likewise.
3440         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
3441         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
3442         * testsuite/ext/random/normal_mv_distribution/operators/equal.cc:
3443         Likewise.
3444         * testsuite/ext/random/normal_mv_distribution/operators/inequal.cc:
3445         Likewise.
3446         * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
3447         * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
3448         * testsuite/ext/random/pareto_distribution/operators/equal.cc: Likewise.
3449         * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
3450         Likewise.
3451         * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
3452         Likewise.
3453         * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
3454         * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
3455         * testsuite/ext/random/rice_distribution/operators/equal.cc: Likewise.
3456         * testsuite/ext/random/rice_distribution/operators/inequal.cc: Likewise.
3457         * testsuite/ext/random/rice_distribution/operators/serialize.cc:
3458         Likewise.
3459         * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
3460         default.cc: Likewise.
3461         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3462         equal.cc: Likewise.
3463         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3464         inequal.cc: Likewise.
3465         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
3466         serialize.cc: Likewise.
3467         * testsuite/ext/random/triangular_distribution/cons/default.cc:
3468         Likewise.
3469         * testsuite/ext/random/triangular_distribution/cons/parms.cc: Likewise.
3470         * testsuite/ext/random/triangular_distribution/operators/equal.cc:
3471         Likewise.
3472         * testsuite/ext/random/triangular_distribution/operators/inequal.cc:
3473         Likewise.
3474         * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
3475         Likewise.
3476         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3477         equal.cc: Likewise.
3478         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3479         generate.cc: Likewise.
3480         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3481         inequal.cc: Likewise.
3482         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
3483         serialize.cc: Likewise.
3484         * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise.
3485         * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
3486         * testsuite/ext/random/von_mises_distribution/operators/equal.cc:
3487         Likewise.
3488         * testsuite/ext/random/von_mises_distribution/operators/inequal.cc:
3489         Likewise.
3490         * testsuite/ext/rope/2.cc: Likewise.
3491         * testsuite/ext/rope/3.cc: Likewise.
3492         * testsuite/ext/rope/4.cc: Likewise.
3493         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
3494         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
3495         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise.
3496         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
3497         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
3498         * testsuite/ext/stdio_filebuf/char/10063-1.cc: Likewise.
3499         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
3500         * testsuite/ext/stdio_filebuf/char/10063-3.cc: Likewise.
3501         * testsuite/ext/stdio_filebuf/char/2.cc: Likewise.
3502         * testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.
3503         * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise.
3504         * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise.
3505         * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise.
3506         * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise.
3507         * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
3508         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
3509         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise.
3510         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise.
3511         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise.
3512         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise.
3513         * testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
3514         * testsuite/ext/type_traits/add_unsigned.cc: Likewise.
3515         * testsuite/ext/type_traits/remove_unsigned.cc: Likewise.
3516         * testsuite/ext/vstring/capacity/29134.cc: Likewise.
3517         * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
3518         * testsuite/ext/vstring/cons/58415-1.cc: Likewise.
3519         * testsuite/ext/vstring/cons/moveable.cc: Likewise.
3520         * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
3521         * testsuite/ext/vstring/element_access/char/front_back.cc: Likewise.
3522         * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
3523         * testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise.
3524         * testsuite/ext/vstring/hash/char/1.cc: Likewise.
3525         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
3526         * testsuite/ext/vstring/init-list.cc: Likewise.
3527         * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
3528         * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise.
3529         * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Likewise.
3530         * testsuite/ext/vstring/modifiers/pop_back/char/1.cc: Likewise.
3531         * testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc: Likewise.
3532         * testsuite/ext/vstring/operators/1.cc: Likewise.
3533         * testsuite/ext/vstring/operators/2.cc: Likewise.
3534
3535 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3536
3537         PR libstdc++/65122
3538         * include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
3539         aligned_alloc for types with extended alignment if available,
3540         otherwise throw bad_alloc if malloc doesn't return a suitable value.
3541         * include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
3542         (bitmap_allocator::deallocate): Use aligned new/delete for types with
3543         extended alignment.
3544         * include/ext/mt_allocator.h (__mt_alloc::allocate)
3545         (__mt_alloc::deallocate): Likewise.
3546         * include/ext/new_allocator.h (new_allocator::allocate)
3547         (new_allocator::deallocate): Likewise.
3548         * include/ext/pool_allocator.h (__pool_alloc::allocate)
3549         (__pool_alloc::deallocate): Likewise.
3550         * testsuite/20_util/allocator/overaligned.cc: New test.
3551         * testsuite/ext/bitmap_allocator/overaligned.cc: New test.
3552         * testsuite/ext/malloc_allocator/overaligned.cc: New test.
3553         * testsuite/ext/mt_allocator/overaligned.cc: New test.
3554         * testsuite/ext/new_allocator/overaligned.cc: New test.
3555         * testsuite/ext/pool_allocator/overaligned.cc: New test.
3556
3557 2016-10-14  Tim Shen  <timshen@google.com>
3558
3559         PR libstdc++/77944
3560         * include/std/variant: Include <bits/funcexcept.h> for __try and
3561         __catch.
3562
3563 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3564
3565         * include/std/functional (_Reference_wrapper_base_impl): Remove.
3566         (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
3567         (_Reference_wrapper_base): Inherit from new helpers.
3568
3569 2016-10-13  Paolo Carlini  <paolo.carlini@oracle.com>
3570
3571         * testsuite/24_iterators/container_access.cc: Remove 'test' variables.
3572         * testsuite/24_iterators/istream_iterator/2.cc: Likewise.
3573         * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
3574         * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
3575         * testsuite/24_iterators/operations/next.cc: Likewise.
3576         * testsuite/24_iterators/operations/prev.cc: Likewise.
3577         * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
3578         * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
3579         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
3580         * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
3581         * testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
3582         * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
3583         * testsuite/25_algorithms/all_of/1.cc: Likewise.
3584         * testsuite/25_algorithms/any_of/1.cc: Likewise.
3585         * testsuite/25_algorithms/binary_search/2.cc: Likewise.
3586         * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
3587         * testsuite/25_algorithms/clamp/1.cc: Likewise.
3588         * testsuite/25_algorithms/clamp/2.cc: Likewise.
3589         * testsuite/25_algorithms/copy/1.cc: Likewise.
3590         * testsuite/25_algorithms/copy/2.cc: Likewise.
3591         * testsuite/25_algorithms/copy/3.cc: Likewise.
3592         * testsuite/25_algorithms/copy/34595.cc: Likewise.
3593         * testsuite/25_algorithms/copy/4.cc: Likewise.
3594         * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
3595         * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
3596         * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
3597         * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
3598         * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
3599         * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
3600         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
3601         Likewise.
3602         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
3603         Likewise.
3604         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
3605         Likewise.
3606         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
3607         Likewise.
3608         * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
3609         * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
3610         * testsuite/25_algorithms/copy_n/1.cc: Likewise.
3611         * testsuite/25_algorithms/copy_n/2.cc: Likewise.
3612         * testsuite/25_algorithms/copy_n/3.cc: Likewise.
3613         * testsuite/25_algorithms/copy_n/4.cc: Likewise.
3614         * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
3615         * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
3616         * testsuite/25_algorithms/equal_range/2.cc: Likewise.
3617         * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
3618         * testsuite/25_algorithms/fill/1.cc: Likewise.
3619         * testsuite/25_algorithms/fill/2.cc: Likewise.
3620         * testsuite/25_algorithms/fill/3.cc: Likewise.
3621         * testsuite/25_algorithms/fill/4.cc: Likewise.
3622         * testsuite/25_algorithms/fill_n/1.cc: Likewise.
3623         * testsuite/25_algorithms/find/39546.cc: Likewise.
3624         * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
3625         * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
3626         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
3627         Likewise.
3628         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
3629         Likewise.
3630         * testsuite/25_algorithms/find_if/1.cc: Likewise.
3631         * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
3632         * testsuite/25_algorithms/for_each/1.cc: Likewise.
3633         * testsuite/25_algorithms/heap/1.cc: Likewise.
3634         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
3635         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
3636         * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
3637         * testsuite/25_algorithms/includes/1.cc: Likewise.
3638         * testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
3639         * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
3640         * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
3641         * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
3642         * testsuite/25_algorithms/is_heap/1.cc: Likewise.
3643         * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
3644         * testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
3645         * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
3646         * testsuite/25_algorithms/is_permutation/2.cc: Likewise.
3647         * testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
3648         * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
3649         * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
3650         * testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
3651         * testsuite/25_algorithms/lower_bound/2.cc: Likewise.
3652         * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
3653         * testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
3654         * testsuite/25_algorithms/max/1.cc: Likewise.
3655         * testsuite/25_algorithms/max/2.cc: Likewise.
3656         * testsuite/25_algorithms/max/3.cc: Likewise.
3657         * testsuite/25_algorithms/max/37547.cc: Likewise.
3658         * testsuite/25_algorithms/max/4.cc: Likewise.
3659         * testsuite/25_algorithms/min/1.cc: Likewise.
3660         * testsuite/25_algorithms/min/2.cc: Likewise.
3661         * testsuite/25_algorithms/min/3.cc: Likewise.
3662         * testsuite/25_algorithms/min/37547.cc: Likewise.
3663         * testsuite/25_algorithms/min/4.cc: Likewise.
3664         * testsuite/25_algorithms/minmax/1.cc: Likewise.
3665         * testsuite/25_algorithms/minmax/2.cc: Likewise.
3666         * testsuite/25_algorithms/minmax/3.cc: Likewise.
3667         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
3668         * testsuite/25_algorithms/minmax_element/1.cc: Likewise.
3669         * testsuite/25_algorithms/move/1.cc: Likewise.
3670         * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
3671         * testsuite/25_algorithms/move_backward/1.cc: Likewise.
3672         * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
3673         * testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
3674         * testsuite/25_algorithms/none_of/1.cc: Likewise.
3675         * testsuite/25_algorithms/nth_element/1.cc: Likewise.
3676         * testsuite/25_algorithms/nth_element/2.cc: Likewise.
3677         * testsuite/25_algorithms/nth_element/3.cc: Likewise.
3678         * testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
3679         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
3680         * testsuite/25_algorithms/partial_sort/2.cc: Likewise.
3681         * testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
3682         Likewise.
3683         * testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
3684         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
3685         * testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
3686         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
3687         * testsuite/25_algorithms/partition/1.cc: Likewise.
3688         * testsuite/25_algorithms/partition/moveable.cc: Likewise.
3689         * testsuite/25_algorithms/partition_copy/1.cc: Likewise.
3690         * testsuite/25_algorithms/partition_point/1.cc: Likewise.
3691         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
3692         * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
3693         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
3694         * testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
3695         * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
3696         * testsuite/25_algorithms/rotate/1.cc: Likewise.
3697         * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
3698         * testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
3699         * testsuite/25_algorithms/rotate/rotate.cc: Likewise.
3700         * testsuite/25_algorithms/search/1.cc: Likewise.
3701         * testsuite/25_algorithms/search_n/58358.cc: Likewise.
3702         * testsuite/25_algorithms/shuffle/1.cc: Likewise.
3703         * testsuite/25_algorithms/sort/1.cc: Likewise.
3704         * testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
3705         * testsuite/25_algorithms/sort/moveable.cc: Likewise.
3706         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
3707         * testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
3708         * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
3709         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
3710         * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
3711         * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
3712         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
3713         * testsuite/25_algorithms/stable_sort/2.cc: Likewise.
3714         * testsuite/25_algorithms/stable_sort/3.cc: Likewise.
3715         * testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
3716         * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
3717         Likewise.
3718         * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
3719         * testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
3720         * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
3721         * testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
3722         * testsuite/25_algorithms/unique/11480.cc: Likewise.
3723         * testsuite/25_algorithms/unique/2.cc: Likewise.
3724         * testsuite/25_algorithms/unique/moveable.cc: Likewise.
3725         * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
3726         * testsuite/25_algorithms/unique_copy/2.cc: Likewise.
3727         * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
3728         * testsuite/25_algorithms/upper_bound/2.cc: Likewise.
3729         * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
3730         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
3731         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
3732         Likewise.
3733         * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
3734         Likewise.
3735         * testsuite/28_regex/algorithms/regex_match/basic/
3736         string_range_00_03.cc: Likewise.
3737         * testsuite/28_regex/algorithms/regex_match/basic/
3738         string_range_01_03.cc: Likewise.
3739         * testsuite/28_regex/algorithms/regex_match/basic/
3740         string_range_02_03.cc: Likewise.
3741         * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
3742         Likewise.
3743         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
3744         Likewise.
3745         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
3746         Likewise.
3747         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
3748         Likewise.
3749         * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
3750         Likewise.
3751         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
3752         Likewise.
3753         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
3754         Likewise.
3755         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
3756         Likewise.
3757         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
3758         Likewise.
3759         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
3760         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
3761         Likewise.
3762         * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
3763         Likewise.
3764         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
3765         Likewise.
3766         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
3767         anymatcher.cc: Likewise.
3768         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
3769         Likewise.
3770         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
3771         Likewise.
3772         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
3773         Likewise.
3774         * testsuite/28_regex/algorithms/regex_match/extended/
3775         cstring_questionmark.cc: Likewise.
3776         * testsuite/28_regex/algorithms/regex_match/extended/
3777         cstring_range.cc: Likewise.
3778         * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
3779         Likewise.
3780         * testsuite/28_regex/algorithms/regex_match/extended/
3781         string_range_00_03.cc: Likewise.
3782         * testsuite/28_regex/algorithms/regex_match/extended/
3783         string_range_01_03.cc: Likewise.
3784         * testsuite/28_regex/algorithms/regex_match/extended/
3785         string_range_02_03.cc: Likewise.
3786         * testsuite/28_regex/algorithms/regex_match/extended/
3787         wstring_locale.cc: Likewise.
3788         * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
3789         Likewise.
3790         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
3791         * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
3792         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
3793         Likewise.
3794         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
3795         Likewise.
3796         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
3797         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
3798         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
3799         Likewise.
3800         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
3801         * testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
3802         * testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
3803         * testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
3804         * testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
3805         * testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
3806         * testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
3807         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
3808         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
3809         * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
3810         * testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
3811         * testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
3812         * testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
3813         * testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
3814         Likewise.
3815         * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
3816         Likewise.
3817         * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
3818         * testsuite/28_regex/basic_regex/ctors/extended/
3819         string_range_01_02_03.cc: Likewise.
3820         * testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
3821         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
3822         * testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
3823         * testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
3824         * testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
3825         * testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
3826         * testsuite/28_regex/constants/error_type.cc: Likewise.
3827         * testsuite/28_regex/constants/match_flag_type.cc: Likewise.
3828         * testsuite/28_regex/init-list.cc: Likewise.
3829         * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
3830         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
3831         Likewise.
3832         * testsuite/28_regex/iterators/regex_iterator/char/
3833         string_position_01.cc
3834         * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
3835         Likewise.
3836         * testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
3837         default.cc: Likewise.
3838         * testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
3839         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
3840         Likewise.
3841         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
3842         Likewise.
3843         * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
3844         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
3845         Likewise.
3846         * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
3847         default.cc: Likewise.
3848         * testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
3849         default.cc: Likewise.
3850         * testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
3851         Likewise.
3852         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
3853         string_01.cc: Likewise.
3854         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
3855         wstring_02.cc: Likewise.
3856         * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
3857         * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
3858         * testsuite/28_regex/match_results/format.cc: Likewise.
3859         * testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
3860         * testsuite/28_regex/match_results/swap.cc: Likewise.
3861         * testsuite/28_regex/match_results/typedefs.cc: Likewise.
3862         * testsuite/28_regex/regex_error/regex_error.cc: Likewise.
3863         * testsuite/28_regex/regression.cc: Likewise.
3864         * testsuite/28_regex/sub_match/cast_char.cc: Likewise.
3865         * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
3866         * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
3867         * testsuite/28_regex/sub_match/length.cc: Likewise.
3868         * testsuite/28_regex/traits/char/ctor.cc: Likewise.
3869         * testsuite/28_regex/traits/char/isctype.cc: Likewise.
3870         * testsuite/28_regex/traits/char/length.cc: Likewise.
3871         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
3872         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
3873         * testsuite/28_regex/traits/char/transform.cc: Likewise.
3874         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
3875         * testsuite/28_regex/traits/char/translate.cc: Likewise.
3876         * testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
3877         * testsuite/28_regex/traits/char/user_defined.cc: Likewise.
3878         * testsuite/28_regex/traits/char/value.cc: Likewise.
3879         * testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
3880         * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
3881         * testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
3882         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
3883         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
3884         * testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
3885         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
3886         * testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
3887         * testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
3888         * testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
3889         * testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
3890         * testsuite/29_atomics/atomic/60658.cc: Likewise.
3891         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
3892         * testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
3893         * testsuite/backward/11460.cc: Likewise.
3894         * testsuite/backward/hash_map/1.cc: Likewise.
3895         * testsuite/backward/hash_map/25896.cc: Likewise.
3896         * testsuite/backward/hash_set/1.cc: Likewise.
3897         * testsuite/backward/hash_set/25896.cc: Likewise.
3898         * testsuite/decimal/binary-arith.cc: Likewise.
3899         * testsuite/decimal/comparison.cc: Likewise.
3900         * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
3901         * testsuite/decimal/compound-assignment.cc: Likewise.
3902         * testsuite/decimal/conversion-from-float.cc: Likewise.
3903         * testsuite/decimal/conversion-from-integral.cc: Likewise.
3904         * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
3905         * testsuite/decimal/conversion-to-integral.cc: Likewise.
3906         * testsuite/decimal/ctor.cc: Likewise.
3907         * testsuite/decimal/incdec-memfunc.cc: Likewise.
3908         * testsuite/decimal/incdec.cc: Likewise.
3909         * testsuite/decimal/make-decimal.cc: Likewise.
3910         * testsuite/decimal/pr54036-1.cc: Likewise.
3911         * testsuite/decimal/pr54036-2.cc: Likewise.
3912         * testsuite/decimal/pr54036-3.cc: Likewise.
3913         * testsuite/decimal/unary-arith.cc: Likewise.
3914         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
3915         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
3916         Likewise.
3917         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
3918         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
3919         Likewise.
3920         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
3921         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
3922         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
3923         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
3924         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
3925         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
3926         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
3927         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
3928         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
3929         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
3930         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
3931         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
3932         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
3933         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
3934         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
3935         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
3936         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
3937         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
3938         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
3939         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
3940         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
3941         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
3942         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
3943         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
3944         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
3945         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
3946         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
3947         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
3948         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
3949         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
3950         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
3951         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
3952         * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
3953         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
3954         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
3955         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
3956         * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
3957         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
3958         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
3959         * testsuite/tr2/bases/value.cc: Likewise.
3960         * testsuite/tr2/direct_bases/value.cc: Likewise.
3961         * testsuite/util/debug/checks.h: Likewise.
3962         * testsuite/util/debug/unordered_checks.h: Likewise.
3963         * testsuite/util/testsuite_allocator.h: Likewise.
3964         * testsuite/util/testsuite_api.h: Likewise.
3965         * testsuite/util/testsuite_common_types.h: Likewise.
3966         * testsuite/util/testsuite_random.h: Likewise.
3967         * testsuite/util/testsuite_rvalref.h: Likewise.
3968
3969 2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
3970
3971         * include/bits/shared_ptr_base.h: Include <functional>.
3972         [!__cpp_rtti]: Do not include <typeinfo>.
3973         * include/experimental/array: Do not include <functional>.
3974         * include/experimental/memory: Include <bits/functional_hash.h>
3975         instead of <functional>.
3976         * include/experimental/propagate_const: Include <bits/stl_function.h>,
3977         <bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
3978         * include/experimental/tuple: Do not include <functional>.
3979         * include/std/future: Include <functional>.
3980         * include/std/memory: Do not include <functional>.
3981         * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
3982         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
3983         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
3984         missing includes.
3985         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
3986         * testsuite/20_util/specialized_algorithms/memory_management_tools/
3987         1.cc: Likewise.
3988         * testsuite/30_threads/call_once/60497.cc: Likewise.
3989         * testsuite/30_threads/lock/2.cc: Likewise.
3990         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
3991         * testsuite/experimental/algorithm/sample.cc: Likewise.
3992         * testsuite/experimental/array/make_array.cc: Likewise.
3993         * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
3994         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
3995         Adjust dg-error lines.
3996         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
3997         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
3998         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
3999         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
4000         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
4001
4002         * testsuite/experimental/algorithm/sample.cc: Add missing header.
4003
4004         * include/experimental/propagate_const (element_type): Qualify
4005         declval.
4006
4007         * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
4008         instead of assert.
4009
4010         * include/experiumental/functional (boyer_moore_searcher)
4011         (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
4012         with _GLIBCXX_STD_C.
4013         * include/std/functional: Likewise.
4014
4015         * include/std/chrono (floor): Replace non-constexpr operation.
4016         * testsuite/20_util/duration_cast/rounding.cc: Test conversion to
4017         durations with floating pointer representations.
4018
4019         * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
4020         (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
4021
4022         * include/std/functional (_Bind_simple, _Bind_simple_helper)
4023         (__bind_simple): Remove.
4024         * include/std/future: Include <bits/invoke.h> instead of <functional>.
4025         (__future_base::_Task_state::_M_run)
4026         (__future_base::_Task_state::_M_run_delayed): Use lambda expressions
4027         instead of __bind_simple.
4028         (__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
4029         (async): Use thread::__make_invoker instead of __bind_simple.
4030         * include/std/thread: Include <tuple> and <bits/invoke.h> instead of
4031         <functional>.
4032         (thread::_Invoker, thread::__make_invoker): Define helpers to do
4033         INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
4034
4035         * include/std/functional (_Not_fn): Make exception specifications
4036         depend on whether negating the result can throw.
4037         * testsuite/20_util/not_fn/1.cc: Move to ...
4038         * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
4039         for types that can throw when negated and that cannot be negated.
4040
4041         * include/bits/invoke.h (__invoke): Fix exception-specification.
4042         * include/std/functional (invoke): Likewise.
4043         * testsuite/20_util/function_objects/invoke/1.cc: New test.
4044
4045 2016-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
4046
4047         * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
4048         __builtin_printf and __builtin_abort.
4049         * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
4050         * scripts/testsuite_flags.in: Likewise.
4051         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
4052         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
4053         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
4054         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
4055         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
4056         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
4057         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
4058         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
4059         * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
4060         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
4061         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
4062         Likewise.
4063         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
4064         Likewise.
4065         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
4066         Likewise.
4067         * testsuite/27_io/objects/char/7.cc: Likewise.
4068         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
4069         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
4070         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
4071         * testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
4072         * testsuite/18_support/bad_alloc/what.cc: Likewise.
4073         * testsuite/18_support/bad_cast/what.cc: Likewise.
4074         * testsuite/18_support/bad_exception/what.cc: Likewise.
4075         * testsuite/18_support/bad_typeid/what.cc: Likewise.
4076         * testsuite/18_support/exception/38732.cc: Likewise.
4077         * testsuite/18_support/exception/what.cc: Likewise.
4078         * testsuite/18_support/exception_ptr/64241.cc: Likewise.
4079         * testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
4080         * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
4081         * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
4082         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
4083         * testsuite/18_support/nested_exception/cons.cc: Likewise.
4084         * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
4085         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
4086         * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
4087         * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
4088         * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
4089         * testsuite/18_support/numeric_limits/digits10.cc: Likewise.
4090         * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
4091         * testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
4092         * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
4093         * testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
4094         * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
4095         * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
4096         * testsuite/18_support/numeric_limits/min_max.cc: Likewise.
4097         * testsuite/18_support/numeric_limits/specialization_default_values.cc:
4098         Likewise.
4099         * testsuite/18_support/type_info/hash_code.cc: Likewise.
4100         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
4101         * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
4102         * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
4103         * testsuite/19_diagnostics/error_category/operators/
4104         not_equal.cc: Likewise.
4105         * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
4106         * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
4107         * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
4108         * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
4109         * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
4110         * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
4111         * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
4112         * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
4113         * testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
4114         Likewise.
4115         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
4116         * testsuite/19_diagnostics/error_condition/operators/equal.cc:
4117         Likewise.
4118         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
4119         Likewise.
4120         * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
4121         * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
4122         * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
4123         * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
4124         * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
4125         * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
4126         * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
4127         * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
4128         * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
4129         * testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
4130         * testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
4131         * testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
4132         * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
4133         * testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
4134         * testsuite/20_util/addressof/1.cc: Likewise.
4135         * testsuite/20_util/align/1.cc: Likewise.
4136         * testsuite/20_util/align/2.cc: Likewise.
4137         * testsuite/20_util/allocator/1.cc: Likewise.
4138         * testsuite/20_util/allocator/10378.cc: Likewise.
4139         * testsuite/20_util/allocator/8230.cc: Likewise.
4140         * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
4141         Likewise.
4142         * testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
4143         * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
4144         * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
4145         * testsuite/20_util/any/assign/exception.cc: Likewise.
4146         * testsuite/20_util/auto_ptr/1.cc: Likewise.
4147         * testsuite/20_util/auto_ptr/2.cc: Likewise.
4148         * testsuite/20_util/auto_ptr/3.cc: Likewise.
4149         * testsuite/20_util/auto_ptr/4.cc: Likewise.
4150         * testsuite/20_util/auto_ptr/5.cc: Likewise.
4151         * testsuite/20_util/auto_ptr/6.cc: Likewise.
4152         * testsuite/20_util/auto_ptr/7.cc: Likewise.
4153         * testsuite/20_util/bind/all_bound.cc: Likewise.
4154         * testsuite/20_util/bind/conv_result.cc: Likewise.
4155         * testsuite/20_util/bind/cv_quals.cc: Likewise.
4156         * testsuite/20_util/bind/cv_quals_2.cc
4157         * testsuite/20_util/bind/nested.cc: Likewise.
4158         * testsuite/20_util/bind/placeholders.cc: Likewise.
4159         * testsuite/20_util/bind/ref.cc: Likewise.
4160         * testsuite/20_util/bind/ref2.cc: Likewise.
4161         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
4162         * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
4163         * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
4164         * testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
4165         * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
4166         * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
4167         * testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
4168         * testsuite/20_util/duration/cons/1.cc: Likewise.
4169         * testsuite/20_util/duration/cons/2.cc: Likewise.
4170         * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
4171         * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
4172         * testsuite/20_util/enable_shared_from_this/members/assign.cc:
4173         Likewise.
4174         * testsuite/20_util/exchange/1.cc: Likewise.
4175         * testsuite/20_util/forward/a.cc: Likewise.
4176         * testsuite/20_util/forward/b.cc: Likewise.
4177         * testsuite/20_util/forward/d.cc: Likewise.
4178         * testsuite/20_util/function/1.cc: Likewise.
4179         * testsuite/20_util/function/2.cc: Likewise.
4180         * testsuite/20_util/function/3.cc: Likewise.
4181         * testsuite/20_util/function/4.cc: Likewise.
4182         * testsuite/20_util/function/43397.cc: Likewise.
4183         * testsuite/20_util/function/5.cc: Likewise.
4184         * testsuite/20_util/function/6.cc: Likewise.
4185         * testsuite/20_util/function/7.cc: Likewise.
4186         * testsuite/20_util/function/8.cc: Likewise.
4187         * testsuite/20_util/function/9.cc: Likewise.
4188         * testsuite/20_util/function/assign/move.cc: Likewise.
4189         * testsuite/20_util/function/cons/move.cc: Likewise.
4190         * testsuite/20_util/function_objects/dr660.cc: Likewise.
4191         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
4192         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
4193         * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
4194         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
4195         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
4196         * testsuite/20_util/hash/operators/size_t.cc: Likewise.
4197         * testsuite/20_util/hash/quality.cc: Likewise.
4198         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
4199         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
4200         * testsuite/20_util/is_function/24808.cc: Likewise.
4201         * testsuite/20_util/is_object/24808.cc: Likewise.
4202         * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
4203         * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
4204         * testsuite/20_util/owner_less/cmp.cc: Likewise.
4205         * testsuite/20_util/pair/1.cc: Likewise.
4206         * testsuite/20_util/pair/2.cc: Likewise.
4207         * testsuite/20_util/pair/3.cc: Likewise.
4208         * testsuite/20_util/pair/4.cc: Likewise.
4209         * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
4210         * testsuite/20_util/pair/moveable.cc: Likewise.
4211         * testsuite/20_util/pair/piecewise.cc: Likewise.
4212         * testsuite/20_util/pair/swap.cc: Likewise.
4213         * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
4214         * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
4215         * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
4216         * testsuite/20_util/ratio/cons/cons1.cc: Likewise.
4217         * testsuite/20_util/ratio/operations/45866.cc: Likewise.
4218         * testsuite/20_util/ratio/operations/47913.cc: Likewise.
4219         * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
4220         * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
4221         * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
4222         * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
4223         * testsuite/20_util/scoped_allocator/1.cc: Likewise.
4224         * testsuite/20_util/scoped_allocator/2.cc: Likewise.
4225         * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
4226         * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
4227         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
4228         * testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
4229         * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
4230         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
4231         Likewise.
4232         * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
4233         * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
4234         * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
4235         * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
4236         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
4237         * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
4238         * testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
4239         * testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
4240         * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
4241         * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
4242         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
4243         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
4244         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
4245         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
4246         Likewise.
4247         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
4248         Likewise.
4249         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
4250         * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
4251         * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
4252         * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
4253         * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
4254         * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
4255         * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
4256         * testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
4257         * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
4258         * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
4259         * testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
4260         * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
4261         * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
4262         * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
4263         * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
4264         * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
4265         * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
4266         * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
4267         * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
4268         * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
4269         * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
4270         * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
4271         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
4272         Likewise.
4273         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4274         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
4275         move_iterators/1.cc: Likewise.
4276         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
4277         move_iterators/1.cc: Likewise.
4278         * testsuite/20_util/temporary_buffer.cc: Likewise.
4279         * testsuite/20_util/time_point/1.cc: Likewise.
4280         * testsuite/20_util/time_point/2.cc: Likewise.
4281         * testsuite/20_util/time_point/3.cc: Likewise.
4282         * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
4283         * testsuite/20_util/tuple/48476.cc: Likewise.
4284         * testsuite/20_util/tuple/comparison_operators/comparisons.cc:
4285         Likewise.
4286         * testsuite/20_util/tuple/cons/allocators.cc: Likewise.
4287         * testsuite/20_util/tuple/cons/assignment.cc: Likewise.
4288         * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
4289         * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
4290         * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
4291         * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
4292         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
4293         * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
4294         Likewise.
4295         * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
4296         * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
4297         * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
4298         * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
4299         * testsuite/20_util/tuple/element_access/get.cc: Likewise.
4300         * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
4301         * testsuite/20_util/tuple/moveable.cc: Likewise.
4302         * testsuite/20_util/tuple/swap.cc: Likewise.
4303         * testsuite/20_util/tuple/tuple_size.cc: Likewise.
4304         * testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
4305         * testsuite/20_util/typeindex/hash.cc: Likewise.
4306         * testsuite/20_util/typeindex/hash_code.cc: Likewise.
4307         * testsuite/20_util/typeindex/name.cc: Likewise.
4308         * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
4309         * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
4310         * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
4311         * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
4312         * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
4313         * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
4314         * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
4315         * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
4316         * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
4317         * testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
4318         * testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
4319         * testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
4320         * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
4321         * testsuite/20_util/unique_ptr/specialized_algorithms/
4322         comparisons.cc: Likewise.
4323         * testsuite/20_util/unique_ptr/specialized_algorithms/
4324         comparisons_array.cc: Likewise.
4325         * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
4326         Likewise.
4327         * testsuite/20_util/uses_allocator/construction.cc: Likewise.
4328         * testsuite/20_util/uses_allocator/value.cc: Likewise.
4329         * testsuite/20_util/variant/run.cc: Likewise.
4330         * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
4331         * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
4332         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
4333         Likewise.
4334         * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
4335         * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
4336         Likewise.
4337         * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
4338         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
4339         Likewise.
4340         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
4341         Likewise.
4342         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
4343         Likewise.
4344         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
4345         Likewise.
4346         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
4347         Likewise.
4348         * testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
4349         * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
4350         * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
4351         * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
4352         * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
4353         Likewise.
4354         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
4355         * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
4356         Likewise.
4357         * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
4358         * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
4359         Likewise.
4360         * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
4361         * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
4362         * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
4363         * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
4364         * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
4365         * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
4366         * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
4367         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
4368         * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
4369         * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
4370         * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
4371         * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
4372         * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
4373         * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
4374         * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
4375         * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
4376         * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
4377         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
4378         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
4379         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
4380         * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
4381         * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
4382         Likewise.
4383         * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
4384         * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
4385         * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
4386         * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
4387         * testsuite/21_strings/basic_string/element_access/char/58163.cc:
4388         Likewise.
4389         * testsuite/21_strings/basic_string/element_access/char/empty.cc:
4390         Likewise.
4391         * testsuite/21_strings/basic_string/element_access/char/front_back.cc:
4392         Likewise.
4393         * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
4394         Likewise.
4395         * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
4396         Likewise.
4397         * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
4398         Likewise.
4399         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
4400         Likewise.
4401         * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
4402         Likewise.
4403         * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
4404         Likewise.
4405         * testsuite/21_strings/basic_string/element_access/wchar_t/
4406         front_back.cc: Likewise.
4407         * testsuite/21_strings/basic_string/init-list.cc: Likewise.
4408         * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
4409         Likewise.
4410         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
4411         Likewise.
4412         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
4413         Likewise.
4414         * testsuite/21_strings/basic_string/inserters_extractors/char/
4415         28277.cc: Likewise.
4416         * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
4417         Likewise.
4418         * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
4419         Likewise.
4420         * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
4421         Likewise.
4422         * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
4423         Likewise.
4424         * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
4425         Likewise.
4426         * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
4427         Likewise.
4428         * testsuite/21_strings/basic_string/inserters_extractors/pod/
4429         10081-in.cc: Likewise.
4430         * testsuite/21_strings/basic_string/inserters_extractors/pod/
4431         10081-out.cc: Likewise.
4432         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
4433         Likewise.
4434         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4435         10.cc: Likewise.
4436         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4437         11.cc: Likewise.
4438         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
4439         28277.cc: Likewise.
4440         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
4441         Likewise.
4442         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
4443         Likewise.
4444         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
4445         Likewise.
4446         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
4447         Likewise.
4448         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
4449         Likewise.
4450         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
4451         Likewise.
4452         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
4453         Likewise.
4454         * testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
4455         Likewise.
4456         * testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
4457         Likewise.
4458         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
4459         Likewise.
4460         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
4461         Likewise.
4462         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
4463         Likewise.
4464         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
4465         Likewise.
4466         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
4467         Likewise.
4468         * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
4469         Likewise.
4470         * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
4471         Likewise.
4472         * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
4473         Likewise.
4474         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
4475         Likewise.
4476         * testsuite/21_strings/basic_string/modifiers/assign/char/
4477         move_assign.cc: Likewise.
4478         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
4479         Likewise.
4480         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
4481         Likewise.
4482         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
4483         Likewise.
4484         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
4485         Likewise.
4486         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
4487         move_assign.cc: Likewise.
4488         * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
4489         Likewise.
4490         * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
4491         Likewise.
4492         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
4493         Likewise.
4494         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
4495         Likewise.
4496         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
4497         Likewise.
4498         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
4499         Likewise.
4500         * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
4501         Likewise.
4502         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
4503         Likewise.
4504         * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
4505         Likewise.
4506         * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
4507         Likewise.
4508         * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
4509         Likewise.
4510         * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
4511         Likewise.
4512         * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
4513         Likewise.
4514         * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
4515         Likewise.
4516         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
4517         Likewise.
4518         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
4519         Likewise.
4520         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
4521         Likewise.
4522         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
4523         Likewise.
4524         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
4525         Likewise.
4526         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
4527         Likewise.
4528         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
4529         Likewise.
4530         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
4531         Likewise.
4532         * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
4533         Likewise.
4534         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
4535         Likewise.
4536         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
4537         Likewise.
4538         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
4539         Likewise.
4540         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
4541         Likewise.
4542         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
4543         Likewise.
4544         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
4545         Likewise.
4546         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
4547         Likewise.
4548         * testsuite/21_strings/basic_string/numeric_conversions/char/
4549         stoull.cc: Likewise.
4550         * testsuite/21_strings/basic_string/numeric_conversions/char/
4551         to_string.cc: Likewise.
4552         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4553         dr1261.cc: Likewise.
4554         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4555         stod.cc: Likewise.
4556         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4557         stof.cc: Likewise.
4558         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4559         stoi.cc: Likewise.
4560         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4561         stol.cc: Likewise.
4562         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4563         stold.cc: Likewise.
4564         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4565         stoll.cc: Likewise.
4566         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4567         stoul.cc: Likewise.
4568         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4569         stoull.cc: Likewise.
4570         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
4571         to_wstring.cc: Likewise.
4572         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
4573         Likewise.
4574         * testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
4575         Likewise.
4576         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
4577         Likewise.
4578         * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
4579         Likewise.
4580         * testsuite/21_strings/basic_string/operations/compare/wchar_t/
4581         13650.cc: Likewise.
4582         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
4583         Likewise.
4584         * testsuite/21_strings/basic_string/operations/data/char/1.cc:
4585         Likewise.
4586         * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
4587         Likewise.
4588         * testsuite/21_strings/basic_string/operations/find/char/1.cc:
4589         Likewise.
4590         * testsuite/21_strings/basic_string/operations/find/char/2.cc:
4591         Likewise.
4592         * testsuite/21_strings/basic_string/operations/find/char/3.cc:
4593         Likewise.
4594         * testsuite/21_strings/basic_string/operations/find/char/4.cc:
4595         Likewise.
4596         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
4597         Likewise.
4598         * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
4599         Likewise.
4600         * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
4601         Likewise.
4602         * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
4603         Likewise.
4604         * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
4605         Likewise.
4606         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
4607         Likewise.
4608         * testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
4609         Likewise.
4610         * testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
4611         Likewise.
4612         * testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
4613         Likewise.
4614         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
4615         Likewise.
4616         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
4617         Likewise.
4618         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
4619         Likewise.
4620         * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
4621         Likewise.
4622         * testsuite/21_strings/basic_string/operations/substr/wchar_t/
4623         1.cc: Likewise.
4624         * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
4625         * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
4626         * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
4627         * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
4628         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
4629         * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
4630         * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
4631         * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
4632         * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
4633         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
4634         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
4635         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
4636         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
4637         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
4638         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
4639         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
4640         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
4641         * testsuite/21_strings/basic_string_view/element_access/char/
4642         1.cc: Likewise.
4643         * testsuite/21_strings/basic_string_view/element_access/char/
4644         empty.cc: Likewise.
4645         * testsuite/21_strings/basic_string_view/element_access/char/
4646         front_back.cc: Likewise.
4647         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
4648         1.cc: Likewise.
4649         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
4650         empty.cc: Likewise.
4651         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
4652         front_back.cc: Likewise.
4653         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
4654         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
4655         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
4656         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
4657         Likewise.
4658         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
4659         Likewise.
4660         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
4661         Likewise.
4662         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
4663         Likewise.
4664         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
4665         char/1.cc: Likewise.
4666         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
4667         wchar_t/1.cc: Likewise.
4668         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
4669         char/1.cc: Likewise.
4670         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
4671         wchar_t/1.cc: Likewise.
4672         * testsuite/21_strings/basic_string_view/operations/compare/char/
4673         1.cc: Likewise.
4674         * testsuite/21_strings/basic_string_view/operations/compare/char/
4675         13650.cc: Likewise.
4676         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
4677         1.cc: Likewise.
4678         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
4679         13650.cc: Likewise.
4680         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
4681         Likewise.
4682         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
4683         Likewise.
4684         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
4685         Likewise.
4686         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
4687         Likewise.
4688         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
4689         Likewise.
4690         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
4691         Likewise.
4692         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
4693         Likewise.
4694         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
4695         Likewise.
4696         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
4697         1.cc: Likewise.
4698         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
4699         2.cc: Likewise.
4700         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
4701         3.cc: Likewise.
4702         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
4703         4.cc: Likewise.
4704         * testsuite/21_strings/basic_string_view/operations/rfind/char/
4705         1.cc: Likewise.
4706         * testsuite/21_strings/basic_string_view/operations/rfind/char/
4707         2.cc: Likewise.
4708         * testsuite/21_strings/basic_string_view/operations/rfind/char/
4709         3.cc: Likewise.
4710         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
4711         1.cc: Likewise.
4712         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
4713         2.cc: Likewise.
4714         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
4715         3.cc: Likewise.
4716         * testsuite/21_strings/basic_string_view/operations/string_conversion/
4717         1.cc: Likewise.
4718         * testsuite/21_strings/basic_string_view/operations/substr/char/
4719         1.cc: Likewise.
4720         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
4721         1.cc: Likewise.
4722         * testsuite/21_strings/basic_string_view/operators/char/2.cc:
4723         Likewise.
4724         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
4725         Likewise.
4726         * testsuite/21_strings/c_strings/char/1.cc: Likewise.
4727         * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
4728         * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
4729         * testsuite/21_strings/char_traits/requirements/char/57704.cc:
4730         Likewise.
4731         * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
4732         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
4733
4734         * doc/xml/manual/test.xml: Fix typo.
4735
4736 2016-10-12  Jonathan Wakely  <jwakely@redhat.com>
4737
4738         * doc/xml/manual/status_cxx2017.xml: Add std::sample status.
4739         * doc/html/*: Regenerate.
4740         * include/experimental/algorithm (__sample): Move to bits/stl_algo.h
4741         and into namespace std.
4742         * include/bits/stl_algo.h (__sample): Define here. Fix invalid use
4743         of input iterator. Defend against overloaded comma operator.
4744         (sample): Define for C++17.
4745         * testsuite/25_algorithms/sample/1.cc: New test.
4746
4747         * testsuite/util/testsuite_common_types.h
4748         (bitwise_assignment_operators): Use direct-initialization for C++11
4749         and later, to avoid CopyConstructible requirement.
4750         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
4751         line numbers.
4752         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
4753         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
4754         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
4755         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
4756         Adjust expected errors and line numbers.
4757
4758         * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
4759         (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
4760
4761         * include/bits/stl_uninitialized.h
4762         (__uninitialized_default_novalue_n_1<true>): Add missing return.
4763         * testsuite/20_util/specialized_algorithms/memory_management_tools/
4764         1.cc: Check return values of uninitialized_xxx_n algorithms.
4765
4766         * libsupc++/nested_exception.h (throw_with_nested): Remove return.
4767
4768         * doc/xml/manual/intro.xml: Document LWG 2442 status.
4769         * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
4770         [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
4771         partial specialization to unpack args and forward to std::invoke.
4772         (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
4773         instead of __bind_simple and __once_call_impl.
4774         (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
4775         __bind_simple.
4776         * testsuite/30_threads/call_once/dr2442.cc: New test.
4777
4778 2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
4779
4780         * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
4781         _M_assign_dispatch directly with correct tag.
4782
4783         * doc/xml/manual/intro.xml: Document LWG 2484 status.
4784         * libsupc++/nested_exception.h (_Throw_with_nested_impl)
4785         (_Throw_with_nested_helper): Remove.
4786         (__throw_with_nested_impl): New overloaded functions to implement
4787         throw_with_nested logic.
4788         (throw_with_nested): Call __throw_with_nested_impl.
4789         (_Rethrow_if_nested_impl): Remove
4790         (__rethrow_if_nested_impl): New overloaded functions to implement
4791         rethrow_if_nested logic.
4792         (rethrow_if_nested): Call __rethrow_if_nested_impl.
4793         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
4794         problem cases from LWG 2484.
4795
4796         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
4797         Register printer for std::__cxx11::list.
4798         * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
4799         std::__cxx11::list as well as std::list.
4800
4801         * include/experimental/string_view (basic_string_view::_S_compare):
4802         Remove redundant const from return type.
4803         * include/std/string_view (basic_string_view:_S_compare): Likewise.
4804
4805         * include/bits/std_mutex.h (mutex::native_handle)
4806         (lock_guard(mutex_type&, adopt_lock_t)
4807         (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
4808         * include/std/mutex (recursive_mutex, timed_mutex)
4809         (recursive_timed_mutex): Likewise.
4810
4811 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
4812
4813         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
4814         Replace <literallayout> with nested <variablelist> elements. Update
4815         some more outdated text.
4816         * doc/html/*: Regenerate.
4817
4818 2016-10-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
4819
4820         Make any's copy assignment operator exception-safe,
4821         don't copy the underlying value when any is moved,
4822         make in_place constructors explicit.
4823         * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
4824         Make explicit.
4825         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
4826         Likewise.
4827         (operator=(const any&)): Make strongly exception-safe.
4828         (operator=(any&&)): reset() unconditionally in the case where
4829         rhs has a value.
4830         (operator=(_ValueType&&)): Indent the return type.
4831         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
4832         * testsuite/20_util/any/assign/2.cc: Adjust.
4833         * testsuite/20_util/any/assign/exception.cc: New.
4834         * testsuite/20_util/any/cons/2.cc: Adjust.
4835         * testsuite/20_util/any/cons/explicit.cc: New.
4836         * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
4837
4838 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
4839
4840         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
4841         Describe other subdirectories and add markup. Remove outdated
4842         reference to check-script target.
4843         * doc/html/*: Regenerate.
4844
4845         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
4846
4847         * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
4848         with noexcept.
4849
4850         * include/std/functional (_Bind_result::__enable_if_void): Use alias
4851         template instead of class template.
4852         (_Bind_result::__disable_if_void): Likewise.
4853         (_Bind_result::__call): Adjust uses of __enable_if_void and
4854         __disable_if_void.
4855
4856         * doc/xml/manual/intro.xml: Document DR 2296 status.
4857         * doc/xml/manual/status_cxx2017.xml: Update status.
4858         * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
4859         call __builtin_addressof.
4860         (addressof): Add _GLIBCXX17_CONSTEXPR.
4861         * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
4862         * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
4863         * testsuite/20_util/forward/f_neg.cc: Likewise.
4864
4865         * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
4866         * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
4867         is_always_equal.
4868         * testsuite/util/testsuite_allocator.h
4869         (uneq_allocator::is_always_equal): Define as false_type.
4870
4871         * include/experimental/numeric (gcd, lcm): Make bool arguments
4872         ill-formed.
4873         * include/std/numeric (gcd, lcm): Likewise.
4874         * testsuite/26_numerics/gcd/gcd_neg.cc: New test.
4875         * testsuite/26_numerics/lcm/lcm_neg.cc: New test.
4876
4877         * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
4878         Add noexcept.
4879         * include/bits/shared_ptr_base.h
4880         (__enable_shared_from_this::weak_from_this): Likewise.
4881         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
4882         Test exception-specification of weak_from_this.
4883
4884 2016-10-07  Jonathan Wakely  <jwakely@redhat.com>
4885
4886         * doc/xml/manual/status_cxx1998.xml: Improve documentation of
4887         implementation-defined properties.
4888         * doc/xml/manual/status_cxx2011.xml: Likewise.
4889         * doc/xml/manual/status_cxx2017.xml: Likewise.
4890
4891         * doc/xml/manual/status_cxx2017.xml: Update status.
4892         * include/std/type_traits (has_unique_object_representations): Define.
4893         * testsuite/20_util/has_unique_object_representations/value.cc: New.
4894         * testsuite/20_util/has_unique_object_representations/requirements/
4895         explicit_instantiation.cc: New.
4896         * testsuite/20_util/has_unique_object_representations/requirements/
4897         typedefs.cc: New.
4898
4899 2016-10-06  Jonathan Wakely  <jwakely@redhat.com>
4900
4901         * doc/xml/manual/status_cxx2011.xml: Update status.
4902         * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
4903         New helpers for recursive OUTERMOST.
4904         (__outermost): Use __outermost_type::_S_outermost.
4905         (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
4906         (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
4907         __outermost_type helper.
4908         (scoped_allocator_adaptor::_Constructible): New alias template.
4909         (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
4910         Constrain template constructors.
4911         * testsuite/20_util/scoped_allocator/3.cc: New test.
4912         * testsuite/20_util/scoped_allocator/outermost.cc: New test.
4913
4914 2016-10-05  Jonathan Wakely  <jwakely@redhat.com>
4915
4916         PR libstdc++/70564
4917         * testsuite/20_util/not_fn/1.cc: Fix test.
4918         * testsuite/experimental/functional/not_fn.cc: Likewise.
4919
4920         PR libstdc++/70101
4921         * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
4922         constructors.
4923         * testsuite/23_containers/priority_queue/allocator.cc: New test.
4924
4925         PR libstdc++/77864
4926         * include/bits/stl_map.h (map::map()): Use nothrow constructibility
4927         of comparison function in conditional noexcept.
4928         * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
4929         * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
4930         * include/bits/stl_set.h (set::set()): Likewise.
4931         * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
4932         New test.
4933         * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
4934         Likewise.
4935         * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
4936         Likewise.
4937         * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
4938         Likewise.
4939
4940         * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
4941         alias declaration.
4942
4943         PR libstdc++/70564
4944         * include/experimental/functional (_Not_fn): Remove.
4945         (not_fn): Use std::_Not_fn.
4946         * include/std/functional (_Not_fn): Add second parameter to
4947         disambiguate copying from initialization by not_fn. Define for C++14.
4948         (not_fn): Add second argument to initialization.
4949         * testsuite/20_util/not_fn/1.cc: Copy call wrapper using
4950         direct-initialization.
4951
4952 2016-10-03  François Dumont  <fdumont@gcc.gnu.org>
4953
4954         * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
4955         declaration...
4956         * src/c++11/mutex_pool.h: ... here. New.
4957         * src/c++11/debug.cc: Use latter.
4958
4959 2016-10-03  Jonathan Wakely  <jwakely@redhat.com>
4960
4961         * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
4962         * doc/html/*: Regenerate.
4963         * include/experimental/numeric (__abs): Move to <numeric>.
4964         (gcd, lcm): Use __detail::gcd and __detail::lcm.
4965         * include/std/numeric (__detail::__abs_integral)
4966         (__detail::__gcd, __detail::__lcm): Define.
4967         (gcd, lcm): Define for C++17.
4968         * testsuite/26_numerics/gcd/1.cc: New test.
4969         * testsuite/26_numerics/lcm/1.cc: New test.
4970         * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
4971         * testsuite/experimental/numeric/lcd.cc: ... this.
4972
4973         PR libstdc++/68323
4974         PR libstdc++/77794
4975         * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
4976         __cxa_thread_atexit and __gnu_cxx::__freeres.
4977         * include/Makefile.am: Add <experimental/bits/lfts_config.h>
4978         * include/Makefile.in: Regenerate.
4979         * include.bits/basic_string.h: Fix nesting of versioned namespaces.
4980         * include/bits/c++config: Declare versioned namespaces for literals.
4981         * include/bits/regex.h (basic_regex, match_results): Add workarounds
4982         for PR c++/59256.
4983         * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
4984         * include/std/chrono: Likewise.
4985         * include/std/complex: Likewise.
4986         * include/std/string_view: Likewise.
4987         * include/std/variant: Likewise. Add workaround for PR c++/59256.
4988         * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
4989         * include/experimental/bits/lfts_config.h: Declare versioned
4990         namespaces.
4991         * include/experimental/algorithm: Include
4992         <experimental/bits/lfts_config.h>.
4993         * include/experimental/any: Likewise.
4994         * include/experimental/bits/erase_if.h: Likewise.
4995         * include/experimental/chrono: Likewise.
4996         * include/experimental/functional: Likewise.
4997         * include/experimental/memory_resource: Likewise.
4998         * include/experimental/optional: Likewise.
4999         * include/experimental/propagate_const: Likewise.
5000         * include/experimental/random: Likewise.
5001         * include/experimental/ratio: Likewise.
5002         * include/experimental/system_error: Likewise.
5003         * include/experimental/tuple: Likewise.
5004         * include/experimental/type_traits: Likewise.
5005         * include/experimental/utility: Likewise.
5006         * include/experimental/string_view: Likewise. Fix nesting of
5007         versioned namespaces.
5008         * include/experimental/bits/string_view.tcc: Reopen inline namespace
5009         for non-inline function definitions.
5010         * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
5011         * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
5012         * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
5013         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
5014         Likewise.
5015         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
5016         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
5017         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
5018         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
5019         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
5020         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
5021
5022         PR libstdc++/77814
5023         * include/bits/std_abs.h: Use "C++" language linkage.
5024         * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
5025         the end. Add <stdalign.h>.
5026
5027 2016-10-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
5028
5029         PR libstdc++/77802
5030         * testsuite/20_util/tuple/77802.cc: New.
5031
5032         Revert:
5033         2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5034         Implement LWG 2729 for tuple.
5035         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5036         Suppress conditionally.
5037         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5038         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5039         (_Tuple_impl(const _Head&)): Constrain.
5040         (_Tuple_impl(_UHead&&)): Likewise.
5041         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5042         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5043         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5044         (operator=(const tuple&)): Enable conditionally.
5045         (operator=(tuple&&)): Suppress conditionally.
5046         (operator=(const tuple<_UElements...>&)): Constrain.
5047         (operator=(tuple<_UElements...>&&)): Likewise.
5048         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5049         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5050         (operator=(const tuple<_U1, _U2>&)): Constrain.
5051         (operator=(tuple<_U1, _U2>&&)): Likewise.
5052         (operator=(const pair<_U1, _U2>&)): Likewise.
5053         (operator=(pair<_U1, _U2>&&)): Likewise.
5054         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5055         * testsuite/20_util/tuple/tuple_traits.cc: New.
5056
5057 2016-09-30  Jonathan Wakely  <jwakely@redhat.com>
5058
5059         PR libstdc++/77795
5060         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
5061         for gets.
5062         * config.h.in: Regenerate.
5063         * configure: Regenerate.
5064         * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
5065         for C++98 and C++11.
5066         * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
5067         * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
5068
5069         * doc/xml/manual/intro.xml: Document LWG 2192 changes.
5070         * doc/html/*: Regenerate.
5071         * include/Makefile.am: Add bits/std_abs.h.
5072         * include/Makefile.in: Regenerate.
5073         * include/bits/std_abs.h: New header defining all required overloads
5074         of std::abs in one place (LWG 2294).
5075         * include/c_global/cmath (abs(double), abs(float), abs(long double)):
5076         Move to bits/std_abs.h.
5077         (abs<_Tp>(_Tp)): Remove.
5078         * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
5079         Move to bits/std_abs.h.
5080         * testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
5081         * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
5082         * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
5083         * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.
5084
5085         PR libstdc++/77801
5086         * include/experimental/numeric: Include <numeric>.
5087         (__abs): Define.
5088         (gcd, lcm): Use __abs instead of std::abs.
5089         * testsuite/experimental/numeric/77801.cc: New test.
5090         * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
5091         * testsuite/experimental/numeric/lcm.cc: Likewise.
5092
5093 2016-09-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
5094
5095         Make optional::reset noexcept, make optional::value
5096         work in constant expressions.
5097         * include/std/optional (_M_get): Make constexpr.
5098         (reset): Make noexcept.
5099         * testsuite/20_util/optional/assignment/7.cc: New.
5100         * testsuite/20_util/optional/observers/6.cc: New.
5101
5102 2016-09-29  Jonathan Wakely  <jwakely@redhat.com>
5103
5104         * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
5105         outside _GLIBCXX_USE_C99_MATH_TR1 condition.
5106
5107 2016-09-29  Alan Modra  <amodra@gmail.com>
5108
5109         * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
5110         * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
5111         Use LONG_DOUBLE_COMPAT_FLAGS.
5112         * Makefile.in: Regenerate.
5113         * configure: Regenerate.
5114         * doc/Makefile.in: Regenerate.
5115         * include/Makefile.in: Regenerate.
5116         * libsupc++/Makefile.in: Regenerate.
5117         * po/Makefile.in: Regenerate.
5118         * python/Makefile.in: Regenerate.
5119         * src/Makefile.in: Regenerate.
5120         * src/c++11/Makefile.in: Regenerate.
5121         * src/c++98/Makefile.in: Regenerate.
5122         * src/filesystem/Makefile.in: Regenerate.
5123         * testsuite/Makefile.in: Regenerate.
5124
5125 2016-09-28  Jonathan Wakely  <jwakely@redhat.com>
5126
5127         * include/std/chrono (system_clock): Fix typo in comment.
5128
5129         * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
5130         definition.
5131         * src/filesystem/ops.cc (file_time): Take error_code parameter and
5132         check for overflow.
5133         (do_copy_file, last_write_time): Pass error_code in file_time calls.
5134         * testsuite/experimental/filesystem/operations/last_write_time.cc:
5135         New.
5136         * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
5137
5138         PR libstdc++/77686
5139         * include/std/functional (_Any_data): Add may_alias attribute.
5140
5141 2016-09-27  Jonathan Wakely  <jwakely@redhat.com>
5142
5143         * doc/xml/manual/status_cxx2017.xml: Update status.
5144         * doc/html/*: Regenerate.
5145         * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
5146         * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
5147
5148         * doc/xml/manual/status_cxx2017.xml: Update status.
5149         * include/c_global/cmath (hypot): Add three-dimensional overloads.
5150         * testsuite/26_numerics/headers/cmath/hypot.cc: New.
5151
5152 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5153
5154         PR libstdc++/77727
5155         * include/std/optional (optional(const optional<_Up>&)):
5156         Default-initialize the base and use emplace.
5157         (optional(optional<_Up>&&)): Likewise.
5158         * testsuite/20_util/optional/cons/77727.cc: New.
5159
5160 2016-09-26  François Dumont  <fdumont@gcc.gnu.org>
5161
5162         * include/debug/safe_base.h
5163         (_Safe_iterator_base::_M_detach_single): Make public.
5164
5165 2016-09-26  Jonathan Wakely  <jwakely@redhat.com>
5166
5167         * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
5168         redefine macro defined in <bits/stl_iterator.h>.
5169
5170         * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
5171         iterator is not past-the-end.
5172         * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
5173         Likewise.
5174         * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
5175         Likewise.
5176         * include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
5177         * include/bits/unordered_map.h (unordered_map::extract(const_iterator))
5178         (unordered_multimap::extract(const_iterator)): Likewise.
5179         * include/bits/unordered_set.h (unordered_set::extract(const_iterator))
5180         (unordered_multiset::extract(const_iterator)): Likewise.
5181
5182 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5183
5184         PR libstdc++/77717
5185         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
5186         Fix an out-of-bounds access.
5187
5188 2016-09-26  Marek Polacek  <polacek@redhat.com>
5189
5190         PR c/7652
5191         * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
5192
5193 2016-09-25  François Dumont  <fdumont@gcc.gnu.org>
5194
5195         * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
5196         functional.
5197         (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
5198         * testsuite/23_containers/vector/debug/mutex_association.cc: New.
5199
5200         * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
5201         bitset*)): Remove __unused__ attribute.
5202         * include/debug/safe_base.h (_Safe_iterator_base): Make
5203         _Safe_sequence_base a friend.
5204         (_Safe_iterator_base::_M_attach): Make protected.
5205         (_Safe_iterator_base::_M_attach_single): Likewise.
5206         (_Safe_iterator_base::_M_detach): Likewise.
5207         (_Safe_iterator_base::_M_detach_single): Likewise.
5208         (_Safe_sequence_base): Make _Safe_iterator_base a friend.
5209         (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
5210         (_Safe_sequence_base::_M_swap): Make protected.
5211         (_Safe_sequence_base::_M_attach): Make private.
5212         (_Safe_sequence_base::_M_attach_single): Likewise.
5213         (_Safe_sequence_base::_M_detach): Likewise.
5214         (_Safe_sequence_base::_M_detach_single): Likewise.
5215         * include/debug/safe_container.h
5216         (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
5217         * include/debug/safe_iterator.h
5218         (_Safe_iterator::operator++()): Name __scoped_lock instance.
5219         * include/debug/safe_iterator.tcc: Remove trailing line.
5220         * include/debug/safe_unordered_base.h
5221         (_Safe_local_iterator_base::_M_attach): Make protected.
5222         (_Safe_local_iterator_base::_M_attach_single): Likewise.
5223         (_Safe_local_iterator_base::_M_detach): Likewise.
5224         (_Safe_local_iterator_base::_M_detach_single): Likewise.
5225         (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
5226         (_Safe_unordered_container_base::_M_attach_local): Make private.
5227         (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
5228         (_Safe_unordered_container_base::_M_detach_local): Likewise.
5229         (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
5230
5231         * include/parallel/algo.h: Generalize usage of std::__iterator_category.
5232         Adjust whitespaces.
5233
5234 2016-09-23  Jonathan Wakely  <jwakely@redhat.com>
5235
5236         PR libstdc++/56166
5237         PR libstdc++/77582
5238         * include/bits/basic_string.h (basic_string::clear()): Drop reference
5239         and use empty rep.
5240         * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
5241         Likewise.
5242         * testsuite/21_strings/basic_string/56166.cc: New.
5243         * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
5244
5245         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
5246         (basic_string::erase(size_type, size_type)): Add fast path for
5247         truncating the string, by calling _M_set_length directly.
5248         (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
5249         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
5250         (basic_string::resize(size_type, _CharT)): Likewise.
5251
5252 2016-09-22  Jason Merrill  <jason@redhat.com>
5253
5254         * configure.ac: Define HAVE_MEMALIGN for newlib.
5255
5256 2015-09-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5257
5258         * config/cpu/m68k/atomicity.h: Adjust comment.
5259         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
5260         explicit atomicity_dir setup via configure.host.
5261         * configure.host (rtems-*): Set atomicity_dir.
5262         * configure: Regenerate.
5263
5264 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5265
5266         Implement C++17 node extraction and insertion (P0083R5)
5267         * doc/xml/manual/status_cxx2017.xml: Document status.
5268         * doc/html/*: Regenerate.
5269         * include/Makefile.am: Add bits/node_handle.h and reorder.
5270         * include/Makefile.in: Regenerate.
5271         * include/bits/hashtable.h (_Hashtable::node_type)
5272         (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
5273         (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
5274         (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
5275         (_Hash_merge_helper): Define primary template.
5276         * include/bits/node_handle.h: New header.
5277         * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
5278         friend.
5279         (map::node_type, map::insert_return_type, map::extract, map::merge)
5280         (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
5281         Define new members.
5282         (_Rb_tree_merge_helper): Specialize for map.
5283         * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
5284         as friend.
5285         (multimap::node_type, multimap::extract, multimap::merge)
5286         (multimap::insert(node_type&&))
5287         (multimap::insert(const_iterator, node_type&&)): Define.
5288         (_Rb_tree_merge_helper): Specialize for multimap.
5289         * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
5290         as friend.
5291         (multiset::node_type, multiset::extract, multiset::merge)
5292         (multiset::insert(node_type&&))
5293         (multiset::insert(const_iterator, node_type&&)): Define.
5294         * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
5295         friend.
5296         (set::node_type, set::insert_return_type, set::extract, set::merge)
5297         (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
5298         Define.
5299         (_Rb_tree_merge_helper): Specialize for set.
5300         * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
5301         (_Rb_tree::node_type, _Rb_tree::insert_return_type)
5302         (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
5303         (_Rb_tree::_M_reinsert_node_hint_unique)
5304         (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
5305         (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
5306         (_Rb_tree_merge_helper): Specialize for multiset.
5307         * include/bits/unordered_map.h (unordered_map): Declare
5308         unordered_map<> and unordered_multimap<> as friends.
5309         (unordered_map::node_type, unordered_map::insert_return_type)
5310         (unordered_map::extract, unordered_map::merge)
5311         (unordered_map::insert(node_type&&))
5312         (unordered_map::insert(const_iterator, node_type&&))
5313         (unordered_multimap): Declare _Hash_merge_helper as friend.
5314         (unordered_multimap::node_type, unordered_multimap::extract)
5315         (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
5316         (unordered_multimap::insert(const_iterator, node_type&&)): Define.
5317         (_Hash_merge_helper): Specialize for unordered maps and multimaps.
5318         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
5319         Declare _Hash_merge_helper as friend.
5320         (unordered_set::node_type, unordered_set::insert_return_type)
5321         (unordered_set::extract, unordered_set::merge)
5322         (unordered_set::insert(node_type&&))
5323         (unordered_set::insert(const_iterator, node_type&&)): Define.
5324         (unordered_multiset::node_type, unordered_multiset::extract)
5325         (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
5326         (unordered_multiset::insert(const_iterator, node_type&&)): Define.
5327         (_Hash_merge_helper): Specialize for unordered sets and multisets.
5328         * include/debug/map.h (map): Add using declarations or forwarding
5329         functions for new members.
5330         * include/debug/map.h (multimap): Likewise.
5331         * include/debug/map.h (multiset): Likewise.
5332         * include/debug/map.h (set): Likewise.
5333         * include/debug/unordered_map (unordered_map, unordered_multimap):
5334         Likewise.
5335         * include/debug/unordered_set( unordered_set, unordered_multiset):
5336         Likewise.
5337         * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
5338         helper function.
5339         (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
5340         (StdNodeHandlePrinter): Define printer for node handles.
5341         (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
5342         * testsuite/23_containers/map/modifiers/extract.cc: New.
5343         * testsuite/23_containers/map/modifiers/merge.cc: New.
5344         * testsuite/23_containers/multimap/modifiers/extract.cc: New.
5345         * testsuite/23_containers/multimap/modifiers/merge.cc: New.
5346         * testsuite/23_containers/multiset/modifiers/extract.cc: New.
5347         * testsuite/23_containers/multiset/modifiers/merge.cc: New.
5348         * testsuite/23_containers/set/modifiers/extract.cc: New.
5349         * testsuite/23_containers/set/modifiers/merge.cc: New.
5350         * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
5351         * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
5352         * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
5353         New.
5354         * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
5355         * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
5356         New.
5357         * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
5358         * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
5359         * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
5360         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
5361         dg-error lineno.
5362         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
5363
5364 2016-09-22  Ville Voutilainen  <ville.voutilainen@gmail.com>
5365
5366         Fix tests on old arm platforms for optional.
5367         * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
5368
5369 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5370
5371         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
5372         recent change to _Variant_storage.
5373         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
5374         reference type.
5375
5376         * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
5377         std::forward and ::new. Cast pointer to void*.
5378         * include/std/variant (_Variant_storage, _Union, _Variant_base)
5379         (__access, __visit_invoke, variant, visit): Qualify std::forward.
5380         * testsuite/20_util/variant/compile.cc: Test for ADL problems.
5381
5382 2016-09-22  Tim Shen  <timshen@google.com>
5383
5384         * include/std/variant (variant::operator=): Fix assignment
5385         on references.
5386         * testsuite/20_util/variant/compile.cc: Add test.
5387
5388 2016-09-22  Tim Shen  <timshen@google.com>
5389
5390         PR libstdc++/77641
5391         * include/std/variant (_Variant_storage::_Variant_storage):
5392         Change _Variant_storage's union to be default constructible.
5393         * testsuite/20_util/variant/compile.cc: New test.
5394
5395 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5396
5397         PR libstdc++/77288
5398         * include/std/optional (__is_optional_impl, __is_optional): Remove.
5399         (__converts_from_optional, __assigns_from_optional): New.
5400         (optional(_Up&&)): Use is_same instead of __is_optional.
5401         (optional(const optional<_Up>&)): Constrain with
5402         __converts_from_optional.
5403         (optional(optional<_Up>&&)): Likewise.
5404         (operator=(_Up&&)): Use is_same instead of __is_optional, check
5405         is_same and is_scalar.
5406         (operator=(const optional<_Up>&)): Constrain with
5407         __converts_from_optional and __assigns_from_optional.
5408         (operator=(optional<_Up>&&)): Likewise.
5409         * testsuite/20_util/optional/77288.cc: New.
5410         * testsuite/20_util/optional/cons/value.cc: Adjust.
5411
5412 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5413
5414         Implement LWG 2729 for tuple.
5415         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5416         Suppress conditionally.
5417         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5418         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5419         (_Tuple_impl(const _Head&)): Constrain.
5420         (_Tuple_impl(_UHead&&)): Likewise.
5421         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5422         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5423         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5424         (operator=(const tuple&)): Enable conditionally.
5425         (operator=(tuple&&)): Suppress conditionally.
5426         (operator=(const tuple<_UElements...>&)): Constrain.
5427         (operator=(tuple<_UElements...>&&)): Likewise.
5428         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5429         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5430         (operator=(const tuple<_U1, _U2>&)): Constrain.
5431         (operator=(tuple<_U1, _U2>&&)): Likewise.
5432         (operator=(const pair<_U1, _U2>&)): Likewise.
5433         (operator=(pair<_U1, _U2>&&)): Likewise.
5434         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5435         * testsuite/20_util/tuple/tuple_traits.cc: New.
5436
5437 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5438
5439         PR libstdc++/77537
5440         Implement LWG 2729 for pair.
5441         * include/bits/stl_pair.h (_PCC): New.
5442         (_ConstructiblePair, _ImplicitlyConvertiblePair):
5443         Turn into static member functions of _PCC.
5444         (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
5445         (_PCCP): New.
5446         (pair(const _T1&, const _T2&)): Adjust.
5447         (_PCCFP): New.
5448         (pair(const pair<_U1, _U2>&)): Adjust.
5449         (pair(_U1&&, const _T2&)): Likewise.
5450         (pair(const _T1&, _U2&&)): Likewise.
5451         (pair(_U1&&, _U2&&)): Likewise.
5452         (pair(pair<_U1, _U2>&&)): Likewise.
5453         (operator=(const pair&)): Make conditionally deleted.
5454         (operator=(pair&&)): Make conditionally suppressed.
5455         (operator=(const pair<_U1, _U2>&)): Constrain.
5456         (operator=(pair<_U1, _U2>&&): Likewise.
5457         * include/std/type_traits (__nonesuch): New.
5458         * testsuite/20_util/pair/traits.cc: New.
5459
5460 2016-09-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
5461
5462         PR libstdc++/77619
5463         * include/bits/stl_construct.h: (_Construct_novalue): New.
5464         (_Destroy_n_aux, _Destroy_n): New.
5465         * include/bits/stl_uninitialized.h: (type_traits):
5466         New include in C++11 mode.
5467         (__uninitialized_default_novalue_1): New.
5468         (__uninitialized_default_novalue_n_1): Likewise.
5469         (__uninitialized_default_novalue): Likewise.
5470         (__uninitialized_default_novalue_n): Likewise.
5471         (__uninitialized_copy_n_pair): Likewise.
5472         (uninitialized_default_construct):
5473         Use __uninitialized_default_novalue.
5474         (uninitialized_default_construct_n):
5475         Use __uninitialized_default_novalue_n.
5476         (uninitialized_value_construct): Use __uninitialized_default.
5477         (uninitialized_value_construct_n): Use __uninitialized_default_n.
5478         (uninitialized_move): Use uninitialized_copy.
5479         (uninitialized_move_n): Use __uninitialized_copy_n_pair.
5480         (destroy_at): Use _Destroy.
5481         (destroy): Likewise.
5482         (destroy_n): Likewise.
5483         * testsuite/20_util/specialized_algorithms/
5484         memory_management_tools/1.cc: Add tests for exceptions,
5485         add tests for trivial cases for construct and move.
5486
5487 2016-09-20  Jonathan Wakely  <jwakely@redhat.com>
5488
5489         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
5490         (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
5491
5492 2016-09-19  Jonathan Wakely  <jwakely@redhat.com>
5493
5494         PR libstdc++/77645
5495         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
5496         (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
5497         division to int to work with Python 3.
5498
5499         * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
5500
5501         * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
5502         display_hint to be set by subclasses.
5503         (StdVariantPrinter): Use array for display_hint. Adjust output to be
5504         more similar to std::any and std::optional output.
5505         (register_type_printers): Add type printers for basic_string_view
5506         typedefs and experimental::any. Adjust type printers for
5507         fundamentals_v1 templates to match fundamentals_v2 and later.
5508         * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
5509
5510         PR libstdc++/77645
5511         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
5512         argument.
5513         (ListWorkerBase.get_value_from_node): Define new method.
5514         (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
5515
5516 2016-09-17  Jonathan Wakely  <jwakely@redhat.com>
5517
5518         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
5519         (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
5520         Register for C++17 components in namespace std. Strip inline namespace
5521         from typename.
5522
5523 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5524
5525         * doc/xml/manual/profile_mode.xml: Fix typo.
5526         * doc/html/manual/profile_mode_devel.html: Regenerate.
5527
5528 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5529             Marc Glisse  <marc.glisse@inria.fr>
5530
5531         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
5532         (operator new(size_t, align_val_t)): Replace modulus operator with
5533         mask.
5534
5535 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5536
5537         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
5538         Increase alignment if less than sizeof(void*).
5539         [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
5540         Increase size if not a multiple of alignment.
5541
5542 2016-09-15  Jonathan Wakely  <jwakely@redhat.com>
5543
5544         * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
5545         * doc/html/*: Regenerate.
5546
5547         * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
5548         -Wno-deprecated.
5549         * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
5550
5551 2016-09-14  Marek Polacek  <polacek@redhat.com>
5552
5553         * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
5554         -Wno-deprecated.
5555
5556 2016-09-14  Christophe Lyon  <christophe.lyon@linaro.org>
5557
5558         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
5559         Move dg-do directive before dg-skip.
5560         * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
5561         Move dg-do directive before dg-require.
5562         * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
5563         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
5564         * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
5565         * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
5566         * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
5567         * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
5568         * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
5569         * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
5570         * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
5571         * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
5572         * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
5573         * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
5574         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
5575         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
5576         * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
5577         Likewise.
5578         * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
5579         * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
5580         * testsuite/27_io/objects/char/12048-5.cc: Likewise.
5581         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
5582         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
5583
5584 2016-09-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
5585
5586         Implement P0040R3, Extending memory management tools.
5587         * include/bits/stl_uninitialized.h (utility): New include
5588         in C++17 mode.
5589         (uninitialized_default_construct): New.
5590         (uninitialized_default_construct_n): Likewise.
5591         (uninitialized_value_construct): Likewise.
5592         (uninitialized_value_construct_n): Likewise.
5593         (uninitialized_move): Likewise.
5594         (uninitialized_move_n): Likewise.
5595         (destroy_at, destroy, destroy_n): Likewise.
5596         * testsuite/20_util/specialized_algorithms/memory_management_tools/
5597         1.cc: New.
5598
5599 2016-09-12  Jason Merrill  <jason@redhat.com>
5600
5601         * config/abi/pre/gnu.ver: Use [jmy] for size_t.
5602
5603 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
5604
5605         Implement P0253R1, Fixing a design mistake in the searchers
5606         interface in Library Fundamentals.
5607         * include/std/functional: (utility): New include in C++17 mode.
5608         (default_searcher): Use a pair as return type, adjust the definition.
5609         (boyer_moore_searcher): Likewise.
5610         (boyer_moore_horspool_searcher): Likewise.
5611         * testsuite/20_util/function_objects/searchers.cc: Adjust.
5612
5613 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
5614
5615         Implement C++17 string searchers.
5616         * include/std/functional: (unordered_map, vector): New includes
5617         in C++17 mode.
5618         (array, bits/stl_algo.h): Likewise.
5619         (default_searcher, __boyer_moore_map_base): New.
5620         (__boyer_moore_array_base, __is_std_equal_to): Likewise.
5621         (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
5622         (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
5623         (make_boyer_moore_searcher): Likewise.
5624         (make_boyer_moore_horspool_searcher): Likewise.
5625         * testsuite/20_util/function_objects/searchers.cc: New.
5626
5627 2016-09-12  Matthew Wahab  <matthew.wahab@arm.com>
5628
5629         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
5630         Move dg-do directive before dg-require.
5631         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
5632         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
5633         Likewise.
5634         * testsuite/22_locale/codecvt/utf8.cc: Likewise.
5635         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
5636         * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
5637         * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
5638         * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
5639         * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
5640         * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
5641         * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
5642         * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
5643         * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
5644         * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
5645         * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
5646         * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
5647         Likewise.
5648         * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
5649         Likewise.
5650         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
5651         * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
5652         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
5653         Likewise.
5654         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
5655         Likewise.
5656         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
5657         Likewise.
5658         * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
5659         Likewise.
5660         * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
5661         Likewise.
5662         * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
5663         Likewise.
5664         * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
5665         Likewise.
5666         * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
5667         Likewise.
5668         * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
5669         Likewise.
5670         * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
5671         Likewise.
5672         * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
5673         Likewise.
5674         * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
5675         Likewise.
5676         * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
5677         Likewise.
5678         * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
5679         Likewise.
5680         * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
5681         Likewise.
5682         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
5683         Likewise.
5684         * testsuite/23_containers/forward_list/debug/
5685         iterator_self_move_assign_neg.cc: Likewise.
5686         * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
5687         Likewise.
5688         * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
5689         Likewise.
5690         * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
5691         Likewise.
5692         * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
5693         Likewise.
5694         * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
5695         Likewise.
5696         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
5697         Likewise.
5698         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
5699         Likewise.
5700         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
5701         Likewise.
5702         * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
5703         * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
5704         * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
5705         * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
5706         * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
5707         * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
5708         * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
5709         * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
5710         * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
5711         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
5712         * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
5713         Likewise.
5714         * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
5715         * testsuite/23_containers/map/debug/60499.cc: Likewise.
5716         * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
5717         * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
5718         * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
5719         * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
5720         * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
5721         * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
5722         * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
5723         Likewise.
5724         * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
5725         * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
5726         * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
5727         * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
5728         * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
5729         * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
5730         * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
5731         * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
5732         * testsuite/23_containers/multimap/debug/
5733         iterator_self_move_assign_neg.cc: Likewise.
5734         * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
5735         Likewise.
5736         * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
5737         * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
5738         * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
5739         * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
5740         * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
5741         * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
5742         * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
5743         * testsuite/23_containers/multiset/debug/
5744         iterator_self_move_assign_neg.cc: Likewise.
5745         * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
5746         Likewise.
5747         * testsuite/23_containers/set/debug/60499.cc: Likewise.
5748         * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
5749         * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
5750         * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
5751         * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
5752         * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
5753         * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
5754         * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
5755         Likewise.
5756         * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
5757         * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
5758         * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
5759         * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
5760         * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
5761         Likewise.
5762         * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
5763         * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
5764         * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
5765         Likewise.
5766         * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
5767         Likewise.
5768         * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
5769         Likewise.
5770         * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
5771         * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
5772         * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
5773         * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
5774         * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
5775         * testsuite/23_containers/unordered_map/debug/
5776         invalid_local_iterator_compare_neg.cc: Likewise.
5777         * testsuite/23_containers/unordered_map/debug/
5778         invalid_local_iterator_range_neg.cc: Likewise.
5779         * testsuite/23_containers/unordered_map/debug/
5780         iterator_self_move_assign_neg.cc: Likewise.
5781         * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
5782         Likewise.
5783         * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
5784         Likewise.
5785         * testsuite/23_containers/unordered_map/debug/
5786         use_erased_local_iterator_neg.cc: Likewise.
5787         * testsuite/23_containers/unordered_map/debug/
5788         use_invalid_iterator_neg.cc: Likewise.
5789         * testsuite/23_containers/unordered_map/debug/
5790         use_invalid_local_iterator_neg.cc: Likewise.
5791         * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
5792         * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
5793         Likewise.
5794         * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
5795         Likewise.
5796         * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
5797         Likewise.
5798         * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
5799         Likewise.
5800         * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
5801         Likewise.
5802         * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
5803         Likewise.
5804         * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
5805         Likewise.
5806         * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
5807         Likewise.
5808         * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
5809         Likewise.
5810         * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
5811         Likewise.
5812         * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
5813         Likewise.
5814         * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
5815         Likewise.
5816         * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
5817         Likewise.
5818         * testsuite/23_containers/unordered_multimap/debug/
5819         invalid_local_iterator_compare_neg.cc: Likewise.
5820         * testsuite/23_containers/unordered_multimap/debug/
5821         invalid_local_iterator_range_neg.cc: Likewise.
5822         * testsuite/23_containers/unordered_multimap/debug/
5823         iterator_self_move_assign_neg.cc: Likewise.
5824         * testsuite/23_containers/unordered_multimap/debug/
5825         max_load_factor_neg.cc: Likewise.
5826         * testsuite/23_containers/unordered_multimap/debug/
5827         self_move_assign_neg.cc: Likewise.
5828         * testsuite/23_containers/unordered_multimap/debug/
5829         use_erased_local_iterator_neg.cc: Likewise.
5830         * testsuite/23_containers/unordered_multimap/debug/
5831         use_invalid_iterator_neg.cc: Likewise.
5832         * testsuite/23_containers/unordered_multimap/debug/
5833         use_invalid_local_iterator_neg.cc: Likewise.
5834         * testsuite/23_containers/unordered_multiset/debug/60499.cc:
5835         Likewise.
5836         * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
5837         Likewise.
5838         * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
5839         Likewise.
5840         * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
5841         Likewise.
5842         * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
5843         Likewise.
5844         * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
5845         Likewise.
5846         * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
5847         Likewise.
5848         * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
5849         Likewise.
5850         * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
5851         Likewise.
5852         * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
5853         Likewise.
5854         * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
5855         Likewise.
5856         * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
5857         Likewise.
5858         * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
5859         Likewise.
5860         * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
5861         Likewise.
5862         * testsuite/23_containers/unordered_multiset/debug/
5863         invalid_local_iterator_compare_neg.cc: Likewise.
5864         * testsuite/23_containers/unordered_multiset/debug/
5865         invalid_local_iterator_range_neg.cc: Likewise.
5866         * testsuite/23_containers/unordered_multiset/debug/
5867         iterator_self_move_assign_neg.cc: Likewise.
5868         * testsuite/23_containers/unordered_multiset/debug/
5869         max_load_factor_neg.cc: Likewise.
5870         * testsuite/23_containers/unordered_multiset/debug/
5871         self_move_assign_neg.cc: Likewise.
5872         * testsuite/23_containers/unordered_multiset/debug/
5873         use_erased_local_iterator_neg.cc: Likewise.
5874         * testsuite/23_containers/unordered_multiset/debug/
5875         use_invalid_iterator_neg.cc: Likewise.
5876         * testsuite/23_containers/unordered_multiset/debug/
5877         use_invalid_local_iterator_neg.cc: Likewise.
5878         *  testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
5879         * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
5880         * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
5881         * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
5882         Likewise.
5883         * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
5884         * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
5885         * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
5886         Likewise.
5887         * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
5888         Likewise.
5889         * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
5890         Likewise.
5891         * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
5892         * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
5893         * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
5894         * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
5895         * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
5896         * testsuite/23_containers/unordered_set/debug/
5897         invalid_local_iterator_compare_neg.cc: Likewise.
5898         * testsuite/23_containers/unordered_set/debug/
5899         invalid_local_iterator_range_neg.cc: Likewise.
5900         * testsuite/23_containers/unordered_set/debug/
5901         iterator_self_move_assign_neg.cc: Likewise.
5902         * testsuite/23_containers/unordered_set/debug/
5903         max_load_factor_neg.cc: Likewise.
5904         * testsuite/23_containers/unordered_set/debug/
5905         self_move_assign_neg.cc: Likewise.
5906         * testsuite/23_containers/unordered_set/debug/
5907         use_erased_local_iterator_neg.cc: Likewise.
5908         * testsuite/23_containers/unordered_set/debug/
5909         use_invalid_iterator_neg.cc: Likewise.
5910         * testsuite/23_containers/unordered_set/debug/
5911         use_invalid_local_iterator_neg.cc: Likewise.
5912         * testsuite/23_containers/vector/debug/52433.cc: Likewise.
5913         * testsuite/23_containers/vector/debug/60499.cc: Likewise.
5914         * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
5915         * testsuite/23_containers/vector/debug/
5916         iterator_self_move_assign_neg.cc: Likewise.
5917         * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
5918         Likewise.
5919         * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
5920         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
5921         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
5922         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
5923         * testsuite/29_atomics/atomic/60658.cc: Likewise.
5924         * testsuite/29_atomics/atomic/60695.cc: Likewise.
5925         * testsuite/29_atomics/atomic/62259.cc: Likewise.
5926         * testsuite/29_atomics/atomic/64658.cc: Likewise.
5927         * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
5928         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
5929         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
5930         Likewise.
5931
5932 2016-09-11  Jonathan Wakely  <jwakely@redhat.com>
5933
5934         * libsupc++/new_opant.cc: Include exception_defines.h.
5935         * libsupc++/new_opvant.cc: Likewise.
5936
5937 2016-09-09  Jason Merrill  <jason@redhat.com>
5938
5939         Implement P0035R4, C++17 new of over-aligned types.
5940         * libsupc++/new: Declare aligned new/delete operators.
5941         * config/abi/pre/gnu.ver: Export them.
5942         * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
5943         _aligned_malloc.
5944         * libsupc++/new_opa.cc: New.
5945         * libsupc++/new_opant.cc: New.
5946         * libsupc++/new_opva.cc: New.
5947         * libsupc++/new_opva.cc: New.
5948         * libsupc++/del_opa.cc: New.
5949         * libsupc++/del_opant.cc: New.
5950         * libsupc++/del_opsa.cc: New.
5951         * libsupc++/del_opva.cc: New.
5952         * libsupc++/del_opvant.cc: New.
5953         * libsupc++/del_opvsa.cc: New.
5954         * libsupc++/Makefile.am: Build them.
5955
5956 2016-09-05  Tim Shen  <timshen@google.com>
5957
5958         * include/std/variant: include bits/move.h for std::addressof.
5959
5960 2016-09-05  Mikhail Strelnikov  <mikhail.strelnikov@gmail.com>
5961
5962         * include/std/variant (_Variant_storage::_M_storage()): Use
5963         std::addressof instead of operator& to take address.
5964
5965 2016-09-02  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
5966
5967         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
5968         setrlimit on both native and cross targets.
5969         * configure: Regenerate.
5970
5971 2016-08-31  Jonathan Wakely  <jwakely@redhat.com>
5972
5973         * include/bits/shared_ptr.h (_Assignable): New alias template.
5974         (shared_ptr::operator=(const shared_ptr<_Tp1>&))
5975         (shared_ptr::operator=(shared_ptr<_Tp1>&&))
5976         (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
5977         _Assignable.
5978         * include/bits/shared_ptr_base.h (_Assignable): New alias template.
5979         (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
5980         (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
5981         (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
5982         _Assignable.
5983         (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
5984         (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
5985         _Convertible.
5986         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
5987         match on any line.
5988         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
5989         * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
5990         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
5991         expected errors. Remove unnecessary code.
5992         * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
5993
5994         * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
5995         comparison object.
5996         * testsuite/23_containers/set/move_comparison.cc: New test.
5997
5998         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
5999         New test.
6000
6001 2016-08-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
6002
6003         PR libstdc++/77395
6004         * include/std/type_traits (is_constructible): Forward-declare...
6005         (__is_base_to_derived_ref): ...and use here.
6006         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
6007         * testsuite/20_util/is_constructible/77395.cc: New.
6008         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
6009         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
6010         Likewise.
6011         * testsuite/20_util/tuple/77395.cc: New.
6012
6013 2016-08-30  Uros Bizjak  <ubizjak@gmail.com>
6014
6015         * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
6016         directive above dg-require-namedlocale directive.
6017         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
6018         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
6019         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
6020         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
6021         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
6022
6023 2016-08-27  Tim Shen  <timshen@google.com>
6024
6025         PR libstdc++/77356
6026         * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
6027         _M_expression_term): Modify to support dash literal.
6028         * include/bits/regex_scanner.h: Add dash as a token type to make
6029         a different from the mandated dash literal by escaping.
6030         * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
6031         token in bracket expression parsing.
6032         * testsuite/28_regex/regression.cc: Add new testcases.
6033
6034 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6035
6036         PR libstdc++/51960
6037         * doc/xml/manual/intro.xml: Document DR 2127 change.
6038         * doc/html/*: Regenerate.
6039         * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
6040         (operator++(), operator++(int)): Use injected class name.
6041         * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
6042
6043         * testsuite/*: Use { target c++11 } or { target c++14 } instead of
6044         using -std in dg-options.
6045
6046 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6047             Pedro Alves  <palves@redhat.com>
6048
6049         * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
6050         and restore dg-interpreter-batch-mode.
6051         * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
6052         gdb-dg-runtest instead of dg-runtest.
6053         * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
6054
6055 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6056
6057         * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
6058         precise patterns for basic_string constructors.
6059         (GLIBCXX_3.4.23): Export new constructors.
6060         * doc/xml/manual/intro.xml: Document LWG 2583 status.
6061         * doc/html/*: Regenerate.
6062         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
6063         (basic_string(const basic_string&, size_type, const Alloc&)): Add
6064         new constructor for LWG 2583.
6065         (basic_string(const basic_string&, size_type, size_type)): Remove
6066         default argument.
6067         [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
6068         * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
6069         * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
6070         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
6071
6072 2016-08-24  Aditya Kumar  <hiraditya@msn.com>
6073
6074         * include/bits/algorithmfwd.h: Remove trailing whitespace.
6075         * include/bits/shared_ptr_base.h: Likewise.
6076
6077 2016-08-23  Jonathan Wakely  <jwakely@redhat.com>
6078
6079         * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
6080         * include/profile/array (array): Likewise.
6081         (array::swap): Fix exception specification for zero-sized arrays.
6082
6083         PR libstdc++/77334
6084         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
6085         (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
6086         * testsuite/23_containers/map/77334.cc: New test.
6087
6088         * doc/xml/manual/using.xml: Remove reference to -pthreads option.
6089         * doc/html/*: Regenerate.
6090
6091         * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
6092         * testsuite/experimental/feat-lib-fund.cc: Likewise.
6093
6094         PR libstdc++/71771
6095         * include/bits/stl_iterator.h
6096         (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
6097         define for C++98 mode.
6098         (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
6099         * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
6100         -std=gnu++98.
6101         * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
6102         * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
6103         * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
6104         * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
6105         difference operator.
6106         * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
6107         difference operator for C++98.
6108         * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
6109
6110         * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
6111         * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
6112         (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
6113         * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
6114         (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
6115         Likewise.
6116         * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
6117         _GLIBCXX14_CONSTEXPR.
6118         (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
6119         * include/std/array (array::begin, array::end, array::rbegin)
6120         (array::rend, array::cbegin, array:cend, array::crbegin)
6121         (array::crend, array::operator[], array::at, array::front)
6122         (array::back, array::data): Likewise.
6123         * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
6124         with separate tests for C++11, C++14, and C++17.
6125         * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
6126         * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
6127         * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
6128
6129 2016-08-22  Tim Shen  <timshen@google.com>
6130
6131         Split _M_dfs() into smaller functions.
6132         * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
6133         (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
6134         (_M_handle_line_end_assertion, _M_handle_word_boundary)
6135         (_M_handle_subexpr_lookahead, _M_handle_match)
6136         (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
6137         Add separate function declarations.
6138         * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
6139
6140 2016-08-22  Gleb Natapov  <gleb@scylladb.com>
6141
6142         PR libstdc++/68297
6143         * config/abi/pre/gnu-versioned-namespace.ver: Export
6144         __cxa_init_primary_exception and std::exception_ptr(void*).
6145         * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
6146         export __cxa_init_primary_exception and std::exception_ptr(void*).
6147         * include/Makefile.am: Add new headers.
6148         * include/Makefile.in: Regenerate.
6149         * libsupc++/Makefile.am: Add new headers.
6150         * libsupc++/Makefile.in: Regenerate.
6151         * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
6152         * libsupc++/cxxabi_init_exception.h: New header.
6153         (__cxa_init_primary_exception): Declare.
6154         * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
6155         (__cxa_throw): Use __cxa_init_primary_exception.
6156         * libsupc++/exception (std::exception): Move to ...
6157         * libsupc++/exception.h: New header.
6158         * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
6159         friend declaration.
6160         (__exception_ptr::__dest_thunk): New function template.
6161         (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
6162         Use __cxa_allocate_exception and __cxa_init_primary_exception to
6163         create exception_ptr.
6164         * libsupc++/typeinfo: Include bits/exception.h instead of exception.
6165         * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
6166
6167 2016-08-22  Jonathan Wakely  <jwakely@redhat.com>
6168
6169         * doc/xml/api.xml: Replace hardcoded links for specific versions with
6170         link to docs for all releases.
6171         * doc/html/*: Regenerate.
6172
6173         PR libstdc++/77322
6174         * doc/xml/manual/intro.xml: Document DR 2062 change.
6175         * include/std/functional (function::swap): Add noexcept.
6176         (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
6177         * testsuite/20_util/function/77322.cc: New test.
6178
6179 2016-08-19  Jonathan Wakely  <jwakely@redhat.com>
6180
6181         * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
6182         *-*-solaris* instead of -pthreads.
6183         * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
6184         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
6185         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
6186         * testsuite/23_containers/list/pthread1.cc: Likewise.
6187         * testsuite/23_containers/list/pthread5.cc: Likewise.
6188         * testsuite/23_containers/map/pthread6.cc: Likewise.
6189         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
6190         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
6191         * testsuite/30_threads/shared_mutex/*: Likewise.
6192         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
6193         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6194         default_weaktoshared.cc: Likewise.
6195         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6196         mutex_weaktoshared.cc: Likewise.
6197         * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
6198         dg-require-effective-target instead of using -std option.
6199         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
6200         Likewise.
6201         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
6202         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
6203         Likewise.
6204         * testsuite/30_threads/async/*: Likewise.
6205         * testsuite/30_threads/call_once/*: Likewise.
6206         * testsuite/30_threads/condition_variable/*: Likewise.
6207         * testsuite/30_threads/condition_variable_any/*: Likewise.
6208         * testsuite/30_threads/future/*: Likewise.
6209         * testsuite/30_threads/lock/*: Likewise.
6210         * testsuite/30_threads/mutex/*: Likewise.
6211         * testsuite/30_threads/packaged_task/*: Likewise.
6212         * testsuite/30_threads/promise/*: Likewise.
6213         * testsuite/30_threads/recursive_mutex/*: Likewise.
6214         * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
6215         * testsuite/30_threads/shared_future/*: Likewise.
6216         * testsuite/30_threads/shared_lock/*: Likewise.
6217         * testsuite/30_threads/shared_timed_mutex/*: Likewise.
6218         * testsuite/30_threads/this_thread/*: Likewise.
6219         * testsuite/30_threads/thread/*: Likewise.
6220         * testsuite/30_threads/timed_mutex/*: Likewise.
6221         * testsuite/30_threads/try_lock/*: Likewise.
6222         * testsuite/30_threads/unique_lock/*: Likewise.
6223
6224         * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
6225         * doc/html/*: Regenerate.
6226         * include/experimental/functional (_Not_fn, not_fn): Match C++17
6227         semantics.
6228         * include/std/functional (_Not_fn, not_fn): Define for C++17.
6229         * testsuite/20_util/not_fn/1.cc: New.
6230         * testsuite/experimental/functional/not_fn.cc: Test abstract class.
6231         Remove test for volatile-qualified wrapper.
6232
6233         * include/std/atomic (atomic::is_always_lock_free): Define.
6234         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
6235         * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
6236         * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
6237         * doc/xml/manual/status_cxx2017.xml: Update status.
6238         * doc/html/*: Regenerate.
6239
6240         * include/experimental/tuple (apply): Qualify call to __apply_impl.
6241         * include/std/tuple (apply): Likewise.
6242         * testsuite/experimental/system_error/value.cc: Fix ambiguities in
6243         C++17 mode.
6244         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
6245         * testsuite/experimental/type_traits/value.cc: Likewise.
6246
6247         * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
6248         and variant.
6249         * doc/html/*: Regenerate.
6250
6251 2016-08-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
6252
6253         Implement the latest proposed resolution of LWG 2756.
6254         * include/std/optional (Optional_base(const _Tp&))
6255         (Optional_base(_Tp&&), using _Base::_Base): Remove.
6256         (optional(nullopt_t)): New.
6257         (optional(_Up&&)): Invoke base directly with in_place
6258         rather than creating a temporary, add default template
6259         argument, change constraints.
6260         (optional(const optional<_Up>&)): Invoke base directly
6261         with in_place, remove unnecessary constraints.
6262         (optional(optional<_Up>&& __t)): Likewise.
6263         (optional(in_place_t, _Args&&...)): New.
6264         (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
6265         (operator=(_Up&&)): Add default template argument, change constraints.
6266         (operator=(const optional<_Up>&)): Put is_same first in the
6267         constraints.
6268         (operator=(optional<_Up>&&)): Likewise.
6269         * testsuite/20_util/optional/assignment/5.cc: Add a test to
6270         verify assignment from something that can't be perfect-forwarded.
6271         * testsuite/20_util/optional/cons/value.cc: Add tests to verify
6272         that a nested optional is disengaged when constructed
6273         from a disengaged element type, and to verify that assignments
6274         from an engaged element type engage the optional.
6275
6276 2016-08-18  Tim Shen  <timshen@google.com>
6277
6278         Implement <variant>
6279
6280         * include/Makefile.am: Add new file std/variant.
6281         * include/Makefile.in: Generated from Makefile.am.
6282         * include/bits/enable_special_members.h: Add a tag type to allow
6283         the construction in non-default constructor.
6284         * include/bits/uses_allocator.h: Add convenience traits to
6285         detect constructibility.
6286         * include/std/variant: Implement <variant>.
6287         * testsuite/20_util/variant/compile.cc: Compile-time tests.
6288         * testsuite/20_util/variant/run.cc: Runtime tests.
6289
6290 2016-08-18  Jonathan Wakely  <jwakely@redhat.com>
6291
6292         * doc/xml/manual/test.xml (test.run.permutations): Expand section.
6293         (test.new_tests): Rewrite section.
6294         (tests.dg.directives): New section.
6295         * doc/html/*: Regenerate.
6296
6297         * doc/xml/manual/test.xml: Improve documentation of test targets.
6298         Document new-abi-baseline, check-debug, and check-parallel targets.
6299
6300         * doc/xml/manual/build_hacking.xml: New section on shared library
6301         versioning.
6302
6303         * doc/xml/manual/build_hacking.xml: Improve markup.
6304         * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
6305         to "Testing".
6306         * doc/xml/faq.xml: Change link text to "Testing".
6307
6308         * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
6309         dg-options directive.
6310
6311 2016-08-17  Jonathan Wakely  <jwakely@redhat.com>
6312
6313         * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
6314         directive and use effective target instead of dg-options.
6315
6316         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
6317         instead of -std in dg-options.
6318         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
6319         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
6320         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
6321         * testsuite/20_util/hash/quality.cc: Likewise.
6322         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
6323         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
6324         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
6325         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
6326         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
6327         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
6328
6329         * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
6330         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
6331         * testsuite/27_io/rvalue_streams.cc: Likewise.
6332
6333         * testsuite/26_numerics/complex/literals/types.cc: Add comment.
6334
6335         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
6336         Remove duplicate dg-options directive.
6337
6338         * testsuite/ext/profile/all.cc: Use effective target instead of
6339         -std=gnu++11. Use dg-additional-options instead of repeating options.
6340
6341         * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
6342         -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
6343         instead of dg-excess-errors.
6344
6345         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
6346         test for C++17.
6347         * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
6348         * testsuite/experimental/ratio/value.cc: Likewise.
6349         * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
6350         C++17.
6351         * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
6352         * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
6353         * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
6354         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
6355         * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
6356         * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
6357         * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
6358         * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
6359         * testsuite/tr1/5_numerical_facilities/special_functions/
6360         10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
6361         C++17 compatibility.
6362
6363         * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
6364         expected signatures for C++14 compatibility.
6365
6366         PR libstdc++/77264
6367         * include/bits/basic_string.h (operator=(__sv_type)
6368         (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
6369         (replace(size_type, size_type, __sv_type))
6370         (replace(const_iterator, const_iterator, __sv_type))
6371         (find(__sv_type, size_type), rfind(__sv_type, size_type))
6372         (compare(size_type, size_type, __sv_type)): Reformat.
6373         (_If_sv): Define helper for SFINAE constaints.
6374         (append(const _Tp&, size_type, size_type))
6375         (assign(const _Tp&, size_type, size_type))
6376         (insert(size_type, const _Tp&, size_type, size_type))
6377         (replace(size_type, size_type, const _Tp&, size_type, size_type)):
6378         Use _If_sv.
6379         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
6380         SFINAE constraints.
6381         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
6382         Likewise.
6383         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
6384         Likewise.
6385         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
6386         Likewise.
6387         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
6388         Likewise.
6389         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
6390         Likewise.
6391         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
6392         Likewise.
6393         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
6394         Likewise.
6395         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
6396         Likewise.
6397         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
6398         Likewise.
6399         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
6400         Likewise.
6401
6402 2016-08-16  Jonathan Wakely  <jwakely@redhat.com>
6403
6404         PR libstdc++/72847
6405         * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
6406         pointers to start and end of storage.
6407         * testsuite/23_containers/vector/bool/72847.cc: New test.
6408         * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
6409         _M_finish after deallocating.
6410         (vector<bool>::_M_fill_insert): Likewise.
6411         (vector<bool>::_M_insert_range): Likewise.
6412         (vector<bool>::_M_insert_aux): Likewise.
6413
6414 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
6415
6416         Implement LWG 2744 and LWG 2754.
6417         * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
6418         (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
6419         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
6420         Likewise.
6421         (emplace(_Args&&...)): Likewise.
6422         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
6423         * include/std/utility: (__is_in_place_type_impl): New.
6424         (__is_in_place_type): Likewise.
6425         * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
6426         emplace.
6427         * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
6428         in_place constructor.
6429         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
6430         * testsuite/20_util/any/requirements.cc: Add a test for
6431         in_place-constructing a non-default-constructible type.
6432
6433 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
6434
6435         Add a feature macro for C++17 make_from_tuple.
6436         * include/std/tuple (__cpp_lib_make_from_tuple): New.
6437         (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
6438         Qualify the call to get<>().
6439         * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
6440
6441 2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
6442
6443         * src/filesystem/ops.cc: Always include ostream and
6444         ext/stdio_filebuf.h.
6445         (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
6446         [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
6447         sendfile fails with ENOSYS or EINVAL.
6448
6449 2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
6450
6451         PR libstdc++/72840
6452         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
6453         syntax.
6454
6455 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
6456
6457         Implement C++17 make_from_tuple.
6458         * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
6459         * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
6460
6461 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
6462
6463         Implement LWG 2758.
6464         * include/bits/basic_string.h
6465         (append(__sv_type, size_type, size_type)): Turn into a template,
6466         change parameter type, constrain, add a conversion to __sv_type
6467         from the dependent parameter type.
6468         (assign(__sv_type, size_type, size_type)): Likewise.
6469         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
6470         (replace(size_type, size_type, __sv_type, size_type, size_type)):
6471         Likewise.
6472         (compare(size_type, size_type,__sv_type, size_type, size_type)):
6473         Likewise.
6474         * testsuite/21_strings/basic_string/lwg2758.cc: New.
6475
6476 2016-08-06  Jonathan Wakely  <jwakely@redhat.com>
6477
6478         * doc/xml/manual/status_cxx2017.xml: Update status table.
6479         * doc/html/manual/status.html: Regenerate.
6480
6481         * testsuite/lib/libstdc++.exp: Fix typo in comment.
6482
6483         PR libstdc++/72820
6484         * include/std/functional (_Function_base::_Base_manager::_M_clone):
6485         Qualify new operator.
6486         * testsuite/20_util/function/cons/72820.cc: New test.
6487
6488         * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
6489         * doc/html/manual/status.html: Regenerate.
6490         * include/Makefile.am: Add new header.
6491         * include/Makefile.in: Regenerate.
6492         * include/bits/invoke.h: New header.
6493         (__invoke): Make constexpr. Add && to types in exception specification.
6494         * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
6495         names. Include <bits/invoke.h> and use std::__invoke.
6496         * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
6497         new header.
6498         (invoke): Add && to types in exception specification.
6499         * include/std/tuple (apply, __apply_impl): Define for C++17.
6500         * testsuite/20_util/tuple/apply/1.cc: New test.
6501         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
6502         lineno.
6503
6504 2016-08-05  Jonathan Wakely  <jwakely@redhat.com>
6505
6506         * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
6507         * doc/html/manual/status.html: Regenerate.
6508
6509         * include/std/chrono (floor, ceil, round, abs): New for C++17.
6510         * testsuite/20_util/duration_cast/rounding.cc: New test.
6511         * testsuite/20_util/time_point_cast/rounding.cc: New test.
6512         * doc/xml/manual/status_cxx2017.xml: Update status table.
6513         * doc/html/manual/status.html: Regenerate.
6514         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
6515         dg-error lineno.
6516         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
6517         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
6518         * testsuite/20_util/duration/literals/range.cc: Likewise.
6519
6520         * include/std/functional (__callable_functor): Remove.
6521         (_Function_handler::_M_invoke): Use __invoke instead of
6522         __callable_functor or mem_fn.
6523         (function::_Callable): Use lvalue in result_of expression.
6524         (function): Remove TODO comments about allocators.
6525         * testsuite/20_util/function/cons/refqual.cc: New test.
6526
6527 2016-08-04  Jonathan Wakely  <jwakely@redhat.com>
6528
6529         * doc/xml/manual/status_cxx2017.xml: Update status table.
6530         * include/std/functional (__inv_unwrap): Move to <type_traits>.
6531         (__invoke_impl): Remove exception specifications.
6532         (__invoke, invoke): Add exception specifications using
6533         __is_nothrow_callable.
6534         * include/std/type_traits (__inv_unwrap): Move from <functional>.
6535         (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
6536         (__is_callable, __is_nothrow_callable): New traits.
6537         (is_callable, is_callable_v): New C++17 traits.
6538         (is_nothrow_callable, is_nothrow_callable_v): Likewise.
6539         * testsuite/20_util/is_callable/requirements/
6540         explicit_instantiation.cc: New test.
6541         * testsuite/20_util/is_callable/requirements/
6542         explicit_instantiation_ext.cc: New test.
6543         * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
6544         * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
6545         test.
6546         * testsuite/20_util/is_callable/value.cc: New test.
6547         * testsuite/20_util/is_callable/value_ext.cc: New test.
6548         * testsuite/20_util/is_nothrow_callable/requirements/
6549         explicit_instantiation.cc: New test.
6550         * testsuite/20_util/is_nothrow_callable/requirements/
6551         explicit_instantiation_ext.cc: New test.
6552         * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
6553         New test.
6554         * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
6555         New test.
6556         * testsuite/20_util/is_nothrow_callable/value.cc: New test.
6557         * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
6558
6559         * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
6560         * doc/html/manual/status.html: Regenerate.
6561
6562         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
6563         effective target not dg-options. Move check for feature-test macro to:
6564         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
6565         New test.
6566
6567         * include/std/functional (_Unwrap): Rename to __inv_unwrap.
6568         (__invfwd): Adjust.
6569         (__invoke_impl): Remove unused template parameters.
6570         * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
6571         parameter.
6572         * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
6573         and test __invoke extension for C++11.
6574
6575 2016-08-03  Jonathan Wakely  <jwakely@redhat.com>
6576
6577         * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
6578         Define feature-test macro.
6579         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
6580         for the macro.
6581
6582         * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
6583         * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
6584         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
6585         * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
6586         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
6587
6588         * include/std/utility (as_const): Define.
6589         * testsuite/20_util/as_const/1.cc: New test.
6590         * testsuite/20_util/as_const/rvalue_neg.cc: New test.
6591
6592         * include/bits/shared_ptr.h (owner_less): Add default template
6593         argument.
6594         * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
6595         specialization.
6596         (owner_less<void>): Define specialization.
6597         * include/bits/stl_function.h (__cpp_lib_transparent_operators):
6598         Update value.
6599         * testsuite/20_util/owner_less/void.cc: New test.
6600         * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
6601
6602         * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
6603         Define feature-test macro.
6604         * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
6605         * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
6606         * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
6607         (__cpp_lib_type_trait_variable_templates): Define.
6608
6609         * include/bits/stl_function.h: Remove commented-out macro.
6610         * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
6611         Define feature-test macro.
6612         * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
6613
6614         * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
6615         C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
6616         true.
6617         * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
6618         do #error for C++17.
6619         * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
6620         of __STDCPP_WANT_MATH_SPEC_FUNCS__.
6621         * include/tr1/bessel_function.tcc: Likewise.
6622         * include/tr1/beta_function.tcc: Likewise.
6623         * include/tr1/cmath: Likewise.
6624         * include/tr1/ell_integral.tcc: Likewise.
6625         * include/tr1/exp_integral.tcc: Likewise.
6626         * include/tr1/gamma.tcc: Likewise.
6627         * include/tr1/hypergeometric.tcc: Likewise.
6628         * include/tr1/legendre_function.tcc: Likewise.
6629         * include/tr1/modified_bessel_func.tcc: Likewise.
6630         * include/tr1/poly_hermite.tcc: Likewise.
6631         * include/tr1/poly_laguerre.tcc: Likewise.
6632         * include/tr1/riemann_zeta.tcc: Likewise.
6633         * include/tr1/special_function_util.h: Likewise.
6634         * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
6635
6636         * include/std/type_traits (has_trivial_default_constructor): Remove.
6637         (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
6638         * testsuite/20_util/has_trivial_copy_assign/requirements/
6639         explicit_instantiation.cc: Remove test.
6640         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
6641         line number.
6642         * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
6643         Likewise.
6644         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
6645         * testsuite/20_util/has_trivial_copy_constructor/requirements/
6646         explicit_instantiation.cc: Likewise.
6647         * testsuite/20_util/has_trivial_copy_constructor/requirements/
6648         typedefs.cc: Likewise.
6649         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
6650         * testsuite/20_util/has_trivial_default_constructor/requirements/
6651         explicit_instantiation.cc: Likewise.
6652         * testsuite/20_util/has_trivial_default_constructor/requirements/
6653         typedefs.cc: Likewise.
6654         * testsuite/20_util/has_trivial_default_constructor/value.cc:
6655         Likewise.
6656         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
6657         Check has_trivial_default_constructor, has_trivial_copy_constructor,
6658         and has_trivial_copy_assign are not defined.
6659         * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
6660         tests.
6661         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
6662         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
6663         dg-error line number.
6664         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
6665         Likewise.
6666
6667 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
6668
6669         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
6670         Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
6671         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
6672         Likewise.
6673         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
6674         Likewise.
6675         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
6676         Likewise.
6677         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
6678         Likewise.
6679         * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
6680         Likewise.
6681         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
6682         Likewise.
6683
6684         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
6685         comments.
6686
6687         * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
6688         dg-error to relevant line.
6689         * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
6690         Likewise.
6691         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
6692
6693         * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
6694
6695         * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
6696         options are present that aren't valid for C.
6697         * testsuite/abi/header_cxxabi.c: Likewise.
6698
6699         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
6700         check_value.cc: Do not add special functions to namespace std in TR1
6701         test.
6702
6703         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
6704         run for C++11 and later.
6705         * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
6706         Likewise.
6707         * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
6708         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
6709         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
6710         * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
6711         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
6712         Likewise.
6713         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
6714         Likewise.
6715         * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
6716         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
6717         Likewise.
6718         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
6719         Likewise.
6720         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
6721         Likewise.
6722         * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
6723         * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
6724         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
6725         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
6726         * testsuite/special_functions/03_beta/compile.cc: Likewise.
6727         * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
6728         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
6729         * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
6730         Likewise.
6731         * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
6732         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
6733         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
6734         * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
6735         Likewise.
6736         * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
6737         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
6738         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
6739         * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
6740         Likewise.
6741         * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
6742         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
6743         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
6744         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
6745         Likewise.
6746         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
6747         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
6748         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
6749         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
6750         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
6751         Likewise.
6752         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
6753         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
6754         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
6755         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
6756         Likewise.
6757         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
6758         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
6759         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
6760         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
6761         * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
6762         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
6763         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
6764         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
6765         * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
6766         * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
6767         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
6768         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
6769         * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
6770         * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
6771         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
6772         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
6773         * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
6774         * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
6775         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
6776         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
6777         * testsuite/special_functions/14_expint/compile.cc: Likewise.
6778         * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
6779         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
6780         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
6781         * testsuite/special_functions/15_hermite/compile.cc: Likewise.
6782         * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
6783         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
6784         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
6785         * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
6786         * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
6787         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
6788         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
6789         * testsuite/special_functions/17_legendre/compile.cc: Likewise.
6790         * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
6791         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
6792         * testsuite/special_functions/18_riemann_zeta/check_value.cc:
6793         Likewise.
6794         * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
6795         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
6796         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
6797         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
6798         * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
6799         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
6800         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
6801         * testsuite/special_functions/20_sph_legendre/check_value.cc:
6802         Likewise.
6803         * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
6804         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
6805         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
6806         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
6807         * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
6808         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
6809
6810         * testsuite/tr1/5_numerical_facilities/special_functions/
6811         08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
6812         of [[gnu::unused]].
6813         * testsuite/tr1/5_numerical_facilities/special_functions/
6814         09_cyl_bessel_j/check_value.cc: Likewise.
6815         * testsuite/tr1/5_numerical_facilities/special_functions/
6816         10_cyl_bessel_k/check_value.cc: Likewise.
6817         * testsuite/tr1/5_numerical_facilities/special_functions/
6818         11_cyl_neumann/check_value.cc: Likewise.
6819         * testsuite/tr1/5_numerical_facilities/special_functions/
6820         21_sph_bessel/check_value.cc: Likewise.
6821         * testsuite/tr1/5_numerical_facilities/special_functions/
6822         23_sph_neumann/check_value.cc: Likewise.
6823
6824 2016-08-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6825
6826         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
6827         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
6828         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
6829         * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
6830         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
6831         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
6832
6833 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
6834
6835         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
6836         test if -flto used.
6837
6838         * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
6839         additional flags for compiling libtestc++.a objects.
6840
6841 2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
6842
6843         * include/bits/basic_string.h (data() const): Update comment.
6844         (data()): Add non-const overload for C++17.
6845         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
6846         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
6847
6848         * include/bits/basic_string.tcc: Disable explicit instantiation
6849         declarations for C++17.
6850
6851         * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
6852         ignored "xfail" from { dg-do compile { xfail selector } } directive.
6853         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
6854         Likewise.
6855         * testsuite/26_numerics/headers/cmath/
6856         c99_classification_macros_c++11.cc: Likewise.
6857         * testsuite/26_numerics/headers/cmath/
6858         c99_classification_macros_c++98.cc: Likewise.
6859         * testsuite/26_numerics/headers/cmath/
6860         c99_classification_macros_c.cc: Likewise.
6861
6862         * testsuite/backward/hash_set/check_construct_destroy.cc: Account
6863         for different construct/destroy counts in C++98 mode.
6864
6865         * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
6866
6867         * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
6868         later.
6869         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
6870         Likewise.
6871
6872         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
6873         C++98-compatible initialization for array.
6874
6875         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
6876         unused header and variable from compile-only test.
6877         * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
6878         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
6879         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
6880         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
6881         Likewise.
6882
6883         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
6884         Remove duplicate dg-options directive.
6885
6886         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
6887         808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
6888
6889         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
6890         linker options from compile-only tests.
6891         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
6892         Likewise.
6893
6894         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
6895         supported for C++11 and later.
6896         * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
6897         * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
6898
6899 2016-08-01  Uros Bizjak  <ubizjak@gmail.com>
6900
6901         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
6902
6903 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
6904
6905         * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
6906         compile-only test.
6907
6908         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
6909         Ensure test is compiled with optimization.
6910
6911         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
6912         Adjust dg-prune-output pattern for error in C++98 mode.
6913
6914         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
6915         run for C++11 or later.
6916
6917         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
6918         test to not rely on GNU extension (escaped normal characters in POSIX
6919         BRE). Enable tests for other strings which are now supported.
6920
6921         * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
6922         c++11 instead of setting -std=gnu++14.
6923
6924         PR libstdc++/72745
6925         * include/std/array (get): Use positive message for static assertions.
6926         * include/std/functional (_Safe_tuple_element_t): Fix indentation.
6927         * include/std/tuple (tuple_element<I, tuple<>>): Add partial
6928         specialization for invalid indices, with static assertion.
6929         * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
6930
6931         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
6932         dg-error to relevant line.
6933         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
6934         Likewise.
6935         * testsuite/23_containers/forward_list/requirements/dr438/
6936         assign_neg.cc: Likewise.
6937         * testsuite/23_containers/forward_list/requirements/dr438/
6938         constructor_1_neg.cc: Likewise.
6939         * testsuite/23_containers/forward_list/requirements/dr438/
6940         constructor_2_neg.cc: Likewise.
6941         * testsuite/23_containers/forward_list/requirements/dr438/
6942         insert_neg.cc: Likewise.
6943         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
6944         Likewise.
6945         * testsuite/26_numerics/random/linear_congruential_engine/
6946         requirements/non_uint_neg.cc: Likewise.
6947         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
6948         Likewise. Also test for std::atomic_address.
6949
6950 2016-07-31  Ville Voutilainen  <ville.voutilainen@gmail.com>
6951
6952         Add missing variable traits, fix testsuite failures.
6953         * include/bits/uses_allocator.h (uses_allocator_v): New.
6954         * include/std/functional (is_bind_expression_v, is_placeholder_v):
6955         Likewise.
6956         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
6957         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
6958         * testsuite/20_util/duration/literals/range.cc: Likewise.
6959         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
6960         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
6961         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
6962         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
6963         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
6964         Likewise.
6965         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
6966         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
6967         New.
6968
6969 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
6970
6971         * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
6972         not test 128-bit types.
6973         * testsuite/20_util/is_floating_point/value.cc: Likewise.
6974         * testsuite/20_util/is_integral/value.cc: Likewise.
6975         * testsuite/20_util/is_signed/value.cc: Likewise.
6976         * testsuite/20_util/is_unsigned/value.cc: Likewise.
6977         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
6978         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
6979         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
6980         Likewise.
6981         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
6982         Likewise.
6983
6984         * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
6985
6986 2016-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
6987
6988         Implement C++17 variable templates for type traits.
6989         * include/std/chrono (treat_as_floating_point_v): New.
6990         * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
6991         (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
6992         (ratio_greater_equal_v): Likewise.
6993         * include/std/system_error (is_error_code_enum_v)
6994         (is_error_condition_enum_v): Likewise.
6995         * include/std/tuple (tuple_size_v): Likewise.
6996         * type_traits (conjunction_v, disjunction_v, negation_v)
6997         (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
6998         (is_array_v, is_pointer_v, is_lvalue_reference_v)
6999         (is_rvalue_reference_v, is_member_object_pointer_v)
7000         (is_member_function_pointer_v, is_enum_v, is_union_v)
7001         (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
7002         (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
7003         (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
7004         (is_trivially_copyable_v, is_standard_layout_v)
7005         (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
7006         (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
7007         (is_constructible_v, is_default_constructible_v)
7008         (is_copy_constructible_v, is_move_constructible_v)
7009         (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
7010         (is_destructible_v, is_trivially_constructible_v)
7011         (is_trivially_default_constructible_v)
7012         (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
7013         (is_trivially_assignable_v, is_trivially_copy_assignable_v)
7014         (is_trivially_move_assignable_v, is_trivially_destructible_v)
7015         (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
7016         (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
7017         (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
7018         (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
7019         (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
7020         (is_same_v, is_base_of_v, is_convertible_v): Likewise.
7021         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
7022         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
7023         Likewise.
7024         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
7025         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
7026         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
7027
7028 2016-07-29  Andreas Schwab  <schwab@linux-m68k.org>
7029
7030         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
7031         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
7032         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
7033
7034 2016-07-29  Jonathan Wakely  <jwakely@redhat.com>
7035
7036         * doc/xml/manual/abi.xml: Document 6.0.22 library version.
7037         * doc/html/manual/abi.html: Regenerate.
7038
7039         * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
7040         * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
7041         symbols.
7042         * configure: Regenerate.
7043         * testsuite/util/testsuite_abi.cc: Add new symbol version.
7044
7045         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
7046         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
7047         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
7048         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
7049         Likewise.
7050         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
7051         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
7052         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
7053
7054 2016-07-28  Jonathan Wakely  <jwakely@redhat.com>
7055
7056         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
7057         Adjust dg-prune-output pattern for error in C++98 mode.
7058         * testsuite/23_containers/deque/requirements/dr438/
7059         constructor_1_neg.cc: Likewise.
7060         * testsuite/23_containers/deque/requirements/dr438/
7061         constructor_2_neg.cc: Likewise.
7062         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
7063         Likewise.
7064         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
7065         Likewise.
7066         * testsuite/23_containers/list/requirements/dr438/
7067         constructor_1_neg.cc: Likewise.
7068         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7069         Likewise.
7070         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
7071         Likewise.
7072         * testsuite/23_containers/vector/requirements/dr438/
7073         constructor_1_neg.cc: Likewise.
7074         * testsuite/23_containers/vector/requirements/dr438/
7075         constructor_2_neg.cc: Likewise.
7076         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
7077         Likewise.
7078
7079         * testsuite/23_containers/vector/check_construct_destroy.cc: Account
7080         for different construct/destroy counts in C++98 mode.
7081
7082         * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
7083         dg-options to dg-additional-options so that default options are used.
7084         * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
7085         Likewise.
7086         * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
7087         * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
7088         Likewise.
7089         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7090         Use dg-additional-options instead of repeating the common options.
7091
7092         * testsuite/22_locale/conversions/string/1.cc: Remove unintended
7093         dg-do compile directive.
7094         * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
7095         dg-do directive.
7096         * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
7097
7098 2016-07-28  Ville Voutilainen  <ville.voutilainen@gmail.com>
7099
7100         Implement std::string_view and P0254r2,
7101         Integrating std::string_view and std::string.
7102         * include/Makefile.am: Add string_view and string_view.tcc
7103         to the exported headers.
7104         * include/Makefile.in: Likewise.
7105         * include/bits/basic_string.h: Include <string_view> in C++17 mode.
7106         (__sv_type): New.
7107         (basic_string(__sv_type, const _Alloc&)): Likewise.
7108         (operator=(__sv_type)): Likewise.
7109         (operator __sv_type()): Likewise.
7110         (operator+=(__sv_type)): Likewise.
7111         (append(__sv_type __sv)): Likewise.
7112         (append(__sv_type, size_type, size_type)): Likewise.
7113         (assign(__sv_type)): Likewise.
7114         (assign(__sv_type, size_type, size_type)): Likewise.
7115         (insert(size_type, __sv_type)): Likewise.
7116         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
7117         (replace(size_type, size_type, __sv_type)): Likewise.
7118         (replace(size_type, size_type, __sv_type, size_type, size_type)):
7119         Likewise.
7120         (replace(const_iterator, const_iterator, __sv_type)): Likewise.
7121         (find(__sv_type, size_type)): Likewise.
7122         (rfind(__sv_type, size_type)): Likewise.
7123         (find_first_of(__sv_type, size_type)): Likewise.
7124         (find_last_of(__sv_type, size_type)): Likewise.
7125         (find_first_not_of(__sv_type, size_type)): Likewise.
7126         (find_last_not_of(__sv_type, size_type)): Likewise.
7127         (compare(__sv_type)): Likewise.
7128         (compare(size_type, size_type, __sv_type)): Likewise.
7129         (compare(size_type, size_type, __sv_type, size_type, size_type)):
7130         Likewise.
7131         * include/bits/string_view.tcc: New.
7132         * include/std/string_view: Likewise.
7133         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
7134         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
7135         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
7136         Likewise.
7137         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
7138         Likewise.
7139         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
7140         Likewise.
7141         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
7142         Likewise.
7143         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
7144         Likewise.
7145         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
7146         Likewise.
7147         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7148         Likewise.
7149         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
7150         Likewise.
7151         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
7152         Likewise.
7153         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
7154         Likewise.
7155         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
7156         Likewise.
7157         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
7158         Likewise.
7159         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
7160         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
7161         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
7162         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
7163         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
7164         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
7165         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
7166         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
7167         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
7168         * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
7169         Likewise.
7170         * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
7171         Likewise.
7172         * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
7173         Likewise.
7174         * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
7175         Likewise.
7176         * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
7177         Likewise.
7178         * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
7179         Likewise.
7180         * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
7181         Likewise.
7182         * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
7183         Likewise.
7184         * testsuite/21_strings/basic_string_view/include.cc: Likewise.
7185         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
7186         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
7187         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
7188         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
7189         Likewise.
7190         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
7191         Likewise.
7192         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
7193         Likewise.
7194         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
7195         Likewise.
7196         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
7197         Likewise.
7198         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
7199         Likewise.
7200         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
7201         Likewise.
7202         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
7203         Likewise.
7204         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
7205         Likewise.
7206         * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
7207         Likewise.
7208         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
7209         Likewise.
7210         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
7211         Likewise.
7212         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
7213         Likewise.
7214         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
7215         Likewise.
7216         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
7217         Likewise.
7218         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
7219         Likewise.
7220         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
7221         Likewise.
7222         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
7223         Likewise.
7224         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
7225         Likewise.
7226         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
7227         Likewise.
7228         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
7229         Likewise.
7230         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
7231         Likewise.
7232         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
7233         Likewise.
7234         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
7235         Likewise.
7236         * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
7237         Likewise.
7238         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
7239         Likewise.
7240         * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
7241         Likewise.
7242         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
7243         Likewise.
7244         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
7245         Likewise.
7246         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
7247         Likewise.
7248         * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
7249         Likewise.
7250         * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
7251         Likewise.
7252         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
7253         Likewise.
7254         * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
7255         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
7256         Likewise.
7257         * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
7258         Likewise.
7259         * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
7260         Likewise.
7261         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
7262         Likewise.
7263         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
7264         Likewise.
7265         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
7266         Likewise.
7267         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
7268         Likewise.
7269         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
7270         Likewise.
7271         * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
7272         Likewise.
7273         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
7274         * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
7275
7276 2016-07-27  Jonathan Wakely  <jwakely@redhat.com>
7277
7278         * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
7279
7280 2016-07-25  Georeth Chow  <georeth2010@gmail.com>
7281
7282         * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
7283         _S_concat enumerator.
7284         * testsuite/ext/rope/6.cc: New test.
7285
7286 2016-07-25  Jonathan Wakely  <jwakely@redhat.com>
7287
7288         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
7289         std::mt19937, std::thread and std::atomic to simplify test.
7290         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
7291
7292 2016-07-22  Jonathan Wakely  <jwakely@redhat.com>
7293
7294         PR libstdc++/71964
7295         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
7296         (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
7297         * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
7298         * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
7299         * testsuite/23_containers/set/allocator/71964.cc: New test.
7300
7301         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
7302         delete[] instead of delete.
7303
7304 2016-07-21  Jonathan Wakely  <jwakely@redhat.com>
7305
7306         * include/experimental/propagate_const (propagate_const::__t): Rename
7307         to _M_t and remove comment. Qualify std::move and std::forward.
7308         * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
7309
7310         * testsuite/23_containers/vector/zero_sized_allocations.cc:
7311         Define sized deallocation function.
7312         * testsuite/util/testsuite_new_operators.h:
7313         (operator delete(void*, const std::nothrow_t&)): Define nothrow
7314         deallocation function.
7315
7316         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
7317         reads past the end of strings.
7318         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
7319         Likewise.
7320         * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
7321         invalid array accesses.
7322         * testsuite/experimental/string_view/operations/compare/char/1.cc:
7323         Fix read past the end of string.
7324         * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
7325
7326         * testsuite/24_iterators/container_access.cc: Fix missing returns.
7327         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
7328
7329         * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
7330         leak) memory for arguments to placement delete.
7331         * testsuite/20_util/addressof/1.cc: Don't leak memory.
7332         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
7333         * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
7334         Likewise.
7335
7336 2016-07-20  Jonathan Wakely  <jwakely@redhat.com>
7337
7338         * doc/xml/manual/intro.xml: Document DR 2684 status.
7339         * doc/html/*: Regenerate.
7340
7341         * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
7342         (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
7343         (atomic_uint64_t): Define (LWG 2441).
7344         * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
7345         lines.
7346         * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
7347         the new types.
7348         * doc/xml/manual/intro.xml: Document DR 2441 status.
7349
7350         * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
7351         to use perfect forwarding (LWG 2328).
7352         * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
7353         * doc/xml/manual/intro.xml: Document DR 2328 status.
7354
7355         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
7356         static objects for catching nullptr as pointer to member types.
7357
7358 2016-07-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
7359
7360         Clean up optional's comments.
7361         * include/std/optional: Remove incorrect section headers
7362         from comments when redundant, replace bare section
7363         headers with more descriptive comments.
7364
7365 2016-07-15  Jonathan Wakely  <jwakely@redhat.com>
7366
7367         * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
7368         * include/bits/move.h: Likewise.
7369         * include/bits/postypes.h: Likewise.
7370         * include/debug/bitset: Likewise.
7371         * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
7372         * include/ext/string_conversions.h: Change C++0x to __cxx11 in
7373         comment.
7374         * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
7375         * testsuite/util/thread/all.h: Likewise.
7376
7377         * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
7378         and adjust comment.
7379
7380         PR c++/58796
7381         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
7382         nullptr match handlers of pointer type.
7383
7384 2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
7385
7386         Implement C++17 P0025 clamp.
7387         * include/bits/algorithmfwd.h: Declare clamp overloads.
7388         * include/bits/stl_algo.h: Implement clamp.  Feature __cpp_lib_clamp.
7389         * testsuite/25_algorithms/clamp/1.cc: New test.
7390         * testsuite/25_algorithms/clamp/2.cc: New test.
7391         * testsuite/25_algorithms/clamp/constexpr.cc: New test.
7392         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
7393         1.cc: New test.
7394         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
7395         pod.cc: New test.
7396
7397 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
7398
7399         Fix the constraints for any's assignment operator template to properly
7400         reject assignment from a non-copyable lvalue.
7401         * include/std/any (operator=(_ValueType&&)): Constrain the decayed
7402         type for is_copy_constructible,
7403         * testsuite/20_util/any/requirements.cc: Add a test for
7404         non-copyable lvalues.
7405
7406 2016-07-14  Jonathan Wakely  <jwakely@redhat.com>
7407
7408         * include/experimental/functional: Include <parallel/algorithm> in
7409         Parallel Mode.
7410
7411         * testsuite/experimental/functional/searchers.cc: Include <algorithm>
7412         for std::search.
7413
7414         PR libstdc++/70716
7415         * include/bits/forward_list.h (forward_list): Update doxygen comments
7416         to reflect allocator propagation semantics. Remove ambiguous
7417         statements about data being lost.
7418         * include/bits/stl_deque.h (deque): Likewise.
7419         * include/bits/stl_list.h (list): Likewise.
7420         * include/bits/stl_map.h (map): Likewise.
7421         * include/bits/stl_multimap.h (multimap): Likewise.
7422         * include/bits/stl_multiset.h (multiset): Likewise.
7423         * include/bits/stl_set.h (set): Likewise.
7424         * include/bits/stl_vector.h (vector): Likewise.
7425         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
7426         Likewise.
7427         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
7428         Likewise.
7429
7430 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
7431
7432         Implement P0032R3, Homogeneous interface for variant, any and optional,
7433         for the parts concerning any and optional.
7434         * include/std/any (_Storage()): Make constexpr and have it
7435         initialize _M_ptr.
7436         (any()): Make constexpr.
7437         (any(const any&)): Adjust.
7438         (any(any&&)): Likewise.
7439         (__any_constructible_t): New.
7440         (any(_ValueType&&)): Constrain.
7441         (any(in_place_type_t<_Tp>, _Args&&...)): New.
7442         (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
7443         Likewise.
7444         (~any()): Adjust.
7445         (operator=(const any&)): Likewise.
7446         (operator=(any&&)): Likewise.
7447         (operator=(_ValueType&&)): Constrain.
7448         (emplace(_Args&&...)): New.
7449         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
7450         (clear()): Remove.
7451         (reset()): New.
7452         (swap(any&)): Adjust.
7453         (empty()): Remove.
7454         (has_value()): New.
7455         (type()): Adjust.
7456         (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
7457         (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
7458         (make_any(_Args&&...)): Likewise.
7459         (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
7460         * include/std/optional (in_place_t, in_place): Remove.
7461         (bad_optional_access): Add a comment referring to LEWG 72.
7462         (emplace(_Args&&...)): Constrain.
7463         (has_value()): New.
7464         (reset()): Likewise.
7465         (make_optional(_Args&&...)): Likewise.
7466         (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
7467         * include/std/utility (in_place_tag): New.
7468         (__in_place, __in_place_type, __in_place_index): Likewise.
7469         (in_place_t, in_place_type_t, in_place_index_t): Likewise.
7470         (in_place(__in_place*)): Likewise.
7471         (in_place(__in_place_type<_Tp>*)): Likewise.
7472         (in_place(__in_place_index<_Idx>*)): Likewise.
7473         * testsuite/20_util/any/assign/1.cc: Adjust.
7474         * testsuite/20_util/any/assign/emplace.cc: New.
7475         * testsuite/20_util/any/assign/self.cc: Adjust.
7476         * testsuite/20_util/any/cons/1.cc: Likewise.
7477         * testsuite/20_util/any/cons/in_place.cc: New.
7478         * testsuite/20_util/any/make_any.cc: Likewise.
7479         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
7480         * testsuite/20_util/any/misc/swap.cc: Likewise.
7481         * testsuite/20_util/any/modifiers/1.cc: Likewise.
7482         * testsuite/20_util/any/requirements.cc: New.
7483         * testsuite/20_util/in_place/requirements.cc: Likewise.
7484         * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
7485         * testsuite/20_util/optional/in_place.cc: Likewise.
7486         * testsuite/20_util/optional/make_optional.cc: Add tests for
7487         the new overloads of make_optional.
7488
7489 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
7490
7491         Implement P0307R2, Making Optional Greater Equal Again.
7492         * include/experimental/optional (_Has_addressof): Fix the comment.
7493         * include/std/optional (_Has_addressof): Likewise.
7494         (operator=(_Up&&)): Constrain.
7495         (operator=(const optional<_Up>&)): Likewise.
7496         (operator=(optional<_Up>&&)): Likewise.
7497         (__optional_relop_t): New.
7498         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7499         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
7500         Constrain and make transparent.
7501         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7502         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
7503         Constrain and make transparent.
7504         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7505         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7506         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
7507         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
7508         (operator!=(const optional<_Tp>&, _Tp const&)):
7509         Constrain and make transparent.
7510         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
7511         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
7512         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
7513         (operator>(const optional<_Tp>&, const _Tp&)):
7514         Constrain and make transparent.
7515         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
7516         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
7517         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
7518         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
7519         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
7520         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
7521         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
7522         * testsuite/20_util/optional/relops/1.cc: Likewise.
7523         * testsuite/20_util/optional/relops/2.cc: Likewise.
7524         * testsuite/20_util/optional/relops/3.cc: Likewise.
7525         * testsuite/20_util/optional/relops/4.cc: Likewise.
7526         * testsuite/20_util/optional/requirements.cc: Add tests to verify
7527         that optional's relops are transparent and don't synthesize
7528         operators. Also test that assignment sfinaes.
7529
7530 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
7531
7532         PR libstdc++/71856
7533         * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
7534         * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
7535         Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
7536         on _GLIBCXX_ASSERTIONS.
7537         * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
7538         Include <unistd.h> for sleep.
7539         * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
7540         * include/parallel/merge.h: Likewise.
7541         * include/parallel/multiway_merge.h: Likewise.
7542         * include/parallel/partition.h: Likewise.
7543         * include/parallel/queue.h: Likewise.
7544         * include/parallel/sort.h: Likewise.
7545         * testsuite/25_algorithms/headers/algorithm/
7546         parallel_algorithm_assert.cc: New.
7547
7548         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
7549         (replace(__const_iterator, __const_iterator, initializer_list<C>)):
7550         Forward to different overload.
7551
7552         * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
7553         static.
7554
7555 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
7556
7557         Revert "Add non-const overload of std::string::data()".
7558
7559 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
7560
7561         Implement P0307R2, Making Optional Greater Equal Again.
7562         * include/experimental/optional (_Has_addressof): Fix the comment.
7563         * include/std/optional (_Has_addressof): Likewise.
7564         (operator=(_Up&&)): Constrain.
7565         (operator=(const optional<_Up>&)): Likewise.
7566         (operator=(optional<_Up>&&)): Likewise.
7567         (__optional_relop_t): New.
7568         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7569         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
7570         Constrain and make transparent.
7571         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
7572         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
7573         Constrain and make transparent.
7574         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7575         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
7576         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
7577         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
7578         (operator!=(const optional<_Tp>&, _Tp const&)):
7579         Constrain and make transparent.
7580         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
7581         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
7582         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
7583         (operator>(const optional<_Tp>&, const _Tp&)):
7584         Constrain and make transparent.
7585         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
7586         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
7587         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
7588         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
7589         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
7590         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
7591         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
7592         * testsuite/20_util/optional/relops/1.cc: Likewise.
7593         * testsuite/20_util/optional/relops/2.cc: Likewise.
7594         * testsuite/20_util/optional/relops/3.cc: Likewise.
7595         * testsuite/20_util/optional/relops/4.cc: Likewise.
7596         * testsuite/20_util/optional/requirements.cc: Add tests to verify
7597         that optional's relops are transparent and don't synthesize
7598         operators. Also test that assignment sfinaes.
7599
7600 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
7601
7602         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
7603         New function.
7604         (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
7605         instead of _M_data().
7606         (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
7607         Likewise.
7608         (append(const basic_string&)): Likewise.
7609         (append(const basic_string&, size_type, size_type)): Likewise.
7610         (assign(const basic_string&, size_type, size_type)): Likewise.
7611         (insert(size_type, const basic_string&)): Likewise.
7612         (insert(size_type, const basic_string&, size_type, size_type)):
7613         Likewise.
7614         (replace(size_type, size_type, const basic_string&, size_type,
7615         size_type)): Likewise.
7616         (replace(__const_iterator, __const_iterator, const basic_string&)):
7617         Likewise.
7618         (c_str(), data()): Use c_str() instead of _M_data().
7619         (data()): Add non-const overload as per LWG 2391 and P0272R1.
7620         (compare(const basic_string&)): Use data() instead of _M_data().
7621         [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
7622         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
7623         Pass raw pointers to _S_copy.
7624         (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
7625         _S_assign.
7626         (find(const _CharT*, size_type, size_type)): Use data instead of
7627         _M_data().
7628         * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
7629         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
7630         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
7631
7632 2016-07-12  Jonathan Wakely  <jwakely@redhat.com>
7633
7634         * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
7635         * doc/xml/manual/intro.xml: Document DR 2458 status.
7636         * doc/html*: Regenerate.
7637
7638         * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
7639         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
7640         Only include <array>.
7641         * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
7642         Likewise.
7643         * doc/xml/manual/intro.xml: Document LWG 2212 support.
7644         * doc/html*: Regenerate.
7645
7646         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
7647         Add testcase from LWG 2164.
7648
7649 2016-07-11  François Dumont  <fdumont@gcc.gnu.org>
7650
7651         * include/bits/stl_vector.h (push_back(const value_type&)): Forward
7652         to _M_realloc_insert.
7653         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
7654         (_M_realloc_insert): Declare new function.
7655         (_M_emplace_back_aux): Remove definition.
7656         * include/bits/vector.tcc (emplace_back(_Args...)):
7657         Use _M_realloc_insert.
7658         (insert(const_iterator, const value_type&)): Likewise.
7659         (_M_insert_rval, _M_emplace_aux): Likewise.
7660         (_M_emplace_back_aux): Remove declaration.
7661         (_M_realloc_insert): Define.
7662         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
7663         Adjust expected results for emplacing an lvalue with reallocation.
7664
7665 2016-07-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
7666
7667         Implement std::optional.
7668         * include/Makefile.am: Add optional to exported headers.
7669         * include/Makefile.in: Likewise.
7670         * include/std/optional: New.
7671         * testsuite/20_util/optional/typedefs.cc: Likewise.
7672         * testsuite/20_util/optional/relops/2.cc: Likewise.
7673         * testsuite/20_util/optional/relops/3.cc: Likewise.
7674         * testsuite/20_util/optional/relops/4.cc: Likewise.
7675         * testsuite/20_util/optional/relops/5.cc: Likewise.
7676         * testsuite/20_util/optional/relops/1.cc: Likewise.
7677         * testsuite/20_util/optional/relops/6.cc: Likewise.
7678         * testsuite/20_util/optional/nullopt.cc: Likewise.
7679         * testsuite/20_util/optional/in_place.cc: Likewise.
7680         * testsuite/20_util/optional/make_optional.cc: Likewise.
7681         * testsuite/20_util/optional/assignment/2.cc: Likewise.
7682         * testsuite/20_util/optional/assignment/3.cc: Likewise.
7683         * testsuite/20_util/optional/assignment/4.cc: Likewise.
7684         * testsuite/20_util/optional/assignment/5.cc: Likewise.
7685         * testsuite/20_util/optional/assignment/1.cc: Likewise.
7686         * testsuite/20_util/optional/assignment/6.cc: Likewise.
7687         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
7688         * testsuite/20_util/optional/cons/default.cc: Likewise.
7689         * testsuite/20_util/optional/cons/move.cc: Likewise.
7690         * testsuite/20_util/optional/cons/value.cc: Likewise.
7691         * testsuite/20_util/optional/cons/copy.cc: Likewise.
7692         * testsuite/20_util/optional/requirements.cc: Likewise.
7693         * testsuite/20_util/optional/observers/2.cc: Likewise.
7694         * testsuite/20_util/optional/observers/3.cc: Likewise.
7695         * testsuite/20_util/optional/observers/4.cc: Likewise.
7696         * testsuite/20_util/optional/observers/5.cc: Likewise.
7697         * testsuite/20_util/optional/observers/1.cc: Likewise.
7698         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
7699         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
7700         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
7701         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
7702         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
7703         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
7704         * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
7705         * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
7706         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
7707         * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
7708         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
7709         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
7710         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
7711         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
7712         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
7713         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
7714         * testsuite/20_util/optional/swap/1.cc: Likewise.
7715
7716 2016-07-08  Jonathan Wakely  <jwakely@redhat.com>
7717
7718         * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
7719
7720 2016-07-07  Jonathan Wakely  <jwakely@redhat.com>
7721
7722         * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
7723         * doc/html/*: Regenerate.
7724
7725 2016-07-07  Ville Voutilainen  <ville.voutilainen@gmail.com>
7726
7727         Implement std::any.
7728         * include/Makefile.am: Add any and c++17_warning.h to exported headers.
7729         * include/Makefile.in: Likewise.
7730         * include/std/any: New.
7731         * testsuite/20_util/any/assign/1.cc: Likewise.
7732         * testsuite/20_util/any/assign/2.cc: Likewise.
7733         * testsuite/20_util/any/assign/self.cc: Likewise.
7734         * testsuite/20_util/any/cons/1.cc: Likewise.
7735         * testsuite/20_util/any/cons/2.cc: Likewise.
7736         * testsuite/20_util/any/cons/aligned.cc: Likewise.
7737         * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
7738         * testsuite/20_util/any/misc/any_cast.cc: Likewise.
7739         * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
7740         * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
7741         * testsuite/20_util/any/misc/swap.cc: Likewise.
7742         * testsuite/20_util/any/modifiers/1.cc: Likewise.
7743         * testsuite/20_util/any/observers/type.cc: Likewise.
7744         * testsuite/20_util/any/typedefs.cc: Likewise.
7745
7746 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
7747
7748         Add a new header for diagnosing the use of C++17 facilities
7749         in pre-C++17 modes.
7750         * include/bits/c++17_warning.h: New.
7751
7752 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
7753
7754         Implement LWG 2451, optional<T> should 'forward' T's
7755         implicit conversions.
7756         * include/experimental/optional (__is_optional_impl, __is_optional):
7757         New.
7758         (optional()): Make constexpr and default.
7759         (optional(_Up&&), optional(const optional<_Up>&),
7760         optional(optional<_Up>&& __t): New.
7761         (operator=(_Up&&)): Constrain.
7762         (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
7763         * testsuite/experimental/optional/cons/value.cc:
7764         Add tests for the functionality added by LWG 2451.
7765         * testsuite/experimental/optional/cons/value_neg.cc: New.
7766
7767 2016-07-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
7768
7769         Implement LWG 2509,
7770         any_cast doesn't work with rvalue reference targets and cannot
7771         move with a value target.
7772         * include/experimental/any (any(_ValueType&&)): Constrain and
7773         add an overload that doesn't forward.
7774         (any_cast(any&&)): Constrain and add an overload that moves.
7775         * testsuite/experimental/any/misc/any_cast.cc: Add tests for
7776         the functionality added by LWG 2509.
7777
7778 2016-07-04  François Dumont  <fdumont@gcc.gnu.org>
7779
7780         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
7781         New test.
7782         * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
7783         test.
7784
7785 2016-07-04  Jonathan Wakely  <jwakely@redhat.com>
7786
7787         * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
7788         Define inline. Forward to _M_emplace_aux.
7789         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
7790         (_M_insert_rval, _M_emplace_aux): Declare new functions.
7791         (_Temporary_value): New RAII type using allocator to construct/destroy.
7792         (_S_insert_aux_assign): Remove.
7793         (_M_insert_aux): Make non-variadic.
7794         * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
7795         Use _Temporary_value.
7796         (emplace(const_iterator, _Args&&...)): Remove definition.
7797         (_M_insert_rval, _M_emplace_aux): Define.
7798         (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
7799         (_M_fill_insert): Use _Temporary_value.
7800         * testsuite/23_containers/vector/allocator/construction.cc: New test.
7801         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
7802         Adjust expected results for emplacing an lvalue with reallocation.
7803         * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
7804         expected results to account for construction/destruction of temporary
7805         using allocator.
7806         * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
7807
7808 2016-07-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
7809
7810         PR libstdc++/71313
7811         * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
7812         Call remove_all for children of a directory.
7813         * testsuite/experimental/filesystem/operations/create_directories.cc:
7814         Adjust.
7815
7816 2016-07-02  François Dumont  <fdumont@gcc.gnu.org>
7817
7818         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
7819         dg-error line numbers.
7820         * testsuite/23_containers/array/tuple_interface/
7821         tuple_element_debug_neg.cc: Likewise.
7822         * testsuite/25_algorithms/lexicographical_compare/debug/
7823         irreflexive_neg.cc: Remove.
7824
7825 2016-06-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
7826
7827         * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
7828         than specific target.
7829
7830 2016-06-27  François Dumont  <fdumont@gcc.gnu.org>
7831
7832         PR libstdc++/71640
7833         * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
7834         friend declaration.
7835
7836 2016-06-23  François Dumont  <fdumont@gcc.gnu.org>
7837
7838         * include/debug/array (array<>::swap): Fix noexcept qualificaton for
7839         zero-size array.
7840
7841 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
7842
7843         * configure.host: Remove mep-* support.
7844
7845 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
7846
7847         * configure: Regenerate.
7848         * configure.host: Remove support for knetbsd.
7849         * crossconfig.m4: Likewise.
7850
7851 2016-06-20  François Dumont  <fdumont@gcc.gnu.org>
7852
7853         PR libstdc++/71181
7854         * include/tr1/hashtable_policy.h
7855         (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
7856         dereferenceable to avoid check on lower_bound result.
7857         (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
7858         (_Prime_rehash_policy::_M_need_rehash): Likewise.
7859         * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
7860         Always return a value greater than input value. Set _M_next_resize to
7861         max value when reaching highest prime number.
7862         * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
7863         being now useless.
7864         * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
7865         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
7866         (test02): New.
7867         * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
7868         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
7869         Fix indentation.
7870
7871 2016-06-17  Jonathan Wakely  <jwakely@redhat.com>
7872
7873         PR libstdc++/71545
7874         * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
7875         Remove irreflexive checks.
7876         * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
7877         binary_search): Likewise.
7878         * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
7879         * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
7880         * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
7881         * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
7882         * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
7883         Add constructor from array.
7884
7885 2016-06-16  François Dumont  <fdumont@gcc.gnu.org>
7886
7887         * include/debug/debug.h
7888         (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
7889         (__glibcxx_requires_subscript): Move...
7890         * include/debug/assertions.h: ...here and add __builtin_expect.
7891         (_GLIBCXX_DEBUG_ONLY): Remove ; value.
7892         * include/bits/stl_deque.h
7893         (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
7894         (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
7895         (std::deque<>::back()): Likewise.
7896         (std::deque<>::pop_front()): Likewise.
7897         (std::deque<>::pop_back()): Likewise.
7898         (std::deque<>::swap(deque&)): Add allocator check.
7899         * include/bits/stl_vector.h
7900         (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
7901         (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
7902         (std::vector<>::back()): Likewise.
7903         (std::vector<>::pop_back()): Likewise.
7904         (std::vector<>::swap(vector&)): Add allocator check.
7905
7906 2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>
7907
7908         Provide swappable traits (p0185r1)
7909         * include/std/type_traits (is_swappable, is_nothrow_swappable,
7910         is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
7911         is_nothrow_swappable_v, is_swappable_with_v,
7912         is_nothrow_swappable_with_v): New.
7913         * include/bits/stl_pair.h: Use it as per p0185r1.
7914         * include/bits/stl_queue.h: Likewise.
7915         * include/bits/stl_stack.h: Likewise.
7916         * include/bits/unique_ptr.h: Likewise.
7917         * include/std/tuple: Likewise.
7918         * include/std/array: Likewise. Fix zero-size member swap.
7919         * include/bits/hashtable.h: Use __and_.
7920         * testsuite/20_util/is_nothrow_swappable/requirements/
7921         explicit_instantiation.cc: Change test options to std=gnu++17.
7922         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
7923         Likewise.
7924         * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
7925         * testsuite/20_util/is_swappable/requirements/
7926         explicit_instantiation.cc: Likewise.
7927         * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
7928         * testsuite/20_util/is_swappable/value.cc: Likewise.
7929         * testsuite/20_util/is_nothrow_swappable/requirements/
7930         explicit_instantiation_ext.cc: New.
7931         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
7932         New.
7933         * testsuite/20_util/is_nothrow_swappable/value.h: New.
7934         * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
7935         * testsuite/20_util/is_nothrow_swappable_with/requirements/
7936         explicit_instantiation.cc: New.
7937         * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
7938         New.
7939         * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
7940         * testsuite/20_util/is_swappable/requirements/
7941         explicit_instantiation_ext.cc: New.
7942         * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
7943         * testsuite/20_util/is_swappable/value.h: New.
7944         * testsuite/20_util/is_swappable/value_ext.cc: New.
7945         * testsuite/20_util/is_swappable_with/requirements/
7946         explicit_instantiation.cc: New.
7947         * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
7948         * testsuite/20_util/is_swappable_with/value.cc: New.
7949         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
7950         dg-error line numbers.
7951         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
7952         Likewise.
7953
7954 2016-06-16  Jonathan Wakely  <jwakely@redhat.com>
7955
7956         * include/std/array: Remove trailing whitespace.
7957         * include/std/atomic: Likewise.
7958         * include/std/bitset: Likewise.
7959         * include/std/chrono: Likewise.
7960         * include/std/complex: Likewise.
7961         * include/std/condition_variable: Likewise.
7962         * include/std/fstream: Likewise.
7963         * include/std/functional: Likewise.
7964         * include/std/future: Likewise.
7965         * include/std/iomanip: Likewise.
7966         * include/std/iosfwd: Likewise.
7967         * include/std/istream: Likewise.
7968         * include/std/limits: Likewise.
7969         * include/std/ratio: Likewise.
7970         * include/std/scoped_allocator: Likewise.
7971         * include/std/sstream: Likewise.
7972         * include/std/stdexcept: Likewise.
7973         * include/std/string: Likewise.
7974         * include/std/system_error: Likewise.
7975         * include/std/thread: Likewise.
7976         * include/std/tuple: Likewise.
7977         * include/std/type_traits: Likewise.
7978         * include/std/utility: Likewise.
7979         * include/std/valarray: Likewise.
7980         * include/std/vector: Likewise.
7981
7982         * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
7983         new overloaded functions.
7984         * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
7985         to avoid creating a redundant temporary.
7986         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
7987         test.
7988
7989 2016-06-15  François Dumont  <fdumont@gcc.gnu.org>
7990
7991         * include/bits/stl_deque.h
7992         (std::deque<>::operator=): Call _M_assign_aux.
7993         (std::deque<>::assign(initializer_list<>)): Likewise.
7994         (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
7995         (std::deque<>::insert(const_iterator, initializer_list<>)):
7996         Call _M_range_insert_aux.
7997         (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
7998         Likewise.
7999         (std::deque<>::_M_fill_assign): Call _M_fill_insert.
8000         (std::deque<>::_M_move_assign2): Call _M_assign_aux.
8001         * include/bits/deque.tcc
8002         (std::deque<>::operator=): Call _M_range_insert_aux.
8003         (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
8004         Likewise.
8005         * include/bits/stl_vector.h
8006         (std::vector<>::operator=): Call _M_assign_aux.
8007         (std::vector<>::assign(initializer_list<>)): Likewise.
8008         (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8009         (std::vector<>::insert(const_iterator, initializer_list<>)):
8010         Call _M_range_insert.
8011         * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
8012
8013 2016-06-07  François Dumont  <fdumont@gcc.gnu.org>
8014
8015         * include/std/tuple (_Head_base<>): Default specialization condition at
8016         type declaration.
8017
8018 2016-06-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8019
8020         Support allocators in tuples of zero size.
8021         * include/std/tuple (tuple<>::tuple(),
8022         tuple<>::tuple(allocator_arg_t, const _Alloc&),
8023         tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
8024         * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
8025
8026 2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
8027
8028         PR libstdc++/71320
8029         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
8030         Add or remove permissions according to perms argument.
8031         * testsuite/experimental/filesystem/operations/permissions.cc: New
8032         test.
8033
8034 2016-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8035
8036         Protect allocator-overloads of tuple-from-tuple constructors
8037         from cases that would create dangling references.
8038         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8039         const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
8040         tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
8041         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
8042
8043 2016-05-29  Gerald Pfeifer  <gerald@pfeifer.com>
8044
8045         * doc/xml/manual/backwards_compatibility.xml: Adjust
8046         lists.debian.org link to https.
8047         * doc/html/manual/backwards.html: Regenerate.
8048
8049 2016-05-27  Jonathan Wakely  <jwakely@redhat.com>
8050
8051         * doc/xml/manual/abi.xml: Adjust URL to use https.
8052         * doc/html/manual/*: Regenerate.
8053
8054 2016-05-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
8055
8056         PR libstdc++/66338
8057         * include/std/tuple (_TMC): Add a check for _NotSameTuple.
8058         * include/std/tuple (tuple(_UElements&&...)): Remove the separate
8059         check for _NotSameTuple.
8060         * include/std/tuple (_TMCT): New.
8061         * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
8062         * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
8063         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8064               const tuple<_UElements...>&)): Likewise.
8065         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8066               tuple<_UElements...>&&)): Likewise.
8067         * testsuite/20_util/tuple/cons/66338.cc: New.
8068
8069 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
8070
8071         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
8072         * configure: Regenerate.
8073         * config.h.in: Regenerate.
8074
8075         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
8076         * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
8077         Remove const qualification on function. Replace
8078         _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
8079         (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
8080         (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
8081
8082 2016-05-24  François Dumont  <fdumont@gcc.gnu.org>
8083
8084         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
8085         * include/bits/hashtable_policy.h
8086         (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
8087         having load factor management.
8088         (_Mask_range_hashing): New.
8089         (__clp2): New.
8090         (_Power2_rehash_policy): New.
8091         (_Inserts<>): Remove last template parameter, _Unique_keys, so that
8092         partial specializations only depend on whether iterators are constant
8093         or not.
8094         * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
8095         test new hash policy.
8096         * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
8097         Likewise.
8098         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8099         Likewise.
8100         * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
8101         Likewise.
8102         * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
8103         Likewise.
8104         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
8105         New.
8106         * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
8107         using the new hash policy.
8108         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
8109
8110 2016-05-24  Jonathan Wakely  <jwakely@redhat.com>
8111
8112         * include/bits/stl_queue.h (priority_queue::value_compare): Define.
8113
8114 2016-05-23  François Dumont  <fdumont@gcc.gnu.org>
8115
8116         * include/debug/safe_iterator.h
8117         (_Safe_iterator<>::operator->()): Implement using underlying iterator
8118         operator ->.
8119         * include/debug/safe_local_iterator.h
8120         (_Safe_local_iterator<>::operator->()): Likewise.
8121
8122 2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8123
8124         * testsuite/experimental/memory_resource/1.cc: Add required argument
8125         to dg-require-atomic-builtins.
8126
8127 2016-05-13  Jonathan Wakely  <jwakely@redhat.com>
8128
8129         PR libstdc++/71073
8130         * include/debug/bitset: Add #pragma GCC system_header.
8131         * include/debug/deque: Likewise.
8132         * include/debug/list: Likewise.
8133         * include/debug/map: Likewise.
8134         * include/debug/set: Likewise.
8135         * include/debug/string: Likewise.
8136         * include/debug/unordered_map: Likewise.
8137         * include/debug/unordered_set: Likewise.
8138         * include/debug/vector: Likewise.
8139         * include/debug/functions.h: Adjust whitespace.
8140
8141 2016-05-12  Jonathan Wakely  <jwakely@redhat.com>
8142
8143         PR libstdc++/71081
8144         * testsuite/experimental/memory_resource/1.cc: Require atomics.
8145
8146 2016-05-11  Jonathan Wakely  <jwakely@redhat.com>
8147
8148         PR libstdc++/71049
8149         * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
8150         exception constructors with __sso_string parameters.
8151
8152 2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
8153
8154         * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
8155         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8156         Test begin and end functions.
8157         * testsuite/experimental/filesystem/iterators/
8158         recursive_directory_iterator.cc: Likewise.
8159
8160         PR libstdc++/71038
8161         * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
8162         * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
8163
8164         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8165         Overload operator* to move from rvalues.
8166
8167         PR libstdc++/71036
8168         * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
8169         * testsuite/experimental/filesystem/operations/create_directory.cc:
8170         New test.
8171
8172         PR libstdc++/71037
8173         * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
8174         base path to exception.
8175         * testsuite/experimental/filesystem/operations/canonical.cc: Test
8176         paths contained in exception.
8177
8178         * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
8179         using declaration.
8180
8181         PR libstdc++/71005
8182         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8183         New type.
8184         (directory_iterator::operator++(int)): Return proxy.
8185         (recursive_directory_iterator::operator++(int)): Likewise.
8186         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8187         Test post-increment.
8188         * testsuite/experimental/filesystem/iterators/
8189         recursive_directory_iterator.cc: Likewise.
8190
8191 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8192
8193         PR libstdc++/71004
8194         * testsuite/experimental/filesystem/iterators/
8195         recursive_directory_iterator.cc: Fix test02 to not call member
8196         functions on invalid iterator, and use VERIFY not assert.
8197
8198 2016-05-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
8199
8200         Avoid endless run-time recursion for copying single-element
8201         tuples where the element type is by-value constructible
8202         from any type.
8203         * include/std/tuple (_NotSameTuple): New.
8204         * include/std/tuple (tuple(_UElements&&...): Use it.
8205         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
8206
8207 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8208
8209         PR libstdc++/71004
8210         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
8211         Initialize scalar member variables in default constructor.
8212         * testsuite/experimental/filesystem/iterators/
8213         recursive_directory_iterator.cc: Test default construction.
8214
8215 2016-05-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8216
8217         * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
8218
8219 2016-05-05  Jonathan Wakely  <jwakely@redhat.com>
8220
8221         * testsuite/experimental/filesystem/path/native/string.cc: Add
8222         dg-require-filesystem-ts directive.
8223
8224 2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
8225
8226         PR libstdc++/70940
8227         * include/experimental/memory_resource
8228         (__resource_adaptor_imp::do_allocate): Do not default-construct
8229         rebound allocator.
8230         (__resource_adaptor_imp::do_deallocate): Likewise. Use
8231         allocator_traits to get pointer type.
8232         (__null_memory_resource::do_allocate): Remove unused parameters.
8233         (__null_memory_resource::do_deallocate): Likewise.
8234         (__null_memory_resource::do_is_equal): Likewise. Add return statement.
8235         * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
8236         * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
8237         move to ...
8238         * testsuite/experimental/memory_resource/1.cc: Here.
8239         * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
8240         * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
8241
8242 2016-04-29  Chris Gregory  <czipperz@gmail.com>
8243
8244         * config/*: Remove trailing whitespace.
8245         * src/*: Likewise.
8246         * testsuite/tr1/*: Likewise.
8247         * testsuite/util/*: Likewise.
8248
8249 2016-04-28  Jonathan Wakely  <jwakely@redhat.com>
8250
8251         PR libstdc++/70766
8252         * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
8253         __addressof.
8254         * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
8255         Likewise.
8256         * include/std/atomic (atomic<_Tp>): Likewise.
8257         * include/std/shared_mutex (shared_lock): Likewise.
8258         * testsuite/24_iterators/istream_iterator/70766.cc: New test.
8259         * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
8260         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
8261         * testsuite/29_atomics/atomic/70766.cc: New test.
8262         * testsuite/30_threads/shared_lock/70766.cc: New test.
8263
8264         * include/bits/hashtable_policy.h (__detail::_Insert_base,
8265         __detail::_Insert): Improve comments.
8266
8267 2016-04-27  Jonathan Wakely  <jwakely@redhat.com>
8268
8269         PR libstdc++/70767
8270         * include/std/limits: Update comments about DRs.
8271         (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
8272         numeric_limits<const volatile _Tp>): Define unconditionally.
8273
8274 2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
8275
8276         PR libstdc++/70762
8277         * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
8278         static counter to return a different path on every call.
8279
8280 2016-04-22  Tim Shen  <timshen@google.com>
8281
8282         PR libstdc++/70745
8283         * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
8284         Fix the match_not_bow and match_not_eow behavior.
8285         * testsuite/28_regex/regression.cc: Add testcase.
8286
8287 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
8288
8289         PR libstdc++/69703
8290         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
8291         __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
8292
8293 2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
8294
8295         PR libstdc++/69703
8296         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
8297         Override endianness bit in mode.
8298         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
8299         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
8300         that little_endian mode is ignored.
8301         * testsuite/experimental/filesystem/path/native/string.cc: New test.
8302
8303         PR libstdc++/70609
8304         * src/filesystem/ops.cc (close_fd): New function.
8305         (do_copy_file): Set permissions before copying file contents. Check
8306         result of closing file descriptors. Don't copy streambuf when file
8307         is empty.
8308         (copy(const path&, const path&, copy_options, error_code&)): Use
8309         lstat for source file when copy_symlinks is set.
8310         * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
8311
8312         * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
8313         operator~ operator&=, operator|=, operator^=): Add noexcept to
8314         overloaded operators for copy_options, perms and directory_options.
8315         * src/filesystem/ops.cc (make_file_type, make_file_status,
8316         is_not_found_errno, file_time): Add noexcept.
8317
8318 2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>
8319
8320         * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
8321
8322 2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
8323
8324         PR libstdc++/41759
8325         * include/bits/random.h: Reword static assertion messages to state
8326         positive conditions.
8327         * include/bits/random.tcc: Likewise.
8328         * include/bits/uniform_int_dist.h: Likewise.
8329         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
8330         patterns.
8331
8332         * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
8333
8334         * config/cpu/sh/atomicity.h: Fix typo in comment.
8335
8336         PR libstdc++/70294
8337         * include/std/thread (operator<, operator==): Move definitions to
8338         namespace-scope.
8339         * testsuite/30_threads/thread/id/70294.cc: New test.
8340
8341         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
8342         -Wno-pedantic to dg-options.
8343         * testsuite/20_util/align/2.cc: Use type as operand of alignof.
8344         * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
8345         to dg-options.
8346         * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
8347         Remove extra semi-colon.
8348         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8349         Always supply second argument to static_assert.
8350         * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
8351         semi-colon.
8352         * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
8353         dg-options.
8354         * testsuite/26_numerics/complex/literals/values.cc: Likewise.
8355         * testsuite/29_atomics/atomic/60695.cc: Likewise.
8356         * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
8357         alignof when operand is an object not a type.
8358         * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
8359         * testsuite/decimal/make-decimal.cc: Likewise.
8360         * testsuite/experimental/type_traits/value.cc: Always supply second
8361         argument to static_assert.
8362         * testsuite/util/testsuite_common_types.h: Use __extension__ for
8363         __int128 types.
8364
8365         * testsuite/experimental/type_erased_allocator/1.cc: Don't include
8366         internal header.
8367         * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
8368         * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
8369         * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
8370         Likewise. Add licence and change to compile-only test.
8371
8372         * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
8373         unused parameter.
8374         * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
8375
8376         * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
8377         warnings.
8378
8379 2016-04-17  Edward Smith-Rowland  <3dw4rd@verizon.net>
8380
8381         * include/bits/specfun.h: Trivial comment misspelling.
8382
8383 2016-04-14  Jason Merrill  <jason@redhat.com>
8384
8385         Revert Jonathan's empty ABI change from yesterday.
8386
8387 2016-04-13  Martin Sebor  <msebor@redhat.com>
8388
8389         PR c++/69517
8390         * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
8391         upper bound is positive.
8392
8393 2016-04-13  Jonathan Wakely  <jwakely@redhat.com>
8394
8395         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
8396         _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
8397         * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
8398         of functions taking empty structs by value. Add a template parameter
8399         to overloads without hints. Rename overloads with hints to
8400         _M_emplace_hint.
8401         (_Hashtable::_M_erase(true_type, const_iterator),
8402         _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
8403         by reordering parameters.
8404         * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
8405         _M_emplace_hint instead of _M_emplace.
8406         * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
8407         shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
8408         * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
8409         __shared_ptr): Likewise.
8410         * include/bits/stl_algo.h (replace_if): Likewise.
8411         * include/bits/stl_pair.h (piecewise_construct_t,
8412         piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
8413         * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
8414         __uses_alloc0): Likewise.
8415         * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
8416         * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
8417         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
8418         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
8419         * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
8420         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
8421         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
8422
8423 2016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
8424
8425         Document C++17/TR29124 C++ Special Math Functions.
8426         * include/bits/specfun.h: Add Doxygen markup.
8427
8428 2016-04-07  Jonathan Wakely  <jwakely@redhat.com>
8429
8430         * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
8431
8432 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
8433
8434         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
8435         * src/Makefile.in: Regenerate.
8436
8437 2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
8438
8439         PR libstdc++/70554
8440         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
8441         __atomic_fetch_add for bool.
8442         * configure: Regenerate.
8443
8444         * testsuite/30_threads/thread/70503.cc: Require -static to work.
8445
8446         PR libstdc++/70503
8447         * src/c++11/thread.cc (execute_native_thread_routine,
8448         execute_native_thread_routine_compat): Give internal linkage.
8449         * testsuite/30_threads/thread/70503.cc: New test.
8450
8451 2016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8452
8453         PR libstdc++/70437
8454         * include/bits/stl_pair.h (_ConstructiblePair,
8455         _ImplicitlyConvertiblePair, _MoveConstructiblePair,
8456         _ImplicitlyMoveConvertiblePair): Add shortcut conditions
8457         for same-type cases.
8458         * testsuite/20_util/pair/70437.cc: New.
8459
8460 2016-03-24  Jonathan Wakely  <jwakely@redhat.com>
8461
8462         PR libstdc++/69945
8463         * config/abi/pre/gnu.ver: Add new symbol.
8464         * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
8465         * testsuite/18_support/free_eh_pool.cc: New test.
8466
8467 2016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8468
8469         * include/Makefile.am (install-freestanding-headers): Add
8470         concept_check.h and move.h to the installed headers.
8471         * include/Makefile.in: Regenerated.
8472         * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
8473         freestanding implementations.
8474         * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
8475         that this macro has no effect for freestanding implementations.
8476         * doc/html/manual/using_macros.html: Likewise.
8477
8478 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
8479
8480         PR libstdc++/69939
8481         * include/experimental/tuple (__apply_impl): Qualify get and forward.
8482
8483 2016-02-23  Jonathan Wakely  <jwakely@redhat.com>
8484
8485         * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
8486         * doc/html/*: Regenerate.
8487
8488         PR libstdc++/69893
8489         * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
8490         exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
8491         llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
8492         nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
8493         trunc) [__cplusplus >= 201103L]: Import from namespace std.
8494         (fabs) [__cplusplus < 201103L]: Import from namespace std.
8495         * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
8496         Likewise.
8497         * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
8498         namespace before including TR1 headers.
8499         * testsuite/tr1/headers/c++200x/math.cc: New test.
8500
8501 2016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8502
8503         PR libstdc++/69881
8504         * include/c_global/cstdarg: Undefine __need___va_list.
8505         * include/c_global/cstddef: Undefine all kinds of __need_*.
8506
8507 2016-02-16  Tim Shen  <timshen@google.com>
8508
8509         PR libstdc++/69794
8510         * include/bits/regex_scanner.h: Add different special character
8511         sets for grep and egrep regex.
8512         * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
8513         * testsuite/28_regex/regression.cc: Add new testcase.
8514
8515 2016-02-08  Jonathan Wakely  <jwakely@redhat.com>
8516
8517         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
8518         added 'constexpr' in previous commit.
8519         * configure: Regenerate.
8520
8521         PR libstdc++/48891
8522         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
8523         checks for all targets except *-*-solaris2.* and ensure we find the
8524         libc math.h header not our own.
8525         * configure: Regenerate.
8526
8527 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
8528
8529         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
8530         New file.  Copied over from s390-linux-gnu.
8531
8532 2016-02-04  Jonathan Wakely  <jwakely@redhat.com>
8533
8534         PR libstdc++/69626
8535         * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
8536         with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
8537         * config.h.in: Regenerate.
8538         * configure: Regenerate.
8539         * testsuite/21_strings/c_strings/char/69626.cc: New.
8540
8541         * doc/html/index.html: Regenerate.
8542
8543         * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
8544         * doc/xml/manual/spine.xml: Update copyright years and author blurb.
8545         * doc/html/*: Regenerate.
8546
8547 2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8548
8549         PR libstdc++/69581
8550         * include/c_compatibility/math.h: Move header guards.
8551         * include/c_compatibility/stdlib.h: Likewise.
8552
8553 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
8554
8555         PR libstdc++/69506
8556         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
8557
8558 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
8559
8560         PR libstdc++/69450
8561         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
8562         isinf and isnan functions into two independent checks.  Check on hpux.
8563         * config.h.in: Regenerate.
8564         * configure: Regenerate.
8565         * include/c_global/cmath (isinf(double), isnan(double)): Use
8566         _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
8567         respectively.
8568
8569 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
8570
8571         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
8572
8573 2016-01-27  Jonathan Wakely  <jwakely@redhat.com>
8574
8575         PR libstdc++/69295
8576         * testsuite/ext/special_functions/hyperg/check_value.cc: Use
8577         -ffp-contract=off, and -ffloat-store to disable excess precision.
8578         * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
8579         -ffp-contract=off.
8580
8581 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
8582
8583         PR libstdc++/69478
8584         * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
8585         random_access_iterator_tag>): Check is_move_assignable when moving.
8586         (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
8587         Likewise.
8588         * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
8589         * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
8590         * testsuite/25_algorithms/move/69478.cc: New.
8591         * testsuite/25_algorithms/move_backward/69478.cc: new.
8592
8593 2016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
8594
8595         * include/c_compatibility/stdlib.h: Include wide character related
8596         definitions only when they are available in cstdlib.
8597
8598 2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
8599
8600         PR libstdc++/69464
8601         * include/Makefile.am: Add new header.
8602         * include/Makefile.in: Regenerate.
8603         * include/bits/random.h (uniform_int_distribution): Move to
8604         bits/uniform_int_dist.h.
8605         * include/bits/random.tcc (uniform_int_distribution::operator(),
8606         uniform_int_distribution::__generate_impl): Likewise.
8607         * include/bits/uniform_int_dist.h: New header.
8608         * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
8609         <bits/uniform_int_dist.h> instead of <random>.
8610         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
8611         move_iterators/1.cc: Include correct header for uninitialized_copy.
8612         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
8613         move_iterators/1.cc: Likewise.
8614         * testsuite/25_algorithms/nth_element/58800.cc: Include correct
8615         header for vector.
8616         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
8617
8618 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
8619
8620         PR libstdc++/69446
8621         * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
8622
8623 2016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
8624
8625         TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
8626         * include/c_compatibility/math.h: Import the TR29124 functions
8627         into the global namespace.
8628         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
8629         xfail and make compile-only.
8630         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
8631         * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
8632         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
8633         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
8634         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
8635         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
8636         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
8637         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
8638         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
8639         * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
8640         * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
8641         * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
8642         * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
8643         * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
8644         * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
8645         * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
8646         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
8647         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
8648         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
8649         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
8650
8651 2016-01-22  Jonathan Wakely  <jwakely@redhat.com>
8652
8653         PR libstdc++/69116
8654         * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
8655         define result_type for types which can be safely used with valarrays.
8656         * testsuite/26_numerics/valarray/69116.cc: New.
8657
8658         PR libstdc++/69413
8659         * config/os/gnu-linux/os_defines.h: Define
8660         _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
8661         * include/c_global/cmath (isinf, isnan): Check it.
8662         * doc/xml/manual/internals.xml: Document it.
8663         * doc/html/*: Regenerate.
8664
8665 2016-01-21  Jonathan Wakely  <jwakely@redhat.com>
8666
8667         PR libstdc++/69406
8668         * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
8669         * include/ext/type_traits.h: Likewise.
8670         * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
8671         for presence of C headers.
8672         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
8673         dg-error line number.
8674         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
8675         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
8676         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
8677
8678 2016-01-20  Torvald Riegel  <triegel@redhat.com>
8679
8680         PR libstdc++/69310
8681         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
8682
8683 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
8684
8685         PR libstdc++/60401
8686         * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
8687         copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
8688         lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
8689         nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
8690         tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
8691         Add using declarations.
8692         * testsuite/26_numerics/headers/cmath/60401.cc: New.
8693
8694         PR libstdc++/69386
8695         * include/c_global/ccomplex: Ensure C++ language linkage.
8696         * include/c_global/cmath: Likewise.
8697         * include/c_global/cstdlib: Likewise.
8698         * include/c_global/ctgmath: Likewise.
8699         * testsuite/17_intro/headers/c++2011/linkage.cc: New.
8700
8701 2016-01-19  Jonathan Wakely  <jwakely@redhat.com>
8702
8703         PR libstdc++/14608
8704         PR libstdc++/60401
8705         * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
8706         --enable-cheaders=c_global configs.
8707         * include/Makefile.in: Regenerate.
8708         * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
8709         test and allow inclusion from C files.
8710         * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
8711         (at_quick_exit, quick_exit): Add using directives.
8712         * include/c_global/cmath: Use #include_next for math.h.
8713         * include/c_global/cstdlib: Use #include_next for stdlib.h.
8714         * testsuite/26_numerics/headers/cmath/14608.cc: New.
8715         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
8716         Remove xfail for most targets.
8717         * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
8718
8719 2016-01-18  Torvald Riegel  <triegel@redhat.com>
8720
8721         * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
8722         (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
8723         and move after its definition.
8724         * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
8725         * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
8726         __GXX_WEAK__, and only provide transactional clones if
8727         _GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
8728         functions.
8729
8730 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
8731
8732         PR libstdc++/60637
8733         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
8734
8735         PR libstdc++/69243
8736         * include/std/functional (_Function_base::_M_not_empty_function):
8737         Change overloads for pointers to take arguments by value.
8738         * testsuite/20_util/function/cons/57465.cc: Add tests for
8739         pointer-to-member cases.
8740
8741         PR libstdc++/69340
8742         * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
8743         Use macros for exception handling and fix unused parameter warning.
8744
8745 2016-01-17  John David Anglin  <danglin@gcc.gnu.org>
8746
8747         PR libstdc++/68734
8748         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
8749
8750 2016-01-17  Torvald Riegel  <triegel@redhat.com>
8751
8752         * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
8753
8754 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
8755
8756         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
8757         __int128 symbols.
8758
8759 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
8760
8761         PR libstdc++/69293
8762         * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
8763         static assertion that type is constructible from the arguments.
8764         * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
8765         * testsuite/20_util/uses_allocator/69293_neg.cc: New.
8766         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
8767
8768         PR libstdc++/69294
8769         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
8770         and isnan on AIX. Quote variables.
8771         * configure: Regenerate.
8772
8773 2016-01-15  Torvald Riegel  <triegel@redhat.com>
8774
8775         * include/bits/basic_string.h (basic_string): Declare friends.
8776         * include/bits/c++config (_GLIBCXX_TXN_SAFE,
8777         _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
8778         * include/std/stdexcept (logic_error, domain_error, invalid_argument,
8779         length_error, out_of_range, runtime_error, range_error,
8780         underflow_error, overflow_error): Declare members as transaction-safe.
8781         (logic_error, runtime_error): Declare friend functions.
8782         * libsupc++/exception (exception, bad_exception): Declare members as
8783         transaction-safe.
8784         * src/c++11/cow-stdexcept.cc: Define transactional clones for the
8785         transaction-safe members of exceptions and helper functions.
8786         * libsupc++/eh_exception.cc: Adjust and define transactional clones.
8787         * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
8788         (CXXABI_1.3.10): New.
8789         * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
8790         (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
8791         * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
8792         * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
8793         * include/Makefile.in: Regenerate.
8794         * config.h.in: Regenerate.
8795         * configure: Regenerate.
8796         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
8797
8798 2016-01-15  Steve Ellcey  <sellcey@imgtec.com>
8799
8800         * include/ext/random.tcc: Use __builtin_isfinite instead of
8801         std::isfinite.
8802
8803 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
8804
8805         * include/bits/std_mutex.h: Fix Doxygen @file name.
8806
8807 2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
8808             Jonathan Wakely  <jwakely@redhat.com>
8809             Florian Goth <CaptainSifff@gmx.de>
8810
8811         Implement TR29124 C++ special Math Functions.
8812         * include/Makefile.am: Add new headers.
8813         * include/Makefile.in: Regenerate.
8814         * include/bits/specfun.h: New.
8815         * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
8816         * include/tr1/bessel_function.tcc: Ditto.
8817         * include/tr1/beta_function.tcc: Ditto.
8818         * include/tr1/cmath: Ditto.
8819         * include/tr1/ell_integral.tcc: Ditto.
8820         * include/tr1/exp_integral.tcc: Ditto.
8821         * include/tr1/gamma.tcc: Ditto.
8822         * include/tr1/hypergeometric.tcc: Ditto.
8823         * include/tr1/legendre_function.tcc: Ditto.
8824         * include/tr1/modified_bessel_func.tcc: Ditto.
8825         * include/tr1/poly_hermite.tcc: Ditto.
8826         * include/tr1/poly_laguerre.tcc: Ditto.
8827         * include/tr1/riemann_zeta.tcc: Ditto.
8828         * include/tr1/special_function_util.h: Ditto.
8829         * testsuite/ext/special_functions/conf_hyperg: New.
8830         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
8831         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
8832         * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
8833         * testsuite/ext/special_functions/hyperg: New.
8834         * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
8835         * testsuite/ext/special_functions/hyperg/check_value.cc: New.
8836         * testsuite/ext/special_functions/hyperg/compile.cc: New.
8837         * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
8838         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
8839         * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
8840         * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
8841         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
8842         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
8843         * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
8844         * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
8845         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
8846         * testsuite/special_functions/03_beta/check_nan.cc: New.
8847         * testsuite/special_functions/03_beta/check_value.cc: New.
8848         * testsuite/special_functions/03_beta/compile.cc: New.
8849         * testsuite/special_functions/03_beta/compile_2.cc: New.
8850         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
8851         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
8852         * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
8853         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
8854         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
8855         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
8856         * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
8857         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
8858         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
8859         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
8860         * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
8861         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
8862         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
8863         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
8864         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
8865         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
8866         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
8867         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
8868         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
8869         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
8870         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
8871         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
8872         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
8873         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
8874         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
8875         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
8876         * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
8877         * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
8878         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
8879         * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
8880         * testsuite/special_functions/11_ellint_1/check_value.cc: New.
8881         * testsuite/special_functions/11_ellint_1/compile.cc: New.
8882         * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
8883         * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
8884         * testsuite/special_functions/12_ellint_2/check_value.cc: New.
8885         * testsuite/special_functions/12_ellint_2/compile.cc: New.
8886         * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
8887         * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
8888         * testsuite/special_functions/13_ellint_3/check_value.cc: New.
8889         * testsuite/special_functions/13_ellint_3/compile.cc: New.
8890         * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
8891         * testsuite/special_functions/14_expint/check_nan.cc: New.
8892         * testsuite/special_functions/14_expint/check_value.cc: New.
8893         * testsuite/special_functions/14_expint/compile.cc: New.
8894         * testsuite/special_functions/14_expint/compile_2.cc: New.
8895         * testsuite/special_functions/15_hermite/check_nan.cc: New.
8896         * testsuite/special_functions/15_hermite/check_value.cc: New.
8897         * testsuite/special_functions/15_hermite/compile.cc: New.
8898         * testsuite/special_functions/15_hermite/compile_2.cc: New.
8899         * testsuite/special_functions/16_laguerre/check_nan.cc: New.
8900         * testsuite/special_functions/16_laguerre/check_value.cc: New.
8901         * testsuite/special_functions/16_laguerre/compile.cc: New.
8902         * testsuite/special_functions/16_laguerre/compile_2.cc: New.
8903         * testsuite/special_functions/17_legendre/check_nan.cc: New.
8904         * testsuite/special_functions/17_legendre/check_value.cc: New.
8905         * testsuite/special_functions/17_legendre/compile.cc: New.
8906         * testsuite/special_functions/17_legendre/compile_2.cc: New.
8907         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
8908         * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
8909         * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
8910         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
8911         * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
8912         * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
8913         * testsuite/special_functions/19_sph_bessel/compile.cc: New.
8914         * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
8915         * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
8916         * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
8917         * testsuite/special_functions/20_sph_legendre/compile.cc: New.
8918         * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
8919         * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
8920         * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
8921         * testsuite/special_functions/21_sph_neumann/compile.cc: New.
8922         * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
8923         * testsuite/util/specfun_testcase.h: New.
8924         * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
8925         * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
8926         * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
8927         * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
8928         * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
8929         * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
8930         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
8931
8932 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
8933
8934         PR libstdc++/48891
8935         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
8936         and isnan functions.
8937         * config.h.in: Regenerate.
8938         * configure: Regenerate.
8939         * include/c_global/cmath (isinf(double), isnan(double))
8940         [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
8941         * testsuite/26_numerics/headers/cmath/48891.cc: New.
8942
8943 2016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8944
8945         PR libstdc++/66006
8946         * configure.host (abi_baseline_pair): Use separate baseline for
8947         Solaris 11+ and Solaris 10 with gld.
8948         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
8949         * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
8950         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
8951
8952 2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
8953
8954         PR libstdc++/68877
8955         * include/std/type_traits: Following N4511, reimplement __is_swappable
8956         and __is_nothrow_swappable. Move __is_swappable to namespace std,
8957         adjust callers. Use __is_nothrow_swappable in swap.
8958         * include/bits/move.h: Use __is_nothrow_swappable in swap.
8959         * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
8960         __is_swappable related tests.
8961         * testsuite/20_util/is_swappable/value.cc: New.
8962         * testsuite/20_util/is_swappable/requirements/
8963         explicit_instantiation.cc: New.
8964         * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
8965         * testsuite/25_algorithms/swap/68877.cc: New.
8966
8967 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
8968
8969         * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
8970
8971         PR libstdc++/69005
8972         PR libstdc++/69222
8973         * include/std/functional (function::_Invoke): Remove, use result_of.
8974         (function::_Callable): Replace alias template with class template
8975         and use partial specialization instead of _NotSelf alias template.
8976         (function(_Functor)): Add "not self" constraint so that _Callable is
8977         not used while type is incomplete.
8978         * testsuite/20_util/function/69222.cc: New.
8979
8980 2016-01-11  Jonathan Wakely  <jwakely@redhat.com>
8981
8982         PR libstdc++/60976
8983         * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
8984         Define partial specialization.
8985         * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
8986         destroy members to std::allocator explicit specialization.
8987
8988 2016-01-08  Jonathan Wakely  <jwakely@redhat.com>
8989
8990         * testsuite/26_numerics/headers/cmath/
8991         c99_classification_macros_c++.cc: Rename to ...
8992         * testsuite/26_numerics/headers/cmath/
8993         c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
8994         * testsuite/26_numerics/headers/cmath/
8995         c99_classification_macros_c++0x.cc: Rename to ...
8996         * testsuite/26_numerics/headers/cmath/
8997         c99_classification_macros_c++11.cc: Here.
8998
8999         PR libstdc++/69190
9000         * include/bits/uses_allocator.h: Add missing include.
9001
9002 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
9003
9004         PR libstdc++/69105
9005         PR libstdc++/69106
9006         PR libstdc++/69114
9007         * include/bits/stl_iterator.h (back_insert_iterator,
9008         front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
9009         * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
9010         * include/std/future (__future::base::_State_baseV2::__setter):
9011         Likewise.
9012         * include/std/scoped_allocator (__outermost): Likewise.
9013         * testsuite/20_util/scoped_allocator/69114.cc: New.
9014         * testsuite/20_util/uses_allocator/69114.cc: New.
9015         * testsuite/30_threads/promise/69106.cc: New.
9016
9017 2016-01-06  Jonathan Wakely  <jwakely@redhat.com>
9018
9019         PR libstdc++/69092
9020         * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
9021         Remove _GLIBCXX_NOEXCEPT.
9022         testsuite/21_strings/basic_string/cons/char/69092.cc: New.
9023
9024         * include/Makefile.am: Adjust.
9025         * include/Makefile.in: Regenerate.
9026         * include/bits/mutex.h: Rename to bits/std_mutex.h.
9027         * include/std/condition_variable: Adjust include.
9028         * include/std/mutex: Likewise.
9029
9030 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
9031
9032         Update copyright years.
9033 \f
9034 Copyright (C) 2016 Free Software Foundation, Inc.
9035
9036 Copying and distribution of this file, with or without modification,
9037 are permitted in any medium without royalty provided the copyright
9038 notice and this notice are preserved.