Update copyright years.
[platform/upstream/gcc.git] / libstdc++-v3 / ChangeLog-2016
1 2016-12-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
2
3         Implement LWG 2842, in_place_t check for optional::optional(U&&)
4         should decay U.
5         * include/std/optional (_Optional_base(in_place_t, _Args&&...)):
6         Constrain.
7         (_Optional_base(in_place_t, initializer_list<_Up>, _Args&&...)):
8         Turn the int-pack constraint hack into a saner bool.
9         (_Optional_base<_Tp, false>::_Optional_base(in_place_t, _Args&&...)):
10         Constrain.
11         (_Optional_base<_Tp, false>::_Optional_base(in_place_t,
12         initializer_list<_Up>, _Args&&...)):
13         Turn the int-pack constraint hack into a saner bool.
14         (optional(_Up&&)): Constrain against in_place_t.
15         (optional(in_place_t, _Args&&...)): Constrain.
16         (constexpr optional(in_place_t, initializer_list<_Up>, _Args&&...)):
17         Turn the int-pack constraint hack into a saner bool.
18         * testsuite/20_util/optional/cons/value_neg.cc: Add a test for
19         a type that is constructible from in_place.
20
21 2016-12-24  François Dumont  <fdumont@gcc.gnu.org>
22
23         * include/ext/random.tcc: Fix usage of _OutputIteratorConcept.
24
25 2016-12-21  Jason Merrill  <jason@redhat.com>
26
27         * testsuite/util/testsuite_tr1.h (test_property): Don't define both
28         variadic and non-variadic overloads.
29
30 2016-12-21  Jonathan Wakely  <jwakely@redhat.com>
31
32         PR libstdc++/71444
33         * config/os/mingw32-w64/error_constants.h
34         (address_family_not_supported, address_in_use, address_not_available)
35         (already_connected, connection_aborted, connection_already_in_progress)
36         connection_refused, connection_reset, cross_device_link)
37         (destination_address_required, host_unreachable, message_size)
38         (network_down, network_reset, network_unreachable, no_buffer_space)
39         (no_protocol_option, not_a_socket, not_connected, operation_canceled)
40         (operation_in_progress, operation_not_supported, protocol_error)
41         (protocol_not_supported, too_many_links, too_many_symbolic_link_levels)
42         (value_too_large, wrong_protocol_type): Define.
43         (bad_message, identifier_removed, no_link, no_message_available)
44         (no_message, no_stream_resources, not_a_stream, owner_dead)
45         (state_not_recoverable, stream_timeout, text_file_busy): Define
46         conditionally.
47         * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
48         Guard test for no_message with _GLIBCXX_HAVE_ENOMSG.
49
50 2016-12-19  Ville Voutilainen  <ville.voutilainen@gmail.com>
51
52         Make the perfect-forwarding constructor of a two-element tuple
53         sfinae away when the first argument is an allocator_arg.
54         * include/std/tuple (tuple(_U1&&, _U2&&)): Constrain.
55         * testsuite/20_util/tuple/cons/allocator_with_any.cc: New.
56         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
57
58 2016-12-16  Jonathan Wakely  <jwakely@redhat.com>
59
60         * include/bits/stl_map.h (map::erase(iterator)): Add Doxygen markup
61         to reuse documentation for erase(const_iterator) overload.
62         * include/bits/stl_multimap.h (multimap::erase(iterator)): Likewise.
63
64         * include/bits/stl_tree.h (_Rb_tree::_M_erase_aux(const_iterator)):
65         Add assertion for undefined argument.
66         (_Rb_tree::_M_erase_aux(const_iterator, const_iterator)): Call
67         _M_erase_aux directly instead of through erase.
68         (_Rb_tree::_M_erase_aux(const Key&)): Likewise.
69         * testsuite/23_containers/map/modifiers/erase/end_neg.cc: New test.
70
71 2016-12-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
72
73         Implement LWG 2769, Redundant const in the return type of
74         any_cast(const any&).
75         * include/std/any (_AnyCast): New.
76         (any_cast(const any&)): Use it and add an explicit cast for return.
77         (any_cast(any&)): Likewise.
78         (any_cast(any&&)): Likewise.
79         * testsuite/20_util/any/misc/any_cast.cc: Add a test for a type
80         that has an explicit copy constructor.
81         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
82
83 2016-12-15  Jonathan Wakely  <jwakely@redhat.com>
84
85         PR libstdc++/59170
86         * python/libstdcxx/v6/printers.py (StdListIteratorPrinter.to_string)
87         (StdSlistIteratorPrinter.to_string, StdVectorIteratorPrinter.to_string)
88         (StdRbtreeIteratorPrinter.to_string)
89         (StdDequeIteratorPrinter.to_string): Add check for value-initialized
90         iterators.
91         * testsuite/libstdc++-prettyprinters/simple.cc: Test them.
92         * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
93
94         PR libstdc++/59161
95         * python/libstdcxx/v6/printers.py (StdListIteratorPrinter.to_string)
96         (StdSlistIteratorPrinter.to_string, StdVectorIteratorPrinter.to_string)
97         (StdRbtreeIteratorPrinter.to_string, StdDequeIteratorPrinter.to_string)
98         (StdDebugIteratorPrinter.to_string): Return string instead of
99         gdb.Value.
100         * testsuite/libstdc++-prettyprinters/59161.cc: New test.
101
102         * python/libstdcxx/v6/printers.py (UniquePointerPrinter.to_string):
103         Remove redundant parentheses.
104         (RbtreeIterator, StdRbtreeIteratorPrinter): Add docstrings.
105         (StdForwardListPrinter.to_string): Remove redundant parentheses.
106         (StdExpOptionalPrinter.to_string): Use string formatting instead of
107         concatenation.
108         (StdVariantPrinter.to_string, StdNodeHandlePrinter.to_string)
109         (TemplateTypePrinter): Adjust whitespace.
110
111         * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker.__init__): Use
112         correct element type for unique_ptr<T[]>.
113         (UniquePtrGetWorker._supports, UniquePtrDerefWorker._supports): New
114         functions to disable unsupported operators for unique_ptr<T[]>.
115         (UniquePtrSubscriptWorker): New worker for operator[].
116         (UniquePtrMethodsMatcher.__init__): Register UniquePtrSubscriptWorker.
117         (UniquePtrMethodsMatcher.match): Call _supports on the chosen worker.
118         (SharedPtrGetWorker, SharedPtrDerefWorker, SharedPtrSubscriptWorker)
119         (SharedPtrUseCountWorker, SharedPtrUniqueWorker): New workers.
120         (SharedPtrMethodsMatcher): New matcher for shared_ptr.
121         (register_libstdcxx_xmethods): Register SharedPtrMethodsMatcher.
122         * testsuite/libstdc++-xmethods/unique_ptr.cc: Test arrays.
123         * testsuite/libstdc++-xmethods/shared_ptr.cc: New test.
124
125 2016-12-14  François Dumont  <fdumont@gcc.gnu.org>
126
127         * include/bits/stl_tree.h
128         (_Rb_tree_impl(const _Key_compare&, const _Node_allocator&): Restore
129         before C++11 mode.
130
131 2016-12-14  Jonathan Wakely  <jwakely@redhat.com>
132
133         * python/libstdcxx/v6/printers.py (num_elements): New function.
134         (StdMapPrinter.to_string, StdSetPrinter.to_string)
135         (StdDequePrinter.to_string, Tr1UnorderedSetPrinter.to_string)
136         (Tr1UnorderedMapPrinter.to_string): Use num_elements.
137         * testsuite/libstdc++-prettyprinters/cxx11.cc: Adjust expected results
138         to use singular noun when there is only one element.
139         * testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
140         * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
141         * testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
142         * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
143         * testsuite/libstdc++-prettyprinters/tr1.cc: Likewise.
144
145         PR libstdc++/59170
146         * python/libstdcxx/v6/printers.py (StdDebugIteratorPrinter): Use
147         _M_sequence and _M_version to detect invalid iterators.
148         * testsuite/libstdc++-prettyprinters/debug.cc: Test debug mode vector
149         and test invalid iterators.
150         * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: New test.
151
152 2016-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
153
154         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
155         XFAIL run if newlib_broken_long_double_io.
156         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc:
157         Likewise.
158         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc:
159         Likewise.
160         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
161         Likewise.
162
163 2016-12-12  Jonathan Wakely  <jwakely@redhat.com>
164
165         * testsuite/experimental/filesystem/operations/is_empty.cc:
166         Remove stray character at end of dg-do directive.
167
168         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
169         Remove stray character at end of dg-do directive.
170
171 2016-12-09  Jonathan Wakely  <jwakely@redhat.com>
172
173         * include/std/variant: Remove misplaced
174         _GLIBCXX_BEGIN_NAMESPACE_VERSION macro.
175
176 2016-12-08  David Edelsohn  <dje.gcc@gmail.com>
177
178         * testsuite/25_algorithms/headers/algorithm/
179         parallel_algorithm_assert2.cc: Move dg-do run first.
180
181 2016-12-08  Eric Botcazou  <ebotcazou@adacore.com>
182
183         PR libstdc++/78264
184         * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM): Turn _N into _NE.
185         (_GLIBCXX_NOEXCEPT_QUAL): Likewise.
186
187 2016-12-08  Jonathan Wakely  <jwakely@redhat.com>
188
189         * testsuite/experimental/filesystem/path/construct/range.cc: Don't
190         use basic_string::front() when string might be empty.
191
192         * include/debug/array (swap): Add deleted overload.
193         * include/bits/stl_pair.h (swap): Remove redundant inline keyword
194         from deleted overload.
195         * include/bits/unique_ptr.h (swap): Likewise.
196         * include/std/array (swap): Likewise.
197         * include/std/optional (swap): Likewise.
198         * include/std/tuple (swap): Likewise.
199         * include/std/variant (swap): Likewise.
200         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
201         Adjust dg-error line numbers.
202         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
203         * testsuite/23_containers/array/tuple_interface/
204         tuple_element_debug_neg.cc: Likewise.
205         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
206         Likewise.
207
208         PR libstdc++/71856
209         * doc/xml/manual/using.xml: Document macro.
210         * include/bits/c++config [_GLIBCXX_DEBUG || _GLIBCXX_PARALLEL]
211         (__glibcxx_assert): Rename to __glibcxx_assert_impl.
212         [_GLIBCXX_DEBUG] (__glibcxx_assert): Expand to __glibcxx_assert_impl.
213         * include/parallel/base.h [_GLIBCXX_PARALLEL_ASSERTIONS]
214         (_GLIBCXX_PARALLEL_ASSERT): Expand to __glibcxx_assert_impl.
215         [!_GLIBCXX_PARALLEL_ASSERTIONS] (_GLIBCXX_PARALLEL_ASSERT): Define as
216         empty.
217         * testsuite/25_algorithms/headers/algorithm/
218         parallel_algorithm_assert2.cc: New test.
219
220 2016-12-08  Jakub Jelinek  <jakub@redhat.com>
221
222         * testsuite/util/testsuite_new_operators.h: Include testsuite_hooks.h.
223         (operator new): Use THROW macro.
224
225 2016-12-07  François Dumont  <fdumont@gcc.gnu.org>
226
227         * include/bits/stl_tree.h
228         (_Rb_tree<>::_M_copy(_Const_Link_type, _Base_ptr)): Delete.
229         (_Rb_tree<>::_M_copy(const _Rb_tree&, _NodeGen&)): New.
230         (_Rb_tree<>::_M_copy(const _Rb_tree&)): New, use latter.
231         (_Rb_tree<>(const _Rb_tree&): Use latter.
232         (_Rb_tree<>(const _Rb_tree&, const allocator_type&)): Likewise.
233         (_Rb_tree<>::_M_move_data(_Rb_tree&, false_type)): Likewise.
234         (_Rb_tree<>::_M_move_assign(_Rb_tree&, false_type)): Likewise.
235         (_Rb_tree<>::operator=(const _Rb_tree&)): Likewise.
236
237         * include/bits/stl_map.h (map(const map&)): Make default.
238         (map(map&&)): Likewise.
239         (~map()): Likewise.
240         (operator=(const map&)): Likewise.
241         * include/bits/stl_multimap.h (multimap(const multimap&)): Make default.
242         (multimap(multimap&&)): Likewise.
243         (~multimap()): Likewise.
244         (operator=(const multimap&)): Likewise.
245         * include/bits/stl_set.h (set(const set&)): Make default.
246         (set(set&&)): Likewise.
247         (~set()): Likewise.
248         (operator=(const set&)): Likewise.
249         * include/bits/stl_multiset.h (multiset(const multiset&)): Make default.
250         (multiset(multiset&&)): Likewise.
251         (~multiset()): Likewise.
252         (operator=(const multiset&)): Likewise.
253         * include/bits/stl_tree.h (_Rb_tree_key_compare<>): New.
254         (_Rb_tree_header): New.
255         (_Rb_tree_impl): Inherit from latters.
256         (_Rb_tree_impl()): Make default.
257         (_Rb_tree_impl(const _Rb_tree_impl&)): New.
258         (_Rb_tree<>(const _Rb_tree&): Use latter.
259         (_Rb_tree_impl(_Rb_tree_impl&&)): New, default.
260         (_Rb_tree_impl(const _Key_compare&, const _Node_allocator&)): Delete.
261         (_Rb_tree_impl::_M_reset): Move...
262         (_Rb_tree_header::_M_reset): ...here.
263         (_Rb_tree_impl::_M_initialize): Delete.
264         (_Rb_tree(_Rb_tree&&)): Make default.
265         (_Rb_tree_header::_M_move_data(_Rb_tree_header&)): New.
266         (_Rb_tree<>::_M_move_data(_Rb_tree&, true_type)): Use latter.
267         (_Rb_tree<>(_Rb_tree&&)): Make default.
268
269 2016-12-07  Jonathan Wakely  <jwakely@redhat.com>
270
271         * include/experimental/bits/fs_path.h (path::_S_convert): Replace
272         uses of C++14 std::remove_cv_t alias template.
273
274         * testsuite/28_regex/traits/char/user_defined.cc: Replace uses of
275         C++14 std::exchange function.
276
277         * testsuite/util/testsuite_hooks.h (THROW): Define.
278         * testsuite/util/replacement_memory_operators.h: Include
279         testsuite_hooks.h and use THROW macro.
280         * testsuite/util/testsuite_tr1.h: Likewise.
281         * testsuite/20_util/allocator/1.cc: Use THROW macro.
282         * testsuite/22_locale/locale/cons/12352.cc: Likewise.
283         * testsuite/23_containers/vector/zero_sized_allocations.cc: Likewise.
284         * testsuite/30_threads/lock_guard/cons/1.cc: Replace dynamic exception
285         specification with noexcept-specifier.
286         * testsuite/ext/pool_allocator/allocate_chunk.cc: Include
287         testsuite_hooks.h and use THROW macro.
288         * testsuite/ext/profile/replace_new.cc: Likewise.
289
290         * include/ext/bitmap_allocator.h (bitmap_allocator::_S_refill_pool)
291         (bitmap_allocator::_M_allocate_single_object)
292         (bitmap_allocator::_M_get): Use _GLIBCXX_THROW macro.
293
294         * testsuite/18_support/bad_exception/59392.cc: Disable for C++17.
295
296         * testsuite/18_support/headers/new/synopsis.cc: Add C++14 and C++17
297         declarations.
298         * testsuite/18_support/headers/new/synopsis_cxx98.cc: New test.
299
300 2016-12-06  Felipe Magno de Almeida  <felipe@expertisesolutions.com.br>
301
302         * src/c++11/cow-stdexcept.cc: Add special case for 16 bit pointers.
303
304         * crossconfig.m4: Add avr target for cross-compilation.
305         * configure: Regenerate.
306
307 2016-12-06  Jonathan Wakely  <jwakely@redhat.com>
308
309         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Update for new
310         data member name.
311         * testsuite/libstdc++-prettyprinters/cxx17.cc: Remove redundant test.
312
313         * include/bits/shared_ptr_base.h
314         (__shared_ptr_access<T, L, false, true>::operator->()): Fix assertion.
315
316 2016-12-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
317
318         Constrain optional's __constexpr_addressof in its return type
319         and use a constexpr addressof for optional, if available.
320         * include/experimental/optional (__constexpr_addressof):
321         Constrain in the return type instead of in a template parameter.
322         (_Has_addressof_mem)
323         (_Has_addressof_free, _Has_addressof, __constexpr_addressof):
324         Guard with #ifndef __cpp_lib_addressof_constexpr.
325         (operator->()): Use std::__addressof if it's constexpr.
326
327 2016-12-06  Tim Shen  <timshen@google.com>
328
329         * include/std/variant (visit): Make visit constexpr. Also cleanup
330         __get_alternative and __storage, since we don't support reference/void
331         alternatives any more.
332         * testsuite/20_util/variant/compile.cc: Add tests.
333
334 2016-12-06  Tim Shen  <timshen@google.com>
335
336         * include/bits/enable_special_members.h: Make
337         _Enable_default_constructor constexpr.
338         * include/std/variant (variant::emplace, variant::swap, std::swap,
339         std::hash): Sfinae on emplace and std::swap; handle __poison_hash bases
340         of duplicated types.
341
342 2016-12-06  Tim Shen  <timshen@google.com>
343
344         * include/std/variant (std::get, operator==): Implement constexpr
345         comparison and get<>.
346         * testsuite/20_util/variant/compile.cc: Tests.
347
348 2016-12-06  Tim Shen  <timshen@google.com>
349
350         * include/std/variant (__erased_use_alloc_ctor,
351         _Variant_base::_Variant_base, variant::variant): Remove uses-allocator
352         related functions.
353         * testsuite/20_util/variant/compile.cc: Remove related tests.
354         * testsuite/20_util/variant/run.cc: Remove related tests.
355
356 2016-12-06  Aditya Kumar  <hiraditya@msn.com>
357
358         * src/c++11/shared_ptr.cc (_Sp_locker::_Sp_locker(const void* p)): Add
359         noexcept on constructor.
360         (_Sp_locker::_Sp_locker(const void* p1, const void* p2)): Same.
361
362 2016-12-06  Jonathan Wakely  <jwakely@redhat.com>
363
364         * include/bits/basic_string.h (basic_string::find, basic_string::rfind)
365         (basic_string::find_first_of, basic_string::find_last_of)
366         (basic_string::find_first_not_of, basic_string::find_last_not_of):
367         Make all overloads noexcept.
368         (basic_string::compare(const _CharT*)): Make noexcept.
369
370 2016-12-03  John David Anglin  <danglin@gcc.gnu.org>
371
372         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Regenerate.
373
374 2016-12-01  David Edelsohn  <dje.gcc@gmail.com>
375
376         * testsuite/26_numerics/headers/cmath/hypot.cc: XFAIL on AIX.
377
378 2016-12-01  Ville Voutilainen  <ville.voutilainen@gmail.com>
379
380         Implement LWG 2766,
381         Swapping non-swappable types and LWG 2749,
382         swappable traits for variants.
383         * include/bits/move.h (swap(_Tp&, _Tp&)): Constrain
384         with __is_tuple_like.
385         * include/bits/stl_pair.h (swap(pair<_T1, _T2>&, pair<_T1, _T2>&)):
386         Add a deleted overload.
387         * include/bits/unique_ptr.h
388         (swap(unique_ptr<_Tp, _Dp>&, unique_ptr<_Tp, _Dp>&)): Likewise.
389         * include/std/array
390         (swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&)): Likewise.
391         * include/std/optional
392         (swap(optional<_Tp>&, optional<_Tp>&)): Likewise.
393         * include/std/tuple (__is_tuple_like_impl, __is_tuple_like):
394         Move to type_traits.
395         (swap(tuple<_Elements...>&, tuple<_Elements...>&)): Add a deleted
396         overload.
397         * include/std/type_traits (__is_tuple_like_impl, __is_tuple_like):
398         New.
399         (swap(_Tp&, _Tp&)): Constrain with __is_tuple_like.
400         * include/std/utility (__is_tuple_like_impl): Move to type_traits.
401         * include/std/variant
402         (swap(variant<_Types...>&, variant<_Types...>&)):
403         Add a deleted overload.
404         * testsuite/20_util/optional/swap/2.cc: Add tests for disabled
405         swaps.
406         * testsuite/20_util/pair/swap_cxx17.cc: New.
407         * testsuite/20_util/tuple/swap_cxx17.cc: Likewise.
408         * testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc:
409         Likewise.
410         * testsuite/20_util/variant/compile.cc: Add tests for disabled
411         swaps.
412         * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
413         New.
414         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
415         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
416         Likewise.
417
418 2016-12-01  Ville Voutilainen  <ville.voutilainen@gmail.com>
419
420         The convertible_to traits need to use a variadic catch-all for the
421         false-cases.
422         * include/std/istream (__is_convertible_to_basic_istream):
423         Change the parameter of the false-case of __check to a variadic.
424         * include/std/ostream (__is_convertible_to_basic_ostream):
425         Likewise.
426
427 2016-12-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
428
429         * crossconfig.m4 (*-linux*): Add link-check for memalign.
430         * configure: Regenerated.
431
432 2016-12-01  Tim Shen  <timshen@google.com>
433
434         PR libstdc++/71500
435         * include/bits/regex.h (basic_regex::basic_regex): Use ECMAScript
436         when the syntax is not specified.
437         * include/bits/regex_compiler.h (_RegexTranslator,
438         _RegexTranslatorBase): Partially support icase in ranges.
439         * include/bits/regex_compiler.tcc (_BracketMatcher::_M_apply):
440         Refactor _M_apply to make the control flow easier to follow, and
441         call _M_translator._M_match_range as added previously.
442         * testsuite/28_regex/traits/char/icase.cc: Add new tests.
443         * testsuite/28_regex/traits/char/user_defined.cc: Add new tests.
444
445 2016-11-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
446
447         Fix testsuite failures caused by the patch implementing LWG 2534.
448         * include/std/istream (__is_convertible_to_basic_istream):
449         Change the return types of __check, introduce istream_type.
450         (operator>>(_Istream&&, _Tp&&)):
451         Use __is_convertible_to_basic_istream::istream_type as the return type.
452         * include/std/ostream (__is_convertible_to_basic_ostream):
453         Change the return types of __check, introduce ostream_type.
454         (operator>>(_Ostream&&, _Tp&&)):
455         Use __is_convertible_to_basic_ostream::ostream_type as the return type.
456
457 2016-11-30  Tim Shen  <timshen@google.com>
458
459         * include/bits/shared_ptr_base.h
460         (__shared_ptr_access<T, L, true, false>::operator*()): Fix assertion.
461
462 2016-11-30  David Edelsohn  <dje.gcc@gmail.com>
463
464         * testsuite/18_support/50594.cc: XFAIL on AIX.
465         * testsuite/ext/mt_allocator/check_new.cc: Same.
466         * testsuite/ext/pool_allocator/check_new.cc: Same.
467         * testsuite/27_io/ios_base/storage/11584.cc: Same.
468
469 2016-11-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
470
471         Implement LWG 2534, Constrain rvalue stream operators.
472         * include/std/istream (__is_convertible_to_basic_istream): New.
473         (__is_extractable): Likewise.
474         (operator>>(basic_istream<_CharT, _Traits>&&, _Tp&&)):
475         Turn the stream parameter into a template parameter
476         and constrain.
477         * include/std/ostream (__is_convertible_to_basic_ostream): New.
478         (__is_insertable): Likewise.
479         (operator<<(basic_ostream<_CharT, _Traits>&&, const _Tp&)):
480         Turn the stream parameter into a template parameter
481         and constrain.
482         * testsuite/27_io/basic_istream/extractors_other/char/4.cc: New.
483         * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
484         Likewise.
485         * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: Likewise.
486         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: Likewise.
487
488 2016-11-30  Christophe Lyon  <christophe.lyon@linaro.org>
489
490         * testsuite/experimental/type_erased_allocator/2.cc: Add
491         dg-require-thread-fence.
492
493 2016-11-29  David Edelsohn  <dje.gcc@gmail.com>
494
495         PR libstdc++/68838
496         * testsuite/lib/libstdc++.exp (DEFAULT_CXXFLAGS): Add -Wl,-bmaxdata on
497         AIX.
498         * testsuite/23_containers/vector/profile/vector.cc: Remove
499         dg-additional-options.
500
501 2016-11-26  Tim Shen  <timshen@google.com>
502
503         PR libstdc++/78441
504         * include/std/variant: Propagate cv qualifications to types returned
505         by variant_alternative.
506         * testsuite/20_util/variant/compile.cc: Tests.
507
508 2016-11-23  Felix Morgner  <felix.morgner@gmail.com>
509             Jonathan Wakely  <jwakely@redhat.com>
510
511         PR libstdc++/78490
512         * include/experimental/propagate_const (propagate_const::operator=):
513         Add missing return statements.
514         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
515         Adjust dg-error line numbers.
516         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
517
518 2016-11-22  Uros Bizjak  <ubizjak@gmail.com>
519
520         * testsuite/Makefile.am
521         (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection
522         of -j argument.
523         * testsuite/Makefile.in: Regenereate.
524
525 2016-11-22  Jonathan Wakely  <jwakely@redhat.com>
526
527         PR libstdc++/78465
528         * testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests
529         with preprocessor conditions.
530
531 2016-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
532
533         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Update comments.
534         (__CORRECT_ISO_CPP11_MATH_H_PROTO): Rename to ...
535         (__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): ... this.
536         Add test for C++11 <math.h> integral overloads.
537         * configure: Regenerate.
538         * config.h.in: Regenerate.
539
540         * include/c_global/cmath [__cplusplus >= 201103L]: Reflect
541         __CORRECT_ISO_CPP11_MATH_H_PROTO to
542         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
543         * include/c_global/cmath [_GLIBCXX_USE_C99_MATH &&
544         !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC && __cplusplus >= 201103L]
545         (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO_INT.
546         (std::isfinite): Likewise.
547         (std::isinf): Likewise.
548         (std::isnan): Likewise.
549         (std::isnormal): Likewise.
550         (std::signbit): Likewise.
551         (std::isgreater): Likewise.
552         (std::isgreaterequal): Likewise.
553         (std::isless): Likewise.
554         (std::islessequal): Likewise.
555         (std::islessgreater): Likewise.
556         (std::isunordered): Likewise.
557         [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]
558         (std::acosh): Likewise.
559         (std::asinh): Likewise.
560         (std::atanh): Likewise.
561         (std::cbrt): Likewise.
562         (std::copysign): Likewise.
563         (std::erf): Likewise.
564         (std::erfc): Likewise.
565         (std::exp2): Likewise.
566         (std::expm1): Likewise.
567         (std::fdim): Likewise.
568         (std::fma): Likewise.
569         (std::fmax): Likewise.
570         (std::fmin): Likewise.
571         (std::hypot): Likewise.
572         (std::ilogb): Likewise.
573         (std::lgamma): Likewise.
574         (std::llrint): Likewise.
575         (std::llround): Likewise.
576         (std::log1p): Likewise.
577         (std::log2): Likewise.
578         (std::logb): Likewise.
579         (std::lrint): Likewise.
580         (std::lround): Likewise.
581         (std::nearbyint): Likewise.
582         (std::nextafter): Likewise.
583         (std::nexttoward): Likewise.
584         (std::remainder): Likewise.
585         (std::remquo): Likewise.
586         (std::rint): Likewise.
587         (std::round): Likewise.
588         (std::scalbln): Likewise.
589         (std::scalbn): Likewise.
590         (std::tgamma): Likewise.
591         (std::trunc): Likewise.
592         * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1 && __cplusplus >=
593         201103L]: Reflect __CORRECT_ISO_CPP11_MATH_H_PROTO to
594         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
595
596 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
597
598         PR libstdc++/59406
599         * include/bits/functional_hash.h: Add comment noting difference from
600         FNV-1a.
601         * include/tr1/functional_hash.h: Likewise.
602         * libsupc++/hash_bytes.cc: Likewise.
603
604         * include/bits/basic_string.h: Reuse _If_sv alias template for new
605         constructor.
606
607         * doc/xml/manual/intro.xml: Document LWG 2770 status. Remove entries
608         for 2742 and 2748.
609         * doc/html/*: Regenerate.
610         * include/std/utility (__tuple_size_cv_impl): New helper to safely
611         detect tuple_size<T>::value, as per LWG 2770.
612         (tuple_size<cv T>): Adjust partial specializations to derive from
613         __tuple_size_cv_impl.
614         * testsuite/20_util/tuple/cv_tuple_size.cc: Test SFINAE-friendliness.
615
616         * testsuite/libstdc++-prettyprinters/cxx17.cc: Adjust test for
617         variant<T&>.
618
619 2016-11-15  Tim Shen  <timshen@google.com>
620
621         * include/std/variant: Remove variant<T&>, variant<void>, variant<>
622         support to rebase on the post-Issaquah design.
623         * testsuite/20_util/variant/compile.cc: Likewise.
624
625 2016-11-15  Matthias Klose  <doko@ubuntu.com>
626
627         * configure: Regenerate.
628
629 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
630
631         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Fix license
632         text.
633         * testsuite/20_util/any/assign/emplace.cc: Likewise.
634         * testsuite/20_util/any/cons/in_place.cc: Likewise.
635         * testsuite/20_util/any/make_any.cc: Likewise.
636         * testsuite/20_util/any/requirements.cc: Likewise.
637         * testsuite/20_util/any/typedefs.cc: Likewise.
638         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
639         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
640         Likewise.
641         * testsuite/20_util/in_place/requirements.cc: Likewise.
642         * testsuite/20_util/optional/77288.cc: Likewise.
643         * testsuite/20_util/optional/assignment/1.cc: Likewise.
644         * testsuite/20_util/optional/assignment/2.cc: Likewise.
645         * testsuite/20_util/optional/assignment/3.cc: Likewise.
646         * testsuite/20_util/optional/assignment/4.cc: Likewise.
647         * testsuite/20_util/optional/assignment/5.cc: Likewise.
648         * testsuite/20_util/optional/assignment/6.cc: Likewise.
649         * testsuite/20_util/optional/assignment/7.cc: Likewise.
650         * testsuite/20_util/optional/cons/77727.cc: Likewise.
651         * testsuite/20_util/optional/cons/move.cc: Likewise.
652         * testsuite/20_util/optional/cons/value.cc: Likewise.
653         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
654         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
655         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
656         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
657         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
658         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
659         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
660         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
661         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
662         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
663         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
664         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
665         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
666         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
667         * testsuite/20_util/optional/hash.cc: Likewise.
668         * testsuite/20_util/optional/make_optional.cc: Likewise.
669         * testsuite/20_util/optional/observers/1.cc: Likewise.
670         * testsuite/20_util/optional/observers/2.cc: Likewise.
671         * testsuite/20_util/optional/observers/3.cc: Likewise.
672         * testsuite/20_util/optional/observers/4.cc: Likewise.
673         * testsuite/20_util/optional/observers/5.cc: Likewise.
674         * testsuite/20_util/optional/observers/6.cc: Likewise.
675         * testsuite/20_util/optional/relops/1.cc: Likewise.
676         * testsuite/20_util/optional/relops/2.cc: Likewise.
677         * testsuite/20_util/optional/relops/3.cc: Likewise.
678         * testsuite/20_util/optional/relops/4.cc: Likewise.
679         * testsuite/20_util/optional/relops/5.cc: Likewise.
680         * testsuite/20_util/optional/relops/6.cc: Likewise.
681         * testsuite/20_util/optional/requirements.cc: Likewise.
682         * testsuite/20_util/optional/swap/1.cc: Likewise.
683         * testsuite/20_util/optional/typedefs.cc: Likewise.
684         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
685         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
686         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
687         Likewise.
688         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
689         * testsuite/20_util/variant/hash.cc: Likewise.
690         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
691         * testsuite/experimental/any/typedefs.cc: Likewise.
692         * testsuite/experimental/array/make_array.cc: Likewise.
693         * testsuite/experimental/array/neg.cc: Likewise.
694         * testsuite/experimental/chrono/value.cc: Likewise.
695         * testsuite/experimental/deque/erasure.cc: Likewise.
696         * testsuite/experimental/forward_list/erasure.cc: Likewise.
697         * testsuite/experimental/list/erasure.cc: Likewise.
698         * testsuite/experimental/map/erasure.cc: Likewise.
699         * testsuite/experimental/memory/observer_ptr/assignment/assign.cc:
700         Likewise.
701         * testsuite/experimental/memory/observer_ptr/cons/cons.cc: Likewise.
702         * testsuite/experimental/memory/observer_ptr/hash/hash.cc: Likewise.
703         * testsuite/experimental/memory/observer_ptr/make_observer.cc:
704         Likewise.
705         * testsuite/experimental/memory/observer_ptr/relops/relops.cc:
706         Likewise.
707         * testsuite/experimental/memory/observer_ptr/requirements.cc: Likewise.
708         * testsuite/experimental/memory/observer_ptr/swap/swap.cc: Likewise.
709         * testsuite/experimental/memory/observer_ptr/typedefs.cc: Likewise.
710         * testsuite/experimental/optional/77288.cc: Likewise.
711         * testsuite/experimental/optional/assignment/1.cc: Likewise.
712         * testsuite/experimental/optional/assignment/2.cc: Likewise.
713         * testsuite/experimental/optional/assignment/3.cc: Likewise.
714         * testsuite/experimental/optional/assignment/4.cc: Likewise.
715         * testsuite/experimental/optional/assignment/5.cc: Likewise.
716         * testsuite/experimental/optional/assignment/6.cc: Likewise.
717         * testsuite/experimental/optional/cons/77727.cc: Likewise.
718         * testsuite/experimental/optional/cons/move.cc: Likewise.
719         * testsuite/experimental/optional/cons/value.cc: Likewise.
720         * testsuite/experimental/optional/cons/value_neg.cc: Likewise.
721         * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
722         * testsuite/experimental/optional/constexpr/make_optional.cc: Likewise.
723         * testsuite/experimental/optional/constexpr/observers/1.cc: Likewise.
724         * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
725         * testsuite/experimental/optional/constexpr/observers/3.cc: Likewise.
726         * testsuite/experimental/optional/constexpr/observers/4.cc: Likewise.
727         * testsuite/experimental/optional/constexpr/observers/5.cc: Likewise.
728         * testsuite/experimental/optional/constexpr/relops/1.cc: Likewise.
729         * testsuite/experimental/optional/constexpr/relops/2.cc: Likewise.
730         * testsuite/experimental/optional/constexpr/relops/3.cc: Likewise.
731         * testsuite/experimental/optional/constexpr/relops/4.cc: Likewise.
732         * testsuite/experimental/optional/constexpr/relops/5.cc: Likewise.
733         * testsuite/experimental/optional/constexpr/relops/6.cc: Likewise.
734         * testsuite/experimental/optional/make_optional.cc: Likewise.
735         * testsuite/experimental/optional/observers/1.cc: Likewise.
736         * testsuite/experimental/optional/observers/2.cc: Likewise.
737         * testsuite/experimental/optional/observers/3.cc: Likewise.
738         * testsuite/experimental/optional/observers/4.cc: Likewise.
739         * testsuite/experimental/optional/observers/5.cc: Likewise.
740         * testsuite/experimental/optional/relops/1.cc: Likewise.
741         * testsuite/experimental/optional/relops/2.cc: Likewise.
742         * testsuite/experimental/optional/relops/3.cc: Likewise.
743         * testsuite/experimental/optional/relops/4.cc: Likewise.
744         * testsuite/experimental/optional/relops/5.cc: Likewise.
745         * testsuite/experimental/optional/relops/6.cc: Likewise.
746         * testsuite/experimental/optional/requirements.cc: Likewise.
747         * testsuite/experimental/optional/swap/1.cc: Likewise.
748         * testsuite/experimental/optional/typedefs.cc: Likewise.
749         * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
750         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
751         Likewise.
752         * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
753         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
754         * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
755         * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
756         * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
757         * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
758         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
759         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
760         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
761         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
762         * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
763         * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
764         * testsuite/experimental/random/randint.cc: Likewise.
765         * testsuite/experimental/ratio/value.cc: Likewise.
766         * testsuite/experimental/set/erasure.cc: Likewise.
767         * testsuite/experimental/string/erasure.cc: Likewise.
768         * testsuite/experimental/string_view/typedefs.cc: Likewise.
769         * testsuite/experimental/system_error/value.cc: Likewise.
770         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
771         * testsuite/experimental/type_traits/value.cc: Likewise.
772         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
773         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
774         * testsuite/experimental/vector/erasure.cc: Likewise.
775
776         * doc/xml/manual/intro.xml: Document LWG 2742 status.
777         * doc/html/*: Regenerate.
778         * include/bits/basic_string.h
779         (basic_string(const T&, size_type, size_type, const Allocator&)): Add
780         constructor for substring of basic_string_view, as per LWG 2742 but
781         with additional constraint to fix ambiguity.
782         * testsuite/21_strings/basic_string/cons/char/9.cc: New test.
783         * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: New test.
784
785         * doc/xml/manual/intro.xml: Document LWG 2748 status.
786         * include/std/optional (optional<T>::swap): Use is_nothrow_swappable_v
787         for exception specification.
788         (swap(optional<T>&, optional<T>&)): Disable when T is not swappable.
789         * testsuite/20_util/optional/swap/2.cc: New test.
790
791 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
792
793         Implement P0513R0, Poisoning the Hash.
794         * include/bits/functional_hash.h (__poison_hash): New.
795         * include/bits/unique_ptr.h
796         (hash<unique_ptr<_Tp, _Dp>>): Derive from __poison_hash.
797         * include/std/optional (hash<optional<_Tp>>): Likewise.
798         * include/std/variant (hash<variant<_Types...>>): Likewise.
799         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
800         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
801         * testsuite/20_util/optional/hash.cc: New.
802         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
803         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Adjust.
804         * testsuite/20_util/unique_ptr/hash/1.cc: Add tests for
805         poisoned fancy pointer hashes.
806         * testsuite/20_util/variant/hash.cc: New.
807
808 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
809
810         Implement P0504R0 (Revisiting in-place tag types for
811         any/optional/variant).
812         * include/std/any (any(_ValueType&& __value)): Constrain
813         the __is_in_place_type with the decayed type.
814         (make_any): Adjust to use the new tag type.
815         * include/std/utility (in_place_tag): Remove.
816         (in_place_t): Turn into a non-reference tag type.
817         (__in_place, __in_place_type, __in_place_index): Remove.
818         (in_place): Turn into an inline variable of non-reference
819         tag type.
820         (in_place<_Tp>): Remove.
821         (in_place_index<_Idx>): Remove.
822         (in_place_type_t): New.
823         (in_place_type): Turn into a variable template of non-reference
824         type.
825         (in_place_index_t): New.
826         (in_place_index): Turn into a variable template of non-reference
827         type.
828         * include/std/variant
829         (_Variant_storage(in_place_index_t<_Np>, _Args&&...)): Adjust to
830         use the new tag type.
831         (_Union(in_place_index_t<0>, _Args&&...)): Likewise.
832         (_Union(in_place_index_t<_Np>, _Args&&...)): Likewise.
833         (_Variant_base()): Likewise.
834         (variant(_Tp&&)): Likewise.
835         (variant(in_place_type_t<_Tp>, _Args&&...)): Likewise.
836         (variant(in_place_type_t<_Tp>, initializer_list<_Up>,
837         _Args&&...)): Likewise.
838         (variant(in_place_index_t<_Np>, _Args&&...)): Likewise.
839         (variant(in_place_index_t<_Np>, initializer_list<_Up>,
840         _Args&&...)): Likewise
841         (variant(allocator_arg_t, const _Alloc&)): Likewise.
842         (variant(allocator_arg_t, const _Alloc&, _Tp&&)): Likewise.
843         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
844         _Args&&...)): Likewise.
845         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
846         initializer_list<_Up>, _Args&&...)): Likewise.
847         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
848         _Args&&...)): Likewise.
849         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
850         initializer_list<_Up>, _Args&&...)): Likewise.
851         (emplace(_Args&&...)): Likewise.
852         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
853         * testsuite/20_util/any/cons/explicit.cc: Likewise.
854         * testsuite/20_util/any/cons/in_place.cc: Likewise.
855         * testsuite/20_util/any/requirements.cc: Add tests to
856         check that any is not constructible from the new in_place_type_t
857         of any value category.
858         * testsuite/20_util/in_place/requirements.cc: Adjust to
859         use the new tag type.
860         * testsuite/20_util/variant/compile.cc: Likewise.
861         * testsuite/20_util/variant/run.cc: Likewise.
862
863 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
864
865         Use constexpr addressof in optional, SFINAE housekeeping
866         for any, optional and tuple.
867         * include/std/any (__do_emplace(_Args&&...)): New.
868         (__do_emplace(initializer_list<_Up>, _Args&&...)): Likewise.
869         (__any_constructible): Likewise.
870         (__any_constructible_t): Use __any_constructible.
871         (operator=(_ValueType&&)): SFINAE in the return type.
872         (emplace(_Args&&...)): Likewise.
873         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
874         * include/std/optional (_Has_addressof_mem): Remove.
875         (_Has_addressof_free): Likewise.
876         (_Has_addressof): Likewise.
877         (__constexpr_addressof(_Tp&)): Likewise.
878         (operator->): Use std::__addressof.
879         * include/std/tuple (operator=(const tuple<_UElements...>&)):
880         SFINAE in return type.
881         (operator=(tuple<_UElements...>&&)): Likewise.
882         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
883
884 2016-11-14  Jonathan Wakely  <jwakely@redhat.com>
885
886         * include/bits/move.h (addressof(const _Tp&&)): Add deleted overload,
887         as per LWG 2598.
888
889         * include/std/future (future::share(), future<R&>::share())
890         (future<void>::share()): Add noexcept, as per LWG 2556.
891
892 2016-11-13  Jonathan Wakely  <jwakely@redhat.com>
893
894         PR libstdc++/78326
895         * include/experimental/memory_resource (memory_resource::_S_max_align):
896         Change access to protected.
897
898         * doc/xml/manual/status_cxx2017.xml: Update status.
899         * doc/html/manual/status.html: Regenerate.
900         * include/bits/shared_ptr.h (shared_ptr(unique_ptr<_Yp, _Del>)): Add
901         extension constructor to maintain C++14 behaviour.
902         * include/bits/shared_ptr_base.h (__sp_array_delete): Add new struct.
903         (__shared_count(_Ptr, false_type), __shared_count(_Ptr, true_type)):
904         New constructors.
905         (__sp_compatible_with, __sp_is_constructible): Add specializations
906         for array support.
907         (__sp_is_constructible_arr, __sp_is_constructible_arrN): New helpers.
908         (__shared_ptr_access): New base class for observer member functions.
909         (__shared_ptr::element_type): Use remove_extent.
910         (__shared_ptr::_UniqCompatible): Add __sp_compatible_with check.
911         (__shared_ptr(_Yp*)): Use tag dispatching to call new __shared_count
912         constructor.
913         (__shared_ptr(unique_ptr<_Yp, _Del>)): Add extension constructor.
914         (__shared_ptr::operator*, __shared_ptr::operator->): Remove and
915         inherit from __shared_ptr_access base class.
916         (__shared_ptr::__has_esft_base): Return false for array types.
917         (__weak_ptr::element_type): Use remove_extent.
918         * include/experimental/bits/shared_ptr.h (__libfund_v1): Remove.
919         (__shared_ptr<__libfund_v1<_Tp>>): Remove specializations.
920         (__wak_ptr<__libfund_v1<_Tp>>): Likewise.
921         (experimental::__sp_compatible_v): Redefine using
922         __sp_compatible_with.
923         (experimental::__sp_is_constructible_v): Redefine using
924         __sp_is_constructible.
925         (get_deleter, operator<<): Change argument from __shared_ptr to
926         shared_ptr.
927         * testsuite/20_util/shared_ptr/cons/array.cc: New test.
928         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Adjust for
929         new behaviour.
930         * testsuite/20_util/shared_ptr/observers/array.cc: Test observers for
931         arrays.
932         * testsuite/20_util/shared_ptr/observers/array_neg.cc: New test.
933
934 2016-11-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
935
936         Implement P0403R1, Literal suffixes for basic_string_view.
937         * include/std/string_view
938         (operator""sv(const char*, size_t)): New.
939         (operator""sv(const wchar_t*, size_t)): Likewise.
940         (operator""sv(const char16_t*, size_t)): Likewise.
941         (operator""sv(const char32_t*, size_t)): Likewise.
942         * testsuite/21_strings/basic_string_view/literals/types.cc: New.
943         * testsuite/21_strings/basic_string_view/literals/values.cc: Likewise.
944         * testsuite/experimental/string_view/literals/values.cc: Add
945         tests for literals with embedded NULs.
946
947 2016-11-12  Jonathan Wakely  <jwakely@redhat.com>
948
949         * src/filesystem/ops.cc (is_empty): Fix typo in exception message.
950
951         * include/std/future (future_error): Fix public typo to private.
952
953 2016-11-11  Jonathan Wakely  <jwakely@redhat.com>
954
955         * include/std/future (future_error): Make existing constructor
956         private and add constructor from future_errc.
957
958         * include/bits/shared_ptr.h (hash<shared_ptr<T>>): Use element_type.
959         * include/bits/shared_ptr_base.h (hash<__shared_ptr<T, L>>): Likewise.
960
961 2016-11-10  François Dumont  <fdumont@gcc.gnu.org>
962
963         * src/c++11/debug.cc (format_word): Delete.
964         (print_literal): New. Replace call to print_word for literals.
965
966 2016-11-09  Tim Shen  <timshen@google.com>
967
968         * include/bits/regex.h (regex_iterator::regex_iterator()):
969         Define end() as _M_pregex == nullptr.
970         * include/bits/regex.tcc (regex_iterator::operator==(),
971         regex_iterator::operator++()): Fix operator==() and operator++() to
972         look at null-ness of _M_pregex on both sides.
973         * testsuite/28_regex/regression.cc: New testcase.
974
975 2016-11-07  Jason Merrill  <jason@redhat.com>
976
977         * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM)
978         (_GLIBCXX_NOEXCEPT_QUAL): New.
979         * include/std/type_traits (is_function): Use them.
980         * libsubc++/new (launder): Likewise.
981         * libsupc++/cxxabi.h (__pbase_type_info::__masks): Add
982         __noexcept_mask.
983         * libsupc++/pbase_type_info.cc (__do_catch): Handle function
984         pointer conversion.
985
986 2016-11-07  François Dumont  <fdumont@gcc.gnu.org>
987
988         * config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of
989         over-aligned types symbols.
990
991 2016-10-28  Jonathan Wakely  <jwakely@redhat.com>
992
993         * include/experimental/bits/fs_path.h (__is_path_src)
994         (_S_range_begin, _S_range_end): Overload to treat string_view as a
995         Source object.
996         (path::operator+=, path::compare): Overload for basic_string_view.
997         * testsuite/experimental/filesystem/path/construct/string_view.cc:
998         New test.
999         * testsuite/experimental/filesystem/path/construct/
1000         string_view_cxx17.cc: New test.
1001
1002         * include/experimental/bits/fs_path.h
1003         (path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from
1004         iterator's value_type.
1005         (path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise.
1006         Do not use operation not supported by input iterators.
1007         (path::__is_path_iter_src): Add partial specialization for const
1008         encoded character types.
1009         * testsuite/experimental/filesystem/path/construct/range.cc: Test
1010         construction from input iterators with const value types.
1011
1012         * doc/xml/manual/status_cxx2017.xml: Update status.
1013         * doc/html/*: Regenerate.
1014         * include/std/type_traits (has_unique_object_representations): Guard
1015         with __has_builtin check.
1016         * libsupc++/new (launder): Define for C++17.
1017         * testsuite/18_support/launder/1.cc: New test.
1018         * testsuite/18_support/launder/requirements.cc: New test.
1019         * testsuite/18_support/launder/requirements_neg.cc: New test.
1020
1021 2016-10-27  Uros Bizjak  <ubizjak@gmail.com>
1022
1023         PR libstdc++/70975
1024         * src/filesystem/ops.cc (do_copy_file) [_GLIBCXX_USE_SENDFILE]:
1025         Pass non-null pointer to sendfile for offset argument.
1026
1027 2016-10-27  Jonathan Wakely  <jwakely@redhat.com>
1028
1029         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
1030         default.cc: Fix effective target selector.
1031         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
1032         parms.cc: Likewise.
1033         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
1034         equal.cc: Likewise.
1035         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
1036         generate.cc: Likewise.
1037         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
1038         inequal.cc: Likewise.
1039         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
1040         serialize.cc: Likewise.
1041
1042         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1043         Use end() function to get end iterator.
1044         * testsuite/experimental/filesystem/iterators/pop.cc: Remove printf
1045         statements that were present for debugging.
1046         * testsuite/experimental/filesystem/iterators/
1047         recursive_directory_iterator.cc: Use end() function to get end
1048         iterator.
1049         * testsuite/experimental/filesystem/operations/last_write_time.cc:
1050         Only require file timestamps to be accurate to one second.
1051
1052 2016-10-26  François Dumont  <fdumont@gcc.gnu.org>
1053
1054         * include/bits/stl_map.h (map()): Make default.
1055         * include/bits/stl_multimap.h (multimap()): Likewise.
1056         * include/bits/stl_multiset.h (multiset()): Likewise.
1057         * include/bits/stl_set.h (set()): Likewise.
1058         * include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept.
1059         (_Rb_tree()): Make default.
1060
1061 2016-10-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1062
1063         PR libstdc++/78110
1064         * libsupc++/new_opa.cc: Don't include <malloc.h> in a free standing
1065         environment.  Declare memalign directly in that case.
1066
1067 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
1068
1069         * testsuite/experimental/filesystem/iterators/pop.cc: Remove
1070         unreliable dependency on directory order.
1071
1072 2016-10-26  Edward Smith-Rowland  <3dw4rd@verizon.net>
1073
1074         Implement uniform_inside_sphere_distribution extension.
1075         * include/ext/random: Implement uniform_inside_sphere_distribution.
1076         * include/ext/random.tcc: Ditto.
1077         * testsuite/ext/random/uniform_inside_sphere_distribution/
1078         cons/default.cc: New.
1079         * testsuite/ext/random/uniform_inside_sphere_distribution/
1080         cons/parms.cc: New.
1081         * testsuite/ext/random/uniform_inside_sphere_distribution/
1082         operators/equal.cc: New.
1083         * testsuite/ext/random/uniform_inside_sphere_distribution/
1084         operators/generate.cc: New.
1085         * testsuite/ext/random/uniform_inside_sphere_distribution/
1086         operators/inequal.cc: New.
1087         * testsuite/ext/random/uniform_inside_sphere_distribution/
1088         operators/serialize.cc: New.
1089
1090 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
1091
1092         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
1093         Overload pop (LWG 2706).
1094         * src/filesystem/dir.cc (recursive_directory_iterator::pop): Define
1095         new overload.
1096         * testsuite/experimental/filesystem/iterators/pop.cc: New test.
1097
1098         * src/filesystem/dir.cc (recursive_directory_iterator::increment):
1099         Reset state on error.
1100         * testsuite/experimental/filesystem/iterators/
1101         recursive_directory_iterator.cc: Check state after increment error.
1102
1103         PR libstdc++/78111
1104         * src/filesystem/ops.cc (canonical): Set error for non-existent path.
1105
1106 2016-10-26  Uros Bizjak  <ubizjak@gmail.com>
1107
1108         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
1109         for PATH_MAX in realpath test.
1110         * configure: Regenerate.
1111
1112 2016-10-25  Jonathan Wakely  <jwakely@redhat.com>
1113
1114         * src/filesystem/ops.cc
1115         (last_write_time(const path&, file_time_type, error_code&)): Handle
1116         negative times correctly.
1117         * testsuite/experimental/filesystem/operations/last_write_time.cc:
1118         Test writing file times.
1119
1120         * src/filesystem/ops.cc (do_copy_file): Report an error if source or
1121         destination is not a regular file (LWG 2712).
1122         (equivalent): Fix error handling and result when only one file exists.
1123         * testsuite/experimental/filesystem/operations/copy.cc: Remove files
1124         created by tests. Test copying directories.
1125         * testsuite/experimental/filesystem/operations/copy_file.cc: Remove
1126         files created by tests.
1127         * testsuite/experimental/filesystem/operations/equivalent.cc: New.
1128         * testsuite/experimental/filesystem/operations/is_empty.cc: New.
1129         * testsuite/experimental/filesystem/operations/read_symlink.cc: Remove
1130         file created by test.
1131         * testsuite/experimental/filesystem/operations/remove_all.cc: New.
1132         * testsuite/util/testsuite_fs.h (~scoped_file): Only try to remove
1133         file if path is non-empty, to support removal by other means.
1134
1135 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
1136
1137         * src/filesystem/ops.cc (is_empty): Fix error handling.
1138         * testsuite/experimental/filesystem/operations/is_empty.cc: New test.
1139
1140         PR libstdc++/71337
1141         * src/filesystem/ops.cc (temp_directory_path): Pass error_code
1142         argument to other filesystem operations.
1143         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
1144         Add testcase for inaccessible directory.
1145
1146         * src/filesystem/dir.cc (open_dir): Return same value for errors
1147         whether ignored or not.
1148         (_Dir::advance(error_code*, directory_options)): Return false on
1149         error.
1150         (directory_iterator(const path&, directory_options, error_code*)):
1151         Create end iterator on error (LWG 2723).
1152         (recursive_directory_iterator(const path&, directory_options,
1153         error_code*)): Likewise.
1154         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1155         Update expected behaviour on error.
1156         * testsuite/experimental/filesystem/iterators/
1157         recursive_directory_iterator.cc: Likewise.
1158
1159         * src/filesystem/ops.cc (close_fd): Remove.
1160         (do_copy_file): Just use close(3) instead of close_fd, to prevent
1161         retrying on error.
1162
1163         * src/filesystem/ops.cc (do_copy_file): Return an error if either
1164         source or destination is not a regular file.
1165         (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683
1166         resolutions.
1167         (read_symlink): Add missing ec.clear().
1168         * testsuite/experimental/filesystem/operations/copy.cc: Update
1169         expected behaviour for copying directories with create_symlinks.
1170         Verify that error_code arguments are cleared if there's no error.
1171         * testsuite/experimental/filesystem/operations/read_symlink.cc: New.
1172
1173 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
1174
1175         Cross-port exception-safety and move fixes of std::any to
1176         std::experimental::any.
1177         * include/experimental/any (operator=(const any&)):
1178         Make strongly exception-safe.
1179         (operator=(any&&)): clear() unconditionally in the case where
1180         rhs has a value.
1181         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
1182         * testsuite/experimental/any/assign/2.cc: Adjust.
1183         * testsuite/experimental/any/assign/exception.cc: New.
1184         * testsuite/experimental/any/cons/2.cc: Adjust.
1185         * testsuite/experimental/any/misc/any_cast_neg.cc: Ajust.
1186
1187 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
1188
1189         Cross-port the latest resolution of LWG2756 and some
1190         bug-fixes to experimental::optional.
1191         PR libstdc++/77288
1192         PR libstdc++/77727
1193         * include/experimental/optional (_Optional_base):
1194         Remove constructors that take a _Tp.
1195         (__is_optional_impl, __is_optional): Remove.
1196         (__converts_from_optional): New.
1197         (optional(_Up&&)): Fix constraints, call base with in_place.
1198         (optional(const optional<_Up>&)): Fix constraints, use emplace.
1199         (optional(optional<_Up>&&)): Likewise.
1200         (operator=(_Up&&)): Fix constraints.
1201         (operator=(const optional<_Up>&)): Likewise.
1202         (operator=(optional<_Up>&&)): Likewise.
1203         (emplace(_Args&&...)): Constrain.
1204         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
1205         * testsuite/experimental/optional/77288.cc: New.
1206         * testsuite/experimental/optional/assignment/5.cc: Adjust.
1207         * testsuite/experimental/optional/cons/77727.cc: New.
1208         * testsuite/experimental/optional/cons/value.cc: Adjust.
1209
1210 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
1211
1212         * include/bits/stl_vector.h (vector::_M_data_ptr, vector::data):
1213         Change return type of non-standard C++98 extension to match C++11.
1214
1215 2016-10-22  François Dumont  <fdumont@gcc.gnu.org>
1216
1217         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_ALGO)
1218         (_GLIBCXX_END_NAMESPACE_ALGO): Default to respectively
1219         _GLIBCXX_BEGIN_NAMESPACE_VERSION and _GLIBCXX_END_NAMESPACE_VERSION.
1220         (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER, _GLIBCXX_END_NAMESPACE_CONTAINER):
1221         Likewise.
1222
1223 2016-10-22  Jonathan Wakely  <jwakely@redhat.com>
1224
1225         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
1226         Ignore symlink_nofollow flag if file is not a symlink.
1227         * testsuite/experimental/filesystem/operations/permissions.cc: Test
1228         symlink_nofollow on non-symlinks.
1229
1230 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
1231
1232         * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks):
1233         Replace with symlink_nofollow (LWG 2720).
1234         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
1235         Handle symlink_nofollow.
1236         * testsuite/experimental/filesystem/operations/create_symlink.cc: New
1237         test.
1238         * testsuite/experimental/filesystem/operations/permissions.cc: Test
1239         overload taking error_code.
1240
1241         * include/experimental/bits/fs_ops.h
1242         (exists(const path&, error_code&)): Clear error if status is known
1243         (LWG 2725).
1244         (status(const path&, error_code&)): Handle EOVERFLOW.
1245         * testsuite/experimental/filesystem/operations/exists.cc: Test
1246         overload taking an error_code.
1247
1248         * include/experimental/bits/fs_path.h (path::path(string_type&&))
1249         (path::operator=(string&&), path::assign(string_type&&)): Define
1250         construction and assignment from string_type rvalues (LWG 2707).
1251
1252 2016-10-21  Eelis van der Weegen  <eelis@eelis.net>
1253
1254         * include/bits/stl_algo.h (__gen_two_uniform_ints): Move logic out
1255         of shuffle into new function.
1256         (shuffle): Call __gen_two_uniform_ints.
1257         (__sample<ForwardIterator, OutputIterator, Cat, Size, URBG>): Use
1258         __gen_two_uniform_ints and perform two samples at a time.
1259
1260 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
1261
1262         * include/Makefile.am: Add <bits/refwrap.h> and <bits/std_function.h>.
1263         Order alphabetically.
1264         * include/Makefile.in: Regenerate.
1265         * include/bits/refwrap.h: New header.
1266         (_Maybe_get_result_type,_Weak_result_type_impl, _Weak_result_type)
1267         (_Reference_wrapper_base_impl, _Reference_wrapper_base)
1268         (reference_wrapper, ref, cref): Move here from <functional>.
1269         * include/bits/shared_ptr_base.h: Include <bits/refwrap.h> and
1270         <bits/stl_function.h> instead of <functional>.
1271         * include/bits/std_function.h: New header.
1272         (_Maybe_unary_or_binary_function, bad_function_call)
1273         (__is_location_invariant, _Nocopy_types, _Any_data)
1274         (_Simple_type_wrapper, _Function_base, _Function_handler, function):
1275         Move here from <functional>.
1276         * include/bits/unique_ptr.h: Include <bits/stl_function.h>.
1277         * include/std/functional: Include new headers and move components to
1278         them.
1279         * include/std/future: Include <bits/std_function.h> instead of
1280         <functional>.
1281         * include/std/mutex: Likewise.
1282         * include/std/regex: Likewise.
1283         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
1284         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
1285         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
1286         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
1287         lines.
1288         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
1289         * testsuite/30_threads/packaged_task/49668.cc: Include <functional>.
1290
1291         * libsupc++/exception_ptr.h (make_exception_ptr): Qualify new.
1292         * testsuite/18_support/exception_ptr/make_exception_ptr_2.cc: New
1293         test.
1294
1295 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
1296
1297         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&))
1298         (shared_ptr(auto_ptr&&)): Adjust template parameter lists.
1299         * include/bits/shared_ptr.h (__sp_compatible_with)
1300         (__sp_is_constructible): New helper traits for shared_ptr.
1301         (shared_ptr::_Convertible): Replace with _Constructible.
1302         (shared_ptr::_Constructible, shared_ptr::_Assignable): Forward checks
1303         to base class.
1304         (shared_ptr::shared_ptr, shared_ptr::operator=): Constrain template
1305         with _Constructible and _Assignable.
1306         (shared_ptr::shared_ptr(shared_ptr<_Tp1>, _Tp*)): Use element_type
1307         instead of _Tp.
1308         (operator<): Likewise.
1309         (operator>): Define in terms of operator<.
1310         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
1311         element_type instead of _Tp.
1312         (reinterpret_pointer_cast): Define for C++17.
1313         (weak_ptr::_Convertible): Replace with _Constructible.
1314         (weak_ptr::_Constructible, weak_ptr::_Assignable): Forward checks
1315         to base class.
1316         (weak_ptr::weak_ptr, weak_ptr::operator=): Constrain templates
1317         with _Constructible and _Assignable.
1318         * include/bits/shared_ptr_base.h (__shared_ptr::_Convertible): Replace
1319         with _Compatible.
1320         (__shared_ptr::_SafeConv): New constraint for incoming raw pointers.
1321         (__shared_ptr::_Compatible): New constraint for converting from
1322         other types of shared_ptr and weak_ptr.
1323         (__shared_ptr::_Assignable): Define in terms of _Compatible.
1324         (__shared_ptr::_UniqCompatible, __shared_ptr::_UniqAssignable): New
1325         constraints for converting from unique_ptr.
1326         (__shared_ptr::__shared_ptr, __shared_ptr::operator=): Constrain
1327         template with _SaveConf, _Compatible and _Assignable. Remove
1328         __glibcxx_function_requires concept checks. Add static assertion for
1329         deleter expression being well-formed.
1330         (__shared_ptr::__shared_ptr(__shared_ptr<_Tp1>, _Tp*))
1331         (__shared_ptr::operator*, __shared_ptr::operator->)
1332         (__shared_ptr::get, __shared_ptr::_M_ptr): Use element_type instead
1333         of _Tp.
1334         (operator<): Likewise.
1335         (operator>): Define in terms of operator<.
1336         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
1337         element_type instead of _Tp.
1338         (reinterpret_pointer_cast): Define for C++17.
1339         (weak_ptr::_Convertible): Replace with _Compatible.
1340         (weak_ptr::_Compatible, weak_ptr::_Assignable): New constraints for
1341         conversions from other types of weak_ptr and shared_ptr.
1342         (__weak_ptr::__weak_ptr, __weak_ptr::operator=): Constrain templates
1343         with _Constructible and _Assignable.
1344         (__weak_ptr::_M_ptr): Use element_type instead of _Tp.
1345         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Adjust
1346         dg-error pattern.
1347         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Test conversions.
1348         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
1349         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1350         * testsuite/20_util/shared_ptr/casts/reinterpret.cc: New test.
1351
1352 2016-10-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
1353
1354         Do the operator= SFINAE in the return type for optional,
1355         not in the template parameters.
1356         * include/std/optional (operator=(_Up&&)): Move SFINAE
1357         from template parameters to the return type.
1358         (operator=(const optional<_Up>&)): Likewise.
1359         (operator=(optional<_Up>&&)): Likewise.
1360
1361 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
1362
1363         * include/bits/allocator.h: Remove trailing whitespace, tab-indent.
1364         * include/ext/new_allocator.h: Likewise.
1365
1366         PR libstdc++/78052
1367         * include/bits/allocator.h (allocator<void>::construct)
1368         (allocator<void>::destroy): Define.
1369         * testsuite/20_util/allocator/void.cc: New test.
1370
1371         * testsuite/20_util/enable_shared_from_this/56383.cc: Add tests for
1372         additional ambiguous cases.
1373
1374 2016-10-19  Jonathan Wakely  <jwakely@redhat.com>
1375
1376         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&)): Call
1377         _M_enable_shared_from_this_with instead of
1378         __enable_shared_from_this_helper.
1379         * include/bits/shared_ptr.h (__enable_shared_from_this_helper):
1380         Remove overload for std::enable_shared_from_this..
1381         (__enable_shared_from_this_base): Define friend function to select a
1382         std::enable_shared_from_this base class.
1383         * include/bits/shared_ptr_base.h (__enable_shared_from_this_helper):
1384         Remove all overloads.
1385         (__shared_ptr): Change all relevant constructors to call
1386         _M_enable_shared_from_this_with instead of
1387         __enable_shared_from_this_helper.
1388         (__shared_ptr::__efst_base_t, __shared_ptr::__has_efst_base): Helpers
1389         to detect accessible and unambiguous enable_shared_from_this bases.
1390         (__shared_ptr::_M_enable_shared_from_this_with): New function to
1391         replace __enable_shared_from_this_helper overloads.
1392         (__enable_shared_from_this_helper): Remove overload for
1393         std::__enable_shared_from_this.
1394         (__enable_shared_from_this_base): Define friend function to select a
1395         std::__enable_shared_from_this base class.
1396         * include/experimental/bits/shared_ptr.h (experimental::shared_ptr):
1397         Change relevant constructors to call _M_enable_shared_from_this_with.
1398         (experimental::shared_ptr::__efst_base_t)
1399         (experimental::shared_ptr::__has_efst_base): Helpers to detect
1400         accessible and unambiguous enable_shared_from_this bases.
1401         (experimental::shared_ptr::_M_enable_shared_from_this_with): Define.
1402         (experimental::__enable_shared_from_this_helper): Remove overload for
1403         std::experimental::enable_shared_from_this.
1404         (experimental::__expt_enable_shared_from_this_base): Define friend
1405         function to select a std::experimental::enable_shared_from_this base.
1406         * testsuite/experimental/memory/shared_ptr/cons/
1407         enable_shared_from_this.cc: New test.
1408         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
1409         Adjust expected behaviour for shared_ptr<A[]>.
1410
1411         * include/debug/vector (__gnu_debug::vector::emplace_back): Fix return
1412         type.
1413
1414         * include/backward/auto_ptr.h (dauto_ptr): Correct comment about
1415         conversions from auto_ptr<Derived> rvalues to auto_ptr<Base>.
1416         * testsuite/20_util/auto_ptr/assign_neg.cc: Remove redundant dg-error
1417         directives that only match notes, not errors.
1418
1419         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
1420         Add tests for valid and invalid conversions.
1421         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
1422         Likewise.
1423
1424         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests
1425         to new file.
1426         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file.  Fix
1427         test for incompatible deleters to not also use incompatible types.
1428         Add tests for incompatible array types.
1429
1430         * include/experimental/bits/shared_ptr.h
1431         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_Compatible): Just use
1432         is_convertible for non-array specialization.
1433         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_UniqCompatible): New
1434         constraint for conversions from unique_ptr.
1435         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::__shared_ptr): Constrain.
1436         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::reset): Likewise.
1437         (__sp_compatible_v): New variable template for trait.
1438         (__sp_is_constructible): New trait to check shared_ptr constraints.
1439         (__sp_is_constructible_v): New variable template for trait.
1440         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_SafeConv): New
1441         constraint for construction/reset, using __sp_is_constructible_v.
1442         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_UniqCompatible): New
1443         constraint for conversions from unique_ptr.
1444         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::__shared_ptr): Constrain.
1445         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::reset): Likewise.
1446         (shared_ptr::_SafeConv): Constraint for checking constructors.
1447         (shared_ptr(Tp1*), shared_ptr(_Tp1, _Deleter))
1448         (shared_ptr(_Tp1, _Deleter, _Alloc)): Constrain with _SafeConv.
1449         (shared_ptr(const weak_ptr<_Tp1>&)): Constrain with _Compatible.
1450         (shared_ptr(auto_ptr<_Tp1>&&)): Fix, remove TODO.
1451         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
1452         Remove tests using invalid conversions.
1453         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc:
1454         New test.
1455         * testsuite/experimental/memory/shared_ptr/cons/torture.cc: New test.
1456         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Remove
1457         tests using invalid conversions.
1458         * testsuite/experimental/memory/shared_ptr/modifiers/reset_neg.cc: New
1459         test.
1460         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
1461         Remove tests using invalid conversions.
1462
1463         PR libstdc++/77990
1464         * include/bits/unique_ptr.h (__uniq_ptr_impl): New type to
1465         encapsulate implementation details.
1466         (unique_ptr::unique_ptr(_Up)): Don't copy deleter object.
1467         (unique_ptr::get, unique_ptr::get_deleter, unique_ptr::release):
1468         Call member functions of implementation object.
1469         (unique_ptr<T[], D>): Likewise.
1470         * python/libstdcxx/v6/printers.py (UniquePointerPrinter): Adjust for
1471         new implementation.
1472         * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Likewise.
1473         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
1474         lines.
1475         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
1476         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
1477         * testsuite/20_util/unique_ptr/cons/77990.cc: New test.
1478
1479 2016-10-18  Jonathan Wakely  <jwakely@redhat.com>
1480
1481         * include/experimental/bits/shared_ptr.h: Fix indentation.
1482
1483         * include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)):
1484         Remove const from parameter.
1485         (operator<(const shared_ptr<T>&, nullptr_t)): Use correct
1486         specialization of std::less.
1487         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
1488         Test comparison with nullptr and actually call test functions.
1489
1490         * include/bits/uses_allocator.h (__is_uses_allocator_constructible_v)
1491         (__is_nothrow_uses_allocator_constructible_v): Only define for C++14
1492         and later.
1493
1494 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1495
1496         * testsuite/27_io/basic_filebuf/close/12790-1.cc: Remove 'test'
1497         variables.
1498         * testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
1499         * testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Likewise.
1500         * testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Likewise.
1501         * testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
1502         * testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Likewise.
1503         * testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
1504         * testsuite/27_io/basic_filebuf/close/char/3.cc: Likewise.
1505         * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise.
1506         * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise.
1507         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc: Likewise.
1508         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc: Likewise.
1509         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
1510         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc: Likewise.
1511         * testsuite/27_io/basic_filebuf/cons/2020.cc: Likewise.
1512         * testsuite/27_io/basic_filebuf/cons/char/1.cc: Likewise.
1513         * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
1514         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: Likewise.
1515         * testsuite/27_io/basic_filebuf/imbue/12206.cc: Likewise.
1516         * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
1517         * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
1518         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
1519         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
1520         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
1521         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
1522         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
1523         * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
1524         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise.
1525         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
1526         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
1527         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
1528         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
1529         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
1530         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
1531         * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
1532         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
1533         * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Likewise.
1534         * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise.
1535         * testsuite/27_io/basic_filebuf/open/12790-1.cc: Likewise.
1536         * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
1537         * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
1538         * testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise.
1539         * testsuite/27_io/basic_filebuf/open/char/4.cc: Likewise.
1540         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1541         * testsuite/27_io/basic_filebuf/overflow/char/1.cc: Likewise.
1542         * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Likewise.
1543         * testsuite/27_io/basic_filebuf/overflow/char/2.cc: Likewise.
1544         * testsuite/27_io/basic_filebuf/overflow/char/3599.cc: Likewise.
1545         * testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Likewise.
1546         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Likewise.
1547         * testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Likewise.
1548         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
1549         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
1550         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
1551         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
1552         * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Likewise.
1553         * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise.
1554         * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise.
1555         * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise.
1556         * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise.
1557         * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise.
1558         * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise.
1559         * testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Likewise.
1560         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
1561         * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Likewise.
1562         * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Likewise.
1563         * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Likewise.
1564         * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise.
1565         * testsuite/27_io/basic_filebuf/seekoff/45628-2.cc: Likewise.
1566         * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
1567         * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise.
1568         * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
1569         * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Likewise.
1570         * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: Likewise.
1571         * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Likewise.
1572         * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Likewise.
1573         * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Likewise.
1574         * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Likewise.
1575         * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
1576         * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
1577         * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
1578         * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise.
1579         * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise.
1580         * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
1581         * testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Likewise.
1582         * testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: Likewise.
1583         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
1584         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: Likewise.
1585         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc: Likewise.
1586         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc: Likewise.
1587         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc: Likewise.
1588         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc: Likewise.
1589         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise.
1590         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Likewise.
1591         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.
1592         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
1593         Likewise.
1594         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
1595         * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Likewise.
1596         * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Likewise.
1597         * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Likewise.
1598         * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise.
1599         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
1600         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise.
1601         * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Likewise.
1602         * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Likewise.
1603         * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc: Likewise.
1604         * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Likewise.
1605         * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise.
1606         * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
1607         * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise.
1608         * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
1609         * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise.
1610         * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
1611         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Likewise.
1612         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc: Likewise.
1613         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc: Likewise.
1614         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc: Likewise.
1615         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc: Likewise.
1616         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
1617         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
1618         Likewise.
1619         * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
1620         * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Likewise.
1621         * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
1622         * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Likewise.
1623         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1624         * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise.
1625         * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise.
1626         * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise.
1627         * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise.
1628         * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise.
1629         * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise.
1630         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise.
1631         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
1632         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise.
1633         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
1634         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
1635         * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise.
1636         * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise.
1637         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise.
1638         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Likewise.
1639         * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise.
1640         * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise.
1641         * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise.
1642         * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise.
1643         * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise.
1644         * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise.
1645         * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Likewise.
1646         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Likewise.
1647         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
1648         * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Likewise.
1649         * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Likewise.
1650         * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
1651         * testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Likewise.
1652         * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise.
1653         * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise.
1654         * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise.
1655         * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise.
1656         * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise.
1657         * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise.
1658         * testsuite/27_io/basic_filebuf/sputc/char/59427.cc: Likewise.
1659         * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Likewise.
1660         * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise.
1661         * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise.
1662         * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise.
1663         * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Likewise.
1664         * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise.
1665         * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise.
1666         * testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.
1667         * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Likewise.
1668         * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Likewise.
1669         * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise.
1670         * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise.
1671         * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise.
1672         * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise.
1673         * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise.
1674         * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise.
1675         * testsuite/27_io/basic_filebuf/sync/char/1057.cc: Likewise.
1676         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Likewise.
1677         * testsuite/27_io/basic_filebuf/underflow/char/1.cc: Likewise.
1678         * testsuite/27_io/basic_filebuf/underflow/char/2.cc: Likewise.
1679         * testsuite/27_io/basic_filebuf/underflow/char/3.cc: Likewise.
1680         * testsuite/27_io/basic_filebuf/underflow/char/45841.cc: Likewise.
1681         * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: Likewise.
1682         * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
1683         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise.
1684         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise.
1685         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise.
1686         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise.
1687         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: Likewise.
1688         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Likewise.
1689         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise.
1690         * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
1691         * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
1692         * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise.
1693         * testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise.
1694         * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise.
1695         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Likewise.
1696         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
1697         * testsuite/27_io/basic_fstream/cons/1.cc: Likewise.
1698         * testsuite/27_io/basic_fstream/rdbuf/char/2832.cc: Likewise.
1699         * testsuite/27_io/basic_ifstream/cons/2020.cc: Likewise.
1700         * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise.
1701         * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise.
1702         * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise.
1703         * testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
1704         * testsuite/27_io/basic_ios/cons/2020.cc: Likewise.
1705         * testsuite/27_io/basic_ios/cons/char/1.cc: Likewise.
1706         * testsuite/27_io/basic_ios/cons/char/2.cc: Likewise.
1707         * testsuite/27_io/basic_ios/cons/char/3.cc: Likewise.
1708         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
1709         * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
1710         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
1711         * testsuite/27_io/basic_ios/imbue/14072.cc: Likewise.
1712         * testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
1713         * testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
1714         * testsuite/27_io/basic_istream/cons/3.cc: Likewise.
1715         * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Likewise.
1716         * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: Likewise.
1717         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1718         Likewise.
1719         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1720         Likewise.
1721         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1722         Likewise.
1723         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1724         Likewise.
1725         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1726         Likewise.
1727         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1728         Likewise.
1729         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1730         Likewise.
1731         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1732         Likewise.
1733         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1734         Likewise.
1735         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1736         Likewise.
1737         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1738         Likewise.
1739         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
1740         Likewise.
1741         * testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc:
1742         Likewise.
1743         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1744         exceptions_badbit_throw.cc: Likewise.
1745         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1746         exceptions_failbit.cc: Likewise.
1747         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1748         exceptions_failbit_throw.cc: Likewise.
1749         * testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc:
1750         Likewise.
1751         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
1752         Likewise.
1753         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc:
1754         Likewise.
1755         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc:
1756         Likewise.
1757         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc:
1758         Likewise.
1759         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
1760         Likewise.
1761         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc:
1762         Likewise.
1763         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
1764         Likewise.
1765         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
1766         Likewise.
1767         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc:
1768         Likewise.
1769         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1770         Likewise.
1771         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
1772         Likewise.
1773         * testsuite/27_io/basic_istream/extractors_arithmetic/
1774         wchar_t/9555-ia.cc: Likewise.
1775         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1776         dr696.cc: Likewise.
1777         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1778         exceptions_badbit_throw.cc: Likewise.
1779         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1780         exceptions_failbit.cc: Likewise.
1781         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1782         exceptions_failbit_throw.cc: Likewise.
1783         * testsuite/27_io/basic_istream/extractors_character/char/1.cc:
1784         Likewise.
1785         * testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc:
1786         Likewise.
1787         * testsuite/27_io/basic_istream/extractors_character/char/2.cc:
1788         Likewise.
1789         * testsuite/27_io/basic_istream/extractors_character/char/3.cc:
1790         Likewise.
1791         * testsuite/27_io/basic_istream/extractors_character/char/4.cc:
1792         Likewise.
1793         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1794         Likewise.
1795         * testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc:
1796         Likewise.
1797         * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
1798         Likewise.
1799         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1800         11095-i.cc: Likewise.
1801         * testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc:
1802         Likewise.
1803         * testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc:
1804         Likewise.
1805         * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
1806         Likewise.
1807         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1808         9555-ic.cc: Likewise.
1809         * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
1810         * testsuite/27_io/basic_istream/extractors_other/char/2.cc: Likewise.
1811         * testsuite/27_io/basic_istream/extractors_other/char/26181.cc:
1812         Likewise.
1813         * testsuite/27_io/basic_istream/extractors_other/char/3.cc: Likewise.
1814         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1815         Likewise.
1816         * testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc:
1817         Likewise.
1818         * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
1819         Likewise.
1820         * testsuite/27_io/basic_istream/extractors_other/char/
1821         error_failbit.cc: Likewise.
1822         * testsuite/27_io/basic_istream/extractors_other/char/
1823         exceptions_badbit_throw.cc: Likewise.
1824         * testsuite/27_io/basic_istream/extractors_other/char/
1825         exceptions_failbit_throw.cc: Likewise.
1826         * testsuite/27_io/basic_istream/extractors_other/char/
1827         exceptions_null.cc: Likewise.
1828         * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc:
1829         Likewise.
1830         * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc: Likewise.
1831         * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: Likewise.
1832         * testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
1833         Likewise.
1834         * testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc: Likewise.
1835         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc:
1836         Likewise.
1837         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc:
1838         Likewise.
1839         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc:
1840         Likewise.
1841         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1842         error_failbit.cc: Likewise.
1843         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1844         exceptions_badbit_throw.cc: Likewise.
1845         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1846         exceptions_failbit_throw.cc: Likewise.
1847         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1848         exceptions_null.cc: Likewise.
1849         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1850         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1851         * testsuite/27_io/basic_istream/get/char/3.cc: Likewise.
1852         * testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
1853         * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
1854         * testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise.
1855         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1856         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1857         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1858         * testsuite/27_io/basic_istream/getline/char/4.cc: Likewise.
1859         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
1860         * testsuite/27_io/basic_istream/getline/char/6.cc: Likewise.
1861         * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
1862         * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Likewise.
1863         * testsuite/27_io/basic_istream/getline/wchar_t/3.cc: Likewise.
1864         * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise.
1865         * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Likewise.
1866         * testsuite/27_io/basic_istream/getline/wchar_t/6.cc: Likewise.
1867         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1868         * testsuite/27_io/basic_istream/ignore/char/2.cc: Likewise.
1869         * testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise.
1870         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1871         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1872         * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
1873         * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
1874         * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
1875         * testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise.
1876         * testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise.
1877         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1878         * testsuite/27_io/basic_istream/peek/char/12296.cc: Likewise.
1879         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1880         * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
1881         * testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
1882         * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
1883         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1884         * testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
1885         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1886         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1887         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1888         * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
1889         * testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
1890         * testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
1891         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc: Likewise.
1892         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Likewise.
1893         * testsuite/27_io/basic_istream/readsome/char/8258.cc: Likewise.
1894         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
1895         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
1896         * testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
1897         * testsuite/27_io/basic_istream/seekg/char/2.cc: Likewise.
1898         * testsuite/27_io/basic_istream/seekg/char/26211.cc: Likewise.
1899         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1900         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1901         * testsuite/27_io/basic_istream/seekg/char/
1902         exceptions_badbit_throw.cc: Likewise.
1903         * testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise.
1904         * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise.
1905         * testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
1906         * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
1907         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
1908         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
1909         * testsuite/27_io/basic_istream/seekg/wchar_t/
1910         exceptions_badbit_throw.cc: Likewise.
1911         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
1912         * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
1913         * testsuite/27_io/basic_istream/sentry/char/1.cc: Likewise.
1914         * testsuite/27_io/basic_istream/sentry/char/2.cc: Likewise.
1915         * testsuite/27_io/basic_istream/sentry/char/3.cc: Likewise.
1916         * testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise.
1917         * testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
1918         * testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
1919         * testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
1920         * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise.
1921         * testsuite/27_io/basic_istream/tellg/char/2.cc: Likewise.
1922         * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
1923         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1924         * testsuite/27_io/basic_istream/tellg/char/
1925         exceptions_badbit_throw.cc: Likewise.
1926         * testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise.
1927         * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise.
1928         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
1929         * testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
1930         * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
1931         * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
1932         * testsuite/27_io/basic_istream/tellg/wchar_t/
1933         exceptions_badbit_throw.cc: Likewise.
1934         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
1935         * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
1936         * testsuite/27_io/basic_istream/ws/char/1.cc: Likewise.
1937         * testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
1938         * testsuite/27_io/basic_istringstream/cons/2020.cc: Likewise.
1939         * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Likewise.
1940         * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: Likewise.
1941         * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
1942         * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
1943         * testsuite/27_io/basic_ofstream/cons/2020.cc: Likewise.
1944         * testsuite/27_io/basic_ofstream/cons/char/1.cc: Likewise.
1945         * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
1946         * testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Likewise.
1947         * testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
1948         * testsuite/27_io/basic_ostream/cons/char/9827.cc: Likewise.
1949         * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: Likewise.
1950         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1951         * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
1952         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
1953         * testsuite/27_io/basic_ostream/ends/char/2.cc: Likewise.
1954         * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
1955         * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
1956         * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise.
1957         * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
1958         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1959         * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
1960         * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
1961         Likewise.
1962         * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
1963         * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
1964         * testsuite/27_io/basic_ostream/flush/wchar_t/
1965         exceptions_badbit_throw.cc: Likewise.
1966         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1967         Likewise.
1968         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1969         Likewise.
1970         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc:
1971         Likewise.
1972         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc:
1973         Likewise.
1974         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc:
1975         Likewise.
1976         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc:
1977         Likewise.
1978         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc:
1979         Likewise.
1980         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
1981         Likewise.
1982         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
1983         Likewise.
1984         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1985         exceptions_badbit_throw.cc: Likewise.
1986         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1987         exceptions_failbit_throw.cc: Likewise.
1988         * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc:
1989         Likewise.
1990         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1991         Likewise.
1992         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
1993         Likewise.
1994         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc:
1995         Likewise.
1996         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc:
1997         Likewise.
1998         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc:
1999         Likewise.
2000         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc:
2001         Likewise.
2002         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc:
2003         Likewise.
2004         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
2005         Likewise.
2006         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
2007         9555-oa.cc: Likewise.
2008         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
2009         exceptions_badbit_throw.cc: Likewise.
2010         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
2011         exceptions_failbit_throw.cc: Likewise.
2012         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc:
2013         Likewise.
2014         * testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc:
2015         Likewise.
2016         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc:
2017         Likewise.
2018         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc: Likewise.
2019         * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
2020         Likewise.
2021         * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
2022         Likewise.
2023         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc: Likewise.
2024         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc: Likewise.
2025         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc: Likewise.
2026         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc: Likewise.
2027         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc: Likewise.
2028         * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
2029         Likewise.
2030         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
2031         11095-od.cc: Likewise.
2032         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
2033         11095-oe.cc: Likewise.
2034         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
2035         11095-of.cc: Likewise.
2036         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc:
2037         Likewise.
2038         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
2039         28277-1.cc: Likewise.
2040         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
2041         28277-2.cc: Likewise.
2042         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
2043         28277-3.cc: Likewise.
2044         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
2045         28277-4.cc: Likewise.
2046         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc:
2047         Likewise.
2048         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc:
2049         Likewise.
2050         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc:
2051         Likewise.
2052         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc:
2053         Likewise.
2054         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
2055         Likewise.
2056         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
2057         Likewise.
2058         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
2059         9555-oc.cc: Likewise.
2060         * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
2061         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Likewise.
2062         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Likewise.
2063         * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: Likewise.
2064         * testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc:
2065         Likewise.
2066         * testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc:
2067         Likewise.
2068         * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
2069         Likewise.
2070         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
2071         Likewise.
2072         * testsuite/27_io/basic_ostream/inserters_other/char/
2073         error_failbit.cc: Likewise.
2074         * testsuite/27_io/basic_ostream/inserters_other/char/
2075         exceptions_badbit_throw.cc: Likewise.
2076         * testsuite/27_io/basic_ostream/inserters_other/char/
2077         exceptions_failbit_throw.cc: Likewise.
2078         * testsuite/27_io/basic_ostream/inserters_other/char/
2079         exceptions_null.cc: Likewise.
2080         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: Likewise.
2081         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc: Likewise.
2082         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc: Likewise.
2083         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc: Likewise.
2084         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
2085         9318-out.cc: Likewise.
2086         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
2087         9424-out.cc: Likewise.
2088         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
2089         9555-oo.cc: Likewise.
2090         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
2091         error_code.cc: Likewise.
2092         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
2093         error_failbit.cc: Likewise.
2094         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
2095         exceptions_badbit_throw.cc: Likewise.
2096         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
2097         exceptions_failbit_throw.cc: Likewise.
2098         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
2099         exceptions_null.cc: Likewise.
2100         * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
2101         * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
2102         * testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Likewise.
2103         * testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc: Likewise.
2104         * testsuite/27_io/basic_ostream/seekp/char/
2105         exceptions_badbit_throw.cc: Likewise.
2106         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc: Likewise.
2107         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc: Likewise.
2108         * testsuite/27_io/basic_ostream/seekp/wchar_t/
2109         exceptions_badbit_throw.cc: Likewise.
2110         * testsuite/27_io/basic_ostream/sentry/char/1.cc: Likewise.
2111         * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
2112         * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
2113         * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
2114         * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
2115         * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
2116         * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
2117         * testsuite/27_io/basic_ostream/tellp/char/
2118         exceptions_badbit_throw.cc: Likewise.
2119         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
2120         * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
2121         * testsuite/27_io/basic_ostream/tellp/wchar_t/
2122         exceptions_badbit_throw.cc: Likewise.
2123         * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
2124         * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
2125         * testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise.
2126         * testsuite/27_io/basic_ostringstream/cons/char/3.cc: Likewise.
2127         * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
2128         * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: Likewise.
2129         * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
2130         * testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise.
2131         * testsuite/27_io/basic_ostringstream/str/char/2.cc: Likewise.
2132         * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
2133         * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
2134         * testsuite/27_io/basic_streambuf/cons/2020.cc: Likewise.
2135         * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
2136         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Likewise.
2137         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
2138         * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise.
2139         * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
2140         * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
2141         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise.
2142         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
2143         * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
2144         * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: Likewise.
2145         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Likewise.
2146         * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
2147         * testsuite/27_io/basic_streambuf/overflow/char/2.cc: Likewise.
2148         * testsuite/27_io/basic_streambuf/overflow/char/3599.cc: Likewise.
2149         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
2150         * testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc: Likewise.
2151         * testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc: Likewise.
2152         * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
2153         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
2154         * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
2155         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
2156         * testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc: Likewise.
2157         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
2158         * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
2159         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
2160         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
2161         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
2162         * testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise.
2163         * testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise.
2164         * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
2165         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Likewise.
2166         * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
2167         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Likewise.
2168         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
2169         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Likewise.
2170         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
2171         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Likewise.
2172         * testsuite/27_io/basic_stringbuf/overflow/char/2.cc: Likewise.
2173         * testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: Likewise.
2174         * testsuite/27_io/basic_stringbuf/overflow/char/3599.cc: Likewise.
2175         * testsuite/27_io/basic_stringbuf/overflow/char/9988.cc: Likewise.
2176         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc: Likewise.
2177         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc: Likewise.
2178         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Likewise.
2179         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc: Likewise.
2180         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc: Likewise.
2181         * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: Likewise.
2182         * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
2183         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
2184         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
2185         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
2186         * testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc: Likewise.
2187         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
2188         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc: Likewise.
2189         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise.
2190         * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: Likewise.
2191         * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: Likewise.
2192         * testsuite/27_io/basic_stringbuf/seekoff/char/2.cc: Likewise.
2193         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
2194         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
2195         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: Likewise.
2196         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc: Likewise.
2197         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
2198         * testsuite/27_io/basic_stringbuf/seekpos/char/2.cc: Likewise.
2199         * testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: Likewise.
2200         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Likewise.
2201         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
2202         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc: Likewise.
2203         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: Likewise.
2204         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc: Likewise.
2205         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Likewise.
2206         * testsuite/27_io/basic_stringbuf/setbuf/char/2.cc: Likewise.
2207         * testsuite/27_io/basic_stringbuf/setbuf/char/3.cc: Likewise.
2208         * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: Likewise.
2209         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Likewise.
2210         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc: Likewise.
2211         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc: Likewise.
2212         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
2213         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise.
2214         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
2215         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
2216         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
2217         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
2218         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
2219         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise.
2220         * testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc: Likewise.
2221         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise.
2222         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc: Likewise.
2223         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Likewise.
2224         * testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc: Likewise.
2225         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Likewise.
2226         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc: Likewise.
2227         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Likewise.
2228         * testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc: Likewise.
2229         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Likewise.
2230         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc: Likewise.
2231         * testsuite/27_io/basic_stringbuf/str/char/1.cc: Likewise.
2232         * testsuite/27_io/basic_stringbuf/str/char/2.cc: Likewise.
2233         * testsuite/27_io/basic_stringbuf/str/char/3.cc: Likewise.
2234         * testsuite/27_io/basic_stringbuf/str/char/3955.cc: Likewise.
2235         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Likewise.
2236         * testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc: Likewise.
2237         * testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc: Likewise.
2238         * testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc: Likewise.
2239         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
2240         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
2241         * testsuite/27_io/basic_stringbuf/sync/char/1057.cc: Likewise.
2242         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
2243         * testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise.
2244         * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Likewise.
2245         * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: Likewise.
2246         * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
2247         * testsuite/27_io/basic_stringstream/str/char/2.cc: Likewise.
2248         * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
2249         * testsuite/27_io/basic_stringstream/str/char/4.cc: Likewise.
2250         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
2251         * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
2252         * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
2253         * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
2254         * testsuite/27_io/fpos/11450.cc: Likewise.
2255         * testsuite/27_io/fpos/14252.cc: Likewise.
2256         * testsuite/27_io/fpos/14320-1.cc: Likewise.
2257         * testsuite/27_io/fpos/14320-2.cc: Likewise.
2258         * testsuite/27_io/fpos/14320-3.cc: Likewise.
2259         * testsuite/27_io/fpos/14320-4.cc: Likewise.
2260         * testsuite/27_io/fpos/14320-5.cc: Likewise.
2261         * testsuite/27_io/fpos/14775.cc: Likewise.
2262         * testsuite/27_io/fpos/mbstate_t/1.cc: Likewise.
2263         * testsuite/27_io/fpos/mbstate_t/12065.cc: Likewise.
2264         * testsuite/27_io/fpos/mbstate_t/2.cc: Likewise.
2265         * testsuite/27_io/fpos/mbstate_t/3.cc: Likewise.
2266         * testsuite/27_io/ios_base/callbacks/1.cc: Likewise.
2267         * testsuite/27_io/ios_base/failure/what-1.cc: Likewise.
2268         * testsuite/27_io/ios_base/failure/what-2.cc: Likewise.
2269         * testsuite/27_io/ios_base/failure/what-3.cc: Likewise.
2270         * testsuite/27_io/ios_base/failure/what-big.cc: Likewise.
2271         * testsuite/27_io/ios_base/state/1.cc: Likewise.
2272         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
2273         * testsuite/27_io/ios_base/storage/11584.cc: Likewise.
2274         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
2275         * testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise.
2276         * testsuite/27_io/manipulators/adjustfield/char/1.cc: Likewise.
2277         * testsuite/27_io/manipulators/adjustfield/char/2.cc
2278         * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: Likewise.
2279         * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
2280         * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
2281         * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
2282         * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
2283         * testsuite/27_io/manipulators/extended/get_money/char/51288.cc:
2284         Likewise.
2285         * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
2286         Likewise.
2287         * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
2288         Likewise.
2289         * testsuite/27_io/manipulators/extended/get_time/char/1.cc
2290         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
2291         * testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: Likewise.
2292         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Likewise.
2293         * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
2294         * testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
2295         Likewise.
2296         * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
2297         Likewise.
2298         * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
2299         Likewise.
2300         * testsuite/27_io/manipulators/extended/put_time/char/1.cc: Likewise.
2301         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
2302         * testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: Likewise.
2303         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Likewise.
2304         * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
2305         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
2306         * testsuite/27_io/manipulators/standard/char/dr2344.cc: Likewise.
2307         * testsuite/27_io/manipulators/standard/char/quoted.cc: Likewise.
2308         * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
2309         * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
2310         * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: Likewise.
2311         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Likewise.
2312         * testsuite/27_io/objects/char/1.cc: Likewise.
2313         * testsuite/27_io/objects/char/10.cc: Likewise.
2314         * testsuite/27_io/objects/char/3045.cc: Likewise.
2315         * testsuite/27_io/objects/char/41037.cc: Likewise.
2316         * testsuite/27_io/objects/char/5.cc: Likewise.
2317         * testsuite/27_io/objects/char/6.cc: Likewise.
2318         * testsuite/27_io/objects/char/6548_xin.cc: Likewise.
2319         * testsuite/27_io/objects/char/6648-1_xin.cc: Likewise.
2320         * testsuite/27_io/objects/char/6648-2_xin.cc: Likewise.
2321         * testsuite/27_io/objects/char/7744_xin.cc: Likewise.
2322         * testsuite/27_io/objects/char/8.cc: Likewise.
2323         * testsuite/27_io/objects/char/9.cc: Likewise.
2324         * testsuite/27_io/objects/char/9661-2_xin.cc: Likewise.
2325         * testsuite/27_io/objects/char/dr455.cc: Likewise.
2326         * testsuite/27_io/objects/wchar_t/1.cc: Likewise.
2327         * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
2328         * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
2329         * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
2330         * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
2331         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
2332         * testsuite/27_io/objects/wchar_t/3045.cc: Likewise.
2333         * testsuite/27_io/objects/wchar_t/41037.cc: Likewise.
2334         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
2335         * testsuite/27_io/objects/wchar_t/6548_xin.cc: Likewise.
2336         * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: Likewise.
2337         * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: Likewise.
2338         * testsuite/27_io/objects/wchar_t/7744_xin.cc: Likewise.
2339         * testsuite/27_io/objects/wchar_t/8.cc: Likewise.
2340         * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
2341         * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: Likewise.
2342         * testsuite/27_io/objects/wchar_t/9662.cc: Likewise.
2343         * testsuite/27_io/objects/wchar_t/dr455.cc: Likewise.
2344         * testsuite/27_io/types/3.cc: Likewise.
2345
2346 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
2347
2348         PR libstdc++/77994
2349         * include/bits/stl_algo.h (sample): Convert size argument to iterator
2350         difference type.
2351         * include/experimental/algorithm (experimental::sample): Likewise.
2352         * testsuite/25_algorithms/sample/2.cc: New test.
2353
2354 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2355
2356         * testsuite/unordered_map/insert/57619.C: Rename to 57619.cc.
2357         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
2358
2359 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2360
2361         * testsuite/array/capacity/empty.cc: Remove 'test' variables.
2362         * testsuite/array/capacity/max_size.cc: Likewise.
2363         * testsuite/array/capacity/size.cc: Likewise.
2364         * testsuite/array/comparison_operators/equal.cc: Likewise.
2365         * testsuite/array/comparison_operators/greater.cc: Likewise.
2366         * testsuite/array/comparison_operators/greater_or_equal.cc: Likewise.
2367         * testsuite/array/comparison_operators/less.cc: Likewise.
2368         * testsuite/array/comparison_operators/less_or_equal.cc: Likewise.
2369         * testsuite/array/comparison_operators/not_equal.cc: Likewise.
2370         * testsuite/array/element_access/54388.cc: Likewise.
2371         * testsuite/array/element_access/at_out_of_range.cc: Likewise.
2372         * testsuite/array/element_access/back.cc: Likewise.
2373         * testsuite/array/element_access/data.cc: Likewise.
2374         * testsuite/array/element_access/front.cc: Likewise.
2375         * testsuite/array/iterators/end_is_one_past.cc: Likewise.
2376         * testsuite/array/requirements/contiguous.cc: Likewise.
2377         * testsuite/array/requirements/fill.cc: Likewise.
2378         * testsuite/array/requirements/member_swap.cc: Likewise.
2379         * testsuite/array/requirements/zero_sized_arrays.cc: Likewise.
2380         * testsuite/array/specialized_algorithms/swap.cc: Likewise.
2381         * testsuite/array/tuple_interface/tuple_element.cc: Likewise.
2382         * testsuite/array/tuple_interface/tuple_element_cpp14.cc: Likewise.
2383         * testsuite/array/tuple_interface/tuple_size.cc: Likewise.
2384         * testsuite/bitset/all/1.cc: Likewise.
2385         * testsuite/bitset/cons/1.cc: Likewise.
2386         * testsuite/bitset/cons/16020.cc: Likewise.
2387         * testsuite/bitset/cons/2.cc: Likewise.
2388         * testsuite/bitset/cons/3.cc: Likewise.
2389         * testsuite/bitset/cons/50268.cc: Likewise.
2390         * testsuite/bitset/cons/6282.cc: Likewise.
2391         * testsuite/bitset/cons/dr1325-2.cc: Likewise.
2392         * testsuite/bitset/cons/dr396.cc: Likewise.
2393         * testsuite/bitset/ext/15361.cc: Likewise.
2394         * testsuite/bitset/input/1.cc: Likewise.
2395         * testsuite/bitset/operations/1.cc: Likewise.
2396         * testsuite/bitset/operations/13838.cc: Likewise.
2397         * testsuite/bitset/operations/2.cc: Likewise.
2398         * testsuite/bitset/test/1.cc: Likewise.
2399         * testsuite/bitset/to_string/1.cc: Likewise.
2400         * testsuite/bitset/to_string/dr396.cc: Likewise.
2401         * testsuite/bitset/to_ullong/1.cc: Likewise.
2402         * testsuite/bitset/to_ulong/1.cc: Likewise.
2403         * testsuite/deque/allocator/copy.cc: Likewise.
2404         * testsuite/deque/allocator/copy_assign.cc: Likewise.
2405         * testsuite/deque/allocator/ext_ptr.cc: Likewise.
2406         * testsuite/deque/allocator/minimal.cc: Likewise.
2407         * testsuite/deque/allocator/move.cc: Likewise.
2408         * testsuite/deque/allocator/move_assign.cc: Likewise.
2409         * testsuite/deque/allocator/swap.cc: Likewise.
2410         * testsuite/deque/capacity/29134-2.cc: Likewise.
2411         * testsuite/deque/capacity/29134.cc: Likewise.
2412         * testsuite/deque/capacity/moveable.cc: Likewise.
2413         * testsuite/deque/capacity/resize_size.cc: Likewise.
2414         * testsuite/deque/capacity/shrink_to_fit.cc: Likewise.
2415         * testsuite/deque/cons/1.cc: Likewise.
2416         * testsuite/deque/cons/2.cc: Likewise.
2417         * testsuite/deque/cons/assign/1.cc: Likewise.
2418         * testsuite/deque/cons/cons_size.cc: Likewise.
2419         * testsuite/deque/cons/moveable.cc: Likewise.
2420         * testsuite/deque/modifiers/erase/1.cc: Likewise.
2421         * testsuite/deque/modifiers/erase/2.cc: Likewise.
2422         * testsuite/deque/modifiers/erase/3.cc: Likewise.
2423         * testsuite/deque/modifiers/erase/moveable.cc: Likewise.
2424         * testsuite/deque/modifiers/moveable.cc: Likewise.
2425         * testsuite/deque/modifiers/push_back/49836.cc: Likewise.
2426         * testsuite/deque/modifiers/push_front/49836.cc: Likewise.
2427         * testsuite/deque/modifiers/swap/1.cc: Likewise.
2428         * testsuite/deque/modifiers/swap/2.cc: Likewise.
2429         * testsuite/deque/modifiers/swap/3.cc: Likewise.
2430         * testsuite/deque/operators/1.cc: Likewise.
2431         * testsuite/deque/operators/2.cc: Likewise.
2432         * testsuite/forward_list/allocator/copy.cc: Likewise.
2433         * testsuite/forward_list/allocator/copy_assign.cc: Likewise.
2434         * testsuite/forward_list/allocator/ext_ptr.cc: Likewise.
2435         * testsuite/forward_list/allocator/minimal.cc: Likewise.
2436         * testsuite/forward_list/allocator/move.cc: Likewise.
2437         * testsuite/forward_list/allocator/move_assign.cc: Likewise.
2438         * testsuite/forward_list/allocator/swap.cc: Likewise.
2439         * testsuite/forward_list/capacity/1.cc: Likewise.
2440         * testsuite/forward_list/capacity/resize_size.cc: Likewise.
2441         * testsuite/forward_list/comparable.cc: Likewise.
2442         * testsuite/forward_list/cons/1.cc: Likewise.
2443         * testsuite/forward_list/cons/2.cc: Likewise.
2444         * testsuite/forward_list/cons/3.cc: Likewise.
2445         * testsuite/forward_list/cons/4.cc: Likewise.
2446         * testsuite/forward_list/cons/5.cc: Likewise.
2447         * testsuite/forward_list/cons/6.cc: Likewise.
2448         * testsuite/forward_list/cons/7.cc: Likewise.
2449         * testsuite/forward_list/cons/8.cc: Likewise.
2450         * testsuite/forward_list/cons/9.cc: Likewise.
2451         * testsuite/forward_list/cons/cons_size.cc: Likewise.
2452         * testsuite/forward_list/cons/moveable.cc: Likewise.
2453         * testsuite/forward_list/debug/clear.cc: Likewise.
2454         * testsuite/forward_list/debug/construct4_neg.cc: Likewise.
2455         * testsuite/forward_list/debug/erase_after1_neg.cc: Likewise.
2456         * testsuite/forward_list/debug/move_assign_neg.cc: Likewise.
2457         * testsuite/forward_list/debug/move_constructor.cc: Likewise.
2458         * testsuite/forward_list/debug/move_neg.cc: Likewise.
2459         * testsuite/forward_list/debug/splice_after.cc: Likewise.
2460         * testsuite/forward_list/debug/swap.cc: Likewise.
2461         * testsuite/forward_list/modifiers/1.cc: Likewise.
2462         * testsuite/forward_list/modifiers/2.cc: Likewise.
2463         * testsuite/forward_list/modifiers/3.cc: Likewise.
2464         * testsuite/forward_list/modifiers/4.cc: Likewise.
2465         * testsuite/forward_list/modifiers/5.cc: Likewise.
2466         * testsuite/forward_list/modifiers/6.cc: Likewise.
2467         * testsuite/forward_list/operations/1.cc: Likewise.
2468         * testsuite/forward_list/operations/2.cc: Likewise.
2469         * testsuite/forward_list/operations/3.cc: Likewise.
2470         * testsuite/forward_list/operations/4.cc: Likewise.
2471         * testsuite/forward_list/operations/5.cc: Likewise.
2472         * testsuite/forward_list/operations/6.cc: Likewise.
2473         * testsuite/forward_list/operations/7.cc: Likewise.
2474         * testsuite/forward_list/operations/remove_freed.cc: Likewise.
2475         * testsuite/list/61347.cc: Likewise.
2476         * testsuite/list/allocator/copy.cc: Likewise.
2477         * testsuite/list/allocator/copy_assign.cc: Likewise.
2478         * testsuite/list/allocator/minimal.cc: Likewise.
2479         * testsuite/list/allocator/move.cc: Likewise.
2480         * testsuite/list/allocator/move_assign.cc: Likewise.
2481         * testsuite/list/allocator/swap.cc: Likewise.
2482         * testsuite/list/capacity/1.h: Likewise.
2483         * testsuite/list/capacity/29134.cc: Likewise.
2484         * testsuite/list/capacity/resize_size.cc: Likewise.
2485         * testsuite/list/cons/1.h: Likewise.
2486         * testsuite/list/cons/2.h: Likewise.
2487         * testsuite/list/cons/3.h: Likewise.
2488         * testsuite/list/cons/4.h: Likewise.
2489         * testsuite/list/cons/5.h: Likewise.
2490         * testsuite/list/cons/6.h: Likewise.
2491         * testsuite/list/cons/7.h: Likewise.
2492         * testsuite/list/cons/8.h: Likewise.
2493         * testsuite/list/cons/9.h: Likewise.
2494         * testsuite/list/cons/cons_size.cc: Likewise.
2495         * testsuite/list/cons/moveable.h: Likewise.
2496         * testsuite/list/debug/invalidation/1.cc: Likewise.
2497         * testsuite/list/debug/invalidation/2.cc: Likewise.
2498         * testsuite/list/debug/invalidation/3.cc: Likewise.
2499         * testsuite/list/debug/invalidation/4.cc: Likewise.
2500         * testsuite/list/modifiers/1.h: Likewise.
2501         * testsuite/list/modifiers/2.h: Likewise.
2502         * testsuite/list/modifiers/3.h: Likewise.
2503         * testsuite/list/modifiers/insert/25288.h: Likewise.
2504         * testsuite/list/modifiers/swap/1.h: Likewise.
2505         * testsuite/list/modifiers/swap/2.h: Likewise.
2506         * testsuite/list/modifiers/swap/3.h: Likewise.
2507         * testsuite/list/operations/1.h: Likewise.
2508         * testsuite/list/operations/2.h: Likewise.
2509         * testsuite/list/operations/3.h: Likewise.
2510         * testsuite/list/operations/4.h: Likewise.
2511         * testsuite/list/operations/42352.cc: Likewise.
2512         * testsuite/map/allocator/copy.cc: Likewise.
2513         * testsuite/map/allocator/copy_assign.cc: Likewise.
2514         * testsuite/map/allocator/init-list.cc: Likewise.
2515         * testsuite/map/allocator/minimal.cc: Likewise.
2516         * testsuite/map/allocator/move.cc: Likewise.
2517         * testsuite/map/allocator/move_assign.cc: Likewise.
2518         * testsuite/map/allocator/swap.cc: Likewise.
2519         * testsuite/map/capacity/29134.cc: Likewise.
2520         * testsuite/map/cons/moveable.cc: Likewise.
2521         * testsuite/map/debug/construct5_neg.cc: Likewise.
2522         * testsuite/map/debug/move_assign_neg.cc: Likewise.
2523         * testsuite/map/debug/move_neg.cc: Likewise.
2524         * testsuite/map/element_access/1.cc: Likewise.
2525         * testsuite/map/element_access/2.cc: Likewise.
2526         * testsuite/map/element_access/39901.cc: Likewise.
2527         * testsuite/map/init-list.cc: Likewise.
2528         * testsuite/map/modifiers/dr130.cc: Likewise.
2529         * testsuite/map/modifiers/emplace/1.cc: Likewise.
2530         * testsuite/map/modifiers/extract.cc: Likewise.
2531         * testsuite/map/modifiers/insert/1.cc: Likewise.
2532         * testsuite/map/modifiers/insert/16813.cc: Likewise.
2533         * testsuite/map/modifiers/insert/2.cc: Likewise.
2534         * testsuite/map/modifiers/insert/3.cc: Likewise.
2535         * testsuite/map/modifiers/insert/4.cc: Likewise.
2536         * testsuite/map/modifiers/insert/5.cc: Likewise.
2537         * testsuite/map/modifiers/insert_or_assign/1.cc: Likewise.
2538         * testsuite/map/modifiers/merge.cc: Likewise.
2539         * testsuite/map/modifiers/swap/1.cc: Likewise.
2540         * testsuite/map/modifiers/swap/2.cc: Likewise.
2541         * testsuite/map/modifiers/swap/3.cc: Likewise.
2542         * testsuite/map/modifiers/try_emplace/1.cc: Likewise.
2543         * testsuite/map/operations/1.cc: Likewise.
2544         * testsuite/map/operations/count.cc: Likewise.
2545         * testsuite/map/operators/1_neg.cc: Likewise.
2546         * testsuite/map/operators/2.cc: Likewise.
2547         * testsuite/multimap/allocator/copy.cc: Likewise.
2548         * testsuite/multimap/allocator/copy_assign.cc: Likewise.
2549         * testsuite/multimap/allocator/init-list.cc: Likewise.
2550         * testsuite/multimap/allocator/minimal.cc: Likewise.
2551         * testsuite/multimap/allocator/move.cc: Likewise.
2552         * testsuite/multimap/allocator/move_assign.cc: Likewise.
2553         * testsuite/multimap/allocator/swap.cc: Likewise.
2554         * testsuite/multimap/capacity/29134.cc: Likewise.
2555         * testsuite/multimap/cons/moveable.cc: Likewise.
2556         * testsuite/multimap/debug/construct5_neg.cc: Likewise.
2557         * testsuite/multimap/debug/move_assign_neg.cc: Likewise.
2558         * testsuite/multimap/debug/move_neg.cc: Likewise.
2559         * testsuite/multimap/init-list.cc: Likewise.
2560         * testsuite/multimap/modifiers/dr130.cc: Likewise.
2561         * testsuite/multimap/modifiers/emplace/1.cc: Likewise.
2562         * testsuite/multimap/modifiers/extract.cc: Likewise.
2563         * testsuite/multimap/modifiers/insert/1.cc: Likewise.
2564         * testsuite/multimap/modifiers/insert/2.cc: Likewise.
2565         * testsuite/multimap/modifiers/insert/22102.cc: Likewise.
2566         * testsuite/multimap/modifiers/insert/3.cc: Likewise.
2567         * testsuite/multimap/modifiers/insert/4.cc: Likewise.
2568         * testsuite/multimap/modifiers/merge.cc: Likewise.
2569         * testsuite/multimap/modifiers/swap/1.cc: Likewise.
2570         * testsuite/multimap/modifiers/swap/2.cc: Likewise.
2571         * testsuite/multimap/modifiers/swap/3.cc: Likewise.
2572         * testsuite/multimap/operations/1.cc: Likewise.
2573         * testsuite/multimap/operations/count.cc: Likewise.
2574         * testsuite/multiset/allocator/copy.cc: Likewise.
2575         * testsuite/multiset/allocator/copy_assign.cc: Likewise.
2576         * testsuite/multiset/allocator/init-list.cc: Likewise.
2577         * testsuite/multiset/allocator/minimal.cc: Likewise.
2578         * testsuite/multiset/allocator/move.cc: Likewise.
2579         * testsuite/multiset/allocator/move_assign.cc: Likewise.
2580         * testsuite/multiset/allocator/swap.cc: Likewise.
2581         * testsuite/multiset/capacity/29134.cc: Likewise.
2582         * testsuite/multiset/cons/moveable.cc: Likewise.
2583         * testsuite/multiset/debug/construct5_neg.cc: Likewise.
2584         * testsuite/multiset/debug/invalidation/2.cc: Likewise.
2585         * testsuite/multiset/debug/move_assign_neg.cc: Likewise.
2586         * testsuite/multiset/debug/move_neg.cc: Likewise.
2587         * testsuite/multiset/init-list.cc: Likewise.
2588         * testsuite/multiset/modifiers/dr130.cc: Likewise.
2589         * testsuite/multiset/modifiers/emplace/1.cc: Likewise.
2590         * testsuite/multiset/modifiers/extract.cc: Likewise.
2591         * testsuite/multiset/modifiers/insert/1.cc: Likewise.
2592         * testsuite/multiset/modifiers/insert/2.cc: Likewise.
2593         * testsuite/multiset/modifiers/insert/22102.cc: Likewise.
2594         * testsuite/multiset/modifiers/insert/3.cc: Likewise.
2595         * testsuite/multiset/modifiers/insert/4.cc: Likewise.
2596         * testsuite/multiset/modifiers/merge.cc: Likewise.
2597         * testsuite/multiset/modifiers/swap/1.cc: Likewise.
2598         * testsuite/multiset/modifiers/swap/2.cc: Likewise.
2599         * testsuite/multiset/modifiers/swap/3.cc: Likewise.
2600         * testsuite/multiset/operations/1.cc: Likewise.
2601         * testsuite/multiset/operations/count.cc: Likewise.
2602         * testsuite/priority_queue/moveable.cc: Likewise.
2603         * testsuite/queue/moveable.cc: Likewise.
2604         * testsuite/set/allocator/copy.cc: Likewise.
2605         * testsuite/set/allocator/copy_assign.cc: Likewise.
2606         * testsuite/set/allocator/init-list.cc: Likewise.
2607         * testsuite/set/allocator/minimal.cc: Likewise.
2608         * testsuite/set/allocator/move.cc: Likewise.
2609         * testsuite/set/allocator/move_assign.cc: Likewise.
2610         * testsuite/set/allocator/swap.cc: Likewise.
2611         * testsuite/set/capacity/29134.cc: Likewise.
2612         * testsuite/set/cons/moveable.cc: Likewise.
2613         * testsuite/set/debug/construct5_neg.cc: Likewise.
2614         * testsuite/set/debug/invalidation/2.cc: Likewise.
2615         * testsuite/set/debug/move_assign_neg.cc: Likewise.
2616         * testsuite/set/debug/move_neg.cc: Likewise.
2617         * testsuite/set/init-list.cc: Likewise.
2618         * testsuite/set/modifiers/17948.cc: Likewise.
2619         * testsuite/set/modifiers/dr130.cc: Likewise.
2620         * testsuite/set/modifiers/emplace/1.cc: Likewise.
2621         * testsuite/set/modifiers/extract.cc: Likewise.
2622         * testsuite/set/modifiers/insert/1.cc: Likewise.
2623         * testsuite/set/modifiers/insert/2.cc: Likewise.
2624         * testsuite/set/modifiers/insert/3.cc: Likewise.
2625         * testsuite/set/modifiers/merge.cc: Likewise.
2626         * testsuite/set/modifiers/swap/1.cc: Likewise.
2627         * testsuite/set/modifiers/swap/2.cc: Likewise.
2628         * testsuite/set/modifiers/swap/3.cc: Likewise.
2629         * testsuite/set/operations/1.cc: Likewise.
2630         * testsuite/set/operations/count.cc: Likewise.
2631         * testsuite/set/operators/1_neg.cc: Likewise.
2632         * testsuite/unordered_map/allocator/copy.cc: Likewise.
2633         * testsuite/unordered_map/allocator/copy_assign.cc: Likewise.
2634         * testsuite/unordered_map/allocator/minimal.cc: Likewise.
2635         * testsuite/unordered_map/allocator/move.cc: Likewise.
2636         * testsuite/unordered_map/allocator/move_assign.cc: Likewise.
2637         * testsuite/unordered_map/allocator/swap.cc: Likewise.
2638         * testsuite/unordered_map/cons/moveable.cc: Likewise.
2639         * testsuite/unordered_map/debug/construct5_neg.cc: Likewise.
2640         * testsuite/unordered_map/debug/move_assign_neg.cc: Likewise.
2641         * testsuite/unordered_map/debug/move_neg.cc: Likewise.
2642         * testsuite/unordered_map/dr761.cc: Likewise.
2643         * testsuite/unordered_map/erase/1.cc: Likewise.
2644         * testsuite/unordered_map/erase/24061-map.cc: Likewise.
2645         * testsuite/unordered_map/erase/54276.cc: Likewise.
2646         * testsuite/unordered_map/hash_policy/dr1189.cc: Likewise.
2647         * testsuite/unordered_map/init-list.cc: Likewise.
2648         * testsuite/unordered_map/insert/24061-map.cc: Likewise.
2649         * testsuite/unordered_map/insert/57619.C: Likewise.
2650         * testsuite/unordered_map/insert/array_syntax.cc: Likewise.
2651         * testsuite/unordered_map/insert/array_syntax_move.cc: Likewise.
2652         * testsuite/unordered_map/insert/map_range.cc: Likewise.
2653         * testsuite/unordered_map/insert/map_single.cc: Likewise.
2654         * testsuite/unordered_map/insert/map_single_move-1.cc: Likewise.
2655         * testsuite/unordered_map/insert/map_single_move-2.cc: Likewise.
2656         * testsuite/unordered_map/modifiers/61667.cc: Likewise.
2657         * testsuite/unordered_map/modifiers/emplace.cc: Likewise.
2658         * testsuite/unordered_map/modifiers/extract.cc: Likewise.
2659         * testsuite/unordered_map/modifiers/insert_or_assign.cc: Likewise.
2660         * testsuite/unordered_map/modifiers/merge.cc: Likewise.
2661         * testsuite/unordered_map/modifiers/reserve.cc: Likewise.
2662         * testsuite/unordered_map/modifiers/try_emplace.cc: Likewise.
2663         * testsuite/unordered_map/operations/count.cc: Likewise.
2664         * testsuite/unordered_map/operators/1.cc: Likewise.
2665         * testsuite/unordered_map/operators/2.cc: Likewise.
2666         * testsuite/unordered_multimap/allocator/copy.cc: Likewise.
2667         * testsuite/unordered_multimap/allocator/copy_assign.cc: Likewise.
2668         * testsuite/unordered_multimap/allocator/minimal.cc: Likewise.
2669         * testsuite/unordered_multimap/allocator/move.cc: Likewise.
2670         * testsuite/unordered_multimap/allocator/move_assign.cc: Likewise.
2671         * testsuite/unordered_multimap/allocator/swap.cc: Likewise.
2672         * testsuite/unordered_multimap/cons/moveable.cc: Likewise.
2673         * testsuite/unordered_multimap/debug/construct5_neg.cc: Likewise.
2674         * testsuite/unordered_multimap/debug/move_assign_neg.cc: Likewise.
2675         * testsuite/unordered_multimap/debug/move_neg.cc: Likewise.
2676         * testsuite/unordered_multimap/erase/1.cc: Likewise.
2677         * testsuite/unordered_multimap/erase/2.cc: Likewise.
2678         * testsuite/unordered_multimap/erase/24061-multimap.cc: Likewise.
2679         * testsuite/unordered_multimap/erase/51845-multimap.cc: Likewise.
2680         * testsuite/unordered_multimap/erase/54276.cc: Likewise.
2681         * testsuite/unordered_multimap/hash_policy/dr1189.cc: Likewise.
2682         * testsuite/unordered_multimap/init-list.cc: Likewise.
2683         * testsuite/unordered_multimap/insert/24061-multimap.cc: Likewise.
2684         * testsuite/unordered_multimap/insert/51866.cc: Likewise.
2685         * testsuite/unordered_multimap/insert/52476.cc: Likewise.
2686         * testsuite/unordered_multimap/insert/53115.cc: Likewise.
2687         * testsuite/unordered_multimap/insert/57619.C: Likewise.
2688         * testsuite/unordered_multimap/insert/hint.cc: Likewise.
2689         * testsuite/unordered_multimap/insert/multimap_range.cc: Likewise.
2690         * testsuite/unordered_multimap/insert/multimap_single.cc: Likewise.
2691         * testsuite/unordered_multimap/insert/multimap_single_move-1.cc:
2692         Likewise.
2693         * testsuite/unordered_multimap/insert/multimap_single_move-2.cc:
2694         Likewise.
2695         * testsuite/unordered_multimap/modifiers/emplace.cc: Likewise.
2696         * testsuite/unordered_multimap/modifiers/extract.cc: Likewise.
2697         * testsuite/unordered_multimap/modifiers/merge.cc: Likewise.
2698         * testsuite/unordered_multimap/modifiers/reserve.cc: Likewise.
2699         * testsuite/unordered_multimap/operations/count.cc: Likewise.
2700         * testsuite/unordered_multimap/operators/1.cc: Likewise.
2701         * testsuite/unordered_multimap/operators/2.cc: Likewise.
2702         * testsuite/unordered_multiset/allocator/copy.cc: Likewise.
2703         * testsuite/unordered_multiset/allocator/copy_assign.cc: Likewise.
2704         * testsuite/unordered_multiset/allocator/minimal.cc: Likewise.
2705         * testsuite/unordered_multiset/allocator/move.cc: Likewise.
2706         * testsuite/unordered_multiset/allocator/move_assign.cc: Likewise.
2707         * testsuite/unordered_multiset/allocator/swap.cc: Likewise.
2708         * testsuite/unordered_multiset/cons/copy.cc: Likewise.
2709         * testsuite/unordered_multiset/cons/moveable.cc: Likewise.
2710         * testsuite/unordered_multiset/debug/construct5_neg.cc: Likewise.
2711         * testsuite/unordered_multiset/debug/move_assign_neg.cc: Likewise.
2712         * testsuite/unordered_multiset/debug/move_neg.cc: Likewise.
2713         * testsuite/unordered_multiset/erase/1.cc: Likewise.
2714         * testsuite/unordered_multiset/erase/2.cc: Likewise.
2715         * testsuite/unordered_multiset/erase/24061-multiset.cc: Likewise.
2716         * testsuite/unordered_multiset/hash_policy/dr1189.cc: Likewise.
2717         * testsuite/unordered_multiset/init-list.cc: Likewise.
2718         * testsuite/unordered_multiset/insert/24061-multiset.cc: Likewise.
2719         * testsuite/unordered_multiset/insert/51866.cc: Likewise.
2720         * testsuite/unordered_multiset/insert/52476.cc: Likewise.
2721         * testsuite/unordered_multiset/insert/53115.cc: Likewise.
2722         * testsuite/unordered_multiset/insert/hash_policy.cc: Likewise.
2723         * testsuite/unordered_multiset/insert/multiset_range.cc: Likewise.
2724         * testsuite/unordered_multiset/insert/multiset_single.cc: Likewise.
2725         * testsuite/unordered_multiset/insert/multiset_single_move.cc: Likewise.
2726         * testsuite/unordered_multiset/modifiers/emplace.cc: Likewise.
2727         * testsuite/unordered_multiset/modifiers/extract.cc: Likewise.
2728         * testsuite/unordered_multiset/modifiers/merge.cc: Likewise.
2729         * testsuite/unordered_multiset/modifiers/reserve.cc: Likewise.
2730         * testsuite/unordered_multiset/operations/count.cc: Likewise.
2731         * testsuite/unordered_multiset/operators/1.cc: Likewise.
2732         * testsuite/unordered_set/allocator/copy.cc: Likewise.
2733         * testsuite/unordered_set/allocator/copy_assign.cc: Likewise.
2734         * testsuite/unordered_set/allocator/ext_ptr.cc: Likewise.
2735         * testsuite/unordered_set/allocator/minimal.cc: Likewise.
2736         * testsuite/unordered_set/allocator/move.cc: Likewise.
2737         * testsuite/unordered_set/allocator/move_assign.cc: Likewise.
2738         * testsuite/unordered_set/allocator/swap.cc: Likewise.
2739         * testsuite/unordered_set/buckets/swap.cc: Likewise.
2740         * testsuite/unordered_set/cons/moveable.cc: Likewise.
2741         * testsuite/unordered_set/debug/construct5_neg.cc: Likewise.
2742         * testsuite/unordered_set/debug/debug_functions.cc: Likewise.
2743         * testsuite/unordered_set/debug/move_assign_neg.cc: Likewise.
2744         * testsuite/unordered_set/debug/move_neg.cc: Likewise.
2745         * testsuite/unordered_set/erase/1.cc: Likewise.
2746         * testsuite/unordered_set/erase/24061-set.cc: Likewise.
2747         * testsuite/unordered_set/hash_policy/26132.cc: Likewise.
2748         * testsuite/unordered_set/hash_policy/71181.cc: Likewise.
2749         * testsuite/unordered_set/hash_policy/dr1189.cc: Likewise.
2750         * testsuite/unordered_set/hash_policy/load_factor.cc: Likewise.
2751         * testsuite/unordered_set/hash_policy/power2_rehash.cc: Likewise.
2752         * testsuite/unordered_set/hash_policy/prime_rehash.cc: Likewise.
2753         * testsuite/unordered_set/hash_policy/rehash.cc: Likewise.
2754         * testsuite/unordered_set/init-list.cc: Likewise.
2755         * testsuite/unordered_set/insert/24061-set.cc: Likewise.
2756         * testsuite/unordered_set/insert/hash_policy.cc: Likewise.
2757         * testsuite/unordered_set/insert/move_range.cc: Likewise.
2758         * testsuite/unordered_set/insert/set_range.cc: Likewise.
2759         * testsuite/unordered_set/insert/set_single.cc: Likewise.
2760         * testsuite/unordered_set/insert/set_single_move.cc: Likewise.
2761         * testsuite/unordered_set/max_load_factor/robustness.cc: Likewise.
2762         * testsuite/unordered_set/modifiers/emplace.cc: Likewise.
2763         * testsuite/unordered_set/modifiers/extract.cc: Likewise.
2764         * testsuite/unordered_set/modifiers/merge.cc: Likewise.
2765         * testsuite/unordered_set/modifiers/reserve.cc: Likewise.
2766         * testsuite/unordered_set/modifiers/swap.cc: Likewise.
2767         * testsuite/unordered_set/operations/count.cc: Likewise.
2768         * testsuite/unordered_set/operators/1.cc: Likewise.
2769         * testsuite/vector/allocator/copy.cc: Likewise.
2770         * testsuite/vector/allocator/copy_assign.cc: Likewise.
2771         * testsuite/vector/allocator/ext_ptr.cc: Likewise.
2772         * testsuite/vector/allocator/minimal.cc: Likewise.
2773         * testsuite/vector/allocator/move.cc: Likewise.
2774         * testsuite/vector/allocator/move_assign.cc: Likewise.
2775         * testsuite/vector/allocator/swap.cc: Likewise.
2776         * testsuite/vector/bool/6886.cc: Likewise.
2777         * testsuite/vector/bool/72847.cc: Likewise.
2778         * testsuite/vector/bool/allocator/copy.cc: Likewise.
2779         * testsuite/vector/bool/allocator/copy_assign.cc: Likewise.
2780         * testsuite/vector/bool/allocator/ext_ptr.cc: Likewise.
2781         * testsuite/vector/bool/allocator/move.cc: Likewise.
2782         * testsuite/vector/bool/allocator/move_assign.cc: Likewise.
2783         * testsuite/vector/bool/allocator/swap.cc: Likewise.
2784         * testsuite/vector/bool/capacity/1.cc: Likewise.
2785         * testsuite/vector/bool/capacity/29134.cc: Likewise.
2786         * testsuite/vector/bool/capacity/shrink_to_fit.cc: Likewise.
2787         * testsuite/vector/bool/cons/1.cc: Likewise.
2788         * testsuite/vector/bool/cons/2.cc: Likewise.
2789         * testsuite/vector/bool/modifiers/erase/1.cc: Likewise.
2790         * testsuite/vector/bool/modifiers/insert/1.cc: Likewise.
2791         * testsuite/vector/bool/modifiers/insert/31370.cc: Likewise.
2792         * testsuite/vector/bool/modifiers/swap/1.cc: Likewise.
2793         * testsuite/vector/bool/modifiers/swap/2.cc: Likewise.
2794         * testsuite/vector/bool/swap.cc: Likewise.
2795         * testsuite/vector/capacity/1.cc: Likewise.
2796         * testsuite/vector/capacity/2.cc: Likewise.
2797         * testsuite/vector/capacity/29134-2.cc: Likewise.
2798         * testsuite/vector/capacity/29134.cc: Likewise.
2799         * testsuite/vector/capacity/44190.cc: Likewise.
2800         * testsuite/vector/capacity/8230.cc: Likewise.
2801         * testsuite/vector/capacity/reserve/moveable.cc: Likewise.
2802         * testsuite/vector/capacity/reserve/moveable2.cc: Likewise.
2803         * testsuite/vector/capacity/resize/1.cc: Likewise.
2804         * testsuite/vector/capacity/resize/moveable.cc: Likewise.
2805         * testsuite/vector/capacity/resize/moveable2.cc: Likewise.
2806         * testsuite/vector/capacity/resize/resize_size.cc: Likewise.
2807         * testsuite/vector/capacity/shrink_to_fit.cc: Likewise.
2808         * testsuite/vector/capacity/shrink_to_fit2.cc: Likewise.
2809         * testsuite/vector/cons/3.cc: Likewise.
2810         * testsuite/vector/cons/4.cc: Likewise.
2811         * testsuite/vector/cons/cons_size.cc: Likewise.
2812         * testsuite/vector/cons/moveable.cc: Likewise.
2813         * testsuite/vector/data_access/1.cc: Likewise.
2814         * testsuite/vector/debug/debug_functions.cc: Likewise.
2815         * testsuite/vector/debug/move_assign_neg.cc: Likewise.
2816         * testsuite/vector/debug/move_neg.cc: Likewise.
2817         * testsuite/vector/debug/multithreaded_swap.cc: Likewise.
2818         * testsuite/vector/element_access/1.cc: Likewise.
2819         * testsuite/vector/ext_pointer/citerators.cc: Likewise.
2820         * testsuite/vector/ext_pointer/data_access.cc: Likewise.
2821         * testsuite/vector/ext_pointer/modifiers/element.cc: Likewise.
2822         * testsuite/vector/ext_pointer/modifiers/erase.cc: Likewise.
2823         * testsuite/vector/ext_pointer/modifiers/insert.cc: Likewise.
2824         * testsuite/vector/ext_pointer/resize.cc: Likewise.
2825         * testsuite/vector/modifiers/1.cc: Likewise.
2826         * testsuite/vector/modifiers/2.cc: Likewise.
2827         * testsuite/vector/modifiers/emplace/self_emplace.cc: Likewise.
2828         * testsuite/vector/modifiers/erase/1.cc: Likewise.
2829         * testsuite/vector/modifiers/erase/moveable.cc: Likewise.
2830         * testsuite/vector/modifiers/insert/1.cc: Likewise.
2831         * testsuite/vector/modifiers/insert/self_insert.cc: Likewise.
2832         * testsuite/vector/modifiers/moveable.cc: Likewise.
2833         * testsuite/vector/modifiers/moveable2.cc: Likewise.
2834         * testsuite/vector/modifiers/push_back/49836.cc: Likewise.
2835         * testsuite/vector/modifiers/swap/1.cc: Likewise.
2836         * testsuite/vector/modifiers/swap/2.cc: Likewise.
2837         * testsuite/vector/modifiers/swap/3.cc: Likewise.
2838         * testsuite/vector/zero_sized_allocations.cc: Likewise.
2839
2840 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
2841
2842         PR libstdc++/77998
2843         * include/std/future (__future_base::_Deferred_state)
2844         (__future_base::_Async_state_impl): Use decltype to deduce return
2845         type, instead of _Invoker::result_type.
2846         * include/std/thread (thread::_Invoker::operator()): Likewise.
2847         (thread::_Invoker::result_type): Remove.
2848
2849         PR libstdc++/77987
2850         * include/bits/unique_ptr.h (unique_ptr<T[], D>::reset<U>(U)): Copy
2851         value to pointer of the correct type to swap, to support conversions
2852         allowed by LWG 2118 / N4089.
2853         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for
2854         incompatible deleters from ...
2855         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here.
2856         * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for
2857         incompatible pointers to ...
2858         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move
2859         destructor definition to base class. Test for invalid derived-to-base
2860         conversion.
2861
2862         * doc/xml/manual/status_cxx2017.xml: Update status.
2863         * doc/html/*: Regenerate.
2864         * include/bits/deque.tcc (deque::emplace_front, deque::emplace_back):
2865         Return a reference in C++17 mode.
2866         * include/bits/forward_list.h (forward_list::emplace_front): Likewise.
2867         * include/bits/stl_bvector.h (vector<bool>::emplace_back): Likewise.
2868         * include/bits/stl_deque.h (deque::emplace_front, deque::emplace_back):
2869         Likewise.
2870         * include/bits/stl_list.h (list::emplace_front, list::emplace_back):
2871         Likewise.
2872         * include/bits/stl_queue.h (queue::emplace): Likewise.
2873         * include/bits/stl_stack.h (stack::emplace): Likewise.
2874         * include/bits/stl_vector.h (vector::emplace_back): Likewise.
2875         * include/bits/vector.tcc (vector::emplace_back): Likewise.
2876         * include/debug/deque (__gnu_debug::deque::emplace_front)
2877         (__gnu_debug::deque::emplace_back): Likewise.
2878         * include/debug/vector (__gnu_debug::vector::emplace_back): Likewise.
2879         * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
2880         New.
2881         * testsuite/23_containers/forward_list/modifiers/
2882         emplace_cxx17_return.cc: New.
2883         * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: New.
2884         * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: New.
2885         * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: New.
2886         * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: New.
2887         * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
2888         New.
2889
2890 2016-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
2891
2892         * testsuite/22_locale/classification/isblank.cc: Remove 'test'
2893         variables.
2894         * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
2895         * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Likewise.
2896         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
2897         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
2898         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise.
2899         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Likewise.
2900         * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
2901         * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Likewise.
2902         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
2903         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
2904         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise.
2905         * testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
2906         * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Likewise.
2907         * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
2908         * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise.
2909         * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise.
2910         * testsuite/22_locale/codecvt/in/wchar_t/5.cc: Likewise.
2911         * testsuite/22_locale/codecvt/in/wchar_t/6.cc: Likewise.
2912         * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise.
2913         * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
2914         * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
2915         * testsuite/22_locale/codecvt/length/char/1.cc: Likewise.
2916         * testsuite/22_locale/codecvt/length/char/2.cc: Likewise.
2917         * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Likewise.
2918         * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
2919         * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
2920         * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
2921         * testsuite/22_locale/codecvt/length/wchar_t/5.cc: Likewise.
2922         * testsuite/22_locale/codecvt/length/wchar_t/6.cc: Likewise.
2923         * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise.
2924         * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
2925         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Likewise.
2926         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
2927         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
2928         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise.
2929         * testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
2930         * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Likewise.
2931         * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
2932         * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise.
2933         * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
2934         * testsuite/22_locale/codecvt/out/wchar_t/5.cc: Likewise.
2935         * testsuite/22_locale/codecvt/out/wchar_t/6.cc: Likewise.
2936         * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
2937         * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
2938         * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Likewise.
2939         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
2940         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
2941         * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
2942         * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
2943         * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
2944         * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
2945         * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
2946         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
2947         * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
2948         * testsuite/22_locale/collate/hash/char/1.cc: Likewise.
2949         * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
2950         * testsuite/22_locale/collate/hash/wchar_t/1.cc: Likewise.
2951         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
2952         * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
2953         * testsuite/22_locale/collate/transform/char/28277.cc: Likewise.
2954         * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
2955         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
2956         * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise.
2957         * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
2958         * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
2959         * testsuite/22_locale/ctype/cons/char/1.cc: Likewise.
2960         * testsuite/22_locale/ctype/is/char/1.cc: Likewise.
2961         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
2962         * testsuite/22_locale/ctype/is/char/3.cc: Likewise.
2963         * testsuite/22_locale/ctype/is/char/9858.cc: Likewise.
2964         * testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
2965         * testsuite/22_locale/ctype/is/wchar_t/11740.cc: Likewise.
2966         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
2967         * testsuite/22_locale/ctype/narrow/char/1.cc: Likewise.
2968         * testsuite/22_locale/ctype/narrow/char/19955.cc: Likewise.
2969         * testsuite/22_locale/ctype/narrow/char/2.cc: Likewise.
2970         * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Likewise.
2971         * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Likewise.
2972         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise.
2973         * testsuite/22_locale/ctype/scan/char/1.cc: Likewise.
2974         * testsuite/22_locale/ctype/scan/wchar_t/1.cc: Likewise.
2975         * testsuite/22_locale/ctype/to/char/1.cc: Likewise.
2976         * testsuite/22_locale/ctype/to/wchar_t/1.cc: Likewise.
2977         * testsuite/22_locale/ctype/widen/char/1.cc: Likewise.
2978         * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Likewise.
2979         * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
2980         * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise.
2981         * testsuite/22_locale/ctype_base/11844.cc: Likewise.
2982         * testsuite/22_locale/facet/1.cc: Likewise.
2983         * testsuite/22_locale/facet/2.cc: Likewise.
2984         * testsuite/22_locale/facet/25421.cc: Likewise.
2985         * testsuite/22_locale/global_templates/1.cc: Likewise.
2986         * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
2987         Likewise.
2988         * testsuite/22_locale/global_templates/user_facet_hierarchies.cc:
2989         Likewise.
2990         * testsuite/22_locale/locale/13630.cc: Likewise.
2991         * testsuite/22_locale/locale/cons/12352.cc: Likewise.
2992         * testsuite/22_locale/locale/cons/12438.cc: Likewise.
2993         * testsuite/22_locale/locale/cons/2.cc: Likewise.
2994         * testsuite/22_locale/locale/cons/29217.cc: Likewise.
2995         * testsuite/22_locale/locale/cons/38365.cc: Likewise.
2996         * testsuite/22_locale/locale/cons/38368.cc: Likewise.
2997         * testsuite/22_locale/locale/cons/4.cc: Likewise.
2998         * testsuite/22_locale/locale/cons/40184.cc: Likewise.
2999         * testsuite/22_locale/locale/cons/5.cc: Likewise.
3000         * testsuite/22_locale/locale/cons/6.cc: Likewise.
3001         * testsuite/22_locale/locale/cons/7.cc: Likewise.
3002         * testsuite/22_locale/locale/cons/7222-c.cc: Likewise.
3003         * testsuite/22_locale/locale/cons/7222-env.cc: Likewise.
3004         * testsuite/22_locale/locale/cons/8.cc: Likewise.
3005         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
3006         * testsuite/22_locale/locale/global_locale_objects/1.cc: Likewise.
3007         * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
3008         * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
3009         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
3010         * testsuite/22_locale/locale/operations/1.cc: Likewise.
3011         * testsuite/22_locale/locale/operations/2.cc: Likewise.
3012         * testsuite/22_locale/messages/13631.cc: Likewise.
3013         * testsuite/22_locale/messages/members/char/1.cc: Likewise.
3014         * testsuite/22_locale/messages/members/char/2.cc: Likewise.
3015         * testsuite/22_locale/messages/members/char/3.cc: Likewise.
3016         * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
3017         * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
3018         * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
3019         * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
3020         * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
3021         * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
3022         * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
3023         * testsuite/22_locale/money_get/get/char/14.cc: Likewise.
3024         * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
3025         * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
3026         * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
3027         * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
3028         * testsuite/22_locale/money_get/get/char/19.cc: Likewise.
3029         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
3030         * testsuite/22_locale/money_get/get/char/22131.cc: Likewise.
3031         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
3032         * testsuite/22_locale/money_get/get/char/38399.cc: Likewise.
3033         * testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
3034         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
3035         * testsuite/22_locale/money_get/get/char/5.cc: Likewise.
3036         * testsuite/22_locale/money_get/get/char/6.cc: Likewise.
3037         * testsuite/22_locale/money_get/get/char/7.cc: Likewise.
3038         * testsuite/22_locale/money_get/get/char/8.cc: Likewise.
3039         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
3040         * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
3041         * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
3042         * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
3043         * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
3044         * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
3045         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Likewise.
3046         * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
3047         * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
3048         * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
3049         * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
3050         * testsuite/22_locale/money_get/get/wchar_t/19.cc: Likewise.
3051         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
3052         * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
3053         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
3054         * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
3055         * testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
3056         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
3057         * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
3058         * testsuite/22_locale/money_get/get/wchar_t/6.cc: Likewise.
3059         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
3060         * testsuite/22_locale/money_get/get/wchar_t/8.cc: Likewise.
3061         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
3062         * testsuite/22_locale/money_put/put/char/12971.cc: Likewise.
3063         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
3064         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
3065         * testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
3066         * testsuite/22_locale/money_put/put/char/4.cc: Likewise.
3067         * testsuite/22_locale/money_put/put/char/5.cc: Likewise.
3068         * testsuite/22_locale/money_put/put/char/6.cc: Likewise.
3069         * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
3070         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
3071         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
3072         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
3073         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
3074         * testsuite/22_locale/money_put/put/wchar_t/39168.cc: Likewise.
3075         * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
3076         * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
3077         * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
3078         * testsuite/22_locale/moneypunct/40712.cc: Likewise.
3079         * testsuite/22_locale/moneypunct/members/char/1.cc: Likewise.
3080         * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
3081         * testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise.
3082         * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
3083         * testsuite/22_locale/moneypunct/requirements/false/intl.cc: Likewise.
3084         * testsuite/22_locale/moneypunct/requirements/true/intl.cc: Likewise.
3085         * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
3086         * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
3087         * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
3088         * testsuite/22_locale/num_get/get/char/11.cc: Likewise.
3089         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
3090         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
3091         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
3092         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
3093         * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
3094         * testsuite/22_locale/num_get/get/char/2.cc: Likewise.
3095         * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
3096         * testsuite/22_locale/num_get/get/char/23953.cc: Likewise.
3097         * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
3098         * testsuite/22_locale/num_get/get/char/37958.cc: Likewise.
3099         * testsuite/22_locale/num_get/get/char/39168.cc: Likewise.
3100         * testsuite/22_locale/num_get/get/char/39802.cc: Likewise.
3101         * testsuite/22_locale/num_get/get/char/4.cc: Likewise.
3102         * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
3103         * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
3104         * testsuite/22_locale/num_get/get/char/7.cc: Likewise.
3105         * testsuite/22_locale/num_get/get/char/8.cc: Likewise.
3106         * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
3107         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
3108         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
3109         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
3110         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
3111         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
3112         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
3113         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
3114         * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
3115         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Likewise.
3116         * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
3117         * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
3118         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
3119         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
3120         * testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
3121         * testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.
3122         * testsuite/22_locale/num_get/get/wchar_t/4.cc: Likewise.
3123         * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
3124         * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
3125         * testsuite/22_locale/num_get/get/wchar_t/7.cc: Likewise.
3126         * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
3127         * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
3128         * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
3129         * testsuite/22_locale/num_put/put/char/10.cc: Likewise.
3130         * testsuite/22_locale/num_put/put/char/11.cc: Likewise.
3131         * testsuite/22_locale/num_put/put/char/12.cc: Likewise.
3132         * testsuite/22_locale/num_put/put/char/14220.cc: Likewise.
3133         * testsuite/22_locale/num_put/put/char/15565.cc: Likewise.
3134         * testsuite/22_locale/num_put/put/char/2.cc: Likewise.
3135         * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
3136         * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
3137         * testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
3138         * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
3139         * testsuite/22_locale/num_put/put/char/38196.cc: Likewise.
3140         * testsuite/22_locale/num_put/put/char/38210.cc: Likewise.
3141         * testsuite/22_locale/num_put/put/char/4.cc: Likewise.
3142         * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
3143         * testsuite/22_locale/num_put/put/char/6.cc: Likewise.
3144         * testsuite/22_locale/num_put/put/char/7.cc: Likewise.
3145         * testsuite/22_locale/num_put/put/char/8.cc: Likewise.
3146         * testsuite/22_locale/num_put/put/char/9.cc: Likewise.
3147         * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
3148         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
3149         * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
3150         * testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise.
3151         * testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise.
3152         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
3153         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: Likewise.
3154         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
3155         * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
3156         * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
3157         * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
3158         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
3159         * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
3160         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
3161         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
3162         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
3163         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
3164         * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
3165         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
3166         * testsuite/22_locale/num_put/put/wchar_t/9.cc: Likewise.
3167         * testsuite/22_locale/numpunct/members/char/1.cc: Likewise.
3168         * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
3169         * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
3170         * testsuite/22_locale/numpunct/members/char/cache_1.cc: Likewise.
3171         * testsuite/22_locale/numpunct/members/char/cache_2.cc: Likewise.
3172         * testsuite/22_locale/numpunct/members/pod/1.cc: Likewise.
3173         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Likewise.
3174         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
3175         * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: Likewise.
3176         * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: Likewise.
3177         * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
3178         * testsuite/22_locale/time_get/date_order/char/1.cc: Likewise.
3179         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Likewise.
3180         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
3181         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
3182         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
3183         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
3184         * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
3185         * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
3186         * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
3187         * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
3188         * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
3189         * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
3190         * testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
3191         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
3192         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
3193         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
3194         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
3195         * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
3196         * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
3197         * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
3198         * testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
3199         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
3200         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
3201         * testsuite/22_locale/time_get/get_monthname/char/3.cc: Likewise.
3202         * testsuite/22_locale/time_get/get_monthname/char/4.cc: Likewise.
3203         * testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
3204         * testsuite/22_locale/time_get/get_monthname/char/6.cc: Likewise.
3205         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
3206         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
3207         * testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc: Likewise.
3208         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: Likewise.
3209         * testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
3210         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
3211         * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
3212         * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
3213         * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
3214         * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
3215         * testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
3216         * testsuite/22_locale/time_get/get_time/char/6.cc: Likewise.
3217         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
3218         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
3219         * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
3220         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
3221         * testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
3222         * testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise.
3223         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
3224         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
3225         * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
3226         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
3227         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
3228         * testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
3229         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
3230         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
3231         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
3232         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
3233         * testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
3234         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
3235         * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
3236         * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
3237         * testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
3238         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
3239         * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
3240         * testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise.
3241         * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
3242         * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
3243         * testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
3244         * testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
3245         * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
3246         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
3247         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
3248         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
3249         * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
3250         * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
3251         * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
3252         * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
3253         * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
3254         * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
3255         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
3256         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
3257         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
3258         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
3259         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
3260         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
3261         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
3262         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
3263         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
3264         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
3265         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
3266         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
3267         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
3268         * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
3269         * testsuite/30_threads/async/42819.cc: Likewise.
3270         * testsuite/30_threads/async/any.cc: Likewise.
3271         * testsuite/30_threads/async/async.cc: Likewise.
3272         * testsuite/30_threads/async/except.cc: Likewise.
3273         * testsuite/30_threads/async/launch.cc: Likewise.
3274         * testsuite/30_threads/async/sync.cc: Likewise.
3275         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
3276         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
3277         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
3278         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
3279         * testsuite/30_threads/condition_variable/members/3.cc: Likewise.
3280         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
3281         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
3282         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
3283         * testsuite/30_threads/future/members/45133.cc: Likewise.
3284         * testsuite/30_threads/future/members/get.cc: Likewise.
3285         * testsuite/30_threads/future/members/get2.cc: Likewise.
3286         * testsuite/30_threads/future/members/share.cc: Likewise.
3287         * testsuite/30_threads/future/members/valid.cc: Likewise.
3288         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
3289         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
3290         * testsuite/30_threads/lock/1.cc: Likewise.
3291         * testsuite/30_threads/lock/2.cc: Likewise.
3292         * testsuite/30_threads/lock/3.cc: Likewise.
3293         * testsuite/30_threads/lock/4.cc: Likewise.
3294         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
3295         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
3296         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
3297         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
3298         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
3299         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
3300         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
3301         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
3302         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
3303         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
3304         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
3305         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
3306         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
3307         * testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
3308         Likewise.
3309         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
3310         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
3311         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
3312         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
3313         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
3314         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
3315         * testsuite/30_threads/promise/cons/move.cc: Likewise.
3316         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
3317         * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
3318         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
3319         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
3320         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
3321         * testsuite/30_threads/promise/members/swap.cc: Likewise.
3322         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
3323         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
3324         Likewise.
3325         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
3326         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
3327         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
3328         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
3329         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
3330         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
3331         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
3332         Likewise.
3333         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
3334         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
3335         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
3336         Likewise.
3337         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
3338         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
3339         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
3340         Likewise.
3341         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
3342         Likewise.
3343         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
3344         Likewise.
3345         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
3346         Likewise.
3347         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
3348         Likewise.
3349         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
3350         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
3351         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
3352         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
3353         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
3354         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
3355         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
3356         * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
3357         * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
3358         * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
3359         * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
3360         * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
3361         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
3362         * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
3363         * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
3364         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
3365         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
3366         * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
3367         * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
3368         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
3369         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
3370         * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
3371         * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
3372         * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
3373         * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
3374         * testsuite/30_threads/this_thread/1.cc: Likewise.
3375         * testsuite/30_threads/this_thread/2.cc: Likewise.
3376         * testsuite/30_threads/this_thread/3.cc: Likewise.
3377         * testsuite/30_threads/this_thread/4.cc: Likewise.
3378         * testsuite/30_threads/this_thread/60421.cc: Likewise.
3379         * testsuite/30_threads/thread/cons/1.cc: Likewise.
3380         * testsuite/30_threads/thread/cons/2.cc: Likewise.
3381         * testsuite/30_threads/thread/cons/3.cc: Likewise.
3382         * testsuite/30_threads/thread/cons/4.cc: Likewise.
3383         * testsuite/30_threads/thread/cons/5.cc: Likewise.
3384         * testsuite/30_threads/thread/cons/6.cc: Likewise.
3385         * testsuite/30_threads/thread/cons/7.cc: Likewise.
3386         * testsuite/30_threads/thread/cons/8.cc: Likewise.
3387         * testsuite/30_threads/thread/cons/9.cc: Likewise.
3388         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
3389         * testsuite/30_threads/thread/members/1.cc: Likewise.
3390         * testsuite/30_threads/thread/members/2.cc: Likewise.
3391         * testsuite/30_threads/thread/members/3.cc: Likewise.
3392         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
3393         * testsuite/30_threads/thread/swap/1.cc: Likewise.
3394         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
3395         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
3396         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
3397         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
3398         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
3399         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
3400         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
3401         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
3402         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
3403         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
3404         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
3405         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
3406         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
3407         * testsuite/30_threads/try_lock/1.cc: Likewise.
3408         * testsuite/30_threads/try_lock/2.cc: Likewise.
3409         * testsuite/30_threads/try_lock/3.cc: Likewise.
3410         * testsuite/30_threads/try_lock/4.cc: Likewise.
3411         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
3412         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
3413         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
3414         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
3415         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
3416         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
3417         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
3418         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
3419         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
3420         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
3421         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
3422         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3423         not_shared.cc: Likewise.
3424         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3425         not_shared2.cc: Likewise.
3426         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3427         not_shared3.cc: Likewise.
3428         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3429         shared.cc: Likewise.
3430         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3431         still_shared.cc: Likewise.
3432         * testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc:
3433         Likewise.
3434         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
3435         Likewise.
3436         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
3437         Likewise.
3438         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
3439         auto_ptr_rvalue_neg.cc: Likewise.
3440         * testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc:
3441         Likewise.
3442         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
3443         shared_ptr_neg.cc: Likewise.
3444         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
3445         Likewise.
3446         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
3447         Likewise.
3448         * testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc: Likewise.
3449         * testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc:
3450         Likewise.
3451         * testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc:
3452         Likewise.
3453         * testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc:
3454         Likewise.
3455         * testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc: Likewise.
3456         * testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc: Likewise.
3457         * testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc: Likewise.
3458         * testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc: Likewise.
3459         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc:
3460         Likewise.
3461         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
3462         Likewise.
3463         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc:
3464         Likewise.
3465         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc:
3466         Likewise.
3467         * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
3468         Likewise.
3469         * testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc:
3470         Likewise.
3471         * testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc:
3472         Likewise.
3473         * testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc:
3474         Likewise.
3475         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3476         default_weaktoshared.cc: Likewise.
3477         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3478         mutex_weaktoshared.cc: Likewise.
3479         * testsuite/tr1/3_function_objects/bind/all_bound.cc: Likewise.
3480         * testsuite/tr1/3_function_objects/bind/mixed.cc: Likewise.
3481         * testsuite/tr1/3_function_objects/bind/nested.cc: Likewise.
3482         * testsuite/tr1/3_function_objects/bind/placeholders.cc: Likewise.
3483         * testsuite/tr1/3_function_objects/bind/ref.cc: Likewise.
3484         * testsuite/tr1/3_function_objects/function/1.cc: Likewise.
3485         * testsuite/tr1/3_function_objects/function/2.cc: Likewise.
3486         * testsuite/tr1/3_function_objects/function/3.cc: Likewise.
3487         * testsuite/tr1/3_function_objects/function/4.cc: Likewise.
3488         * testsuite/tr1/3_function_objects/function/5.cc: Likewise.
3489         * testsuite/tr1/3_function_objects/function/6.cc: Likewise.
3490         * testsuite/tr1/3_function_objects/function/7.cc: Likewise.
3491         * testsuite/tr1/3_function_objects/function/8.cc: Likewise.
3492         * testsuite/tr1/3_function_objects/function/9.cc: Likewise.
3493         * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
3494         Likewise.
3495         * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
3496         Likewise.
3497         * testsuite/tr1/3_function_objects/result_of.cc: Likewise.
3498         * testsuite/tr1/4_metaprogramming/add_const/value.cc: Likewise.
3499         * testsuite/tr1/4_metaprogramming/add_cv/value.cc: Likewise.
3500         * testsuite/tr1/4_metaprogramming/add_pointer/value.cc: Likewise.
3501         * testsuite/tr1/4_metaprogramming/add_reference/value.cc: Likewise.
3502         * testsuite/tr1/4_metaprogramming/add_volatile/value.cc: Likewise.
3503         * testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: Likewise.
3504         * testsuite/tr1/4_metaprogramming/alignment_of/value.cc: Likewise.
3505         * testsuite/tr1/4_metaprogramming/extent/value.cc: Likewise.
3506         * testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc: Likewise.
3507         * testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc:
3508         Likewise.
3509         * testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc: Likewise.
3510         * testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc: Likewise.
3511         * testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc:
3512         Likewise.
3513         * testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc: Likewise.
3514         * testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc:
3515         Likewise.
3516         * testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc:
3517         Likewise.
3518         * testsuite/tr1/4_metaprogramming/integral_constant/
3519         static_definition.cc: Likewise.
3520         * testsuite/tr1/4_metaprogramming/integral_constant/
3521         true_false_value.cc: Likewise.
3522         * testsuite/tr1/4_metaprogramming/is_abstract/value.cc: Likewise.
3523         * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc: Likewise.
3524         * testsuite/tr1/4_metaprogramming/is_array/value.cc: Likewise.
3525         * testsuite/tr1/4_metaprogramming/is_base_of/value.cc: Likewise.
3526         * testsuite/tr1/4_metaprogramming/is_class/value.cc: Likewise.
3527         * testsuite/tr1/4_metaprogramming/is_compound/value.cc: Likewise.
3528         * testsuite/tr1/4_metaprogramming/is_const/value.cc: Likewise.
3529         * testsuite/tr1/4_metaprogramming/is_convertible/value.cc: Likewise.
3530         * testsuite/tr1/4_metaprogramming/is_empty/value.cc: Likewise.
3531         * testsuite/tr1/4_metaprogramming/is_enum/24808.cc: Likewise.
3532         * testsuite/tr1/4_metaprogramming/is_enum/value.cc: Likewise.
3533         * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc: Likewise.
3534         * testsuite/tr1/4_metaprogramming/is_function/24808.cc: Likewise.
3535         * testsuite/tr1/4_metaprogramming/is_function/value.cc: Likewise.
3536         * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc: Likewise.
3537         * testsuite/tr1/4_metaprogramming/is_integral/value.cc: Likewise.
3538         * testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc:
3539         Likewise.
3540         * testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc:
3541         Likewise.
3542         * testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc: Likewise.
3543         * testsuite/tr1/4_metaprogramming/is_object/24808.cc: Likewise.
3544         * testsuite/tr1/4_metaprogramming/is_object/value.cc: Likewise.
3545         * testsuite/tr1/4_metaprogramming/is_pod/value.cc: Likewise.
3546         * testsuite/tr1/4_metaprogramming/is_pointer/value.cc: Likewise.
3547         * testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc: Likewise.
3548         * testsuite/tr1/4_metaprogramming/is_reference/value.cc: Likewise.
3549         * testsuite/tr1/4_metaprogramming/is_same/value.cc: Likewise.
3550         * testsuite/tr1/4_metaprogramming/is_scalar/value.cc: Likewise.
3551         * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise.
3552         * testsuite/tr1/4_metaprogramming/is_union/value.cc: Likewise.
3553         * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc: Likewise.
3554         * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise.
3555         * testsuite/tr1/4_metaprogramming/is_volatile/value.cc: Likewise.
3556         * testsuite/tr1/4_metaprogramming/rank/value.cc: Likewise.
3557         * testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc: Likewise.
3558         * testsuite/tr1/4_metaprogramming/remove_const/value.cc: Likewise.
3559         * testsuite/tr1/4_metaprogramming/remove_cv/value.cc: Likewise.
3560         * testsuite/tr1/4_metaprogramming/remove_extent/value.cc: Likewise.
3561         * testsuite/tr1/4_metaprogramming/remove_pointer/value.cc: Likewise.
3562         * testsuite/tr1/4_metaprogramming/remove_reference/value.cc: Likewise.
3563         * testsuite/tr1/4_metaprogramming/remove_volatile/value.cc: Likewise.
3564         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3565         equal.cc: Likewise.
3566         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3567         not_equal.cc: Likewise.
3568         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3569         serialize.cc: Likewise.
3570         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3571         cons/default.cc: Likewise.
3572         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3573         cons/gen1.cc: Likewise.
3574         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3575         operators/equal.cc: Likewise.
3576         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3577         operators/not_equal.cc: Likewise.
3578         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3579         operators/serialize.cc: Likewise.
3580         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3581         cons/default.cc: Likewise.
3582         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3583         cons/gen1.cc: Likewise.
3584         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3585         operators/equal.cc: Likewise.
3586         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3587         operators/not_equal.cc: Likewise.
3588         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3589         operators/serialize.cc: Likewise.
3590         * testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc: Likewise.
3591         * testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc: Likewise.
3592         * testsuite/tr1/5_numerical_facilities/random/mt19937.cc: Likewise.
3593         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3594         default.cc: Likewise.
3595         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3596         token.cc: Likewise.
3597         * testsuite/tr1/5_numerical_facilities/random/ranlux3.cc: Likewise.
3598         * testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc: Likewise.
3599         * testsuite/tr1/5_numerical_facilities/random/ranlux4.cc: Likewise.
3600         * testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc
3601         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3602         cons/default.cc: Likewise.
3603         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3604         cons/gen1.cc: Likewise.
3605         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3606         operators/equal.cc: Likewise.
3607         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3608         operators/not_equal.cc: Likewise.
3609         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3610         operators/serialize.cc: Likewise.
3611         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3612         cons/default.cc: Likewise.
3613         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3614         cons/gen1.cc: Likewise.
3615         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3616         operators/equal.cc: Likewise.
3617         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3618         operators/not_equal.cc: Likewise.
3619         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3620         operators/serialize.cc: Likewise.
3621         * testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
3622         Likewise.
3623         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3624         default.cc: Likewise.
3625         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3626         range.cc: Likewise.
3627         * testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/
3628         default.cc: Likewise.
3629         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3630         equal.cc: Likewise.
3631         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3632         not_equal.cc: Likewise.
3633         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3634         serialize.cc: Likewise.
3635         * testsuite/tr1/5_numerical_facilities/special_functions/
3636         08_cyl_bessel_i/check_value.cc: Likewise.
3637         * testsuite/tr1/5_numerical_facilities/special_functions/
3638         08_cyl_bessel_i/pr56216.cc: Likewise.
3639         * testsuite/tr1/5_numerical_facilities/special_functions/
3640         09_cyl_bessel_j/check_value.cc: Likewise.
3641         * testsuite/tr1/5_numerical_facilities/special_functions/
3642         10_cyl_bessel_k/check_value.cc: Likewise.
3643         * testsuite/tr1/5_numerical_facilities/special_functions/
3644         11_cyl_neumann/check_value.cc: Likewise.
3645         * testsuite/tr1/5_numerical_facilities/special_functions/
3646         16_hermite/check_value.cc: Likewise.
3647         * testsuite/tr1/5_numerical_facilities/special_functions/
3648         21_sph_bessel/check_value.cc: Likewise.
3649         * testsuite/tr1/5_numerical_facilities/special_functions/
3650         23_sph_neumann/check_value.cc: Likewise.
3651         * testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise.
3652         * testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise.
3653         * testsuite/tr1/6_containers/array/capacity/size.cc: Likewise.
3654         * testsuite/tr1/6_containers/array/comparison_operators/equal.cc:
3655         Likewise.
3656         * testsuite/tr1/6_containers/array/comparison_operators/greater.cc:
3657         Likewise.
3658         * testsuite/tr1/6_containers/array/comparison_operators/
3659         greater_or_equal.cc: Likewise.
3660         * testsuite/tr1/6_containers/array/comparison_operators/less.cc:
3661         Likewise.
3662         * testsuite/tr1/6_containers/array/comparison_operators/
3663         less_or_equal.cc: Likewise.
3664         * testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc:
3665         Likewise.
3666         * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
3667         Likewise.
3668         * testsuite/tr1/6_containers/array/element_access/back.cc: Likewise.
3669         * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
3670         * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
3671         * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc:
3672         Likewise.
3673         * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
3674         * testsuite/tr1/6_containers/array/requirements/contiguous.cc: Likewise.
3675         * testsuite/tr1/6_containers/array/requirements/member_swap.cc:
3676         Likewise.
3677         * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
3678         Likewise.
3679         * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
3680         Likewise.
3681         * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
3682         * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
3683         Likewise.
3684         * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
3685         Likewise.
3686         * testsuite/tr1/6_containers/hash/24799.cc: Likewise.
3687         * testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise.
3688         *
3689         testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
3690         Likewise.
3691         * testsuite/tr1/6_containers/tuple/cons/assignment.cc: Likewise.
3692         * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise.
3693         * testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise.
3694         * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc:
3695         Likewise.
3696         * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
3697         Likewise.
3698         * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: Likewise.
3699         * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Likewise.
3700         * testsuite/tr1/6_containers/tuple/element_access/get.cc: Likewise.
3701         * testsuite/tr1/6_containers/tuple/tuple_size.cc: Likewise.
3702         * testsuite/tr1/6_containers/unordered_map/24064.cc: Likewise.
3703         * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
3704         Likewise.
3705         * testsuite/tr1/6_containers/unordered_map/erase/1.cc: Likewise.
3706         * testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc: Likewise.
3707         * testsuite/tr1/6_containers/unordered_map/find/map1.cc: Likewise.
3708         * testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc:
3709         Likewise.
3710         * testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc:
3711         Likewise.
3712         * testsuite/tr1/6_containers/unordered_map/insert/map_range.cc:
3713         Likewise.
3714         * testsuite/tr1/6_containers/unordered_map/insert/map_single.cc:
3715         Likewise.
3716         * testsuite/tr1/6_containers/unordered_map/swap/1.cc: Likewise.
3717         * testsuite/tr1/6_containers/unordered_map/swap/2.cc: Likewise.
3718         * testsuite/tr1/6_containers/unordered_multimap/capacity/
3719         29134-multimap.cc: Likewise.
3720         * testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise.
3721         * testsuite/tr1/6_containers/unordered_multimap/erase/
3722         24061-multimap.cc: Likewise.
3723         * testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc:
3724         Likewise.
3725         * testsuite/tr1/6_containers/unordered_multimap/insert/
3726         24061-multimap.cc: Likewise.
3727         * testsuite/tr1/6_containers/unordered_multimap/insert/
3728         multimap_range.cc: Likewise.
3729         * testsuite/tr1/6_containers/unordered_multimap/insert/
3730         multimap_single.cc: Likewise.
3731         * testsuite/tr1/6_containers/unordered_multimap/swap/1.cc: Likewise.
3732         * testsuite/tr1/6_containers/unordered_multimap/swap/2.cc: Likewise.
3733         * testsuite/tr1/6_containers/unordered_multiset/24054.cc: Likewise.
3734         * testsuite/tr1/6_containers/unordered_multiset/capacity/
3735         29134-multiset.cc: Likewise.
3736         * testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise.
3737         * testsuite/tr1/6_containers/unordered_multiset/erase/
3738         24061-multiset.cc: Likewise.
3739         * testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc:
3740         Likewise.
3741         * testsuite/tr1/6_containers/unordered_multiset/insert/
3742         24061-multiset.cc: Likewise.
3743         * testsuite/tr1/6_containers/unordered_multiset/insert/
3744         multiset_range.cc: Likewise.
3745         * testsuite/tr1/6_containers/unordered_multiset/insert/
3746         multiset_single.cc: Likewise.
3747         * testsuite/tr1/6_containers/unordered_multiset/swap/1.cc: Likewise.
3748         * testsuite/tr1/6_containers/unordered_multiset/swap/2.cc: Likewise.
3749         * testsuite/tr1/6_containers/unordered_set/23465.cc: Likewise.
3750         * testsuite/tr1/6_containers/unordered_set/26132.cc: Likewise.
3751         * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
3752         Likewise.
3753         * testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise.
3754         * testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc: Likewise.
3755         * testsuite/tr1/6_containers/unordered_set/find/set1.cc: Likewise.
3756         * testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc:
3757         Likewise.
3758         * testsuite/tr1/6_containers/unordered_set/insert/set_range.cc:
3759         Likewise.
3760         * testsuite/tr1/6_containers/unordered_set/insert/set_single.cc:
3761         Likewise.
3762         * testsuite/tr1/6_containers/unordered_set/swap/1.cc: Likewise.
3763         * testsuite/tr1/6_containers/unordered_set/swap/2.cc: Likewise.
3764         * testsuite/tr1/6_containers/utility/pair.cc: Likewise.
3765         * testsuite/tr1/7_regular_expressions/match_results/ctors/char/
3766         default.cc: Likewise.
3767         * testsuite/tr1/7_regular_expressions/regex_traits/char/
3768         translate_nocase.cc: Likewise.
3769         * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc:
3770         Likewise.
3771         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
3772         translate_nocase.cc: Likewise.
3773         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc:
3774         Likewise.
3775         * testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.
3776         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise.
3777
3778 2016-10-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
3779
3780         Make sure the return value of malloc_allocator::allocate
3781         is zero-initialized so that checking it for non-zero works
3782         later.
3783         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
3784         Initialize the return value.
3785         * testsuite/ext/malloc_allocator/sanity.cc: New.
3786
3787 2016-10-14  Eelis van der Weegen  <eelis@eelis.net>
3788
3789         * include/bits/stl_algo.h (shuffle): Extract two random numbers from
3790         each generator invocation when its range is large enough.
3791
3792 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3793
3794         * testsuite/experimental/algorithm/sample.cc: Qualify calls to
3795         resolve ambiguity between std::sample and std::experimental::sample.
3796
3797         * include/std/functional (_Mu<A, false, true>, _Mu<A, true, false>):
3798         Simplify forwarding from tuple of references.
3799         (_Maybe_wrap_member_pointer): Remove.
3800         (_Bind::__call, _Bind::__call_c, _Bind::__call_v, _Bind::__call_c_v):
3801         Use std::__invoke.
3802         (_Bind::_Mu_type, _Bind::_Res_type_impl, _Bind::_Res_type)
3803         (_Bind::__dependent, _Bind::_Res_type_cv): New helpers to simplify
3804         return type deduction.
3805         (_Bind::operator(), _Bind::operator() const): Use new helpers.
3806         (_Bind::operator() volatile, _Bind::operator() const volatile):
3807         Likewise. Add deprecated attribute for C++17 mode.
3808         (_Bind_result::__call): Use std::__invoke.
3809         (_Bind_result::operator() volatile)
3810         (_Bind_result::operator() const volatile): Add deprecated attribute.
3811         (_Bind_helper::__maybe_type, _Bindres_helper::__maybe_type): Remove.
3812         (_Bind_helper, _Bindres_helper): Don't use _Maybe_wrap_member_pointer.
3813         (bind, bind<R>): Don't use __maybe_type.
3814         * src/c++11/compatibility-thread-c++0x.cc
3815         (_Maybe_wrap_member_pointer): Define here for compatibility symbols.
3816         * testsuite/20_util/bind/68912.cc: Don't test volatile-qualification
3817         in C++17 mode.
3818         * testsuite/20_util/bind/cv_quals.cc: Likewise.
3819         * testsuite/20_util/bind/cv_quals_2.cc: Likewise.
3820
3821         * include/std/scoped_allocator (scoped_allocator_adaptor): Forward
3822         piecewise construction arguments as tuples of references, to avoid
3823         copies (related to LWG 2511).
3824         * testsuite/20_util/scoped_allocator/construct_pair.cc: New test.
3825
3826 2016-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
3827
3828         * testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables.
3829         * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
3830         * testsuite/26_numerics/complex/13450.cc: Likewise.
3831         * testsuite/26_numerics/complex/50880.cc: Likewise.
3832         * testsuite/26_numerics/complex/c99.cc: Likewise.
3833         * testsuite/26_numerics/complex/cons/48760.cc: Likewise.
3834         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
3835         * testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise.
3836         * testsuite/26_numerics/complex/dr844.cc: Likewise.
3837         * testsuite/26_numerics/complex/inserters_extractors/char/1.cc:
3838         Likewise.
3839         * testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc:
3840         Likewise.
3841         * testsuite/26_numerics/complex/value_operations/1.cc: Likewise.
3842         * testsuite/26_numerics/complex/value_operations/dr387.cc: Likewise.
3843         * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
3844         * testsuite/26_numerics/headers/cmath/
3845         c99_classification_macros_c++11.c: Likewise.c
3846         * testsuite/26_numerics/headers/cmath/
3847         c99_classification_macros_c++98.cc: Likewise.
3848         * testsuite/26_numerics/headers/cmath/c_math.cc: Likewise.
3849         * testsuite/26_numerics/headers/cmath/dr550.cc: Likewise.
3850         * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
3851         * testsuite/26_numerics/headers/cmath/powi.cc: Likewise.
3852         * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
3853         * testsuite/26_numerics/inner_product/1.cc: Likewise.
3854         * testsuite/26_numerics/iota/1.cc: Likewise.
3855         * testsuite/26_numerics/partial_sum/1.cc: Likewise.
3856         * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
3857         Likewise.
3858         * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
3859         Likewise.
3860         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3861         equal.cc: Likewise.
3862         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3863         inequal.cc: Likewise.
3864         * testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
3865         Likewise.
3866         * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
3867         Likewise.
3868         * testsuite/26_numerics/random/binomial_distribution/operators/
3869         equal.cc: Likewise.
3870         * testsuite/26_numerics/random/binomial_distribution/operators/
3871         inequal.cc: Likewise.
3872         * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
3873         Likewise.
3874         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
3875         Likewise.
3876         * testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc:
3877         Likewise.
3878         * testsuite/26_numerics/random/cauchy_distribution/operators/
3879         inequal.cc: Likewise.
3880         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3881         default.cc: Likewise.
3882         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3883         parms.cc: Likewise.
3884         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3885         equal.cc: Likewise.
3886         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3887         inequal.cc: Likewise.
3888         * testsuite/26_numerics/random/default_random_engine.cc: Likewise.
3889         * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
3890         Likewise.
3891         * testsuite/26_numerics/random/discard_block_engine/operators/equal.cc:
3892         Likewise.
3893         * testsuite/26_numerics/random/discard_block_engine/operators/
3894         inequal.cc: Likewise.
3895         * testsuite/26_numerics/random/discard_block_engine/operators/
3896         serialize.cc: Likewise.
3897         * testsuite/26_numerics/random/discrete_distribution/cons/
3898         default.cc: Likewise.
3899         * testsuite/26_numerics/random/discrete_distribution/cons/
3900         initlist.cc: Likewise.
3901         * testsuite/26_numerics/random/discrete_distribution/cons/
3902         num_xbound_fun.cc: Likewise.
3903         * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
3904         Likewise.
3905         * testsuite/26_numerics/random/discrete_distribution/operators/
3906         equal.cc: Likewise.
3907         * testsuite/26_numerics/random/discrete_distribution/operators/
3908         inequal.cc: Likewise.
3909         * testsuite/26_numerics/random/exponential_distribution/cons/
3910         default.cc: Likewise.
3911         * testsuite/26_numerics/random/exponential_distribution/cons/
3912         parms.cc: Likewise.
3913         * testsuite/26_numerics/random/exponential_distribution/operators/
3914         equal.cc: Likewise.
3915         * testsuite/26_numerics/random/exponential_distribution/operators/
3916         inequal.cc: Likewise.
3917         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3918         default.cc: Likewise.
3919         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3920         parms.cc: Likewise.
3921         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3922         equal.cc: Likewise.
3923         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3924         inequal.cc: Likewise.
3925         * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
3926         Likewise.
3927         * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
3928         Likewise.
3929         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3930         equal.cc: Likewise.
3931         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3932         inequal.cc: Likewise.
3933         * testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
3934         Likewise.
3935         * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
3936         Likewise.
3937         * testsuite/26_numerics/random/gamma_distribution/operators/equal.cc:
3938         Likewise.
3939         * testsuite/26_numerics/random/gamma_distribution/operators/
3940         inequal.cc: Likewise.
3941         * testsuite/26_numerics/random/geometric_distribution/cons/
3942         default.cc: Likewise.
3943         * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
3944         Likewise.
3945         * testsuite/26_numerics/random/geometric_distribution/operators/
3946         equal.cc: Likewise.
3947         * testsuite/26_numerics/random/geometric_distribution/operators/
3948         inequal.cc: Likewise.
3949         * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
3950         Likewise.
3951         * testsuite/26_numerics/random/independent_bits_engine/operators/
3952         equal.cc: Likewise.
3953         * testsuite/26_numerics/random/independent_bits_engine/operators/
3954         inequal.cc: Likewise.
3955         * testsuite/26_numerics/random/independent_bits_engine/operators/
3956         serialize.cc: Likewise.
3957         * testsuite/26_numerics/random/knuth_b.cc: Likewise.
3958         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3959         55215.cc: Likewise.
3960         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3961         default.cc: Likewise.
3962         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3963         51795.cc: Likewise.
3964         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3965         equal.cc: Likewise.
3966         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3967         inequal.cc: Likewise.
3968         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3969         serialize.cc: Likewise.
3970         * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
3971         Likewise.
3972         * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
3973         Likewise.
3974         * testsuite/26_numerics/random/lognormal_distribution/operators/
3975         equal.cc: Likewise.
3976         * testsuite/26_numerics/random/lognormal_distribution/operators/
3977         inequal.cc: Likewise.
3978         * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
3979         Likewise.
3980         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
3981         default.cc: Likewise.
3982         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3983         equal.cc: Likewise.
3984         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3985         inequal.cc: Likewise.
3986         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3987         serialize.cc: Likewise.
3988         * testsuite/26_numerics/random/minstd_rand.cc: Likewise.
3989         * testsuite/26_numerics/random/minstd_rand0.cc: Likewise.
3990         * testsuite/26_numerics/random/mt19937.cc: Likewise.
3991         * testsuite/26_numerics/random/mt19937_64.cc: Likewise.
3992         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3993         default.cc: Likewise.
3994         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3995         parms.cc: Likewise.
3996         * testsuite/26_numerics/random/negative_binomial_distribution/
3997         operators/equal.cc: Likewise.
3998         * testsuite/26_numerics/random/negative_binomial_distribution/
3999         operators/inequal.cc: Likewise.
4000         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
4001         Likewise.
4002         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
4003         Likewise.
4004         * testsuite/26_numerics/random/normal_distribution/operators/
4005         equal.cc: Likewise.
4006         * testsuite/26_numerics/random/normal_distribution/operators/
4007         inequal.cc: Likewise.
4008         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
4009         default.cc: Likewise.
4010         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
4011         initlist_fun.cc: Likewise.
4012         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
4013         num_xbound_fun.cc: Likewise.
4014         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
4015         range.cc: Likewise.
4016         * testsuite/26_numerics/random/piecewise_constant_distribution/
4017         operators/equal.cc: Likewise.
4018         * testsuite/26_numerics/random/piecewise_constant_distribution/
4019         operators/inequal.cc: Likewise.
4020         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
4021         default.cc: Likewise.
4022         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
4023         initlist_fun.cc: Likewise.
4024         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
4025         num_xbound_fun.cc: Likewise.
4026         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
4027         range.cc: Likewise.
4028         * testsuite/26_numerics/random/piecewise_linear_distribution/
4029         operators/equal.cc: Likewise.
4030         * testsuite/26_numerics/random/piecewise_linear_distribution/
4031         operators/inequal.cc: Likewise.
4032         * testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
4033         Likewise.
4034         * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
4035         Likewise.
4036         * testsuite/26_numerics/random/poisson_distribution/operators/
4037         equal.cc: Likewise.
4038         * testsuite/26_numerics/random/poisson_distribution/operators/
4039         inequal.cc: Likewise.
4040         * testsuite/26_numerics/random/random_device/cons/default.cc: Likewise.
4041         * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
4042         * testsuite/26_numerics/random/ranlux24.cc: Likewise.
4043         * testsuite/26_numerics/random/ranlux24_base.cc: Likewise.
4044         * testsuite/26_numerics/random/ranlux48.cc: Likewise.
4045         * testsuite/26_numerics/random/ranlux48_base.cc: Likewise.
4046         * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Likewise.
4047         * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
4048         Likewise.
4049         * testsuite/26_numerics/random/shuffle_order_engine/operators/
4050         equal.cc: Likewise.
4051         * testsuite/26_numerics/random/shuffle_order_engine/operators/
4052         inequal.cc: Likewise.
4053         * testsuite/26_numerics/random/shuffle_order_engine/operators/
4054         serialize.cc: Likewise.
4055         * testsuite/26_numerics/random/student_t_distribution/cons/
4056         default.cc: Likewise.
4057         * testsuite/26_numerics/random/student_t_distribution/cons/
4058         parms.cc: Likewise.
4059         * testsuite/26_numerics/random/student_t_distribution/operators/
4060         equal.cc: Likewise.
4061         * testsuite/26_numerics/random/student_t_distribution/operators/
4062         inequal.cc: Likewise.
4063         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
4064         55215.cc: Likewise.
4065         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
4066         default.cc: Likewise.
4067         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
4068         equal.cc: Likewise.
4069         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
4070         inequal.cc: Likewise.
4071         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
4072         serialize.cc: Likewise.
4073         * testsuite/26_numerics/random/uniform_int_distribution/cons/
4074         default.cc: Likewise.
4075         * testsuite/26_numerics/random/uniform_int_distribution/cons/
4076         parms.cc: Likewise.
4077         * testsuite/26_numerics/random/uniform_int_distribution/operators/
4078         equal.cc: Likewise.
4079         * testsuite/26_numerics/random/uniform_int_distribution/operators/
4080         inequal.cc: Likewise.
4081         * testsuite/26_numerics/random/uniform_real_distribution/cons/
4082         default.cc: Likewise.
4083         * testsuite/26_numerics/random/uniform_real_distribution/cons/
4084         parms.cc: Likewise.
4085         * testsuite/26_numerics/random/uniform_real_distribution/operators/
4086         equal.cc: Likewise.
4087         * testsuite/26_numerics/random/uniform_real_distribution/operators/
4088         inequal.cc: Likewise.
4089         * testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
4090         Likewise.
4091         * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
4092         Likewise.
4093         * testsuite/26_numerics/random/weibull_distribution/operators/
4094         equal.cc: Likewise.
4095         * testsuite/26_numerics/random/weibull_distribution/operators/
4096         inequal.cc: Likewise.
4097         * testsuite/26_numerics/slice/1.cc: Likewise.
4098         * testsuite/26_numerics/slice_array/array_assignment.cc: Likewise.
4099         * testsuite/26_numerics/valarray/27867.cc: Likewise.
4100         * testsuite/26_numerics/valarray/28277.cc: Likewise.
4101         * testsuite/26_numerics/valarray/30416.cc: Likewise.
4102         * testsuite/26_numerics/valarray/dr543.cc: Likewise.
4103         * testsuite/26_numerics/valarray/dr630-1.cc: Likewise.
4104         * testsuite/26_numerics/valarray/dr630-2.cc: Likewise.
4105         * testsuite/26_numerics/valarray/dr630-3.C: Likewise.
4106         * testsuite/26_numerics/valarray/init-list.cc: Likewise.
4107         * testsuite/26_numerics/valarray/moveable.cc: Likewise.
4108         * testsuite/26_numerics/valarray/operators.cc: Likewise.
4109         * testsuite/26_numerics/valarray/swap.cc: Likewise.
4110         * testsuite/experimental/deque/erasure.cc: Likewise.
4111         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
4112         Likewise.
4113         * testsuite/experimental/filesystem/iterators/
4114         recursive_directory_iterator.cc: Likewise.
4115         * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
4116         * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
4117         * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
4118         * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
4119         * testsuite/experimental/filesystem/operations/create_directories.cc:
4120         Likewise.
4121         * testsuite/experimental/filesystem/operations/create_directory.cc:
4122         Likewise.
4123         * testsuite/experimental/filesystem/operations/current_path.cc:
4124         Likewise.
4125         * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
4126         * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
4127         * testsuite/experimental/filesystem/operations/last_write_time.cc:
4128         Likewise.
4129         * testsuite/experimental/filesystem/operations/permissions.cc: Likewise.
4130         * testsuite/experimental/filesystem/operations/status.cc: Likewise.
4131         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
4132         Likewise.
4133         * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
4134         * testsuite/experimental/forward_list/erasure.cc: Likewise.
4135         * testsuite/experimental/list/erasure.cc: Likewise.
4136         * testsuite/experimental/map/erasure.cc: Likewise.
4137         * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Likewise.
4138         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
4139         Likewise.
4140         * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: Likewise.
4141         * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: Likewise.
4142         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: Likewise.
4143         * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
4144         Likewise.
4145         * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: Likewise.
4146         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
4147         Likewise.
4148         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
4149         Likewise.
4150         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
4151         Likewise.
4152         * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
4153         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Likewise.
4154         * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: Likewise.
4155         * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
4156         Likewise.
4157         * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
4158         Likewise.
4159         * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
4160         Likewise.
4161         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
4162         Likewise.
4163         * testsuite/experimental/memory_resource/1.cc: Likewise.
4164         * testsuite/experimental/memory_resource/null_memory_resource.cc:
4165         Likewise.
4166         * testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise.
4167         * testsuite/experimental/set/erasure.cc: Likewise.
4168         * testsuite/experimental/string/erasure.cc: Likewise.
4169         * testsuite/experimental/string_view/capacity/1.cc: Likewise.
4170         * testsuite/experimental/string_view/cons/char/1.cc: Likewise.
4171         * testsuite/experimental/string_view/cons/char/2.cc: Likewise.
4172         * testsuite/experimental/string_view/cons/char/3.cc: Likewise.
4173         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
4174         * testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise.
4175         * testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise.
4176         * testsuite/experimental/string_view/element_access/char/1.cc: Likewise.
4177         * testsuite/experimental/string_view/element_access/char/empty.cc:
4178         Likewise.
4179         * testsuite/experimental/string_view/element_access/char/
4180         front_back.cc: Likewise.
4181         * testsuite/experimental/string_view/element_access/wchar_t/1.cc:
4182         Likewise.
4183         * testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
4184         Likewise.
4185         * testsuite/experimental/string_view/element_access/wchar_t/
4186         front_back.cc: Likewise.
4187         * testsuite/experimental/string_view/inserters/char/1.cc: Likewise.
4188         * testsuite/experimental/string_view/inserters/char/2.cc: Likewise.
4189         * testsuite/experimental/string_view/inserters/char/3.cc: Likewise.
4190         * testsuite/experimental/string_view/inserters/pod/10081-out.cc:
4191         Likewise.
4192         * testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise.
4193         * testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise.
4194         * testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise.
4195         * testsuite/experimental/string_view/modifiers/remove_prefix/char/
4196         1.cc: Likewise.
4197         * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
4198         1.cc: Likewise.
4199         * testsuite/experimental/string_view/modifiers/remove_suffix/char/
4200         1.cc: Likewise.
4201         * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
4202         1.cc: Likewise.
4203         * testsuite/experimental/string_view/operations/compare/char/1.cc:
4204         Likewise.
4205         * testsuite/experimental/string_view/operations/compare/char/
4206         13650.cc: Likewise.
4207         * testsuite/experimental/string_view/operations/compare/wchar_t/
4208         1.cc: Likewise.
4209         * testsuite/experimental/string_view/operations/compare/wchar_t/
4210         13650.cc: Likewise.
4211         * testsuite/experimental/string_view/operations/copy/char/1.cc:
4212         Likewise.
4213         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
4214         Likewise.
4215         * testsuite/experimental/string_view/operations/data/char/1.cc:
4216         Likewise.
4217         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
4218         Likewise.
4219         * testsuite/experimental/string_view/operations/find/char/1.cc:
4220         Likewise.
4221         * testsuite/experimental/string_view/operations/find/char/2.cc:
4222         Likewise.
4223         * testsuite/experimental/string_view/operations/find/char/3.cc:
4224         Likewise.
4225         * testsuite/experimental/string_view/operations/find/char/4.cc:
4226         Likewise.
4227         * testsuite/experimental/string_view/operations/find/wchar_t/1.cc:
4228         Likewise.
4229         * testsuite/experimental/string_view/operations/find/wchar_t/2.cc:
4230         Likewise.
4231         * testsuite/experimental/string_view/operations/find/wchar_t/3.cc:
4232         Likewise.
4233         * testsuite/experimental/string_view/operations/find/wchar_t/4.cc:
4234         Likewise.
4235         * testsuite/experimental/string_view/operations/rfind/char/1.cc:
4236         Likewise.
4237         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
4238         Likewise.
4239         * testsuite/experimental/string_view/operations/rfind/char/3.cc:
4240         Likewise.
4241         * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc:
4242         Likewise.
4243         * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc:
4244         Likewise.
4245         * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc:
4246         Likewise.
4247         * testsuite/experimental/string_view/operations/substr/char/1.cc:
4248         Likewise.
4249         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
4250         Likewise.
4251         * testsuite/experimental/string_view/operations/to_string/1.cc:
4252         Likewise.
4253         * testsuite/experimental/string_view/operators/char/2.cc: Likewise.
4254         * testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise.
4255         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
4256         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
4257         * testsuite/experimental/vector/erasure.cc: Likewise.
4258         * testsuite/ext/array_allocator/1.cc: Likewise.
4259         * testsuite/ext/array_allocator/2.cc: Likewise.
4260         * testsuite/ext/array_allocator/3.cc: Likewise.
4261         * testsuite/ext/array_allocator/variadic_construct.cc: Likewise.
4262         * testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
4263         * testsuite/ext/codecvt/1.cc: Likewise.
4264         * testsuite/ext/codecvt/char-1.cc: Likewise.
4265         * testsuite/ext/codecvt/char-2.cc: Likewise.
4266         * testsuite/ext/codecvt/wchar_t.cc: Likewise.
4267         * testsuite/ext/enc_filebuf/char/13189.cc: Likewise.
4268         * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
4269         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
4270         * testsuite/ext/ext_pointer/1.cc: Likewise.
4271         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
4272         * testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
4273         * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: Likewise.
4274         * testsuite/ext/mt_allocator/tune-1.cc: Likewise.
4275         * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
4276         * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
4277         * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
4278         * testsuite/ext/mt_allocator/variadic_construct.cc: Likewise.
4279         * testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
4280         * testsuite/ext/pod_char_traits.cc: Likewise.
4281         * testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
4282         * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
4283         * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
4284         * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
4285         Likewise.
4286         * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
4287         Likewise.
4288         * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
4289         Likewise.
4290         * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
4291         * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
4292         * testsuite/ext/random/beta_distribution/operators/equal.cc: Likewise.
4293         * testsuite/ext/random/beta_distribution/operators/inequal.cc: Likewise.
4294         * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
4295         * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
4296         * testsuite/ext/random/hoyt_distribution/operators/equal.cc: Likewise.
4297         * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: Likewise.
4298         * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
4299         Likewise.
4300         * testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
4301         Likewise.
4302         * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
4303         Likewise.
4304         * testsuite/ext/random/hypergeometric_distribution/operators/
4305         equal.cc: Likewise.
4306         * testsuite/ext/random/hypergeometric_distribution/operators/
4307         inequal.cc: Likewise.
4308         * testsuite/ext/random/hypergeometric_distribution/operators/
4309         serialize.cc: Likewise.
4310         * testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
4311         * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
4312         * testsuite/ext/random/k_distribution/operators/equal.cc: Likewise.
4313         * testsuite/ext/random/k_distribution/operators/inequal.cc: Likewise.
4314         * testsuite/ext/random/k_distribution/operators/serialize.cc: Likewise.
4315         * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
4316         * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
4317         * testsuite/ext/random/logistic_distribution/operators/equal.cc:
4318         Likewise.
4319         * testsuite/ext/random/logistic_distribution/operators/inequal.cc:
4320         Likewise.
4321         * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
4322         Likewise.
4323         * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
4324         * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
4325         * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
4326         Likewise.
4327         * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
4328         Likewise.
4329         * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
4330         Likewise.
4331         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
4332         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
4333         * testsuite/ext/random/normal_mv_distribution/operators/equal.cc:
4334         Likewise.
4335         * testsuite/ext/random/normal_mv_distribution/operators/inequal.cc:
4336         Likewise.
4337         * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
4338         * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
4339         * testsuite/ext/random/pareto_distribution/operators/equal.cc: Likewise.
4340         * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
4341         Likewise.
4342         * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
4343         Likewise.
4344         * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
4345         * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
4346         * testsuite/ext/random/rice_distribution/operators/equal.cc: Likewise.
4347         * testsuite/ext/random/rice_distribution/operators/inequal.cc: Likewise.
4348         * testsuite/ext/random/rice_distribution/operators/serialize.cc:
4349         Likewise.
4350         * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
4351         default.cc: Likewise.
4352         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
4353         equal.cc: Likewise.
4354         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
4355         inequal.cc: Likewise.
4356         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
4357         serialize.cc: Likewise.
4358         * testsuite/ext/random/triangular_distribution/cons/default.cc:
4359         Likewise.
4360         * testsuite/ext/random/triangular_distribution/cons/parms.cc: Likewise.
4361         * testsuite/ext/random/triangular_distribution/operators/equal.cc:
4362         Likewise.
4363         * testsuite/ext/random/triangular_distribution/operators/inequal.cc:
4364         Likewise.
4365         * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
4366         Likewise.
4367         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4368         equal.cc: Likewise.
4369         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4370         generate.cc: Likewise.
4371         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4372         inequal.cc: Likewise.
4373         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4374         serialize.cc: Likewise.
4375         * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise.
4376         * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
4377         * testsuite/ext/random/von_mises_distribution/operators/equal.cc:
4378         Likewise.
4379         * testsuite/ext/random/von_mises_distribution/operators/inequal.cc:
4380         Likewise.
4381         * testsuite/ext/rope/2.cc: Likewise.
4382         * testsuite/ext/rope/3.cc: Likewise.
4383         * testsuite/ext/rope/4.cc: Likewise.
4384         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
4385         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
4386         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise.
4387         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
4388         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
4389         * testsuite/ext/stdio_filebuf/char/10063-1.cc: Likewise.
4390         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
4391         * testsuite/ext/stdio_filebuf/char/10063-3.cc: Likewise.
4392         * testsuite/ext/stdio_filebuf/char/2.cc: Likewise.
4393         * testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.
4394         * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise.
4395         * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise.
4396         * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise.
4397         * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise.
4398         * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
4399         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
4400         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise.
4401         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise.
4402         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise.
4403         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise.
4404         * testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
4405         * testsuite/ext/type_traits/add_unsigned.cc: Likewise.
4406         * testsuite/ext/type_traits/remove_unsigned.cc: Likewise.
4407         * testsuite/ext/vstring/capacity/29134.cc: Likewise.
4408         * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
4409         * testsuite/ext/vstring/cons/58415-1.cc: Likewise.
4410         * testsuite/ext/vstring/cons/moveable.cc: Likewise.
4411         * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
4412         * testsuite/ext/vstring/element_access/char/front_back.cc: Likewise.
4413         * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
4414         * testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise.
4415         * testsuite/ext/vstring/hash/char/1.cc: Likewise.
4416         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
4417         * testsuite/ext/vstring/init-list.cc: Likewise.
4418         * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
4419         * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise.
4420         * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Likewise.
4421         * testsuite/ext/vstring/modifiers/pop_back/char/1.cc: Likewise.
4422         * testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc: Likewise.
4423         * testsuite/ext/vstring/operators/1.cc: Likewise.
4424         * testsuite/ext/vstring/operators/2.cc: Likewise.
4425
4426 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
4427
4428         PR libstdc++/65122
4429         * include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
4430         aligned_alloc for types with extended alignment if available,
4431         otherwise throw bad_alloc if malloc doesn't return a suitable value.
4432         * include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
4433         (bitmap_allocator::deallocate): Use aligned new/delete for types with
4434         extended alignment.
4435         * include/ext/mt_allocator.h (__mt_alloc::allocate)
4436         (__mt_alloc::deallocate): Likewise.
4437         * include/ext/new_allocator.h (new_allocator::allocate)
4438         (new_allocator::deallocate): Likewise.
4439         * include/ext/pool_allocator.h (__pool_alloc::allocate)
4440         (__pool_alloc::deallocate): Likewise.
4441         * testsuite/20_util/allocator/overaligned.cc: New test.
4442         * testsuite/ext/bitmap_allocator/overaligned.cc: New test.
4443         * testsuite/ext/malloc_allocator/overaligned.cc: New test.
4444         * testsuite/ext/mt_allocator/overaligned.cc: New test.
4445         * testsuite/ext/new_allocator/overaligned.cc: New test.
4446         * testsuite/ext/pool_allocator/overaligned.cc: New test.
4447
4448 2016-10-14  Tim Shen  <timshen@google.com>
4449
4450         PR libstdc++/77944
4451         * include/std/variant: Include <bits/funcexcept.h> for __try and
4452         __catch.
4453
4454 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
4455
4456         * include/std/functional (_Reference_wrapper_base_impl): Remove.
4457         (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
4458         (_Reference_wrapper_base): Inherit from new helpers.
4459
4460 2016-10-13  Paolo Carlini  <paolo.carlini@oracle.com>
4461
4462         * testsuite/24_iterators/container_access.cc: Remove 'test' variables.
4463         * testsuite/24_iterators/istream_iterator/2.cc: Likewise.
4464         * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
4465         * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
4466         * testsuite/24_iterators/operations/next.cc: Likewise.
4467         * testsuite/24_iterators/operations/prev.cc: Likewise.
4468         * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
4469         * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
4470         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
4471         * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
4472         * testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
4473         * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
4474         * testsuite/25_algorithms/all_of/1.cc: Likewise.
4475         * testsuite/25_algorithms/any_of/1.cc: Likewise.
4476         * testsuite/25_algorithms/binary_search/2.cc: Likewise.
4477         * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
4478         * testsuite/25_algorithms/clamp/1.cc: Likewise.
4479         * testsuite/25_algorithms/clamp/2.cc: Likewise.
4480         * testsuite/25_algorithms/copy/1.cc: Likewise.
4481         * testsuite/25_algorithms/copy/2.cc: Likewise.
4482         * testsuite/25_algorithms/copy/3.cc: Likewise.
4483         * testsuite/25_algorithms/copy/34595.cc: Likewise.
4484         * testsuite/25_algorithms/copy/4.cc: Likewise.
4485         * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
4486         * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
4487         * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
4488         * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
4489         * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
4490         * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
4491         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
4492         Likewise.
4493         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
4494         Likewise.
4495         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
4496         Likewise.
4497         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
4498         Likewise.
4499         * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
4500         * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
4501         * testsuite/25_algorithms/copy_n/1.cc: Likewise.
4502         * testsuite/25_algorithms/copy_n/2.cc: Likewise.
4503         * testsuite/25_algorithms/copy_n/3.cc: Likewise.
4504         * testsuite/25_algorithms/copy_n/4.cc: Likewise.
4505         * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
4506         * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
4507         * testsuite/25_algorithms/equal_range/2.cc: Likewise.
4508         * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
4509         * testsuite/25_algorithms/fill/1.cc: Likewise.
4510         * testsuite/25_algorithms/fill/2.cc: Likewise.
4511         * testsuite/25_algorithms/fill/3.cc: Likewise.
4512         * testsuite/25_algorithms/fill/4.cc: Likewise.
4513         * testsuite/25_algorithms/fill_n/1.cc: Likewise.
4514         * testsuite/25_algorithms/find/39546.cc: Likewise.
4515         * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
4516         * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
4517         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
4518         Likewise.
4519         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
4520         Likewise.
4521         * testsuite/25_algorithms/find_if/1.cc: Likewise.
4522         * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
4523         * testsuite/25_algorithms/for_each/1.cc: Likewise.
4524         * testsuite/25_algorithms/heap/1.cc: Likewise.
4525         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
4526         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
4527         * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
4528         * testsuite/25_algorithms/includes/1.cc: Likewise.
4529         * testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
4530         * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
4531         * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
4532         * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
4533         * testsuite/25_algorithms/is_heap/1.cc: Likewise.
4534         * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
4535         * testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
4536         * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
4537         * testsuite/25_algorithms/is_permutation/2.cc: Likewise.
4538         * testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
4539         * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
4540         * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
4541         * testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
4542         * testsuite/25_algorithms/lower_bound/2.cc: Likewise.
4543         * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
4544         * testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
4545         * testsuite/25_algorithms/max/1.cc: Likewise.
4546         * testsuite/25_algorithms/max/2.cc: Likewise.
4547         * testsuite/25_algorithms/max/3.cc: Likewise.
4548         * testsuite/25_algorithms/max/37547.cc: Likewise.
4549         * testsuite/25_algorithms/max/4.cc: Likewise.
4550         * testsuite/25_algorithms/min/1.cc: Likewise.
4551         * testsuite/25_algorithms/min/2.cc: Likewise.
4552         * testsuite/25_algorithms/min/3.cc: Likewise.
4553         * testsuite/25_algorithms/min/37547.cc: Likewise.
4554         * testsuite/25_algorithms/min/4.cc: Likewise.
4555         * testsuite/25_algorithms/minmax/1.cc: Likewise.
4556         * testsuite/25_algorithms/minmax/2.cc: Likewise.
4557         * testsuite/25_algorithms/minmax/3.cc: Likewise.
4558         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
4559         * testsuite/25_algorithms/minmax_element/1.cc: Likewise.
4560         * testsuite/25_algorithms/move/1.cc: Likewise.
4561         * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
4562         * testsuite/25_algorithms/move_backward/1.cc: Likewise.
4563         * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
4564         * testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
4565         * testsuite/25_algorithms/none_of/1.cc: Likewise.
4566         * testsuite/25_algorithms/nth_element/1.cc: Likewise.
4567         * testsuite/25_algorithms/nth_element/2.cc: Likewise.
4568         * testsuite/25_algorithms/nth_element/3.cc: Likewise.
4569         * testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
4570         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
4571         * testsuite/25_algorithms/partial_sort/2.cc: Likewise.
4572         * testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
4573         Likewise.
4574         * testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
4575         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
4576         * testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
4577         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
4578         * testsuite/25_algorithms/partition/1.cc: Likewise.
4579         * testsuite/25_algorithms/partition/moveable.cc: Likewise.
4580         * testsuite/25_algorithms/partition_copy/1.cc: Likewise.
4581         * testsuite/25_algorithms/partition_point/1.cc: Likewise.
4582         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
4583         * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
4584         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
4585         * testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
4586         * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
4587         * testsuite/25_algorithms/rotate/1.cc: Likewise.
4588         * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
4589         * testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
4590         * testsuite/25_algorithms/rotate/rotate.cc: Likewise.
4591         * testsuite/25_algorithms/search/1.cc: Likewise.
4592         * testsuite/25_algorithms/search_n/58358.cc: Likewise.
4593         * testsuite/25_algorithms/shuffle/1.cc: Likewise.
4594         * testsuite/25_algorithms/sort/1.cc: Likewise.
4595         * testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
4596         * testsuite/25_algorithms/sort/moveable.cc: Likewise.
4597         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
4598         * testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
4599         * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
4600         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
4601         * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
4602         * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
4603         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
4604         * testsuite/25_algorithms/stable_sort/2.cc: Likewise.
4605         * testsuite/25_algorithms/stable_sort/3.cc: Likewise.
4606         * testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
4607         * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
4608         Likewise.
4609         * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
4610         * testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
4611         * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
4612         * testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
4613         * testsuite/25_algorithms/unique/11480.cc: Likewise.
4614         * testsuite/25_algorithms/unique/2.cc: Likewise.
4615         * testsuite/25_algorithms/unique/moveable.cc: Likewise.
4616         * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
4617         * testsuite/25_algorithms/unique_copy/2.cc: Likewise.
4618         * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
4619         * testsuite/25_algorithms/upper_bound/2.cc: Likewise.
4620         * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
4621         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
4622         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
4623         Likewise.
4624         * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
4625         Likewise.
4626         * testsuite/28_regex/algorithms/regex_match/basic/
4627         string_range_00_03.cc: Likewise.
4628         * testsuite/28_regex/algorithms/regex_match/basic/
4629         string_range_01_03.cc: Likewise.
4630         * testsuite/28_regex/algorithms/regex_match/basic/
4631         string_range_02_03.cc: Likewise.
4632         * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
4633         Likewise.
4634         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
4635         Likewise.
4636         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
4637         Likewise.
4638         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
4639         Likewise.
4640         * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
4641         Likewise.
4642         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
4643         Likewise.
4644         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
4645         Likewise.
4646         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
4647         Likewise.
4648         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
4649         Likewise.
4650         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
4651         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
4652         Likewise.
4653         * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
4654         Likewise.
4655         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
4656         Likewise.
4657         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
4658         anymatcher.cc: Likewise.
4659         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
4660         Likewise.
4661         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
4662         Likewise.
4663         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
4664         Likewise.
4665         * testsuite/28_regex/algorithms/regex_match/extended/
4666         cstring_questionmark.cc: Likewise.
4667         * testsuite/28_regex/algorithms/regex_match/extended/
4668         cstring_range.cc: Likewise.
4669         * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
4670         Likewise.
4671         * testsuite/28_regex/algorithms/regex_match/extended/
4672         string_range_00_03.cc: Likewise.
4673         * testsuite/28_regex/algorithms/regex_match/extended/
4674         string_range_01_03.cc: Likewise.
4675         * testsuite/28_regex/algorithms/regex_match/extended/
4676         string_range_02_03.cc: Likewise.
4677         * testsuite/28_regex/algorithms/regex_match/extended/
4678         wstring_locale.cc: Likewise.
4679         * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
4680         Likewise.
4681         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
4682         * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
4683         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
4684         Likewise.
4685         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
4686         Likewise.
4687         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
4688         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
4689         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
4690         Likewise.
4691         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
4692         * testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
4693         * testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
4694         * testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
4695         * testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
4696         * testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
4697         * testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
4698         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
4699         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
4700         * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
4701         * testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
4702         * testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
4703         * testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
4704         * testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
4705         Likewise.
4706         * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
4707         Likewise.
4708         * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
4709         * testsuite/28_regex/basic_regex/ctors/extended/
4710         string_range_01_02_03.cc: Likewise.
4711         * testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
4712         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
4713         * testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
4714         * testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
4715         * testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
4716         * testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
4717         * testsuite/28_regex/constants/error_type.cc: Likewise.
4718         * testsuite/28_regex/constants/match_flag_type.cc: Likewise.
4719         * testsuite/28_regex/init-list.cc: Likewise.
4720         * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
4721         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
4722         Likewise.
4723         * testsuite/28_regex/iterators/regex_iterator/char/
4724         string_position_01.cc
4725         * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
4726         Likewise.
4727         * testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
4728         default.cc: Likewise.
4729         * testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
4730         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
4731         Likewise.
4732         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
4733         Likewise.
4734         * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
4735         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
4736         Likewise.
4737         * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
4738         default.cc: Likewise.
4739         * testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
4740         default.cc: Likewise.
4741         * testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
4742         Likewise.
4743         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4744         string_01.cc: Likewise.
4745         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4746         wstring_02.cc: Likewise.
4747         * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
4748         * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
4749         * testsuite/28_regex/match_results/format.cc: Likewise.
4750         * testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
4751         * testsuite/28_regex/match_results/swap.cc: Likewise.
4752         * testsuite/28_regex/match_results/typedefs.cc: Likewise.
4753         * testsuite/28_regex/regex_error/regex_error.cc: Likewise.
4754         * testsuite/28_regex/regression.cc: Likewise.
4755         * testsuite/28_regex/sub_match/cast_char.cc: Likewise.
4756         * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
4757         * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
4758         * testsuite/28_regex/sub_match/length.cc: Likewise.
4759         * testsuite/28_regex/traits/char/ctor.cc: Likewise.
4760         * testsuite/28_regex/traits/char/isctype.cc: Likewise.
4761         * testsuite/28_regex/traits/char/length.cc: Likewise.
4762         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
4763         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
4764         * testsuite/28_regex/traits/char/transform.cc: Likewise.
4765         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
4766         * testsuite/28_regex/traits/char/translate.cc: Likewise.
4767         * testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
4768         * testsuite/28_regex/traits/char/user_defined.cc: Likewise.
4769         * testsuite/28_regex/traits/char/value.cc: Likewise.
4770         * testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
4771         * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
4772         * testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
4773         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
4774         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
4775         * testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
4776         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
4777         * testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
4778         * testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
4779         * testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
4780         * testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
4781         * testsuite/29_atomics/atomic/60658.cc: Likewise.
4782         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
4783         * testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
4784         * testsuite/backward/11460.cc: Likewise.
4785         * testsuite/backward/hash_map/1.cc: Likewise.
4786         * testsuite/backward/hash_map/25896.cc: Likewise.
4787         * testsuite/backward/hash_set/1.cc: Likewise.
4788         * testsuite/backward/hash_set/25896.cc: Likewise.
4789         * testsuite/decimal/binary-arith.cc: Likewise.
4790         * testsuite/decimal/comparison.cc: Likewise.
4791         * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
4792         * testsuite/decimal/compound-assignment.cc: Likewise.
4793         * testsuite/decimal/conversion-from-float.cc: Likewise.
4794         * testsuite/decimal/conversion-from-integral.cc: Likewise.
4795         * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
4796         * testsuite/decimal/conversion-to-integral.cc: Likewise.
4797         * testsuite/decimal/ctor.cc: Likewise.
4798         * testsuite/decimal/incdec-memfunc.cc: Likewise.
4799         * testsuite/decimal/incdec.cc: Likewise.
4800         * testsuite/decimal/make-decimal.cc: Likewise.
4801         * testsuite/decimal/pr54036-1.cc: Likewise.
4802         * testsuite/decimal/pr54036-2.cc: Likewise.
4803         * testsuite/decimal/pr54036-3.cc: Likewise.
4804         * testsuite/decimal/unary-arith.cc: Likewise.
4805         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
4806         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
4807         Likewise.
4808         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
4809         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
4810         Likewise.
4811         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
4812         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
4813         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
4814         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
4815         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
4816         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
4817         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
4818         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
4819         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
4820         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
4821         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
4822         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
4823         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
4824         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
4825         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
4826         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
4827         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
4828         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
4829         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
4830         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
4831         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
4832         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
4833         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
4834         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
4835         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
4836         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
4837         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
4838         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
4839         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
4840         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
4841         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
4842         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
4843         * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
4844         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
4845         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
4846         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
4847         * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
4848         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
4849         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
4850         * testsuite/tr2/bases/value.cc: Likewise.
4851         * testsuite/tr2/direct_bases/value.cc: Likewise.
4852         * testsuite/util/debug/checks.h: Likewise.
4853         * testsuite/util/debug/unordered_checks.h: Likewise.
4854         * testsuite/util/testsuite_allocator.h: Likewise.
4855         * testsuite/util/testsuite_api.h: Likewise.
4856         * testsuite/util/testsuite_common_types.h: Likewise.
4857         * testsuite/util/testsuite_random.h: Likewise.
4858         * testsuite/util/testsuite_rvalref.h: Likewise.
4859
4860 2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
4861
4862         * include/bits/shared_ptr_base.h: Include <functional>.
4863         [!__cpp_rtti]: Do not include <typeinfo>.
4864         * include/experimental/array: Do not include <functional>.
4865         * include/experimental/memory: Include <bits/functional_hash.h>
4866         instead of <functional>.
4867         * include/experimental/propagate_const: Include <bits/stl_function.h>,
4868         <bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
4869         * include/experimental/tuple: Do not include <functional>.
4870         * include/std/future: Include <functional>.
4871         * include/std/memory: Do not include <functional>.
4872         * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
4873         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
4874         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
4875         missing includes.
4876         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4877         * testsuite/20_util/specialized_algorithms/memory_management_tools/
4878         1.cc: Likewise.
4879         * testsuite/30_threads/call_once/60497.cc: Likewise.
4880         * testsuite/30_threads/lock/2.cc: Likewise.
4881         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
4882         * testsuite/experimental/algorithm/sample.cc: Likewise.
4883         * testsuite/experimental/array/make_array.cc: Likewise.
4884         * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
4885         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
4886         Adjust dg-error lines.
4887         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
4888         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
4889         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
4890         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
4891         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
4892
4893         * testsuite/experimental/algorithm/sample.cc: Add missing header.
4894
4895         * include/experimental/propagate_const (element_type): Qualify
4896         declval.
4897
4898         * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
4899         instead of assert.
4900
4901         * include/experiumental/functional (boyer_moore_searcher)
4902         (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
4903         with _GLIBCXX_STD_C.
4904         * include/std/functional: Likewise.
4905
4906         * include/std/chrono (floor): Replace non-constexpr operation.
4907         * testsuite/20_util/duration_cast/rounding.cc: Test conversion to
4908         durations with floating pointer representations.
4909
4910         * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
4911         (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
4912
4913         * include/std/functional (_Bind_simple, _Bind_simple_helper)
4914         (__bind_simple): Remove.
4915         * include/std/future: Include <bits/invoke.h> instead of <functional>.
4916         (__future_base::_Task_state::_M_run)
4917         (__future_base::_Task_state::_M_run_delayed): Use lambda expressions
4918         instead of __bind_simple.
4919         (__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
4920         (async): Use thread::__make_invoker instead of __bind_simple.
4921         * include/std/thread: Include <tuple> and <bits/invoke.h> instead of
4922         <functional>.
4923         (thread::_Invoker, thread::__make_invoker): Define helpers to do
4924         INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
4925
4926         * include/std/functional (_Not_fn): Make exception specifications
4927         depend on whether negating the result can throw.
4928         * testsuite/20_util/not_fn/1.cc: Move to ...
4929         * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
4930         for types that can throw when negated and that cannot be negated.
4931
4932         * include/bits/invoke.h (__invoke): Fix exception-specification.
4933         * include/std/functional (invoke): Likewise.
4934         * testsuite/20_util/function_objects/invoke/1.cc: New test.
4935
4936 2016-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
4937
4938         * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
4939         __builtin_printf and __builtin_abort.
4940         * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
4941         * scripts/testsuite_flags.in: Likewise.
4942         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
4943         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
4944         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
4945         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
4946         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
4947         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
4948         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
4949         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
4950         * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
4951         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
4952         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
4953         Likewise.
4954         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
4955         Likewise.
4956         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
4957         Likewise.
4958         * testsuite/27_io/objects/char/7.cc: Likewise.
4959         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
4960         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
4961         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
4962         * testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
4963         * testsuite/18_support/bad_alloc/what.cc: Likewise.
4964         * testsuite/18_support/bad_cast/what.cc: Likewise.
4965         * testsuite/18_support/bad_exception/what.cc: Likewise.
4966         * testsuite/18_support/bad_typeid/what.cc: Likewise.
4967         * testsuite/18_support/exception/38732.cc: Likewise.
4968         * testsuite/18_support/exception/what.cc: Likewise.
4969         * testsuite/18_support/exception_ptr/64241.cc: Likewise.
4970         * testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
4971         * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
4972         * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
4973         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
4974         * testsuite/18_support/nested_exception/cons.cc: Likewise.
4975         * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
4976         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
4977         * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
4978         * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
4979         * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
4980         * testsuite/18_support/numeric_limits/digits10.cc: Likewise.
4981         * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
4982         * testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
4983         * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
4984         * testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
4985         * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
4986         * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
4987         * testsuite/18_support/numeric_limits/min_max.cc: Likewise.
4988         * testsuite/18_support/numeric_limits/specialization_default_values.cc:
4989         Likewise.
4990         * testsuite/18_support/type_info/hash_code.cc: Likewise.
4991         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
4992         * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
4993         * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
4994         * testsuite/19_diagnostics/error_category/operators/
4995         not_equal.cc: Likewise.
4996         * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
4997         * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
4998         * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
4999         * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
5000         * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
5001         * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
5002         * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
5003         * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
5004         * testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
5005         Likewise.
5006         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
5007         * testsuite/19_diagnostics/error_condition/operators/equal.cc:
5008         Likewise.
5009         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
5010         Likewise.
5011         * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
5012         * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
5013         * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
5014         * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
5015         * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
5016         * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
5017         * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
5018         * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
5019         * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
5020         * testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
5021         * testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
5022         * testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
5023         * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
5024         * testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
5025         * testsuite/20_util/addressof/1.cc: Likewise.
5026         * testsuite/20_util/align/1.cc: Likewise.
5027         * testsuite/20_util/align/2.cc: Likewise.
5028         * testsuite/20_util/allocator/1.cc: Likewise.
5029         * testsuite/20_util/allocator/10378.cc: Likewise.
5030         * testsuite/20_util/allocator/8230.cc: Likewise.
5031         * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
5032         Likewise.
5033         * testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
5034         * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
5035         * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
5036         * testsuite/20_util/any/assign/exception.cc: Likewise.
5037         * testsuite/20_util/auto_ptr/1.cc: Likewise.
5038         * testsuite/20_util/auto_ptr/2.cc: Likewise.
5039         * testsuite/20_util/auto_ptr/3.cc: Likewise.
5040         * testsuite/20_util/auto_ptr/4.cc: Likewise.
5041         * testsuite/20_util/auto_ptr/5.cc: Likewise.
5042         * testsuite/20_util/auto_ptr/6.cc: Likewise.
5043         * testsuite/20_util/auto_ptr/7.cc: Likewise.
5044         * testsuite/20_util/bind/all_bound.cc: Likewise.
5045         * testsuite/20_util/bind/conv_result.cc: Likewise.
5046         * testsuite/20_util/bind/cv_quals.cc: Likewise.
5047         * testsuite/20_util/bind/cv_quals_2.cc
5048         * testsuite/20_util/bind/nested.cc: Likewise.
5049         * testsuite/20_util/bind/placeholders.cc: Likewise.
5050         * testsuite/20_util/bind/ref.cc: Likewise.
5051         * testsuite/20_util/bind/ref2.cc: Likewise.
5052         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
5053         * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
5054         * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
5055         * testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
5056         * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
5057         * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
5058         * testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
5059         * testsuite/20_util/duration/cons/1.cc: Likewise.
5060         * testsuite/20_util/duration/cons/2.cc: Likewise.
5061         * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
5062         * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
5063         * testsuite/20_util/enable_shared_from_this/members/assign.cc:
5064         Likewise.
5065         * testsuite/20_util/exchange/1.cc: Likewise.
5066         * testsuite/20_util/forward/a.cc: Likewise.
5067         * testsuite/20_util/forward/b.cc: Likewise.
5068         * testsuite/20_util/forward/d.cc: Likewise.
5069         * testsuite/20_util/function/1.cc: Likewise.
5070         * testsuite/20_util/function/2.cc: Likewise.
5071         * testsuite/20_util/function/3.cc: Likewise.
5072         * testsuite/20_util/function/4.cc: Likewise.
5073         * testsuite/20_util/function/43397.cc: Likewise.
5074         * testsuite/20_util/function/5.cc: Likewise.
5075         * testsuite/20_util/function/6.cc: Likewise.
5076         * testsuite/20_util/function/7.cc: Likewise.
5077         * testsuite/20_util/function/8.cc: Likewise.
5078         * testsuite/20_util/function/9.cc: Likewise.
5079         * testsuite/20_util/function/assign/move.cc: Likewise.
5080         * testsuite/20_util/function/cons/move.cc: Likewise.
5081         * testsuite/20_util/function_objects/dr660.cc: Likewise.
5082         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
5083         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
5084         * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
5085         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
5086         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
5087         * testsuite/20_util/hash/operators/size_t.cc: Likewise.
5088         * testsuite/20_util/hash/quality.cc: Likewise.
5089         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
5090         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
5091         * testsuite/20_util/is_function/24808.cc: Likewise.
5092         * testsuite/20_util/is_object/24808.cc: Likewise.
5093         * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
5094         * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
5095         * testsuite/20_util/owner_less/cmp.cc: Likewise.
5096         * testsuite/20_util/pair/1.cc: Likewise.
5097         * testsuite/20_util/pair/2.cc: Likewise.
5098         * testsuite/20_util/pair/3.cc: Likewise.
5099         * testsuite/20_util/pair/4.cc: Likewise.
5100         * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
5101         * testsuite/20_util/pair/moveable.cc: Likewise.
5102         * testsuite/20_util/pair/piecewise.cc: Likewise.
5103         * testsuite/20_util/pair/swap.cc: Likewise.
5104         * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
5105         * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
5106         * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
5107         * testsuite/20_util/ratio/cons/cons1.cc: Likewise.
5108         * testsuite/20_util/ratio/operations/45866.cc: Likewise.
5109         * testsuite/20_util/ratio/operations/47913.cc: Likewise.
5110         * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
5111         * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
5112         * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
5113         * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
5114         * testsuite/20_util/scoped_allocator/1.cc: Likewise.
5115         * testsuite/20_util/scoped_allocator/2.cc: Likewise.
5116         * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
5117         * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
5118         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
5119         * testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
5120         * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
5121         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
5122         Likewise.
5123         * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
5124         * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
5125         * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
5126         * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
5127         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
5128         * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
5129         * testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
5130         * testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
5131         * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
5132         * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
5133         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
5134         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
5135         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
5136         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
5137         Likewise.
5138         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
5139         Likewise.
5140         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
5141         * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
5142         * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
5143         * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
5144         * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
5145         * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
5146         * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
5147         * testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
5148         * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
5149         * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
5150         * testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
5151         * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
5152         * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
5153         * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
5154         * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
5155         * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
5156         * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
5157         * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
5158         * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
5159         * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
5160         * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
5161         * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
5162         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
5163         Likewise.
5164         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
5165         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
5166         move_iterators/1.cc: Likewise.
5167         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
5168         move_iterators/1.cc: Likewise.
5169         * testsuite/20_util/temporary_buffer.cc: Likewise.
5170         * testsuite/20_util/time_point/1.cc: Likewise.
5171         * testsuite/20_util/time_point/2.cc: Likewise.
5172         * testsuite/20_util/time_point/3.cc: Likewise.
5173         * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
5174         * testsuite/20_util/tuple/48476.cc: Likewise.
5175         * testsuite/20_util/tuple/comparison_operators/comparisons.cc:
5176         Likewise.
5177         * testsuite/20_util/tuple/cons/allocators.cc: Likewise.
5178         * testsuite/20_util/tuple/cons/assignment.cc: Likewise.
5179         * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
5180         * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
5181         * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
5182         * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
5183         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
5184         * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
5185         Likewise.
5186         * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
5187         * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
5188         * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
5189         * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
5190         * testsuite/20_util/tuple/element_access/get.cc: Likewise.
5191         * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
5192         * testsuite/20_util/tuple/moveable.cc: Likewise.
5193         * testsuite/20_util/tuple/swap.cc: Likewise.
5194         * testsuite/20_util/tuple/tuple_size.cc: Likewise.
5195         * testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
5196         * testsuite/20_util/typeindex/hash.cc: Likewise.
5197         * testsuite/20_util/typeindex/hash_code.cc: Likewise.
5198         * testsuite/20_util/typeindex/name.cc: Likewise.
5199         * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
5200         * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
5201         * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
5202         * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
5203         * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
5204         * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
5205         * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
5206         * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
5207         * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
5208         * testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
5209         * testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
5210         * testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
5211         * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
5212         * testsuite/20_util/unique_ptr/specialized_algorithms/
5213         comparisons.cc: Likewise.
5214         * testsuite/20_util/unique_ptr/specialized_algorithms/
5215         comparisons_array.cc: Likewise.
5216         * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
5217         Likewise.
5218         * testsuite/20_util/uses_allocator/construction.cc: Likewise.
5219         * testsuite/20_util/uses_allocator/value.cc: Likewise.
5220         * testsuite/20_util/variant/run.cc: Likewise.
5221         * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
5222         * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
5223         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
5224         Likewise.
5225         * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
5226         * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
5227         Likewise.
5228         * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
5229         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
5230         Likewise.
5231         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
5232         Likewise.
5233         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
5234         Likewise.
5235         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
5236         Likewise.
5237         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
5238         Likewise.
5239         * testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
5240         * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
5241         * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
5242         * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
5243         * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
5244         Likewise.
5245         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
5246         * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
5247         Likewise.
5248         * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
5249         * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
5250         Likewise.
5251         * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
5252         * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
5253         * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
5254         * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
5255         * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
5256         * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
5257         * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
5258         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
5259         * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
5260         * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
5261         * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
5262         * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
5263         * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
5264         * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
5265         * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
5266         * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
5267         * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
5268         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
5269         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
5270         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
5271         * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
5272         * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
5273         Likewise.
5274         * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
5275         * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
5276         * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
5277         * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
5278         * testsuite/21_strings/basic_string/element_access/char/58163.cc:
5279         Likewise.
5280         * testsuite/21_strings/basic_string/element_access/char/empty.cc:
5281         Likewise.
5282         * testsuite/21_strings/basic_string/element_access/char/front_back.cc:
5283         Likewise.
5284         * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
5285         Likewise.
5286         * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
5287         Likewise.
5288         * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
5289         Likewise.
5290         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
5291         Likewise.
5292         * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
5293         Likewise.
5294         * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
5295         Likewise.
5296         * testsuite/21_strings/basic_string/element_access/wchar_t/
5297         front_back.cc: Likewise.
5298         * testsuite/21_strings/basic_string/init-list.cc: Likewise.
5299         * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
5300         Likewise.
5301         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
5302         Likewise.
5303         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
5304         Likewise.
5305         * testsuite/21_strings/basic_string/inserters_extractors/char/
5306         28277.cc: Likewise.
5307         * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
5308         Likewise.
5309         * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
5310         Likewise.
5311         * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
5312         Likewise.
5313         * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
5314         Likewise.
5315         * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
5316         Likewise.
5317         * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
5318         Likewise.
5319         * testsuite/21_strings/basic_string/inserters_extractors/pod/
5320         10081-in.cc: Likewise.
5321         * testsuite/21_strings/basic_string/inserters_extractors/pod/
5322         10081-out.cc: Likewise.
5323         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
5324         Likewise.
5325         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
5326         10.cc: Likewise.
5327         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
5328         11.cc: Likewise.
5329         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
5330         28277.cc: Likewise.
5331         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
5332         Likewise.
5333         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
5334         Likewise.
5335         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
5336         Likewise.
5337         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
5338         Likewise.
5339         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
5340         Likewise.
5341         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
5342         Likewise.
5343         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
5344         Likewise.
5345         * testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
5346         Likewise.
5347         * testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
5348         Likewise.
5349         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
5350         Likewise.
5351         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
5352         Likewise.
5353         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
5354         Likewise.
5355         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
5356         Likewise.
5357         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
5358         Likewise.
5359         * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
5360         Likewise.
5361         * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
5362         Likewise.
5363         * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
5364         Likewise.
5365         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
5366         Likewise.
5367         * testsuite/21_strings/basic_string/modifiers/assign/char/
5368         move_assign.cc: Likewise.
5369         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
5370         Likewise.
5371         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
5372         Likewise.
5373         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
5374         Likewise.
5375         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
5376         Likewise.
5377         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
5378         move_assign.cc: Likewise.
5379         * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
5380         Likewise.
5381         * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
5382         Likewise.
5383         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
5384         Likewise.
5385         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
5386         Likewise.
5387         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
5388         Likewise.
5389         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
5390         Likewise.
5391         * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
5392         Likewise.
5393         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
5394         Likewise.
5395         * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
5396         Likewise.
5397         * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
5398         Likewise.
5399         * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
5400         Likewise.
5401         * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
5402         Likewise.
5403         * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
5404         Likewise.
5405         * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
5406         Likewise.
5407         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
5408         Likewise.
5409         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
5410         Likewise.
5411         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
5412         Likewise.
5413         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
5414         Likewise.
5415         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
5416         Likewise.
5417         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
5418         Likewise.
5419         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
5420         Likewise.
5421         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
5422         Likewise.
5423         * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
5424         Likewise.
5425         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
5426         Likewise.
5427         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
5428         Likewise.
5429         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
5430         Likewise.
5431         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
5432         Likewise.
5433         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
5434         Likewise.
5435         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
5436         Likewise.
5437         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
5438         Likewise.
5439         * testsuite/21_strings/basic_string/numeric_conversions/char/
5440         stoull.cc: Likewise.
5441         * testsuite/21_strings/basic_string/numeric_conversions/char/
5442         to_string.cc: Likewise.
5443         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5444         dr1261.cc: Likewise.
5445         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5446         stod.cc: Likewise.
5447         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5448         stof.cc: Likewise.
5449         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5450         stoi.cc: Likewise.
5451         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5452         stol.cc: Likewise.
5453         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5454         stold.cc: Likewise.
5455         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5456         stoll.cc: Likewise.
5457         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5458         stoul.cc: Likewise.
5459         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5460         stoull.cc: Likewise.
5461         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5462         to_wstring.cc: Likewise.
5463         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
5464         Likewise.
5465         * testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
5466         Likewise.
5467         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
5468         Likewise.
5469         * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
5470         Likewise.
5471         * testsuite/21_strings/basic_string/operations/compare/wchar_t/
5472         13650.cc: Likewise.
5473         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
5474         Likewise.
5475         * testsuite/21_strings/basic_string/operations/data/char/1.cc:
5476         Likewise.
5477         * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
5478         Likewise.
5479         * testsuite/21_strings/basic_string/operations/find/char/1.cc:
5480         Likewise.
5481         * testsuite/21_strings/basic_string/operations/find/char/2.cc:
5482         Likewise.
5483         * testsuite/21_strings/basic_string/operations/find/char/3.cc:
5484         Likewise.
5485         * testsuite/21_strings/basic_string/operations/find/char/4.cc:
5486         Likewise.
5487         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
5488         Likewise.
5489         * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
5490         Likewise.
5491         * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
5492         Likewise.
5493         * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
5494         Likewise.
5495         * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
5496         Likewise.
5497         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
5498         Likewise.
5499         * testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
5500         Likewise.
5501         * testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
5502         Likewise.
5503         * testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
5504         Likewise.
5505         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
5506         Likewise.
5507         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
5508         Likewise.
5509         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
5510         Likewise.
5511         * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
5512         Likewise.
5513         * testsuite/21_strings/basic_string/operations/substr/wchar_t/
5514         1.cc: Likewise.
5515         * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
5516         * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
5517         * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
5518         * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
5519         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
5520         * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
5521         * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
5522         * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
5523         * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
5524         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
5525         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
5526         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
5527         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
5528         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
5529         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
5530         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
5531         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
5532         * testsuite/21_strings/basic_string_view/element_access/char/
5533         1.cc: Likewise.
5534         * testsuite/21_strings/basic_string_view/element_access/char/
5535         empty.cc: Likewise.
5536         * testsuite/21_strings/basic_string_view/element_access/char/
5537         front_back.cc: Likewise.
5538         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5539         1.cc: Likewise.
5540         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5541         empty.cc: Likewise.
5542         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5543         front_back.cc: Likewise.
5544         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
5545         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
5546         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
5547         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
5548         Likewise.
5549         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
5550         Likewise.
5551         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
5552         Likewise.
5553         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
5554         Likewise.
5555         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5556         char/1.cc: Likewise.
5557         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5558         wchar_t/1.cc: Likewise.
5559         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5560         char/1.cc: Likewise.
5561         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5562         wchar_t/1.cc: Likewise.
5563         * testsuite/21_strings/basic_string_view/operations/compare/char/
5564         1.cc: Likewise.
5565         * testsuite/21_strings/basic_string_view/operations/compare/char/
5566         13650.cc: Likewise.
5567         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5568         1.cc: Likewise.
5569         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5570         13650.cc: Likewise.
5571         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
5572         Likewise.
5573         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
5574         Likewise.
5575         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
5576         Likewise.
5577         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
5578         Likewise.
5579         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
5580         Likewise.
5581         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
5582         Likewise.
5583         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
5584         Likewise.
5585         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
5586         Likewise.
5587         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5588         1.cc: Likewise.
5589         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5590         2.cc: Likewise.
5591         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5592         3.cc: Likewise.
5593         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5594         4.cc: Likewise.
5595         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5596         1.cc: Likewise.
5597         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5598         2.cc: Likewise.
5599         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5600         3.cc: Likewise.
5601         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5602         1.cc: Likewise.
5603         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5604         2.cc: Likewise.
5605         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5606         3.cc: Likewise.
5607         * testsuite/21_strings/basic_string_view/operations/string_conversion/
5608         1.cc: Likewise.
5609         * testsuite/21_strings/basic_string_view/operations/substr/char/
5610         1.cc: Likewise.
5611         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
5612         1.cc: Likewise.
5613         * testsuite/21_strings/basic_string_view/operators/char/2.cc:
5614         Likewise.
5615         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
5616         Likewise.
5617         * testsuite/21_strings/c_strings/char/1.cc: Likewise.
5618         * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
5619         * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
5620         * testsuite/21_strings/char_traits/requirements/char/57704.cc:
5621         Likewise.
5622         * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
5623         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
5624
5625         * doc/xml/manual/test.xml: Fix typo.
5626
5627 2016-10-12  Jonathan Wakely  <jwakely@redhat.com>
5628
5629         * doc/xml/manual/status_cxx2017.xml: Add std::sample status.
5630         * doc/html/*: Regenerate.
5631         * include/experimental/algorithm (__sample): Move to bits/stl_algo.h
5632         and into namespace std.
5633         * include/bits/stl_algo.h (__sample): Define here. Fix invalid use
5634         of input iterator. Defend against overloaded comma operator.
5635         (sample): Define for C++17.
5636         * testsuite/25_algorithms/sample/1.cc: New test.
5637
5638         * testsuite/util/testsuite_common_types.h
5639         (bitwise_assignment_operators): Use direct-initialization for C++11
5640         and later, to avoid CopyConstructible requirement.
5641         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
5642         line numbers.
5643         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
5644         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
5645         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
5646         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
5647         Adjust expected errors and line numbers.
5648
5649         * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
5650         (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
5651
5652         * include/bits/stl_uninitialized.h
5653         (__uninitialized_default_novalue_n_1<true>): Add missing return.
5654         * testsuite/20_util/specialized_algorithms/memory_management_tools/
5655         1.cc: Check return values of uninitialized_xxx_n algorithms.
5656
5657         * libsupc++/nested_exception.h (throw_with_nested): Remove return.
5658
5659         * doc/xml/manual/intro.xml: Document LWG 2442 status.
5660         * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
5661         [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
5662         partial specialization to unpack args and forward to std::invoke.
5663         (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
5664         instead of __bind_simple and __once_call_impl.
5665         (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
5666         __bind_simple.
5667         * testsuite/30_threads/call_once/dr2442.cc: New test.
5668
5669 2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
5670
5671         * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
5672         _M_assign_dispatch directly with correct tag.
5673
5674         * doc/xml/manual/intro.xml: Document LWG 2484 status.
5675         * libsupc++/nested_exception.h (_Throw_with_nested_impl)
5676         (_Throw_with_nested_helper): Remove.
5677         (__throw_with_nested_impl): New overloaded functions to implement
5678         throw_with_nested logic.
5679         (throw_with_nested): Call __throw_with_nested_impl.
5680         (_Rethrow_if_nested_impl): Remove
5681         (__rethrow_if_nested_impl): New overloaded functions to implement
5682         rethrow_if_nested logic.
5683         (rethrow_if_nested): Call __rethrow_if_nested_impl.
5684         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
5685         problem cases from LWG 2484.
5686
5687         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
5688         Register printer for std::__cxx11::list.
5689         * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
5690         std::__cxx11::list as well as std::list.
5691
5692         * include/experimental/string_view (basic_string_view::_S_compare):
5693         Remove redundant const from return type.
5694         * include/std/string_view (basic_string_view:_S_compare): Likewise.
5695
5696         * include/bits/std_mutex.h (mutex::native_handle)
5697         (lock_guard(mutex_type&, adopt_lock_t)
5698         (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
5699         * include/std/mutex (recursive_mutex, timed_mutex)
5700         (recursive_timed_mutex): Likewise.
5701
5702 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5703
5704         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5705         Replace <literallayout> with nested <variablelist> elements. Update
5706         some more outdated text.
5707         * doc/html/*: Regenerate.
5708
5709 2016-10-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
5710
5711         Make any's copy assignment operator exception-safe,
5712         don't copy the underlying value when any is moved,
5713         make in_place constructors explicit.
5714         * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
5715         Make explicit.
5716         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
5717         Likewise.
5718         (operator=(const any&)): Make strongly exception-safe.
5719         (operator=(any&&)): reset() unconditionally in the case where
5720         rhs has a value.
5721         (operator=(_ValueType&&)): Indent the return type.
5722         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
5723         * testsuite/20_util/any/assign/2.cc: Adjust.
5724         * testsuite/20_util/any/assign/exception.cc: New.
5725         * testsuite/20_util/any/cons/2.cc: Adjust.
5726         * testsuite/20_util/any/cons/explicit.cc: New.
5727         * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
5728
5729 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5730
5731         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5732         Describe other subdirectories and add markup. Remove outdated
5733         reference to check-script target.
5734         * doc/html/*: Regenerate.
5735
5736         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
5737
5738         * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
5739         with noexcept.
5740
5741         * include/std/functional (_Bind_result::__enable_if_void): Use alias
5742         template instead of class template.
5743         (_Bind_result::__disable_if_void): Likewise.
5744         (_Bind_result::__call): Adjust uses of __enable_if_void and
5745         __disable_if_void.
5746
5747         * doc/xml/manual/intro.xml: Document DR 2296 status.
5748         * doc/xml/manual/status_cxx2017.xml: Update status.
5749         * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
5750         call __builtin_addressof.
5751         (addressof): Add _GLIBCXX17_CONSTEXPR.
5752         * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
5753         * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
5754         * testsuite/20_util/forward/f_neg.cc: Likewise.
5755
5756         * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
5757         * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
5758         is_always_equal.
5759         * testsuite/util/testsuite_allocator.h
5760         (uneq_allocator::is_always_equal): Define as false_type.
5761
5762         * include/experimental/numeric (gcd, lcm): Make bool arguments
5763         ill-formed.
5764         * include/std/numeric (gcd, lcm): Likewise.
5765         * testsuite/26_numerics/gcd/gcd_neg.cc: New test.
5766         * testsuite/26_numerics/lcm/lcm_neg.cc: New test.
5767
5768         * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
5769         Add noexcept.
5770         * include/bits/shared_ptr_base.h
5771         (__enable_shared_from_this::weak_from_this): Likewise.
5772         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
5773         Test exception-specification of weak_from_this.
5774
5775 2016-10-07  Jonathan Wakely  <jwakely@redhat.com>
5776
5777         * doc/xml/manual/status_cxx1998.xml: Improve documentation of
5778         implementation-defined properties.
5779         * doc/xml/manual/status_cxx2011.xml: Likewise.
5780         * doc/xml/manual/status_cxx2017.xml: Likewise.
5781
5782         * doc/xml/manual/status_cxx2017.xml: Update status.
5783         * include/std/type_traits (has_unique_object_representations): Define.
5784         * testsuite/20_util/has_unique_object_representations/value.cc: New.
5785         * testsuite/20_util/has_unique_object_representations/requirements/
5786         explicit_instantiation.cc: New.
5787         * testsuite/20_util/has_unique_object_representations/requirements/
5788         typedefs.cc: New.
5789
5790 2016-10-06  Jonathan Wakely  <jwakely@redhat.com>
5791
5792         * doc/xml/manual/status_cxx2011.xml: Update status.
5793         * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
5794         New helpers for recursive OUTERMOST.
5795         (__outermost): Use __outermost_type::_S_outermost.
5796         (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
5797         (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
5798         __outermost_type helper.
5799         (scoped_allocator_adaptor::_Constructible): New alias template.
5800         (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
5801         Constrain template constructors.
5802         * testsuite/20_util/scoped_allocator/3.cc: New test.
5803         * testsuite/20_util/scoped_allocator/outermost.cc: New test.
5804
5805 2016-10-05  Jonathan Wakely  <jwakely@redhat.com>
5806
5807         PR libstdc++/70564
5808         * testsuite/20_util/not_fn/1.cc: Fix test.
5809         * testsuite/experimental/functional/not_fn.cc: Likewise.
5810
5811         PR libstdc++/70101
5812         * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
5813         constructors.
5814         * testsuite/23_containers/priority_queue/allocator.cc: New test.
5815
5816         PR libstdc++/77864
5817         * include/bits/stl_map.h (map::map()): Use nothrow constructibility
5818         of comparison function in conditional noexcept.
5819         * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
5820         * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
5821         * include/bits/stl_set.h (set::set()): Likewise.
5822         * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
5823         New test.
5824         * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
5825         Likewise.
5826         * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
5827         Likewise.
5828         * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
5829         Likewise.
5830
5831         * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
5832         alias declaration.
5833
5834         PR libstdc++/70564
5835         * include/experimental/functional (_Not_fn): Remove.
5836         (not_fn): Use std::_Not_fn.
5837         * include/std/functional (_Not_fn): Add second parameter to
5838         disambiguate copying from initialization by not_fn. Define for C++14.
5839         (not_fn): Add second argument to initialization.
5840         * testsuite/20_util/not_fn/1.cc: Copy call wrapper using
5841         direct-initialization.
5842
5843 2016-10-03  François Dumont  <fdumont@gcc.gnu.org>
5844
5845         * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
5846         declaration...
5847         * src/c++11/mutex_pool.h: ... here. New.
5848         * src/c++11/debug.cc: Use latter.
5849
5850 2016-10-03  Jonathan Wakely  <jwakely@redhat.com>
5851
5852         * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
5853         * doc/html/*: Regenerate.
5854         * include/experimental/numeric (__abs): Move to <numeric>.
5855         (gcd, lcm): Use __detail::gcd and __detail::lcm.
5856         * include/std/numeric (__detail::__abs_integral)
5857         (__detail::__gcd, __detail::__lcm): Define.
5858         (gcd, lcm): Define for C++17.
5859         * testsuite/26_numerics/gcd/1.cc: New test.
5860         * testsuite/26_numerics/lcm/1.cc: New test.
5861         * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
5862         * testsuite/experimental/numeric/lcd.cc: ... this.
5863
5864         PR libstdc++/68323
5865         PR libstdc++/77794
5866         * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
5867         __cxa_thread_atexit and __gnu_cxx::__freeres.
5868         * include/Makefile.am: Add <experimental/bits/lfts_config.h>
5869         * include/Makefile.in: Regenerate.
5870         * include.bits/basic_string.h: Fix nesting of versioned namespaces.
5871         * include/bits/c++config: Declare versioned namespaces for literals.
5872         * include/bits/regex.h (basic_regex, match_results): Add workarounds
5873         for PR c++/59256.
5874         * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
5875         * include/std/chrono: Likewise.
5876         * include/std/complex: Likewise.
5877         * include/std/string_view: Likewise.
5878         * include/std/variant: Likewise. Add workaround for PR c++/59256.
5879         * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
5880         * include/experimental/bits/lfts_config.h: Declare versioned
5881         namespaces.
5882         * include/experimental/algorithm: Include
5883         <experimental/bits/lfts_config.h>.
5884         * include/experimental/any: Likewise.
5885         * include/experimental/bits/erase_if.h: Likewise.
5886         * include/experimental/chrono: Likewise.
5887         * include/experimental/functional: Likewise.
5888         * include/experimental/memory_resource: Likewise.
5889         * include/experimental/optional: Likewise.
5890         * include/experimental/propagate_const: Likewise.
5891         * include/experimental/random: Likewise.
5892         * include/experimental/ratio: Likewise.
5893         * include/experimental/system_error: Likewise.
5894         * include/experimental/tuple: Likewise.
5895         * include/experimental/type_traits: Likewise.
5896         * include/experimental/utility: Likewise.
5897         * include/experimental/string_view: Likewise. Fix nesting of
5898         versioned namespaces.
5899         * include/experimental/bits/string_view.tcc: Reopen inline namespace
5900         for non-inline function definitions.
5901         * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
5902         * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
5903         * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
5904         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
5905         Likewise.
5906         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
5907         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
5908         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
5909         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
5910         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
5911         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
5912
5913         PR libstdc++/77814
5914         * include/bits/std_abs.h: Use "C++" language linkage.
5915         * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
5916         the end. Add <stdalign.h>.
5917
5918 2016-10-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
5919
5920         PR libstdc++/77802
5921         * testsuite/20_util/tuple/77802.cc: New.
5922
5923         Revert:
5924         2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5925         Implement LWG 2729 for tuple.
5926         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5927         Suppress conditionally.
5928         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5929         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5930         (_Tuple_impl(const _Head&)): Constrain.
5931         (_Tuple_impl(_UHead&&)): Likewise.
5932         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5933         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5934         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5935         (operator=(const tuple&)): Enable conditionally.
5936         (operator=(tuple&&)): Suppress conditionally.
5937         (operator=(const tuple<_UElements...>&)): Constrain.
5938         (operator=(tuple<_UElements...>&&)): Likewise.
5939         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5940         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5941         (operator=(const tuple<_U1, _U2>&)): Constrain.
5942         (operator=(tuple<_U1, _U2>&&)): Likewise.
5943         (operator=(const pair<_U1, _U2>&)): Likewise.
5944         (operator=(pair<_U1, _U2>&&)): Likewise.
5945         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5946         * testsuite/20_util/tuple/tuple_traits.cc: New.
5947
5948 2016-09-30  Jonathan Wakely  <jwakely@redhat.com>
5949
5950         PR libstdc++/77795
5951         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
5952         for gets.
5953         * config.h.in: Regenerate.
5954         * configure: Regenerate.
5955         * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
5956         for C++98 and C++11.
5957         * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
5958         * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
5959
5960         * doc/xml/manual/intro.xml: Document LWG 2192 changes.
5961         * doc/html/*: Regenerate.
5962         * include/Makefile.am: Add bits/std_abs.h.
5963         * include/Makefile.in: Regenerate.
5964         * include/bits/std_abs.h: New header defining all required overloads
5965         of std::abs in one place (LWG 2294).
5966         * include/c_global/cmath (abs(double), abs(float), abs(long double)):
5967         Move to bits/std_abs.h.
5968         (abs<_Tp>(_Tp)): Remove.
5969         * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
5970         Move to bits/std_abs.h.
5971         * testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
5972         * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
5973         * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
5974         * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.
5975
5976         PR libstdc++/77801
5977         * include/experimental/numeric: Include <numeric>.
5978         (__abs): Define.
5979         (gcd, lcm): Use __abs instead of std::abs.
5980         * testsuite/experimental/numeric/77801.cc: New test.
5981         * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
5982         * testsuite/experimental/numeric/lcm.cc: Likewise.
5983
5984 2016-09-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
5985
5986         Make optional::reset noexcept, make optional::value
5987         work in constant expressions.
5988         * include/std/optional (_M_get): Make constexpr.
5989         (reset): Make noexcept.
5990         * testsuite/20_util/optional/assignment/7.cc: New.
5991         * testsuite/20_util/optional/observers/6.cc: New.
5992
5993 2016-09-29  Jonathan Wakely  <jwakely@redhat.com>
5994
5995         * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
5996         outside _GLIBCXX_USE_C99_MATH_TR1 condition.
5997
5998 2016-09-29  Alan Modra  <amodra@gmail.com>
5999
6000         * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
6001         * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
6002         Use LONG_DOUBLE_COMPAT_FLAGS.
6003         * Makefile.in: Regenerate.
6004         * configure: Regenerate.
6005         * doc/Makefile.in: Regenerate.
6006         * include/Makefile.in: Regenerate.
6007         * libsupc++/Makefile.in: Regenerate.
6008         * po/Makefile.in: Regenerate.
6009         * python/Makefile.in: Regenerate.
6010         * src/Makefile.in: Regenerate.
6011         * src/c++11/Makefile.in: Regenerate.
6012         * src/c++98/Makefile.in: Regenerate.
6013         * src/filesystem/Makefile.in: Regenerate.
6014         * testsuite/Makefile.in: Regenerate.
6015
6016 2016-09-28  Jonathan Wakely  <jwakely@redhat.com>
6017
6018         * include/std/chrono (system_clock): Fix typo in comment.
6019
6020         * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
6021         definition.
6022         * src/filesystem/ops.cc (file_time): Take error_code parameter and
6023         check for overflow.
6024         (do_copy_file, last_write_time): Pass error_code in file_time calls.
6025         * testsuite/experimental/filesystem/operations/last_write_time.cc:
6026         New.
6027         * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
6028
6029         PR libstdc++/77686
6030         * include/std/functional (_Any_data): Add may_alias attribute.
6031
6032 2016-09-27  Jonathan Wakely  <jwakely@redhat.com>
6033
6034         * doc/xml/manual/status_cxx2017.xml: Update status.
6035         * doc/html/*: Regenerate.
6036         * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
6037         * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
6038
6039         * doc/xml/manual/status_cxx2017.xml: Update status.
6040         * include/c_global/cmath (hypot): Add three-dimensional overloads.
6041         * testsuite/26_numerics/headers/cmath/hypot.cc: New.
6042
6043 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
6044
6045         PR libstdc++/77727
6046         * include/std/optional (optional(const optional<_Up>&)):
6047         Default-initialize the base and use emplace.
6048         (optional(optional<_Up>&&)): Likewise.
6049         * testsuite/20_util/optional/cons/77727.cc: New.
6050
6051 2016-09-26  François Dumont  <fdumont@gcc.gnu.org>
6052
6053         * include/debug/safe_base.h
6054         (_Safe_iterator_base::_M_detach_single): Make public.
6055
6056 2016-09-26  Jonathan Wakely  <jwakely@redhat.com>
6057
6058         * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
6059         redefine macro defined in <bits/stl_iterator.h>.
6060
6061         * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
6062         iterator is not past-the-end.
6063         * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
6064         Likewise.
6065         * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
6066         Likewise.
6067         * include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
6068         * include/bits/unordered_map.h (unordered_map::extract(const_iterator))
6069         (unordered_multimap::extract(const_iterator)): Likewise.
6070         * include/bits/unordered_set.h (unordered_set::extract(const_iterator))
6071         (unordered_multiset::extract(const_iterator)): Likewise.
6072
6073 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
6074
6075         PR libstdc++/77717
6076         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
6077         Fix an out-of-bounds access.
6078
6079 2016-09-26  Marek Polacek  <polacek@redhat.com>
6080
6081         PR c/7652
6082         * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
6083
6084 2016-09-25  François Dumont  <fdumont@gcc.gnu.org>
6085
6086         * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
6087         functional.
6088         (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
6089         * testsuite/23_containers/vector/debug/mutex_association.cc: New.
6090
6091         * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
6092         bitset*)): Remove __unused__ attribute.
6093         * include/debug/safe_base.h (_Safe_iterator_base): Make
6094         _Safe_sequence_base a friend.
6095         (_Safe_iterator_base::_M_attach): Make protected.
6096         (_Safe_iterator_base::_M_attach_single): Likewise.
6097         (_Safe_iterator_base::_M_detach): Likewise.
6098         (_Safe_iterator_base::_M_detach_single): Likewise.
6099         (_Safe_sequence_base): Make _Safe_iterator_base a friend.
6100         (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
6101         (_Safe_sequence_base::_M_swap): Make protected.
6102         (_Safe_sequence_base::_M_attach): Make private.
6103         (_Safe_sequence_base::_M_attach_single): Likewise.
6104         (_Safe_sequence_base::_M_detach): Likewise.
6105         (_Safe_sequence_base::_M_detach_single): Likewise.
6106         * include/debug/safe_container.h
6107         (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
6108         * include/debug/safe_iterator.h
6109         (_Safe_iterator::operator++()): Name __scoped_lock instance.
6110         * include/debug/safe_iterator.tcc: Remove trailing line.
6111         * include/debug/safe_unordered_base.h
6112         (_Safe_local_iterator_base::_M_attach): Make protected.
6113         (_Safe_local_iterator_base::_M_attach_single): Likewise.
6114         (_Safe_local_iterator_base::_M_detach): Likewise.
6115         (_Safe_local_iterator_base::_M_detach_single): Likewise.
6116         (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
6117         (_Safe_unordered_container_base::_M_attach_local): Make private.
6118         (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
6119         (_Safe_unordered_container_base::_M_detach_local): Likewise.
6120         (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
6121
6122         * include/parallel/algo.h: Generalize usage of std::__iterator_category.
6123         Adjust whitespaces.
6124
6125 2016-09-23  Jonathan Wakely  <jwakely@redhat.com>
6126
6127         PR libstdc++/56166
6128         PR libstdc++/77582
6129         * include/bits/basic_string.h (basic_string::clear()): Drop reference
6130         and use empty rep.
6131         * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
6132         Likewise.
6133         * testsuite/21_strings/basic_string/56166.cc: New.
6134         * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
6135
6136         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
6137         (basic_string::erase(size_type, size_type)): Add fast path for
6138         truncating the string, by calling _M_set_length directly.
6139         (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
6140         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
6141         (basic_string::resize(size_type, _CharT)): Likewise.
6142
6143 2016-09-22  Jason Merrill  <jason@redhat.com>
6144
6145         * configure.ac: Define HAVE_MEMALIGN for newlib.
6146
6147 2015-09-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6148
6149         * config/cpu/m68k/atomicity.h: Adjust comment.
6150         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
6151         explicit atomicity_dir setup via configure.host.
6152         * configure.host (rtems-*): Set atomicity_dir.
6153         * configure: Regenerate.
6154
6155 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
6156
6157         Implement C++17 node extraction and insertion (P0083R5)
6158         * doc/xml/manual/status_cxx2017.xml: Document status.
6159         * doc/html/*: Regenerate.
6160         * include/Makefile.am: Add bits/node_handle.h and reorder.
6161         * include/Makefile.in: Regenerate.
6162         * include/bits/hashtable.h (_Hashtable::node_type)
6163         (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
6164         (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
6165         (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
6166         (_Hash_merge_helper): Define primary template.
6167         * include/bits/node_handle.h: New header.
6168         * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
6169         friend.
6170         (map::node_type, map::insert_return_type, map::extract, map::merge)
6171         (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
6172         Define new members.
6173         (_Rb_tree_merge_helper): Specialize for map.
6174         * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
6175         as friend.
6176         (multimap::node_type, multimap::extract, multimap::merge)
6177         (multimap::insert(node_type&&))
6178         (multimap::insert(const_iterator, node_type&&)): Define.
6179         (_Rb_tree_merge_helper): Specialize for multimap.
6180         * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
6181         as friend.
6182         (multiset::node_type, multiset::extract, multiset::merge)
6183         (multiset::insert(node_type&&))
6184         (multiset::insert(const_iterator, node_type&&)): Define.
6185         * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
6186         friend.
6187         (set::node_type, set::insert_return_type, set::extract, set::merge)
6188         (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
6189         Define.
6190         (_Rb_tree_merge_helper): Specialize for set.
6191         * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
6192         (_Rb_tree::node_type, _Rb_tree::insert_return_type)
6193         (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
6194         (_Rb_tree::_M_reinsert_node_hint_unique)
6195         (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
6196         (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
6197         (_Rb_tree_merge_helper): Specialize for multiset.
6198         * include/bits/unordered_map.h (unordered_map): Declare
6199         unordered_map<> and unordered_multimap<> as friends.
6200         (unordered_map::node_type, unordered_map::insert_return_type)
6201         (unordered_map::extract, unordered_map::merge)
6202         (unordered_map::insert(node_type&&))
6203         (unordered_map::insert(const_iterator, node_type&&))
6204         (unordered_multimap): Declare _Hash_merge_helper as friend.
6205         (unordered_multimap::node_type, unordered_multimap::extract)
6206         (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
6207         (unordered_multimap::insert(const_iterator, node_type&&)): Define.
6208         (_Hash_merge_helper): Specialize for unordered maps and multimaps.
6209         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
6210         Declare _Hash_merge_helper as friend.
6211         (unordered_set::node_type, unordered_set::insert_return_type)
6212         (unordered_set::extract, unordered_set::merge)
6213         (unordered_set::insert(node_type&&))
6214         (unordered_set::insert(const_iterator, node_type&&)): Define.
6215         (unordered_multiset::node_type, unordered_multiset::extract)
6216         (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
6217         (unordered_multiset::insert(const_iterator, node_type&&)): Define.
6218         (_Hash_merge_helper): Specialize for unordered sets and multisets.
6219         * include/debug/map.h (map): Add using declarations or forwarding
6220         functions for new members.
6221         * include/debug/map.h (multimap): Likewise.
6222         * include/debug/map.h (multiset): Likewise.
6223         * include/debug/map.h (set): Likewise.
6224         * include/debug/unordered_map (unordered_map, unordered_multimap):
6225         Likewise.
6226         * include/debug/unordered_set( unordered_set, unordered_multiset):
6227         Likewise.
6228         * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
6229         helper function.
6230         (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
6231         (StdNodeHandlePrinter): Define printer for node handles.
6232         (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
6233         * testsuite/23_containers/map/modifiers/extract.cc: New.
6234         * testsuite/23_containers/map/modifiers/merge.cc: New.
6235         * testsuite/23_containers/multimap/modifiers/extract.cc: New.
6236         * testsuite/23_containers/multimap/modifiers/merge.cc: New.
6237         * testsuite/23_containers/multiset/modifiers/extract.cc: New.
6238         * testsuite/23_containers/multiset/modifiers/merge.cc: New.
6239         * testsuite/23_containers/set/modifiers/extract.cc: New.
6240         * testsuite/23_containers/set/modifiers/merge.cc: New.
6241         * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
6242         * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
6243         * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
6244         New.
6245         * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
6246         * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
6247         New.
6248         * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
6249         * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
6250         * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
6251         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
6252         dg-error lineno.
6253         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
6254
6255 2016-09-22  Ville Voutilainen  <ville.voutilainen@gmail.com>
6256
6257         Fix tests on old arm platforms for optional.
6258         * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
6259
6260 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
6261
6262         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
6263         recent change to _Variant_storage.
6264         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
6265         reference type.
6266
6267         * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
6268         std::forward and ::new. Cast pointer to void*.
6269         * include/std/variant (_Variant_storage, _Union, _Variant_base)
6270         (__access, __visit_invoke, variant, visit): Qualify std::forward.
6271         * testsuite/20_util/variant/compile.cc: Test for ADL problems.
6272
6273 2016-09-22  Tim Shen  <timshen@google.com>
6274
6275         * include/std/variant (variant::operator=): Fix assignment
6276         on references.
6277         * testsuite/20_util/variant/compile.cc: Add test.
6278
6279 2016-09-22  Tim Shen  <timshen@google.com>
6280
6281         PR libstdc++/77641
6282         * include/std/variant (_Variant_storage::_Variant_storage):
6283         Change _Variant_storage's union to be default constructible.
6284         * testsuite/20_util/variant/compile.cc: New test.
6285
6286 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
6287
6288         PR libstdc++/77288
6289         * include/std/optional (__is_optional_impl, __is_optional): Remove.
6290         (__converts_from_optional, __assigns_from_optional): New.
6291         (optional(_Up&&)): Use is_same instead of __is_optional.
6292         (optional(const optional<_Up>&)): Constrain with
6293         __converts_from_optional.
6294         (optional(optional<_Up>&&)): Likewise.
6295         (operator=(_Up&&)): Use is_same instead of __is_optional, check
6296         is_same and is_scalar.
6297         (operator=(const optional<_Up>&)): Constrain with
6298         __converts_from_optional and __assigns_from_optional.
6299         (operator=(optional<_Up>&&)): Likewise.
6300         * testsuite/20_util/optional/77288.cc: New.
6301         * testsuite/20_util/optional/cons/value.cc: Adjust.
6302
6303 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
6304
6305         Implement LWG 2729 for tuple.
6306         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
6307         Suppress conditionally.
6308         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
6309         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
6310         (_Tuple_impl(const _Head&)): Constrain.
6311         (_Tuple_impl(_UHead&&)): Likewise.
6312         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
6313         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
6314         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
6315         (operator=(const tuple&)): Enable conditionally.
6316         (operator=(tuple&&)): Suppress conditionally.
6317         (operator=(const tuple<_UElements...>&)): Constrain.
6318         (operator=(tuple<_UElements...>&&)): Likewise.
6319         (operator=(const tuple&)): Enable conditionally (2-param tuple).
6320         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
6321         (operator=(const tuple<_U1, _U2>&)): Constrain.
6322         (operator=(tuple<_U1, _U2>&&)): Likewise.
6323         (operator=(const pair<_U1, _U2>&)): Likewise.
6324         (operator=(pair<_U1, _U2>&&)): Likewise.
6325         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
6326         * testsuite/20_util/tuple/tuple_traits.cc: New.
6327
6328 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
6329
6330         PR libstdc++/77537
6331         Implement LWG 2729 for pair.
6332         * include/bits/stl_pair.h (_PCC): New.
6333         (_ConstructiblePair, _ImplicitlyConvertiblePair):
6334         Turn into static member functions of _PCC.
6335         (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
6336         (_PCCP): New.
6337         (pair(const _T1&, const _T2&)): Adjust.
6338         (_PCCFP): New.
6339         (pair(const pair<_U1, _U2>&)): Adjust.
6340         (pair(_U1&&, const _T2&)): Likewise.
6341         (pair(const _T1&, _U2&&)): Likewise.
6342         (pair(_U1&&, _U2&&)): Likewise.
6343         (pair(pair<_U1, _U2>&&)): Likewise.
6344         (operator=(const pair&)): Make conditionally deleted.
6345         (operator=(pair&&)): Make conditionally suppressed.
6346         (operator=(const pair<_U1, _U2>&)): Constrain.
6347         (operator=(pair<_U1, _U2>&&): Likewise.
6348         * include/std/type_traits (__nonesuch): New.
6349         * testsuite/20_util/pair/traits.cc: New.
6350
6351 2016-09-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
6352
6353         PR libstdc++/77619
6354         * include/bits/stl_construct.h: (_Construct_novalue): New.
6355         (_Destroy_n_aux, _Destroy_n): New.
6356         * include/bits/stl_uninitialized.h: (type_traits):
6357         New include in C++11 mode.
6358         (__uninitialized_default_novalue_1): New.
6359         (__uninitialized_default_novalue_n_1): Likewise.
6360         (__uninitialized_default_novalue): Likewise.
6361         (__uninitialized_default_novalue_n): Likewise.
6362         (__uninitialized_copy_n_pair): Likewise.
6363         (uninitialized_default_construct):
6364         Use __uninitialized_default_novalue.
6365         (uninitialized_default_construct_n):
6366         Use __uninitialized_default_novalue_n.
6367         (uninitialized_value_construct): Use __uninitialized_default.
6368         (uninitialized_value_construct_n): Use __uninitialized_default_n.
6369         (uninitialized_move): Use uninitialized_copy.
6370         (uninitialized_move_n): Use __uninitialized_copy_n_pair.
6371         (destroy_at): Use _Destroy.
6372         (destroy): Likewise.
6373         (destroy_n): Likewise.
6374         * testsuite/20_util/specialized_algorithms/
6375         memory_management_tools/1.cc: Add tests for exceptions,
6376         add tests for trivial cases for construct and move.
6377
6378 2016-09-20  Jonathan Wakely  <jwakely@redhat.com>
6379
6380         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
6381         (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
6382
6383 2016-09-19  Jonathan Wakely  <jwakely@redhat.com>
6384
6385         PR libstdc++/77645
6386         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
6387         (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
6388         division to int to work with Python 3.
6389
6390         * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
6391
6392         * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
6393         display_hint to be set by subclasses.
6394         (StdVariantPrinter): Use array for display_hint. Adjust output to be
6395         more similar to std::any and std::optional output.
6396         (register_type_printers): Add type printers for basic_string_view
6397         typedefs and experimental::any. Adjust type printers for
6398         fundamentals_v1 templates to match fundamentals_v2 and later.
6399         * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
6400
6401         PR libstdc++/77645
6402         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
6403         argument.
6404         (ListWorkerBase.get_value_from_node): Define new method.
6405         (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
6406
6407 2016-09-17  Jonathan Wakely  <jwakely@redhat.com>
6408
6409         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
6410         (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
6411         Register for C++17 components in namespace std. Strip inline namespace
6412         from typename.
6413
6414 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
6415
6416         * doc/xml/manual/profile_mode.xml: Fix typo.
6417         * doc/html/manual/profile_mode_devel.html: Regenerate.
6418
6419 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
6420             Marc Glisse  <marc.glisse@inria.fr>
6421
6422         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
6423         (operator new(size_t, align_val_t)): Replace modulus operator with
6424         mask.
6425
6426 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
6427
6428         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
6429         Increase alignment if less than sizeof(void*).
6430         [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
6431         Increase size if not a multiple of alignment.
6432
6433 2016-09-15  Jonathan Wakely  <jwakely@redhat.com>
6434
6435         * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
6436         * doc/html/*: Regenerate.
6437
6438         * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
6439         -Wno-deprecated.
6440         * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
6441
6442 2016-09-14  Marek Polacek  <polacek@redhat.com>
6443
6444         * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
6445         -Wno-deprecated.
6446
6447 2016-09-14  Christophe Lyon  <christophe.lyon@linaro.org>
6448
6449         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
6450         Move dg-do directive before dg-skip.
6451         * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
6452         Move dg-do directive before dg-require.
6453         * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
6454         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
6455         * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
6456         * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
6457         * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
6458         * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
6459         * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
6460         * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
6461         * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
6462         * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
6463         * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
6464         * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
6465         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
6466         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
6467         * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
6468         Likewise.
6469         * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
6470         * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
6471         * testsuite/27_io/objects/char/12048-5.cc: Likewise.
6472         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
6473         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
6474
6475 2016-09-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
6476
6477         Implement P0040R3, Extending memory management tools.
6478         * include/bits/stl_uninitialized.h (utility): New include
6479         in C++17 mode.
6480         (uninitialized_default_construct): New.
6481         (uninitialized_default_construct_n): Likewise.
6482         (uninitialized_value_construct): Likewise.
6483         (uninitialized_value_construct_n): Likewise.
6484         (uninitialized_move): Likewise.
6485         (uninitialized_move_n): Likewise.
6486         (destroy_at, destroy, destroy_n): Likewise.
6487         * testsuite/20_util/specialized_algorithms/memory_management_tools/
6488         1.cc: New.
6489
6490 2016-09-12  Jason Merrill  <jason@redhat.com>
6491
6492         * config/abi/pre/gnu.ver: Use [jmy] for size_t.
6493
6494 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
6495
6496         Implement P0253R1, Fixing a design mistake in the searchers
6497         interface in Library Fundamentals.
6498         * include/std/functional: (utility): New include in C++17 mode.
6499         (default_searcher): Use a pair as return type, adjust the definition.
6500         (boyer_moore_searcher): Likewise.
6501         (boyer_moore_horspool_searcher): Likewise.
6502         * testsuite/20_util/function_objects/searchers.cc: Adjust.
6503
6504 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
6505
6506         Implement C++17 string searchers.
6507         * include/std/functional: (unordered_map, vector): New includes
6508         in C++17 mode.
6509         (array, bits/stl_algo.h): Likewise.
6510         (default_searcher, __boyer_moore_map_base): New.
6511         (__boyer_moore_array_base, __is_std_equal_to): Likewise.
6512         (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
6513         (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
6514         (make_boyer_moore_searcher): Likewise.
6515         (make_boyer_moore_horspool_searcher): Likewise.
6516         * testsuite/20_util/function_objects/searchers.cc: New.
6517
6518 2016-09-12  Matthew Wahab  <matthew.wahab@arm.com>
6519
6520         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
6521         Move dg-do directive before dg-require.
6522         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
6523         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
6524         Likewise.
6525         * testsuite/22_locale/codecvt/utf8.cc: Likewise.
6526         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
6527         * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
6528         * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
6529         * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
6530         * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
6531         * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
6532         * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
6533         * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
6534         * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
6535         * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
6536         * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
6537         * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
6538         Likewise.
6539         * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
6540         Likewise.
6541         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
6542         * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
6543         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
6544         Likewise.
6545         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
6546         Likewise.
6547         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
6548         Likewise.
6549         * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
6550         Likewise.
6551         * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
6552         Likewise.
6553         * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
6554         Likewise.
6555         * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
6556         Likewise.
6557         * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
6558         Likewise.
6559         * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
6560         Likewise.
6561         * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
6562         Likewise.
6563         * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
6564         Likewise.
6565         * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
6566         Likewise.
6567         * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
6568         Likewise.
6569         * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
6570         Likewise.
6571         * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
6572         Likewise.
6573         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
6574         Likewise.
6575         * testsuite/23_containers/forward_list/debug/
6576         iterator_self_move_assign_neg.cc: Likewise.
6577         * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
6578         Likewise.
6579         * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
6580         Likewise.
6581         * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
6582         Likewise.
6583         * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
6584         Likewise.
6585         * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
6586         Likewise.
6587         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
6588         Likewise.
6589         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
6590         Likewise.
6591         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
6592         Likewise.
6593         * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
6594         * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
6595         * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
6596         * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
6597         * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
6598         * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
6599         * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
6600         * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
6601         * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
6602         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
6603         * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
6604         Likewise.
6605         * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
6606         * testsuite/23_containers/map/debug/60499.cc: Likewise.
6607         * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
6608         * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
6609         * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
6610         * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
6611         * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
6612         * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
6613         * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
6614         Likewise.
6615         * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
6616         * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
6617         * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
6618         * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
6619         * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
6620         * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
6621         * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
6622         * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
6623         * testsuite/23_containers/multimap/debug/
6624         iterator_self_move_assign_neg.cc: Likewise.
6625         * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
6626         Likewise.
6627         * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
6628         * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
6629         * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
6630         * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
6631         * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
6632         * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
6633         * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
6634         * testsuite/23_containers/multiset/debug/
6635         iterator_self_move_assign_neg.cc: Likewise.
6636         * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
6637         Likewise.
6638         * testsuite/23_containers/set/debug/60499.cc: Likewise.
6639         * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
6640         * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
6641         * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
6642         * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
6643         * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
6644         * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
6645         * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
6646         Likewise.
6647         * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
6648         * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
6649         * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
6650         * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
6651         * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
6652         Likewise.
6653         * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
6654         * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
6655         * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
6656         Likewise.
6657         * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
6658         Likewise.
6659         * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
6660         Likewise.
6661         * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
6662         * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
6663         * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
6664         * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
6665         * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
6666         * testsuite/23_containers/unordered_map/debug/
6667         invalid_local_iterator_compare_neg.cc: Likewise.
6668         * testsuite/23_containers/unordered_map/debug/
6669         invalid_local_iterator_range_neg.cc: Likewise.
6670         * testsuite/23_containers/unordered_map/debug/
6671         iterator_self_move_assign_neg.cc: Likewise.
6672         * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
6673         Likewise.
6674         * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
6675         Likewise.
6676         * testsuite/23_containers/unordered_map/debug/
6677         use_erased_local_iterator_neg.cc: Likewise.
6678         * testsuite/23_containers/unordered_map/debug/
6679         use_invalid_iterator_neg.cc: Likewise.
6680         * testsuite/23_containers/unordered_map/debug/
6681         use_invalid_local_iterator_neg.cc: Likewise.
6682         * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
6683         * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
6684         Likewise.
6685         * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
6686         Likewise.
6687         * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
6688         Likewise.
6689         * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
6690         Likewise.
6691         * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
6692         Likewise.
6693         * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
6694         Likewise.
6695         * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
6696         Likewise.
6697         * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
6698         Likewise.
6699         * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
6700         Likewise.
6701         * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
6702         Likewise.
6703         * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
6704         Likewise.
6705         * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
6706         Likewise.
6707         * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
6708         Likewise.
6709         * testsuite/23_containers/unordered_multimap/debug/
6710         invalid_local_iterator_compare_neg.cc: Likewise.
6711         * testsuite/23_containers/unordered_multimap/debug/
6712         invalid_local_iterator_range_neg.cc: Likewise.
6713         * testsuite/23_containers/unordered_multimap/debug/
6714         iterator_self_move_assign_neg.cc: Likewise.
6715         * testsuite/23_containers/unordered_multimap/debug/
6716         max_load_factor_neg.cc: Likewise.
6717         * testsuite/23_containers/unordered_multimap/debug/
6718         self_move_assign_neg.cc: Likewise.
6719         * testsuite/23_containers/unordered_multimap/debug/
6720         use_erased_local_iterator_neg.cc: Likewise.
6721         * testsuite/23_containers/unordered_multimap/debug/
6722         use_invalid_iterator_neg.cc: Likewise.
6723         * testsuite/23_containers/unordered_multimap/debug/
6724         use_invalid_local_iterator_neg.cc: Likewise.
6725         * testsuite/23_containers/unordered_multiset/debug/60499.cc:
6726         Likewise.
6727         * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
6728         Likewise.
6729         * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
6730         Likewise.
6731         * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
6732         Likewise.
6733         * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
6734         Likewise.
6735         * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
6736         Likewise.
6737         * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
6738         Likewise.
6739         * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
6740         Likewise.
6741         * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
6742         Likewise.
6743         * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
6744         Likewise.
6745         * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
6746         Likewise.
6747         * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
6748         Likewise.
6749         * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
6750         Likewise.
6751         * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
6752         Likewise.
6753         * testsuite/23_containers/unordered_multiset/debug/
6754         invalid_local_iterator_compare_neg.cc: Likewise.
6755         * testsuite/23_containers/unordered_multiset/debug/
6756         invalid_local_iterator_range_neg.cc: Likewise.
6757         * testsuite/23_containers/unordered_multiset/debug/
6758         iterator_self_move_assign_neg.cc: Likewise.
6759         * testsuite/23_containers/unordered_multiset/debug/
6760         max_load_factor_neg.cc: Likewise.
6761         * testsuite/23_containers/unordered_multiset/debug/
6762         self_move_assign_neg.cc: Likewise.
6763         * testsuite/23_containers/unordered_multiset/debug/
6764         use_erased_local_iterator_neg.cc: Likewise.
6765         * testsuite/23_containers/unordered_multiset/debug/
6766         use_invalid_iterator_neg.cc: Likewise.
6767         * testsuite/23_containers/unordered_multiset/debug/
6768         use_invalid_local_iterator_neg.cc: Likewise.
6769         *  testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
6770         * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
6771         * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
6772         * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
6773         Likewise.
6774         * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
6775         * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
6776         * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
6777         Likewise.
6778         * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
6779         Likewise.
6780         * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
6781         Likewise.
6782         * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
6783         * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
6784         * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
6785         * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
6786         * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
6787         * testsuite/23_containers/unordered_set/debug/
6788         invalid_local_iterator_compare_neg.cc: Likewise.
6789         * testsuite/23_containers/unordered_set/debug/
6790         invalid_local_iterator_range_neg.cc: Likewise.
6791         * testsuite/23_containers/unordered_set/debug/
6792         iterator_self_move_assign_neg.cc: Likewise.
6793         * testsuite/23_containers/unordered_set/debug/
6794         max_load_factor_neg.cc: Likewise.
6795         * testsuite/23_containers/unordered_set/debug/
6796         self_move_assign_neg.cc: Likewise.
6797         * testsuite/23_containers/unordered_set/debug/
6798         use_erased_local_iterator_neg.cc: Likewise.
6799         * testsuite/23_containers/unordered_set/debug/
6800         use_invalid_iterator_neg.cc: Likewise.
6801         * testsuite/23_containers/unordered_set/debug/
6802         use_invalid_local_iterator_neg.cc: Likewise.
6803         * testsuite/23_containers/vector/debug/52433.cc: Likewise.
6804         * testsuite/23_containers/vector/debug/60499.cc: Likewise.
6805         * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
6806         * testsuite/23_containers/vector/debug/
6807         iterator_self_move_assign_neg.cc: Likewise.
6808         * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
6809         Likewise.
6810         * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
6811         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
6812         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
6813         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
6814         * testsuite/29_atomics/atomic/60658.cc: Likewise.
6815         * testsuite/29_atomics/atomic/60695.cc: Likewise.
6816         * testsuite/29_atomics/atomic/62259.cc: Likewise.
6817         * testsuite/29_atomics/atomic/64658.cc: Likewise.
6818         * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
6819         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
6820         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
6821         Likewise.
6822
6823 2016-09-11  Jonathan Wakely  <jwakely@redhat.com>
6824
6825         * libsupc++/new_opant.cc: Include exception_defines.h.
6826         * libsupc++/new_opvant.cc: Likewise.
6827
6828 2016-09-09  Jason Merrill  <jason@redhat.com>
6829
6830         Implement P0035R4, C++17 new of over-aligned types.
6831         * libsupc++/new: Declare aligned new/delete operators.
6832         * config/abi/pre/gnu.ver: Export them.
6833         * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
6834         _aligned_malloc.
6835         * libsupc++/new_opa.cc: New.
6836         * libsupc++/new_opant.cc: New.
6837         * libsupc++/new_opva.cc: New.
6838         * libsupc++/new_opva.cc: New.
6839         * libsupc++/del_opa.cc: New.
6840         * libsupc++/del_opant.cc: New.
6841         * libsupc++/del_opsa.cc: New.
6842         * libsupc++/del_opva.cc: New.
6843         * libsupc++/del_opvant.cc: New.
6844         * libsupc++/del_opvsa.cc: New.
6845         * libsupc++/Makefile.am: Build them.
6846
6847 2016-09-05  Tim Shen  <timshen@google.com>
6848
6849         * include/std/variant: include bits/move.h for std::addressof.
6850
6851 2016-09-05  Mikhail Strelnikov  <mikhail.strelnikov@gmail.com>
6852
6853         * include/std/variant (_Variant_storage::_M_storage()): Use
6854         std::addressof instead of operator& to take address.
6855
6856 2016-09-02  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
6857
6858         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
6859         setrlimit on both native and cross targets.
6860         * configure: Regenerate.
6861
6862 2016-08-31  Jonathan Wakely  <jwakely@redhat.com>
6863
6864         * include/bits/shared_ptr.h (_Assignable): New alias template.
6865         (shared_ptr::operator=(const shared_ptr<_Tp1>&))
6866         (shared_ptr::operator=(shared_ptr<_Tp1>&&))
6867         (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6868         _Assignable.
6869         * include/bits/shared_ptr_base.h (_Assignable): New alias template.
6870         (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
6871         (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
6872         (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6873         _Assignable.
6874         (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
6875         (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
6876         _Convertible.
6877         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
6878         match on any line.
6879         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
6880         * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
6881         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
6882         expected errors. Remove unnecessary code.
6883         * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
6884
6885         * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
6886         comparison object.
6887         * testsuite/23_containers/set/move_comparison.cc: New test.
6888
6889         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
6890         New test.
6891
6892 2016-08-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
6893
6894         PR libstdc++/77395
6895         * include/std/type_traits (is_constructible): Forward-declare...
6896         (__is_base_to_derived_ref): ...and use here.
6897         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
6898         * testsuite/20_util/is_constructible/77395.cc: New.
6899         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
6900         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
6901         Likewise.
6902         * testsuite/20_util/tuple/77395.cc: New.
6903
6904 2016-08-30  Uros Bizjak  <ubizjak@gmail.com>
6905
6906         * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
6907         directive above dg-require-namedlocale directive.
6908         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
6909         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
6910         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
6911         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
6912         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
6913
6914 2016-08-27  Tim Shen  <timshen@google.com>
6915
6916         PR libstdc++/77356
6917         * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
6918         _M_expression_term): Modify to support dash literal.
6919         * include/bits/regex_scanner.h: Add dash as a token type to make
6920         a different from the mandated dash literal by escaping.
6921         * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
6922         token in bracket expression parsing.
6923         * testsuite/28_regex/regression.cc: Add new testcases.
6924
6925 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6926
6927         PR libstdc++/51960
6928         * doc/xml/manual/intro.xml: Document DR 2127 change.
6929         * doc/html/*: Regenerate.
6930         * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
6931         (operator++(), operator++(int)): Use injected class name.
6932         * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
6933
6934         * testsuite/*: Use { target c++11 } or { target c++14 } instead of
6935         using -std in dg-options.
6936
6937 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6938             Pedro Alves  <palves@redhat.com>
6939
6940         * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
6941         and restore dg-interpreter-batch-mode.
6942         * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
6943         gdb-dg-runtest instead of dg-runtest.
6944         * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
6945
6946 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6947
6948         * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
6949         precise patterns for basic_string constructors.
6950         (GLIBCXX_3.4.23): Export new constructors.
6951         * doc/xml/manual/intro.xml: Document LWG 2583 status.
6952         * doc/html/*: Regenerate.
6953         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
6954         (basic_string(const basic_string&, size_type, const Alloc&)): Add
6955         new constructor for LWG 2583.
6956         (basic_string(const basic_string&, size_type, size_type)): Remove
6957         default argument.
6958         [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
6959         * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
6960         * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
6961         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
6962
6963 2016-08-24  Aditya Kumar  <hiraditya@msn.com>
6964
6965         * include/bits/algorithmfwd.h: Remove trailing whitespace.
6966         * include/bits/shared_ptr_base.h: Likewise.
6967
6968 2016-08-23  Jonathan Wakely  <jwakely@redhat.com>
6969
6970         * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
6971         * include/profile/array (array): Likewise.
6972         (array::swap): Fix exception specification for zero-sized arrays.
6973
6974         PR libstdc++/77334
6975         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
6976         (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
6977         * testsuite/23_containers/map/77334.cc: New test.
6978
6979         * doc/xml/manual/using.xml: Remove reference to -pthreads option.
6980         * doc/html/*: Regenerate.
6981
6982         * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
6983         * testsuite/experimental/feat-lib-fund.cc: Likewise.
6984
6985         PR libstdc++/71771
6986         * include/bits/stl_iterator.h
6987         (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
6988         define for C++98 mode.
6989         (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
6990         * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
6991         -std=gnu++98.
6992         * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
6993         * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
6994         * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
6995         * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
6996         difference operator.
6997         * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
6998         difference operator for C++98.
6999         * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
7000
7001         * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
7002         * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
7003         (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
7004         * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
7005         (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
7006         Likewise.
7007         * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
7008         _GLIBCXX14_CONSTEXPR.
7009         (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
7010         * include/std/array (array::begin, array::end, array::rbegin)
7011         (array::rend, array::cbegin, array:cend, array::crbegin)
7012         (array::crend, array::operator[], array::at, array::front)
7013         (array::back, array::data): Likewise.
7014         * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
7015         with separate tests for C++11, C++14, and C++17.
7016         * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
7017         * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
7018         * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
7019
7020 2016-08-22  Tim Shen  <timshen@google.com>
7021
7022         Split _M_dfs() into smaller functions.
7023         * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
7024         (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
7025         (_M_handle_line_end_assertion, _M_handle_word_boundary)
7026         (_M_handle_subexpr_lookahead, _M_handle_match)
7027         (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
7028         Add separate function declarations.
7029         * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
7030
7031 2016-08-22  Gleb Natapov  <gleb@scylladb.com>
7032
7033         PR libstdc++/68297
7034         * config/abi/pre/gnu-versioned-namespace.ver: Export
7035         __cxa_init_primary_exception and std::exception_ptr(void*).
7036         * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
7037         export __cxa_init_primary_exception and std::exception_ptr(void*).
7038         * include/Makefile.am: Add new headers.
7039         * include/Makefile.in: Regenerate.
7040         * libsupc++/Makefile.am: Add new headers.
7041         * libsupc++/Makefile.in: Regenerate.
7042         * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
7043         * libsupc++/cxxabi_init_exception.h: New header.
7044         (__cxa_init_primary_exception): Declare.
7045         * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
7046         (__cxa_throw): Use __cxa_init_primary_exception.
7047         * libsupc++/exception (std::exception): Move to ...
7048         * libsupc++/exception.h: New header.
7049         * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
7050         friend declaration.
7051         (__exception_ptr::__dest_thunk): New function template.
7052         (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
7053         Use __cxa_allocate_exception and __cxa_init_primary_exception to
7054         create exception_ptr.
7055         * libsupc++/typeinfo: Include bits/exception.h instead of exception.
7056         * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
7057
7058 2016-08-22  Jonathan Wakely  <jwakely@redhat.com>
7059
7060         * doc/xml/api.xml: Replace hardcoded links for specific versions with
7061         link to docs for all releases.
7062         * doc/html/*: Regenerate.
7063
7064         PR libstdc++/77322
7065         * doc/xml/manual/intro.xml: Document DR 2062 change.
7066         * include/std/functional (function::swap): Add noexcept.
7067         (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
7068         * testsuite/20_util/function/77322.cc: New test.
7069
7070 2016-08-19  Jonathan Wakely  <jwakely@redhat.com>
7071
7072         * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
7073         *-*-solaris* instead of -pthreads.
7074         * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
7075         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
7076         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
7077         * testsuite/23_containers/list/pthread1.cc: Likewise.
7078         * testsuite/23_containers/list/pthread5.cc: Likewise.
7079         * testsuite/23_containers/map/pthread6.cc: Likewise.
7080         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
7081         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
7082         * testsuite/30_threads/shared_mutex/*: Likewise.
7083         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
7084         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
7085         default_weaktoshared.cc: Likewise.
7086         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
7087         mutex_weaktoshared.cc: Likewise.
7088         * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
7089         dg-require-effective-target instead of using -std option.
7090         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
7091         Likewise.
7092         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
7093         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
7094         Likewise.
7095         * testsuite/30_threads/async/*: Likewise.
7096         * testsuite/30_threads/call_once/*: Likewise.
7097         * testsuite/30_threads/condition_variable/*: Likewise.
7098         * testsuite/30_threads/condition_variable_any/*: Likewise.
7099         * testsuite/30_threads/future/*: Likewise.
7100         * testsuite/30_threads/lock/*: Likewise.
7101         * testsuite/30_threads/mutex/*: Likewise.
7102         * testsuite/30_threads/packaged_task/*: Likewise.
7103         * testsuite/30_threads/promise/*: Likewise.
7104         * testsuite/30_threads/recursive_mutex/*: Likewise.
7105         * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
7106         * testsuite/30_threads/shared_future/*: Likewise.
7107         * testsuite/30_threads/shared_lock/*: Likewise.
7108         * testsuite/30_threads/shared_timed_mutex/*: Likewise.
7109         * testsuite/30_threads/this_thread/*: Likewise.
7110         * testsuite/30_threads/thread/*: Likewise.
7111         * testsuite/30_threads/timed_mutex/*: Likewise.
7112         * testsuite/30_threads/try_lock/*: Likewise.
7113         * testsuite/30_threads/unique_lock/*: Likewise.
7114
7115         * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
7116         * doc/html/*: Regenerate.
7117         * include/experimental/functional (_Not_fn, not_fn): Match C++17
7118         semantics.
7119         * include/std/functional (_Not_fn, not_fn): Define for C++17.
7120         * testsuite/20_util/not_fn/1.cc: New.
7121         * testsuite/experimental/functional/not_fn.cc: Test abstract class.
7122         Remove test for volatile-qualified wrapper.
7123
7124         * include/std/atomic (atomic::is_always_lock_free): Define.
7125         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
7126         * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
7127         * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
7128         * doc/xml/manual/status_cxx2017.xml: Update status.
7129         * doc/html/*: Regenerate.
7130
7131         * include/experimental/tuple (apply): Qualify call to __apply_impl.
7132         * include/std/tuple (apply): Likewise.
7133         * testsuite/experimental/system_error/value.cc: Fix ambiguities in
7134         C++17 mode.
7135         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
7136         * testsuite/experimental/type_traits/value.cc: Likewise.
7137
7138         * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
7139         and variant.
7140         * doc/html/*: Regenerate.
7141
7142 2016-08-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
7143
7144         Implement the latest proposed resolution of LWG 2756.
7145         * include/std/optional (Optional_base(const _Tp&))
7146         (Optional_base(_Tp&&), using _Base::_Base): Remove.
7147         (optional(nullopt_t)): New.
7148         (optional(_Up&&)): Invoke base directly with in_place
7149         rather than creating a temporary, add default template
7150         argument, change constraints.
7151         (optional(const optional<_Up>&)): Invoke base directly
7152         with in_place, remove unnecessary constraints.
7153         (optional(optional<_Up>&& __t)): Likewise.
7154         (optional(in_place_t, _Args&&...)): New.
7155         (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
7156         (operator=(_Up&&)): Add default template argument, change constraints.
7157         (operator=(const optional<_Up>&)): Put is_same first in the
7158         constraints.
7159         (operator=(optional<_Up>&&)): Likewise.
7160         * testsuite/20_util/optional/assignment/5.cc: Add a test to
7161         verify assignment from something that can't be perfect-forwarded.
7162         * testsuite/20_util/optional/cons/value.cc: Add tests to verify
7163         that a nested optional is disengaged when constructed
7164         from a disengaged element type, and to verify that assignments
7165         from an engaged element type engage the optional.
7166
7167 2016-08-18  Tim Shen  <timshen@google.com>
7168
7169         Implement <variant>
7170
7171         * include/Makefile.am: Add new file std/variant.
7172         * include/Makefile.in: Generated from Makefile.am.
7173         * include/bits/enable_special_members.h: Add a tag type to allow
7174         the construction in non-default constructor.
7175         * include/bits/uses_allocator.h: Add convenience traits to
7176         detect constructibility.
7177         * include/std/variant: Implement <variant>.
7178         * testsuite/20_util/variant/compile.cc: Compile-time tests.
7179         * testsuite/20_util/variant/run.cc: Runtime tests.
7180
7181 2016-08-18  Jonathan Wakely  <jwakely@redhat.com>
7182
7183         * doc/xml/manual/test.xml (test.run.permutations): Expand section.
7184         (test.new_tests): Rewrite section.
7185         (tests.dg.directives): New section.
7186         * doc/html/*: Regenerate.
7187
7188         * doc/xml/manual/test.xml: Improve documentation of test targets.
7189         Document new-abi-baseline, check-debug, and check-parallel targets.
7190
7191         * doc/xml/manual/build_hacking.xml: New section on shared library
7192         versioning.
7193
7194         * doc/xml/manual/build_hacking.xml: Improve markup.
7195         * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
7196         to "Testing".
7197         * doc/xml/faq.xml: Change link text to "Testing".
7198
7199         * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
7200         dg-options directive.
7201
7202 2016-08-17  Jonathan Wakely  <jwakely@redhat.com>
7203
7204         * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
7205         directive and use effective target instead of dg-options.
7206
7207         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
7208         instead of -std in dg-options.
7209         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
7210         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
7211         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
7212         * testsuite/20_util/hash/quality.cc: Likewise.
7213         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
7214         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
7215         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
7216         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
7217         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
7218         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
7219
7220         * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
7221         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
7222         * testsuite/27_io/rvalue_streams.cc: Likewise.
7223
7224         * testsuite/26_numerics/complex/literals/types.cc: Add comment.
7225
7226         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
7227         Remove duplicate dg-options directive.
7228
7229         * testsuite/ext/profile/all.cc: Use effective target instead of
7230         -std=gnu++11. Use dg-additional-options instead of repeating options.
7231
7232         * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
7233         -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
7234         instead of dg-excess-errors.
7235
7236         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
7237         test for C++17.
7238         * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
7239         * testsuite/experimental/ratio/value.cc: Likewise.
7240         * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
7241         C++17.
7242         * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
7243         * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
7244         * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
7245         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
7246         * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
7247         * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
7248         * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
7249         * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
7250         * testsuite/tr1/5_numerical_facilities/special_functions/
7251         10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
7252         C++17 compatibility.
7253
7254         * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
7255         expected signatures for C++14 compatibility.
7256
7257         PR libstdc++/77264
7258         * include/bits/basic_string.h (operator=(__sv_type)
7259         (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
7260         (replace(size_type, size_type, __sv_type))
7261         (replace(const_iterator, const_iterator, __sv_type))
7262         (find(__sv_type, size_type), rfind(__sv_type, size_type))
7263         (compare(size_type, size_type, __sv_type)): Reformat.
7264         (_If_sv): Define helper for SFINAE constaints.
7265         (append(const _Tp&, size_type, size_type))
7266         (assign(const _Tp&, size_type, size_type))
7267         (insert(size_type, const _Tp&, size_type, size_type))
7268         (replace(size_type, size_type, const _Tp&, size_type, size_type)):
7269         Use _If_sv.
7270         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
7271         SFINAE constraints.
7272         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
7273         Likewise.
7274         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7275         Likewise.
7276         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
7277         Likewise.
7278         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
7279         Likewise.
7280         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
7281         Likewise.
7282         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
7283         Likewise.
7284         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
7285         Likewise.
7286         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7287         Likewise.
7288         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
7289         Likewise.
7290         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
7291         Likewise.
7292
7293 2016-08-16  Jonathan Wakely  <jwakely@redhat.com>
7294
7295         PR libstdc++/72847
7296         * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
7297         pointers to start and end of storage.
7298         * testsuite/23_containers/vector/bool/72847.cc: New test.
7299         * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
7300         _M_finish after deallocating.
7301         (vector<bool>::_M_fill_insert): Likewise.
7302         (vector<bool>::_M_insert_range): Likewise.
7303         (vector<bool>::_M_insert_aux): Likewise.
7304
7305 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
7306
7307         Implement LWG 2744 and LWG 2754.
7308         * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
7309         (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
7310         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
7311         Likewise.
7312         (emplace(_Args&&...)): Likewise.
7313         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
7314         * include/std/utility: (__is_in_place_type_impl): New.
7315         (__is_in_place_type): Likewise.
7316         * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
7317         emplace.
7318         * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
7319         in_place constructor.
7320         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
7321         * testsuite/20_util/any/requirements.cc: Add a test for
7322         in_place-constructing a non-default-constructible type.
7323
7324 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
7325
7326         Add a feature macro for C++17 make_from_tuple.
7327         * include/std/tuple (__cpp_lib_make_from_tuple): New.
7328         (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
7329         Qualify the call to get<>().
7330         * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
7331
7332 2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
7333
7334         * src/filesystem/ops.cc: Always include ostream and
7335         ext/stdio_filebuf.h.
7336         (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
7337         [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
7338         sendfile fails with ENOSYS or EINVAL.
7339
7340 2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
7341
7342         PR libstdc++/72840
7343         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
7344         syntax.
7345
7346 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
7347
7348         Implement C++17 make_from_tuple.
7349         * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
7350         * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
7351
7352 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
7353
7354         Implement LWG 2758.
7355         * include/bits/basic_string.h
7356         (append(__sv_type, size_type, size_type)): Turn into a template,
7357         change parameter type, constrain, add a conversion to __sv_type
7358         from the dependent parameter type.
7359         (assign(__sv_type, size_type, size_type)): Likewise.
7360         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
7361         (replace(size_type, size_type, __sv_type, size_type, size_type)):
7362         Likewise.
7363         (compare(size_type, size_type,__sv_type, size_type, size_type)):
7364         Likewise.
7365         * testsuite/21_strings/basic_string/lwg2758.cc: New.
7366
7367 2016-08-06  Jonathan Wakely  <jwakely@redhat.com>
7368
7369         * doc/xml/manual/status_cxx2017.xml: Update status table.
7370         * doc/html/manual/status.html: Regenerate.
7371
7372         * testsuite/lib/libstdc++.exp: Fix typo in comment.
7373
7374         PR libstdc++/72820
7375         * include/std/functional (_Function_base::_Base_manager::_M_clone):
7376         Qualify new operator.
7377         * testsuite/20_util/function/cons/72820.cc: New test.
7378
7379         * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
7380         * doc/html/manual/status.html: Regenerate.
7381         * include/Makefile.am: Add new header.
7382         * include/Makefile.in: Regenerate.
7383         * include/bits/invoke.h: New header.
7384         (__invoke): Make constexpr. Add && to types in exception specification.
7385         * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
7386         names. Include <bits/invoke.h> and use std::__invoke.
7387         * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
7388         new header.
7389         (invoke): Add && to types in exception specification.
7390         * include/std/tuple (apply, __apply_impl): Define for C++17.
7391         * testsuite/20_util/tuple/apply/1.cc: New test.
7392         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
7393         lineno.
7394
7395 2016-08-05  Jonathan Wakely  <jwakely@redhat.com>
7396
7397         * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
7398         * doc/html/manual/status.html: Regenerate.
7399
7400         * include/std/chrono (floor, ceil, round, abs): New for C++17.
7401         * testsuite/20_util/duration_cast/rounding.cc: New test.
7402         * testsuite/20_util/time_point_cast/rounding.cc: New test.
7403         * doc/xml/manual/status_cxx2017.xml: Update status table.
7404         * doc/html/manual/status.html: Regenerate.
7405         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
7406         dg-error lineno.
7407         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
7408         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
7409         * testsuite/20_util/duration/literals/range.cc: Likewise.
7410
7411         * include/std/functional (__callable_functor): Remove.
7412         (_Function_handler::_M_invoke): Use __invoke instead of
7413         __callable_functor or mem_fn.
7414         (function::_Callable): Use lvalue in result_of expression.
7415         (function): Remove TODO comments about allocators.
7416         * testsuite/20_util/function/cons/refqual.cc: New test.
7417
7418 2016-08-04  Jonathan Wakely  <jwakely@redhat.com>
7419
7420         * doc/xml/manual/status_cxx2017.xml: Update status table.
7421         * include/std/functional (__inv_unwrap): Move to <type_traits>.
7422         (__invoke_impl): Remove exception specifications.
7423         (__invoke, invoke): Add exception specifications using
7424         __is_nothrow_callable.
7425         * include/std/type_traits (__inv_unwrap): Move from <functional>.
7426         (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
7427         (__is_callable, __is_nothrow_callable): New traits.
7428         (is_callable, is_callable_v): New C++17 traits.
7429         (is_nothrow_callable, is_nothrow_callable_v): Likewise.
7430         * testsuite/20_util/is_callable/requirements/
7431         explicit_instantiation.cc: New test.
7432         * testsuite/20_util/is_callable/requirements/
7433         explicit_instantiation_ext.cc: New test.
7434         * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
7435         * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
7436         test.
7437         * testsuite/20_util/is_callable/value.cc: New test.
7438         * testsuite/20_util/is_callable/value_ext.cc: New test.
7439         * testsuite/20_util/is_nothrow_callable/requirements/
7440         explicit_instantiation.cc: New test.
7441         * testsuite/20_util/is_nothrow_callable/requirements/
7442         explicit_instantiation_ext.cc: New test.
7443         * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
7444         New test.
7445         * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
7446         New test.
7447         * testsuite/20_util/is_nothrow_callable/value.cc: New test.
7448         * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
7449
7450         * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
7451         * doc/html/manual/status.html: Regenerate.
7452
7453         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
7454         effective target not dg-options. Move check for feature-test macro to:
7455         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
7456         New test.
7457
7458         * include/std/functional (_Unwrap): Rename to __inv_unwrap.
7459         (__invfwd): Adjust.
7460         (__invoke_impl): Remove unused template parameters.
7461         * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
7462         parameter.
7463         * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
7464         and test __invoke extension for C++11.
7465
7466 2016-08-03  Jonathan Wakely  <jwakely@redhat.com>
7467
7468         * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
7469         Define feature-test macro.
7470         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
7471         for the macro.
7472
7473         * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
7474         * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
7475         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
7476         * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
7477         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
7478
7479         * include/std/utility (as_const): Define.
7480         * testsuite/20_util/as_const/1.cc: New test.
7481         * testsuite/20_util/as_const/rvalue_neg.cc: New test.
7482
7483         * include/bits/shared_ptr.h (owner_less): Add default template
7484         argument.
7485         * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
7486         specialization.
7487         (owner_less<void>): Define specialization.
7488         * include/bits/stl_function.h (__cpp_lib_transparent_operators):
7489         Update value.
7490         * testsuite/20_util/owner_less/void.cc: New test.
7491         * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
7492
7493         * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
7494         Define feature-test macro.
7495         * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
7496         * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
7497         * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
7498         (__cpp_lib_type_trait_variable_templates): Define.
7499
7500         * include/bits/stl_function.h: Remove commented-out macro.
7501         * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
7502         Define feature-test macro.
7503         * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
7504
7505         * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
7506         C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
7507         true.
7508         * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
7509         do #error for C++17.
7510         * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
7511         of __STDCPP_WANT_MATH_SPEC_FUNCS__.
7512         * include/tr1/bessel_function.tcc: Likewise.
7513         * include/tr1/beta_function.tcc: Likewise.
7514         * include/tr1/cmath: Likewise.
7515         * include/tr1/ell_integral.tcc: Likewise.
7516         * include/tr1/exp_integral.tcc: Likewise.
7517         * include/tr1/gamma.tcc: Likewise.
7518         * include/tr1/hypergeometric.tcc: Likewise.
7519         * include/tr1/legendre_function.tcc: Likewise.
7520         * include/tr1/modified_bessel_func.tcc: Likewise.
7521         * include/tr1/poly_hermite.tcc: Likewise.
7522         * include/tr1/poly_laguerre.tcc: Likewise.
7523         * include/tr1/riemann_zeta.tcc: Likewise.
7524         * include/tr1/special_function_util.h: Likewise.
7525         * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
7526
7527         * include/std/type_traits (has_trivial_default_constructor): Remove.
7528         (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
7529         * testsuite/20_util/has_trivial_copy_assign/requirements/
7530         explicit_instantiation.cc: Remove test.
7531         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
7532         line number.
7533         * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
7534         Likewise.
7535         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
7536         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7537         explicit_instantiation.cc: Likewise.
7538         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7539         typedefs.cc: Likewise.
7540         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
7541         * testsuite/20_util/has_trivial_default_constructor/requirements/
7542         explicit_instantiation.cc: Likewise.
7543         * testsuite/20_util/has_trivial_default_constructor/requirements/
7544         typedefs.cc: Likewise.
7545         * testsuite/20_util/has_trivial_default_constructor/value.cc:
7546         Likewise.
7547         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7548         Check has_trivial_default_constructor, has_trivial_copy_constructor,
7549         and has_trivial_copy_assign are not defined.
7550         * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
7551         tests.
7552         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
7553         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
7554         dg-error line number.
7555         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7556         Likewise.
7557
7558 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7559
7560         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
7561         Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
7562         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
7563         Likewise.
7564         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
7565         Likewise.
7566         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
7567         Likewise.
7568         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
7569         Likewise.
7570         * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
7571         Likewise.
7572         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
7573         Likewise.
7574
7575         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
7576         comments.
7577
7578         * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
7579         dg-error to relevant line.
7580         * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
7581         Likewise.
7582         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
7583
7584         * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
7585
7586         * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
7587         options are present that aren't valid for C.
7588         * testsuite/abi/header_cxxabi.c: Likewise.
7589
7590         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
7591         check_value.cc: Do not add special functions to namespace std in TR1
7592         test.
7593
7594         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
7595         run for C++11 and later.
7596         * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
7597         Likewise.
7598         * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
7599         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
7600         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
7601         * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
7602         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
7603         Likewise.
7604         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
7605         Likewise.
7606         * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
7607         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
7608         Likewise.
7609         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
7610         Likewise.
7611         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
7612         Likewise.
7613         * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
7614         * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
7615         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
7616         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
7617         * testsuite/special_functions/03_beta/compile.cc: Likewise.
7618         * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
7619         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
7620         * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
7621         Likewise.
7622         * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
7623         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
7624         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
7625         * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
7626         Likewise.
7627         * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
7628         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
7629         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
7630         * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
7631         Likewise.
7632         * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
7633         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
7634         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
7635         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
7636         Likewise.
7637         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
7638         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
7639         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
7640         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
7641         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
7642         Likewise.
7643         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
7644         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
7645         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
7646         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
7647         Likewise.
7648         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
7649         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
7650         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
7651         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
7652         * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
7653         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
7654         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
7655         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
7656         * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
7657         * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
7658         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
7659         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
7660         * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
7661         * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
7662         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
7663         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
7664         * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
7665         * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
7666         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
7667         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
7668         * testsuite/special_functions/14_expint/compile.cc: Likewise.
7669         * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
7670         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
7671         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
7672         * testsuite/special_functions/15_hermite/compile.cc: Likewise.
7673         * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
7674         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
7675         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
7676         * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
7677         * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
7678         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
7679         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
7680         * testsuite/special_functions/17_legendre/compile.cc: Likewise.
7681         * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
7682         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
7683         * testsuite/special_functions/18_riemann_zeta/check_value.cc:
7684         Likewise.
7685         * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
7686         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
7687         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
7688         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
7689         * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
7690         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
7691         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
7692         * testsuite/special_functions/20_sph_legendre/check_value.cc:
7693         Likewise.
7694         * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
7695         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
7696         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
7697         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
7698         * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
7699         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
7700
7701         * testsuite/tr1/5_numerical_facilities/special_functions/
7702         08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
7703         of [[gnu::unused]].
7704         * testsuite/tr1/5_numerical_facilities/special_functions/
7705         09_cyl_bessel_j/check_value.cc: Likewise.
7706         * testsuite/tr1/5_numerical_facilities/special_functions/
7707         10_cyl_bessel_k/check_value.cc: Likewise.
7708         * testsuite/tr1/5_numerical_facilities/special_functions/
7709         11_cyl_neumann/check_value.cc: Likewise.
7710         * testsuite/tr1/5_numerical_facilities/special_functions/
7711         21_sph_bessel/check_value.cc: Likewise.
7712         * testsuite/tr1/5_numerical_facilities/special_functions/
7713         23_sph_neumann/check_value.cc: Likewise.
7714
7715 2016-08-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7716
7717         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
7718         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
7719         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
7720         * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
7721         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
7722         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
7723
7724 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7725
7726         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
7727         test if -flto used.
7728
7729         * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
7730         additional flags for compiling libtestc++.a objects.
7731
7732 2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
7733
7734         * include/bits/basic_string.h (data() const): Update comment.
7735         (data()): Add non-const overload for C++17.
7736         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
7737         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
7738
7739         * include/bits/basic_string.tcc: Disable explicit instantiation
7740         declarations for C++17.
7741
7742         * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
7743         ignored "xfail" from { dg-do compile { xfail selector } } directive.
7744         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
7745         Likewise.
7746         * testsuite/26_numerics/headers/cmath/
7747         c99_classification_macros_c++11.cc: Likewise.
7748         * testsuite/26_numerics/headers/cmath/
7749         c99_classification_macros_c++98.cc: Likewise.
7750         * testsuite/26_numerics/headers/cmath/
7751         c99_classification_macros_c.cc: Likewise.
7752
7753         * testsuite/backward/hash_set/check_construct_destroy.cc: Account
7754         for different construct/destroy counts in C++98 mode.
7755
7756         * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
7757
7758         * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
7759         later.
7760         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
7761         Likewise.
7762
7763         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
7764         C++98-compatible initialization for array.
7765
7766         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
7767         unused header and variable from compile-only test.
7768         * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
7769         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
7770         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
7771         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
7772         Likewise.
7773
7774         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
7775         Remove duplicate dg-options directive.
7776
7777         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
7778         808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
7779
7780         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
7781         linker options from compile-only tests.
7782         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7783         Likewise.
7784
7785         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
7786         supported for C++11 and later.
7787         * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
7788         * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
7789
7790 2016-08-01  Uros Bizjak  <ubizjak@gmail.com>
7791
7792         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
7793
7794 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7795
7796         * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
7797         compile-only test.
7798
7799         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7800         Ensure test is compiled with optimization.
7801
7802         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7803         Adjust dg-prune-output pattern for error in C++98 mode.
7804
7805         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
7806         run for C++11 or later.
7807
7808         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
7809         test to not rely on GNU extension (escaped normal characters in POSIX
7810         BRE). Enable tests for other strings which are now supported.
7811
7812         * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
7813         c++11 instead of setting -std=gnu++14.
7814
7815         PR libstdc++/72745
7816         * include/std/array (get): Use positive message for static assertions.
7817         * include/std/functional (_Safe_tuple_element_t): Fix indentation.
7818         * include/std/tuple (tuple_element<I, tuple<>>): Add partial
7819         specialization for invalid indices, with static assertion.
7820         * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
7821
7822         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
7823         dg-error to relevant line.
7824         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7825         Likewise.
7826         * testsuite/23_containers/forward_list/requirements/dr438/
7827         assign_neg.cc: Likewise.
7828         * testsuite/23_containers/forward_list/requirements/dr438/
7829         constructor_1_neg.cc: Likewise.
7830         * testsuite/23_containers/forward_list/requirements/dr438/
7831         constructor_2_neg.cc: Likewise.
7832         * testsuite/23_containers/forward_list/requirements/dr438/
7833         insert_neg.cc: Likewise.
7834         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
7835         Likewise.
7836         * testsuite/26_numerics/random/linear_congruential_engine/
7837         requirements/non_uint_neg.cc: Likewise.
7838         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
7839         Likewise. Also test for std::atomic_address.
7840
7841 2016-07-31  Ville Voutilainen  <ville.voutilainen@gmail.com>
7842
7843         Add missing variable traits, fix testsuite failures.
7844         * include/bits/uses_allocator.h (uses_allocator_v): New.
7845         * include/std/functional (is_bind_expression_v, is_placeholder_v):
7846         Likewise.
7847         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
7848         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
7849         * testsuite/20_util/duration/literals/range.cc: Likewise.
7850         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
7851         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
7852         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
7853         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
7854         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7855         Likewise.
7856         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
7857         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
7858         New.
7859
7860 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7861
7862         * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
7863         not test 128-bit types.
7864         * testsuite/20_util/is_floating_point/value.cc: Likewise.
7865         * testsuite/20_util/is_integral/value.cc: Likewise.
7866         * testsuite/20_util/is_signed/value.cc: Likewise.
7867         * testsuite/20_util/is_unsigned/value.cc: Likewise.
7868         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
7869         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
7870         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
7871         Likewise.
7872         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7873         Likewise.
7874
7875         * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
7876
7877 2016-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
7878
7879         Implement C++17 variable templates for type traits.
7880         * include/std/chrono (treat_as_floating_point_v): New.
7881         * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
7882         (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
7883         (ratio_greater_equal_v): Likewise.
7884         * include/std/system_error (is_error_code_enum_v)
7885         (is_error_condition_enum_v): Likewise.
7886         * include/std/tuple (tuple_size_v): Likewise.
7887         * type_traits (conjunction_v, disjunction_v, negation_v)
7888         (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
7889         (is_array_v, is_pointer_v, is_lvalue_reference_v)
7890         (is_rvalue_reference_v, is_member_object_pointer_v)
7891         (is_member_function_pointer_v, is_enum_v, is_union_v)
7892         (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
7893         (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
7894         (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
7895         (is_trivially_copyable_v, is_standard_layout_v)
7896         (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
7897         (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
7898         (is_constructible_v, is_default_constructible_v)
7899         (is_copy_constructible_v, is_move_constructible_v)
7900         (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
7901         (is_destructible_v, is_trivially_constructible_v)
7902         (is_trivially_default_constructible_v)
7903         (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
7904         (is_trivially_assignable_v, is_trivially_copy_assignable_v)
7905         (is_trivially_move_assignable_v, is_trivially_destructible_v)
7906         (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
7907         (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
7908         (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
7909         (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
7910         (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
7911         (is_same_v, is_base_of_v, is_convertible_v): Likewise.
7912         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
7913         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
7914         Likewise.
7915         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
7916         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
7917         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
7918
7919 2016-07-29  Andreas Schwab  <schwab@linux-m68k.org>
7920
7921         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
7922         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
7923         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
7924
7925 2016-07-29  Jonathan Wakely  <jwakely@redhat.com>
7926
7927         * doc/xml/manual/abi.xml: Document 6.0.22 library version.
7928         * doc/html/manual/abi.html: Regenerate.
7929
7930         * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
7931         * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
7932         symbols.
7933         * configure: Regenerate.
7934         * testsuite/util/testsuite_abi.cc: Add new symbol version.
7935
7936         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
7937         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
7938         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
7939         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
7940         Likewise.
7941         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
7942         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
7943         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
7944
7945 2016-07-28  Jonathan Wakely  <jwakely@redhat.com>
7946
7947         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
7948         Adjust dg-prune-output pattern for error in C++98 mode.
7949         * testsuite/23_containers/deque/requirements/dr438/
7950         constructor_1_neg.cc: Likewise.
7951         * testsuite/23_containers/deque/requirements/dr438/
7952         constructor_2_neg.cc: Likewise.
7953         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
7954         Likewise.
7955         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
7956         Likewise.
7957         * testsuite/23_containers/list/requirements/dr438/
7958         constructor_1_neg.cc: Likewise.
7959         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7960         Likewise.
7961         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
7962         Likewise.
7963         * testsuite/23_containers/vector/requirements/dr438/
7964         constructor_1_neg.cc: Likewise.
7965         * testsuite/23_containers/vector/requirements/dr438/
7966         constructor_2_neg.cc: Likewise.
7967         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
7968         Likewise.
7969
7970         * testsuite/23_containers/vector/check_construct_destroy.cc: Account
7971         for different construct/destroy counts in C++98 mode.
7972
7973         * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
7974         dg-options to dg-additional-options so that default options are used.
7975         * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
7976         Likewise.
7977         * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
7978         * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
7979         Likewise.
7980         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7981         Use dg-additional-options instead of repeating the common options.
7982
7983         * testsuite/22_locale/conversions/string/1.cc: Remove unintended
7984         dg-do compile directive.
7985         * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
7986         dg-do directive.
7987         * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
7988
7989 2016-07-28  Ville Voutilainen  <ville.voutilainen@gmail.com>
7990
7991         Implement std::string_view and P0254r2,
7992         Integrating std::string_view and std::string.
7993         * include/Makefile.am: Add string_view and string_view.tcc
7994         to the exported headers.
7995         * include/Makefile.in: Likewise.
7996         * include/bits/basic_string.h: Include <string_view> in C++17 mode.
7997         (__sv_type): New.
7998         (basic_string(__sv_type, const _Alloc&)): Likewise.
7999         (operator=(__sv_type)): Likewise.
8000         (operator __sv_type()): Likewise.
8001         (operator+=(__sv_type)): Likewise.
8002         (append(__sv_type __sv)): Likewise.
8003         (append(__sv_type, size_type, size_type)): Likewise.
8004         (assign(__sv_type)): Likewise.
8005         (assign(__sv_type, size_type, size_type)): Likewise.
8006         (insert(size_type, __sv_type)): Likewise.
8007         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
8008         (replace(size_type, size_type, __sv_type)): Likewise.
8009         (replace(size_type, size_type, __sv_type, size_type, size_type)):
8010         Likewise.
8011         (replace(const_iterator, const_iterator, __sv_type)): Likewise.
8012         (find(__sv_type, size_type)): Likewise.
8013         (rfind(__sv_type, size_type)): Likewise.
8014         (find_first_of(__sv_type, size_type)): Likewise.
8015         (find_last_of(__sv_type, size_type)): Likewise.
8016         (find_first_not_of(__sv_type, size_type)): Likewise.
8017         (find_last_not_of(__sv_type, size_type)): Likewise.
8018         (compare(__sv_type)): Likewise.
8019         (compare(size_type, size_type, __sv_type)): Likewise.
8020         (compare(size_type, size_type, __sv_type, size_type, size_type)):
8021         Likewise.
8022         * include/bits/string_view.tcc: New.
8023         * include/std/string_view: Likewise.
8024         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
8025         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
8026         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
8027         Likewise.
8028         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
8029         Likewise.
8030         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
8031         Likewise.
8032         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
8033         Likewise.
8034         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
8035         Likewise.
8036         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
8037         Likewise.
8038         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
8039         Likewise.
8040         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
8041         Likewise.
8042         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
8043         Likewise.
8044         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
8045         Likewise.
8046         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
8047         Likewise.
8048         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
8049         Likewise.
8050         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
8051         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
8052         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
8053         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
8054         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
8055         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
8056         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
8057         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
8058         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
8059         * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
8060         Likewise.
8061         * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
8062         Likewise.
8063         * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
8064         Likewise.
8065         * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
8066         Likewise.
8067         * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
8068         Likewise.
8069         * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
8070         Likewise.
8071         * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
8072         Likewise.
8073         * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
8074         Likewise.
8075         * testsuite/21_strings/basic_string_view/include.cc: Likewise.
8076         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
8077         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
8078         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
8079         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
8080         Likewise.
8081         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
8082         Likewise.
8083         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
8084         Likewise.
8085         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
8086         Likewise.
8087         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
8088         Likewise.
8089         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
8090         Likewise.
8091         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
8092         Likewise.
8093         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
8094         Likewise.
8095         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
8096         Likewise.
8097         * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
8098         Likewise.
8099         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
8100         Likewise.
8101         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
8102         Likewise.
8103         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
8104         Likewise.
8105         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
8106         Likewise.
8107         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
8108         Likewise.
8109         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
8110         Likewise.
8111         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
8112         Likewise.
8113         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
8114         Likewise.
8115         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
8116         Likewise.
8117         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
8118         Likewise.
8119         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
8120         Likewise.
8121         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
8122         Likewise.
8123         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
8124         Likewise.
8125         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
8126         Likewise.
8127         * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
8128         Likewise.
8129         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
8130         Likewise.
8131         * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
8132         Likewise.
8133         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
8134         Likewise.
8135         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
8136         Likewise.
8137         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
8138         Likewise.
8139         * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
8140         Likewise.
8141         * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
8142         Likewise.
8143         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
8144         Likewise.
8145         * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
8146         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
8147         Likewise.
8148         * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
8149         Likewise.
8150         * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
8151         Likewise.
8152         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
8153         Likewise.
8154         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
8155         Likewise.
8156         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
8157         Likewise.
8158         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
8159         Likewise.
8160         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
8161         Likewise.
8162         * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
8163         Likewise.
8164         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
8165         * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
8166
8167 2016-07-27  Jonathan Wakely  <jwakely@redhat.com>
8168
8169         * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
8170
8171 2016-07-25  Georeth Chow  <georeth2010@gmail.com>
8172
8173         * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
8174         _S_concat enumerator.
8175         * testsuite/ext/rope/6.cc: New test.
8176
8177 2016-07-25  Jonathan Wakely  <jwakely@redhat.com>
8178
8179         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
8180         std::mt19937, std::thread and std::atomic to simplify test.
8181         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
8182
8183 2016-07-22  Jonathan Wakely  <jwakely@redhat.com>
8184
8185         PR libstdc++/71964
8186         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
8187         (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
8188         * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
8189         * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
8190         * testsuite/23_containers/set/allocator/71964.cc: New test.
8191
8192         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
8193         delete[] instead of delete.
8194
8195 2016-07-21  Jonathan Wakely  <jwakely@redhat.com>
8196
8197         * include/experimental/propagate_const (propagate_const::__t): Rename
8198         to _M_t and remove comment. Qualify std::move and std::forward.
8199         * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
8200
8201         * testsuite/23_containers/vector/zero_sized_allocations.cc:
8202         Define sized deallocation function.
8203         * testsuite/util/testsuite_new_operators.h:
8204         (operator delete(void*, const std::nothrow_t&)): Define nothrow
8205         deallocation function.
8206
8207         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
8208         reads past the end of strings.
8209         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
8210         Likewise.
8211         * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
8212         invalid array accesses.
8213         * testsuite/experimental/string_view/operations/compare/char/1.cc:
8214         Fix read past the end of string.
8215         * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
8216
8217         * testsuite/24_iterators/container_access.cc: Fix missing returns.
8218         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
8219
8220         * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
8221         leak) memory for arguments to placement delete.
8222         * testsuite/20_util/addressof/1.cc: Don't leak memory.
8223         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
8224         * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
8225         Likewise.
8226
8227 2016-07-20  Jonathan Wakely  <jwakely@redhat.com>
8228
8229         * doc/xml/manual/intro.xml: Document DR 2684 status.
8230         * doc/html/*: Regenerate.
8231
8232         * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
8233         (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
8234         (atomic_uint64_t): Define (LWG 2441).
8235         * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
8236         lines.
8237         * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
8238         the new types.
8239         * doc/xml/manual/intro.xml: Document DR 2441 status.
8240
8241         * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
8242         to use perfect forwarding (LWG 2328).
8243         * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
8244         * doc/xml/manual/intro.xml: Document DR 2328 status.
8245
8246         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
8247         static objects for catching nullptr as pointer to member types.
8248
8249 2016-07-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
8250
8251         Clean up optional's comments.
8252         * include/std/optional: Remove incorrect section headers
8253         from comments when redundant, replace bare section
8254         headers with more descriptive comments.
8255
8256 2016-07-15  Jonathan Wakely  <jwakely@redhat.com>
8257
8258         * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
8259         * include/bits/move.h: Likewise.
8260         * include/bits/postypes.h: Likewise.
8261         * include/debug/bitset: Likewise.
8262         * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
8263         * include/ext/string_conversions.h: Change C++0x to __cxx11 in
8264         comment.
8265         * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
8266         * testsuite/util/thread/all.h: Likewise.
8267
8268         * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
8269         and adjust comment.
8270
8271         PR c++/58796
8272         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
8273         nullptr match handlers of pointer type.
8274
8275 2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
8276
8277         Implement C++17 P0025 clamp.
8278         * include/bits/algorithmfwd.h: Declare clamp overloads.
8279         * include/bits/stl_algo.h: Implement clamp.  Feature __cpp_lib_clamp.
8280         * testsuite/25_algorithms/clamp/1.cc: New test.
8281         * testsuite/25_algorithms/clamp/2.cc: New test.
8282         * testsuite/25_algorithms/clamp/constexpr.cc: New test.
8283         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
8284         1.cc: New test.
8285         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
8286         pod.cc: New test.
8287
8288 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
8289
8290         Fix the constraints for any's assignment operator template to properly
8291         reject assignment from a non-copyable lvalue.
8292         * include/std/any (operator=(_ValueType&&)): Constrain the decayed
8293         type for is_copy_constructible,
8294         * testsuite/20_util/any/requirements.cc: Add a test for
8295         non-copyable lvalues.
8296
8297 2016-07-14  Jonathan Wakely  <jwakely@redhat.com>
8298
8299         * include/experimental/functional: Include <parallel/algorithm> in
8300         Parallel Mode.
8301
8302         * testsuite/experimental/functional/searchers.cc: Include <algorithm>
8303         for std::search.
8304
8305         PR libstdc++/70716
8306         * include/bits/forward_list.h (forward_list): Update doxygen comments
8307         to reflect allocator propagation semantics. Remove ambiguous
8308         statements about data being lost.
8309         * include/bits/stl_deque.h (deque): Likewise.
8310         * include/bits/stl_list.h (list): Likewise.
8311         * include/bits/stl_map.h (map): Likewise.
8312         * include/bits/stl_multimap.h (multimap): Likewise.
8313         * include/bits/stl_multiset.h (multiset): Likewise.
8314         * include/bits/stl_set.h (set): Likewise.
8315         * include/bits/stl_vector.h (vector): Likewise.
8316         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
8317         Likewise.
8318         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
8319         Likewise.
8320
8321 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
8322
8323         Implement P0032R3, Homogeneous interface for variant, any and optional,
8324         for the parts concerning any and optional.
8325         * include/std/any (_Storage()): Make constexpr and have it
8326         initialize _M_ptr.
8327         (any()): Make constexpr.
8328         (any(const any&)): Adjust.
8329         (any(any&&)): Likewise.
8330         (__any_constructible_t): New.
8331         (any(_ValueType&&)): Constrain.
8332         (any(in_place_type_t<_Tp>, _Args&&...)): New.
8333         (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
8334         Likewise.
8335         (~any()): Adjust.
8336         (operator=(const any&)): Likewise.
8337         (operator=(any&&)): Likewise.
8338         (operator=(_ValueType&&)): Constrain.
8339         (emplace(_Args&&...)): New.
8340         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
8341         (clear()): Remove.
8342         (reset()): New.
8343         (swap(any&)): Adjust.
8344         (empty()): Remove.
8345         (has_value()): New.
8346         (type()): Adjust.
8347         (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
8348         (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
8349         (make_any(_Args&&...)): Likewise.
8350         (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
8351         * include/std/optional (in_place_t, in_place): Remove.
8352         (bad_optional_access): Add a comment referring to LEWG 72.
8353         (emplace(_Args&&...)): Constrain.
8354         (has_value()): New.
8355         (reset()): Likewise.
8356         (make_optional(_Args&&...)): Likewise.
8357         (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
8358         * include/std/utility (in_place_tag): New.
8359         (__in_place, __in_place_type, __in_place_index): Likewise.
8360         (in_place_t, in_place_type_t, in_place_index_t): Likewise.
8361         (in_place(__in_place*)): Likewise.
8362         (in_place(__in_place_type<_Tp>*)): Likewise.
8363         (in_place(__in_place_index<_Idx>*)): Likewise.
8364         * testsuite/20_util/any/assign/1.cc: Adjust.
8365         * testsuite/20_util/any/assign/emplace.cc: New.
8366         * testsuite/20_util/any/assign/self.cc: Adjust.
8367         * testsuite/20_util/any/cons/1.cc: Likewise.
8368         * testsuite/20_util/any/cons/in_place.cc: New.
8369         * testsuite/20_util/any/make_any.cc: Likewise.
8370         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
8371         * testsuite/20_util/any/misc/swap.cc: Likewise.
8372         * testsuite/20_util/any/modifiers/1.cc: Likewise.
8373         * testsuite/20_util/any/requirements.cc: New.
8374         * testsuite/20_util/in_place/requirements.cc: Likewise.
8375         * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
8376         * testsuite/20_util/optional/in_place.cc: Likewise.
8377         * testsuite/20_util/optional/make_optional.cc: Add tests for
8378         the new overloads of make_optional.
8379
8380 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
8381
8382         Implement P0307R2, Making Optional Greater Equal Again.
8383         * include/experimental/optional (_Has_addressof): Fix the comment.
8384         * include/std/optional (_Has_addressof): Likewise.
8385         (operator=(_Up&&)): Constrain.
8386         (operator=(const optional<_Up>&)): Likewise.
8387         (operator=(optional<_Up>&&)): Likewise.
8388         (__optional_relop_t): New.
8389         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8390         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
8391         Constrain and make transparent.
8392         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8393         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
8394         Constrain and make transparent.
8395         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8396         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8397         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
8398         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
8399         (operator!=(const optional<_Tp>&, _Tp const&)):
8400         Constrain and make transparent.
8401         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
8402         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
8403         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
8404         (operator>(const optional<_Tp>&, const _Tp&)):
8405         Constrain and make transparent.
8406         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
8407         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
8408         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
8409         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
8410         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
8411         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
8412         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8413         * testsuite/20_util/optional/relops/1.cc: Likewise.
8414         * testsuite/20_util/optional/relops/2.cc: Likewise.
8415         * testsuite/20_util/optional/relops/3.cc: Likewise.
8416         * testsuite/20_util/optional/relops/4.cc: Likewise.
8417         * testsuite/20_util/optional/requirements.cc: Add tests to verify
8418         that optional's relops are transparent and don't synthesize
8419         operators. Also test that assignment sfinaes.
8420
8421 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8422
8423         PR libstdc++/71856
8424         * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
8425         * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
8426         Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
8427         on _GLIBCXX_ASSERTIONS.
8428         * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
8429         Include <unistd.h> for sleep.
8430         * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
8431         * include/parallel/merge.h: Likewise.
8432         * include/parallel/multiway_merge.h: Likewise.
8433         * include/parallel/partition.h: Likewise.
8434         * include/parallel/queue.h: Likewise.
8435         * include/parallel/sort.h: Likewise.
8436         * testsuite/25_algorithms/headers/algorithm/
8437         parallel_algorithm_assert.cc: New.
8438
8439         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
8440         (replace(__const_iterator, __const_iterator, initializer_list<C>)):
8441         Forward to different overload.
8442
8443         * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
8444         static.
8445
8446 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8447
8448         Revert "Add non-const overload of std::string::data()".
8449
8450 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
8451
8452         Implement P0307R2, Making Optional Greater Equal Again.
8453         * include/experimental/optional (_Has_addressof): Fix the comment.
8454         * include/std/optional (_Has_addressof): Likewise.
8455         (operator=(_Up&&)): Constrain.
8456         (operator=(const optional<_Up>&)): Likewise.
8457         (operator=(optional<_Up>&&)): Likewise.
8458         (__optional_relop_t): New.
8459         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8460         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
8461         Constrain and make transparent.
8462         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8463         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
8464         Constrain and make transparent.
8465         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8466         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8467         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
8468         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
8469         (operator!=(const optional<_Tp>&, _Tp const&)):
8470         Constrain and make transparent.
8471         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
8472         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
8473         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
8474         (operator>(const optional<_Tp>&, const _Tp&)):
8475         Constrain and make transparent.
8476         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
8477         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
8478         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
8479         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
8480         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
8481         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
8482         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8483         * testsuite/20_util/optional/relops/1.cc: Likewise.
8484         * testsuite/20_util/optional/relops/2.cc: Likewise.
8485         * testsuite/20_util/optional/relops/3.cc: Likewise.
8486         * testsuite/20_util/optional/relops/4.cc: Likewise.
8487         * testsuite/20_util/optional/requirements.cc: Add tests to verify
8488         that optional's relops are transparent and don't synthesize
8489         operators. Also test that assignment sfinaes.
8490
8491 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8492
8493         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
8494         New function.
8495         (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
8496         instead of _M_data().
8497         (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
8498         Likewise.
8499         (append(const basic_string&)): Likewise.
8500         (append(const basic_string&, size_type, size_type)): Likewise.
8501         (assign(const basic_string&, size_type, size_type)): Likewise.
8502         (insert(size_type, const basic_string&)): Likewise.
8503         (insert(size_type, const basic_string&, size_type, size_type)):
8504         Likewise.
8505         (replace(size_type, size_type, const basic_string&, size_type,
8506         size_type)): Likewise.
8507         (replace(__const_iterator, __const_iterator, const basic_string&)):
8508         Likewise.
8509         (c_str(), data()): Use c_str() instead of _M_data().
8510         (data()): Add non-const overload as per LWG 2391 and P0272R1.
8511         (compare(const basic_string&)): Use data() instead of _M_data().
8512         [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
8513         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
8514         Pass raw pointers to _S_copy.
8515         (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
8516         _S_assign.
8517         (find(const _CharT*, size_type, size_type)): Use data instead of
8518         _M_data().
8519         * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
8520         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
8521         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
8522
8523 2016-07-12  Jonathan Wakely  <jwakely@redhat.com>
8524
8525         * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
8526         * doc/xml/manual/intro.xml: Document DR 2458 status.
8527         * doc/html*: Regenerate.
8528
8529         * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
8530         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8531         Only include <array>.
8532         * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
8533         Likewise.
8534         * doc/xml/manual/intro.xml: Document LWG 2212 support.
8535         * doc/html*: Regenerate.
8536
8537         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8538         Add testcase from LWG 2164.
8539
8540 2016-07-11  François Dumont  <fdumont@gcc.gnu.org>
8541
8542         * include/bits/stl_vector.h (push_back(const value_type&)): Forward
8543         to _M_realloc_insert.
8544         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8545         (_M_realloc_insert): Declare new function.
8546         (_M_emplace_back_aux): Remove definition.
8547         * include/bits/vector.tcc (emplace_back(_Args...)):
8548         Use _M_realloc_insert.
8549         (insert(const_iterator, const value_type&)): Likewise.
8550         (_M_insert_rval, _M_emplace_aux): Likewise.
8551         (_M_emplace_back_aux): Remove declaration.
8552         (_M_realloc_insert): Define.
8553         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8554         Adjust expected results for emplacing an lvalue with reallocation.
8555
8556 2016-07-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
8557
8558         Implement std::optional.
8559         * include/Makefile.am: Add optional to exported headers.
8560         * include/Makefile.in: Likewise.
8561         * include/std/optional: New.
8562         * testsuite/20_util/optional/typedefs.cc: Likewise.
8563         * testsuite/20_util/optional/relops/2.cc: Likewise.
8564         * testsuite/20_util/optional/relops/3.cc: Likewise.
8565         * testsuite/20_util/optional/relops/4.cc: Likewise.
8566         * testsuite/20_util/optional/relops/5.cc: Likewise.
8567         * testsuite/20_util/optional/relops/1.cc: Likewise.
8568         * testsuite/20_util/optional/relops/6.cc: Likewise.
8569         * testsuite/20_util/optional/nullopt.cc: Likewise.
8570         * testsuite/20_util/optional/in_place.cc: Likewise.
8571         * testsuite/20_util/optional/make_optional.cc: Likewise.
8572         * testsuite/20_util/optional/assignment/2.cc: Likewise.
8573         * testsuite/20_util/optional/assignment/3.cc: Likewise.
8574         * testsuite/20_util/optional/assignment/4.cc: Likewise.
8575         * testsuite/20_util/optional/assignment/5.cc: Likewise.
8576         * testsuite/20_util/optional/assignment/1.cc: Likewise.
8577         * testsuite/20_util/optional/assignment/6.cc: Likewise.
8578         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
8579         * testsuite/20_util/optional/cons/default.cc: Likewise.
8580         * testsuite/20_util/optional/cons/move.cc: Likewise.
8581         * testsuite/20_util/optional/cons/value.cc: Likewise.
8582         * testsuite/20_util/optional/cons/copy.cc: Likewise.
8583         * testsuite/20_util/optional/requirements.cc: Likewise.
8584         * testsuite/20_util/optional/observers/2.cc: Likewise.
8585         * testsuite/20_util/optional/observers/3.cc: Likewise.
8586         * testsuite/20_util/optional/observers/4.cc: Likewise.
8587         * testsuite/20_util/optional/observers/5.cc: Likewise.
8588         * testsuite/20_util/optional/observers/1.cc: Likewise.
8589         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
8590         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
8591         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8592         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
8593         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
8594         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
8595         * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
8596         * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
8597         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
8598         * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
8599         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
8600         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
8601         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
8602         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
8603         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
8604         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
8605         * testsuite/20_util/optional/swap/1.cc: Likewise.
8606
8607 2016-07-08  Jonathan Wakely  <jwakely@redhat.com>
8608
8609         * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
8610
8611 2016-07-07  Jonathan Wakely  <jwakely@redhat.com>
8612
8613         * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
8614         * doc/html/*: Regenerate.
8615
8616 2016-07-07  Ville Voutilainen  <ville.voutilainen@gmail.com>
8617
8618         Implement std::any.
8619         * include/Makefile.am: Add any and c++17_warning.h to exported headers.
8620         * include/Makefile.in: Likewise.
8621         * include/std/any: New.
8622         * testsuite/20_util/any/assign/1.cc: Likewise.
8623         * testsuite/20_util/any/assign/2.cc: Likewise.
8624         * testsuite/20_util/any/assign/self.cc: Likewise.
8625         * testsuite/20_util/any/cons/1.cc: Likewise.
8626         * testsuite/20_util/any/cons/2.cc: Likewise.
8627         * testsuite/20_util/any/cons/aligned.cc: Likewise.
8628         * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
8629         * testsuite/20_util/any/misc/any_cast.cc: Likewise.
8630         * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
8631         * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
8632         * testsuite/20_util/any/misc/swap.cc: Likewise.
8633         * testsuite/20_util/any/modifiers/1.cc: Likewise.
8634         * testsuite/20_util/any/observers/type.cc: Likewise.
8635         * testsuite/20_util/any/typedefs.cc: Likewise.
8636
8637 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8638
8639         Add a new header for diagnosing the use of C++17 facilities
8640         in pre-C++17 modes.
8641         * include/bits/c++17_warning.h: New.
8642
8643 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8644
8645         Implement LWG 2451, optional<T> should 'forward' T's
8646         implicit conversions.
8647         * include/experimental/optional (__is_optional_impl, __is_optional):
8648         New.
8649         (optional()): Make constexpr and default.
8650         (optional(_Up&&), optional(const optional<_Up>&),
8651         optional(optional<_Up>&& __t): New.
8652         (operator=(_Up&&)): Constrain.
8653         (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
8654         * testsuite/experimental/optional/cons/value.cc:
8655         Add tests for the functionality added by LWG 2451.
8656         * testsuite/experimental/optional/cons/value_neg.cc: New.
8657
8658 2016-07-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8659
8660         Implement LWG 2509,
8661         any_cast doesn't work with rvalue reference targets and cannot
8662         move with a value target.
8663         * include/experimental/any (any(_ValueType&&)): Constrain and
8664         add an overload that doesn't forward.
8665         (any_cast(any&&)): Constrain and add an overload that moves.
8666         * testsuite/experimental/any/misc/any_cast.cc: Add tests for
8667         the functionality added by LWG 2509.
8668
8669 2016-07-04  François Dumont  <fdumont@gcc.gnu.org>
8670
8671         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8672         New test.
8673         * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
8674         test.
8675
8676 2016-07-04  Jonathan Wakely  <jwakely@redhat.com>
8677
8678         * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
8679         Define inline. Forward to _M_emplace_aux.
8680         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8681         (_M_insert_rval, _M_emplace_aux): Declare new functions.
8682         (_Temporary_value): New RAII type using allocator to construct/destroy.
8683         (_S_insert_aux_assign): Remove.
8684         (_M_insert_aux): Make non-variadic.
8685         * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
8686         Use _Temporary_value.
8687         (emplace(const_iterator, _Args&&...)): Remove definition.
8688         (_M_insert_rval, _M_emplace_aux): Define.
8689         (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
8690         (_M_fill_insert): Use _Temporary_value.
8691         * testsuite/23_containers/vector/allocator/construction.cc: New test.
8692         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8693         Adjust expected results for emplacing an lvalue with reallocation.
8694         * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
8695         expected results to account for construction/destruction of temporary
8696         using allocator.
8697         * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
8698
8699 2016-07-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
8700
8701         PR libstdc++/71313
8702         * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
8703         Call remove_all for children of a directory.
8704         * testsuite/experimental/filesystem/operations/create_directories.cc:
8705         Adjust.
8706
8707 2016-07-02  François Dumont  <fdumont@gcc.gnu.org>
8708
8709         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
8710         dg-error line numbers.
8711         * testsuite/23_containers/array/tuple_interface/
8712         tuple_element_debug_neg.cc: Likewise.
8713         * testsuite/25_algorithms/lexicographical_compare/debug/
8714         irreflexive_neg.cc: Remove.
8715
8716 2016-06-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8717
8718         * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
8719         than specific target.
8720
8721 2016-06-27  François Dumont  <fdumont@gcc.gnu.org>
8722
8723         PR libstdc++/71640
8724         * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
8725         friend declaration.
8726
8727 2016-06-23  François Dumont  <fdumont@gcc.gnu.org>
8728
8729         * include/debug/array (array<>::swap): Fix noexcept qualificaton for
8730         zero-size array.
8731
8732 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8733
8734         * configure.host: Remove mep-* support.
8735
8736 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8737
8738         * configure: Regenerate.
8739         * configure.host: Remove support for knetbsd.
8740         * crossconfig.m4: Likewise.
8741
8742 2016-06-20  François Dumont  <fdumont@gcc.gnu.org>
8743
8744         PR libstdc++/71181
8745         * include/tr1/hashtable_policy.h
8746         (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
8747         dereferenceable to avoid check on lower_bound result.
8748         (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
8749         (_Prime_rehash_policy::_M_need_rehash): Likewise.
8750         * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
8751         Always return a value greater than input value. Set _M_next_resize to
8752         max value when reaching highest prime number.
8753         * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
8754         being now useless.
8755         * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
8756         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
8757         (test02): New.
8758         * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
8759         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8760         Fix indentation.
8761
8762 2016-06-17  Jonathan Wakely  <jwakely@redhat.com>
8763
8764         PR libstdc++/71545
8765         * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
8766         Remove irreflexive checks.
8767         * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
8768         binary_search): Likewise.
8769         * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
8770         * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
8771         * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
8772         * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
8773         * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
8774         Add constructor from array.
8775
8776 2016-06-16  François Dumont  <fdumont@gcc.gnu.org>
8777
8778         * include/debug/debug.h
8779         (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
8780         (__glibcxx_requires_subscript): Move...
8781         * include/debug/assertions.h: ...here and add __builtin_expect.
8782         (_GLIBCXX_DEBUG_ONLY): Remove ; value.
8783         * include/bits/stl_deque.h
8784         (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
8785         (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
8786         (std::deque<>::back()): Likewise.
8787         (std::deque<>::pop_front()): Likewise.
8788         (std::deque<>::pop_back()): Likewise.
8789         (std::deque<>::swap(deque&)): Add allocator check.
8790         * include/bits/stl_vector.h
8791         (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
8792         (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
8793         (std::vector<>::back()): Likewise.
8794         (std::vector<>::pop_back()): Likewise.
8795         (std::vector<>::swap(vector&)): Add allocator check.
8796
8797 2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>
8798
8799         Provide swappable traits (p0185r1)
8800         * include/std/type_traits (is_swappable, is_nothrow_swappable,
8801         is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
8802         is_nothrow_swappable_v, is_swappable_with_v,
8803         is_nothrow_swappable_with_v): New.
8804         * include/bits/stl_pair.h: Use it as per p0185r1.
8805         * include/bits/stl_queue.h: Likewise.
8806         * include/bits/stl_stack.h: Likewise.
8807         * include/bits/unique_ptr.h: Likewise.
8808         * include/std/tuple: Likewise.
8809         * include/std/array: Likewise. Fix zero-size member swap.
8810         * include/bits/hashtable.h: Use __and_.
8811         * testsuite/20_util/is_nothrow_swappable/requirements/
8812         explicit_instantiation.cc: Change test options to std=gnu++17.
8813         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
8814         Likewise.
8815         * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
8816         * testsuite/20_util/is_swappable/requirements/
8817         explicit_instantiation.cc: Likewise.
8818         * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
8819         * testsuite/20_util/is_swappable/value.cc: Likewise.
8820         * testsuite/20_util/is_nothrow_swappable/requirements/
8821         explicit_instantiation_ext.cc: New.
8822         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
8823         New.
8824         * testsuite/20_util/is_nothrow_swappable/value.h: New.
8825         * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
8826         * testsuite/20_util/is_nothrow_swappable_with/requirements/
8827         explicit_instantiation.cc: New.
8828         * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
8829         New.
8830         * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
8831         * testsuite/20_util/is_swappable/requirements/
8832         explicit_instantiation_ext.cc: New.
8833         * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
8834         * testsuite/20_util/is_swappable/value.h: New.
8835         * testsuite/20_util/is_swappable/value_ext.cc: New.
8836         * testsuite/20_util/is_swappable_with/requirements/
8837         explicit_instantiation.cc: New.
8838         * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
8839         * testsuite/20_util/is_swappable_with/value.cc: New.
8840         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
8841         dg-error line numbers.
8842         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
8843         Likewise.
8844
8845 2016-06-16  Jonathan Wakely  <jwakely@redhat.com>
8846
8847         * include/std/array: Remove trailing whitespace.
8848         * include/std/atomic: Likewise.
8849         * include/std/bitset: Likewise.
8850         * include/std/chrono: Likewise.
8851         * include/std/complex: Likewise.
8852         * include/std/condition_variable: Likewise.
8853         * include/std/fstream: Likewise.
8854         * include/std/functional: Likewise.
8855         * include/std/future: Likewise.
8856         * include/std/iomanip: Likewise.
8857         * include/std/iosfwd: Likewise.
8858         * include/std/istream: Likewise.
8859         * include/std/limits: Likewise.
8860         * include/std/ratio: Likewise.
8861         * include/std/scoped_allocator: Likewise.
8862         * include/std/sstream: Likewise.
8863         * include/std/stdexcept: Likewise.
8864         * include/std/string: Likewise.
8865         * include/std/system_error: Likewise.
8866         * include/std/thread: Likewise.
8867         * include/std/tuple: Likewise.
8868         * include/std/type_traits: Likewise.
8869         * include/std/utility: Likewise.
8870         * include/std/valarray: Likewise.
8871         * include/std/vector: Likewise.
8872
8873         * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
8874         new overloaded functions.
8875         * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
8876         to avoid creating a redundant temporary.
8877         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
8878         test.
8879
8880 2016-06-15  François Dumont  <fdumont@gcc.gnu.org>
8881
8882         * include/bits/stl_deque.h
8883         (std::deque<>::operator=): Call _M_assign_aux.
8884         (std::deque<>::assign(initializer_list<>)): Likewise.
8885         (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8886         (std::deque<>::insert(const_iterator, initializer_list<>)):
8887         Call _M_range_insert_aux.
8888         (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
8889         Likewise.
8890         (std::deque<>::_M_fill_assign): Call _M_fill_insert.
8891         (std::deque<>::_M_move_assign2): Call _M_assign_aux.
8892         * include/bits/deque.tcc
8893         (std::deque<>::operator=): Call _M_range_insert_aux.
8894         (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
8895         Likewise.
8896         * include/bits/stl_vector.h
8897         (std::vector<>::operator=): Call _M_assign_aux.
8898         (std::vector<>::assign(initializer_list<>)): Likewise.
8899         (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8900         (std::vector<>::insert(const_iterator, initializer_list<>)):
8901         Call _M_range_insert.
8902         * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
8903
8904 2016-06-07  François Dumont  <fdumont@gcc.gnu.org>
8905
8906         * include/std/tuple (_Head_base<>): Default specialization condition at
8907         type declaration.
8908
8909 2016-06-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8910
8911         Support allocators in tuples of zero size.
8912         * include/std/tuple (tuple<>::tuple(),
8913         tuple<>::tuple(allocator_arg_t, const _Alloc&),
8914         tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
8915         * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
8916
8917 2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
8918
8919         PR libstdc++/71320
8920         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
8921         Add or remove permissions according to perms argument.
8922         * testsuite/experimental/filesystem/operations/permissions.cc: New
8923         test.
8924
8925 2016-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8926
8927         Protect allocator-overloads of tuple-from-tuple constructors
8928         from cases that would create dangling references.
8929         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8930         const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
8931         tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
8932         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
8933
8934 2016-05-29  Gerald Pfeifer  <gerald@pfeifer.com>
8935
8936         * doc/xml/manual/backwards_compatibility.xml: Adjust
8937         lists.debian.org link to https.
8938         * doc/html/manual/backwards.html: Regenerate.
8939
8940 2016-05-27  Jonathan Wakely  <jwakely@redhat.com>
8941
8942         * doc/xml/manual/abi.xml: Adjust URL to use https.
8943         * doc/html/manual/*: Regenerate.
8944
8945 2016-05-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
8946
8947         PR libstdc++/66338
8948         * include/std/tuple (_TMC): Add a check for _NotSameTuple.
8949         * include/std/tuple (tuple(_UElements&&...)): Remove the separate
8950         check for _NotSameTuple.
8951         * include/std/tuple (_TMCT): New.
8952         * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
8953         * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
8954         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8955               const tuple<_UElements...>&)): Likewise.
8956         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8957               tuple<_UElements...>&&)): Likewise.
8958         * testsuite/20_util/tuple/cons/66338.cc: New.
8959
8960 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
8961
8962         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
8963         * configure: Regenerate.
8964         * config.h.in: Regenerate.
8965
8966         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
8967         * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
8968         Remove const qualification on function. Replace
8969         _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
8970         (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
8971         (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
8972
8973 2016-05-24  François Dumont  <fdumont@gcc.gnu.org>
8974
8975         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
8976         * include/bits/hashtable_policy.h
8977         (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
8978         having load factor management.
8979         (_Mask_range_hashing): New.
8980         (__clp2): New.
8981         (_Power2_rehash_policy): New.
8982         (_Inserts<>): Remove last template parameter, _Unique_keys, so that
8983         partial specializations only depend on whether iterators are constant
8984         or not.
8985         * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
8986         test new hash policy.
8987         * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
8988         Likewise.
8989         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8990         Likewise.
8991         * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
8992         Likewise.
8993         * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
8994         Likewise.
8995         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
8996         New.
8997         * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
8998         using the new hash policy.
8999         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
9000
9001 2016-05-24  Jonathan Wakely  <jwakely@redhat.com>
9002
9003         * include/bits/stl_queue.h (priority_queue::value_compare): Define.
9004
9005 2016-05-23  François Dumont  <fdumont@gcc.gnu.org>
9006
9007         * include/debug/safe_iterator.h
9008         (_Safe_iterator<>::operator->()): Implement using underlying iterator
9009         operator ->.
9010         * include/debug/safe_local_iterator.h
9011         (_Safe_local_iterator<>::operator->()): Likewise.
9012
9013 2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
9014
9015         * testsuite/experimental/memory_resource/1.cc: Add required argument
9016         to dg-require-atomic-builtins.
9017
9018 2016-05-13  Jonathan Wakely  <jwakely@redhat.com>
9019
9020         PR libstdc++/71073
9021         * include/debug/bitset: Add #pragma GCC system_header.
9022         * include/debug/deque: Likewise.
9023         * include/debug/list: Likewise.
9024         * include/debug/map: Likewise.
9025         * include/debug/set: Likewise.
9026         * include/debug/string: Likewise.
9027         * include/debug/unordered_map: Likewise.
9028         * include/debug/unordered_set: Likewise.
9029         * include/debug/vector: Likewise.
9030         * include/debug/functions.h: Adjust whitespace.
9031
9032 2016-05-12  Jonathan Wakely  <jwakely@redhat.com>
9033
9034         PR libstdc++/71081
9035         * testsuite/experimental/memory_resource/1.cc: Require atomics.
9036
9037 2016-05-11  Jonathan Wakely  <jwakely@redhat.com>
9038
9039         PR libstdc++/71049
9040         * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
9041         exception constructors with __sso_string parameters.
9042
9043 2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
9044
9045         * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
9046         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
9047         Test begin and end functions.
9048         * testsuite/experimental/filesystem/iterators/
9049         recursive_directory_iterator.cc: Likewise.
9050
9051         PR libstdc++/71038
9052         * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
9053         * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
9054
9055         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
9056         Overload operator* to move from rvalues.
9057
9058         PR libstdc++/71036
9059         * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
9060         * testsuite/experimental/filesystem/operations/create_directory.cc:
9061         New test.
9062
9063         PR libstdc++/71037
9064         * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
9065         base path to exception.
9066         * testsuite/experimental/filesystem/operations/canonical.cc: Test
9067         paths contained in exception.
9068
9069         * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
9070         using declaration.
9071
9072         PR libstdc++/71005
9073         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
9074         New type.
9075         (directory_iterator::operator++(int)): Return proxy.
9076         (recursive_directory_iterator::operator++(int)): Likewise.
9077         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
9078         Test post-increment.
9079         * testsuite/experimental/filesystem/iterators/
9080         recursive_directory_iterator.cc: Likewise.
9081
9082 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
9083
9084         PR libstdc++/71004
9085         * testsuite/experimental/filesystem/iterators/
9086         recursive_directory_iterator.cc: Fix test02 to not call member
9087         functions on invalid iterator, and use VERIFY not assert.
9088
9089 2016-05-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
9090
9091         Avoid endless run-time recursion for copying single-element
9092         tuples where the element type is by-value constructible
9093         from any type.
9094         * include/std/tuple (_NotSameTuple): New.
9095         * include/std/tuple (tuple(_UElements&&...): Use it.
9096         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
9097
9098 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
9099
9100         PR libstdc++/71004
9101         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
9102         Initialize scalar member variables in default constructor.
9103         * testsuite/experimental/filesystem/iterators/
9104         recursive_directory_iterator.cc: Test default construction.
9105
9106 2016-05-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9107
9108         * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
9109
9110 2016-05-05  Jonathan Wakely  <jwakely@redhat.com>
9111
9112         * testsuite/experimental/filesystem/path/native/string.cc: Add
9113         dg-require-filesystem-ts directive.
9114
9115 2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
9116
9117         PR libstdc++/70940
9118         * include/experimental/memory_resource
9119         (__resource_adaptor_imp::do_allocate): Do not default-construct
9120         rebound allocator.
9121         (__resource_adaptor_imp::do_deallocate): Likewise. Use
9122         allocator_traits to get pointer type.
9123         (__null_memory_resource::do_allocate): Remove unused parameters.
9124         (__null_memory_resource::do_deallocate): Likewise.
9125         (__null_memory_resource::do_is_equal): Likewise. Add return statement.
9126         * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
9127         * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
9128         move to ...
9129         * testsuite/experimental/memory_resource/1.cc: Here.
9130         * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
9131         * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
9132
9133 2016-04-29  Chris Gregory  <czipperz@gmail.com>
9134
9135         * config/*: Remove trailing whitespace.
9136         * src/*: Likewise.
9137         * testsuite/tr1/*: Likewise.
9138         * testsuite/util/*: Likewise.
9139
9140 2016-04-28  Jonathan Wakely  <jwakely@redhat.com>
9141
9142         PR libstdc++/70766
9143         * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
9144         __addressof.
9145         * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
9146         Likewise.
9147         * include/std/atomic (atomic<_Tp>): Likewise.
9148         * include/std/shared_mutex (shared_lock): Likewise.
9149         * testsuite/24_iterators/istream_iterator/70766.cc: New test.
9150         * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
9151         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
9152         * testsuite/29_atomics/atomic/70766.cc: New test.
9153         * testsuite/30_threads/shared_lock/70766.cc: New test.
9154
9155         * include/bits/hashtable_policy.h (__detail::_Insert_base,
9156         __detail::_Insert): Improve comments.
9157
9158 2016-04-27  Jonathan Wakely  <jwakely@redhat.com>
9159
9160         PR libstdc++/70767
9161         * include/std/limits: Update comments about DRs.
9162         (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
9163         numeric_limits<const volatile _Tp>): Define unconditionally.
9164
9165 2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
9166
9167         PR libstdc++/70762
9168         * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
9169         static counter to return a different path on every call.
9170
9171 2016-04-22  Tim Shen  <timshen@google.com>
9172
9173         PR libstdc++/70745
9174         * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
9175         Fix the match_not_bow and match_not_eow behavior.
9176         * testsuite/28_regex/regression.cc: Add testcase.
9177
9178 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
9179
9180         PR libstdc++/69703
9181         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
9182         __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
9183
9184 2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
9185
9186         PR libstdc++/69703
9187         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
9188         Override endianness bit in mode.
9189         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
9190         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
9191         that little_endian mode is ignored.
9192         * testsuite/experimental/filesystem/path/native/string.cc: New test.
9193
9194         PR libstdc++/70609
9195         * src/filesystem/ops.cc (close_fd): New function.
9196         (do_copy_file): Set permissions before copying file contents. Check
9197         result of closing file descriptors. Don't copy streambuf when file
9198         is empty.
9199         (copy(const path&, const path&, copy_options, error_code&)): Use
9200         lstat for source file when copy_symlinks is set.
9201         * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
9202
9203         * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
9204         operator~ operator&=, operator|=, operator^=): Add noexcept to
9205         overloaded operators for copy_options, perms and directory_options.
9206         * src/filesystem/ops.cc (make_file_type, make_file_status,
9207         is_not_found_errno, file_time): Add noexcept.
9208
9209 2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>
9210
9211         * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
9212
9213 2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
9214
9215         PR libstdc++/41759
9216         * include/bits/random.h: Reword static assertion messages to state
9217         positive conditions.
9218         * include/bits/random.tcc: Likewise.
9219         * include/bits/uniform_int_dist.h: Likewise.
9220         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
9221         patterns.
9222
9223         * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
9224
9225         * config/cpu/sh/atomicity.h: Fix typo in comment.
9226
9227         PR libstdc++/70294
9228         * include/std/thread (operator<, operator==): Move definitions to
9229         namespace-scope.
9230         * testsuite/30_threads/thread/id/70294.cc: New test.
9231
9232         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
9233         -Wno-pedantic to dg-options.
9234         * testsuite/20_util/align/2.cc: Use type as operand of alignof.
9235         * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
9236         to dg-options.
9237         * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
9238         Remove extra semi-colon.
9239         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
9240         Always supply second argument to static_assert.
9241         * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
9242         semi-colon.
9243         * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
9244         dg-options.
9245         * testsuite/26_numerics/complex/literals/values.cc: Likewise.
9246         * testsuite/29_atomics/atomic/60695.cc: Likewise.
9247         * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
9248         alignof when operand is an object not a type.
9249         * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
9250         * testsuite/decimal/make-decimal.cc: Likewise.
9251         * testsuite/experimental/type_traits/value.cc: Always supply second
9252         argument to static_assert.
9253         * testsuite/util/testsuite_common_types.h: Use __extension__ for
9254         __int128 types.
9255
9256         * testsuite/experimental/type_erased_allocator/1.cc: Don't include
9257         internal header.
9258         * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
9259         * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
9260         * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
9261         Likewise. Add licence and change to compile-only test.
9262
9263         * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
9264         unused parameter.
9265         * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
9266
9267         * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
9268         warnings.
9269
9270 2016-04-17  Edward Smith-Rowland  <3dw4rd@verizon.net>
9271
9272         * include/bits/specfun.h: Trivial comment misspelling.
9273
9274 2016-04-14  Jason Merrill  <jason@redhat.com>
9275
9276         Revert Jonathan's empty ABI change from yesterday.
9277
9278 2016-04-13  Martin Sebor  <msebor@redhat.com>
9279
9280         PR c++/69517
9281         * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
9282         upper bound is positive.
9283
9284 2016-04-13  Jonathan Wakely  <jwakely@redhat.com>
9285
9286         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
9287         _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
9288         * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
9289         of functions taking empty structs by value. Add a template parameter
9290         to overloads without hints. Rename overloads with hints to
9291         _M_emplace_hint.
9292         (_Hashtable::_M_erase(true_type, const_iterator),
9293         _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
9294         by reordering parameters.
9295         * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
9296         _M_emplace_hint instead of _M_emplace.
9297         * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
9298         shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
9299         * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
9300         __shared_ptr): Likewise.
9301         * include/bits/stl_algo.h (replace_if): Likewise.
9302         * include/bits/stl_pair.h (piecewise_construct_t,
9303         piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
9304         * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
9305         __uses_alloc0): Likewise.
9306         * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
9307         * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
9308         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
9309         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
9310         * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
9311         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
9312         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
9313
9314 2016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
9315
9316         Document C++17/TR29124 C++ Special Math Functions.
9317         * include/bits/specfun.h: Add Doxygen markup.
9318
9319 2016-04-07  Jonathan Wakely  <jwakely@redhat.com>
9320
9321         * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
9322
9323 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
9324
9325         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
9326         * src/Makefile.in: Regenerate.
9327
9328 2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
9329
9330         PR libstdc++/70554
9331         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
9332         __atomic_fetch_add for bool.
9333         * configure: Regenerate.
9334
9335         * testsuite/30_threads/thread/70503.cc: Require -static to work.
9336
9337         PR libstdc++/70503
9338         * src/c++11/thread.cc (execute_native_thread_routine,
9339         execute_native_thread_routine_compat): Give internal linkage.
9340         * testsuite/30_threads/thread/70503.cc: New test.
9341
9342 2016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
9343
9344         PR libstdc++/70437
9345         * include/bits/stl_pair.h (_ConstructiblePair,
9346         _ImplicitlyConvertiblePair, _MoveConstructiblePair,
9347         _ImplicitlyMoveConvertiblePair): Add shortcut conditions
9348         for same-type cases.
9349         * testsuite/20_util/pair/70437.cc: New.
9350
9351 2016-03-24  Jonathan Wakely  <jwakely@redhat.com>
9352
9353         PR libstdc++/69945
9354         * config/abi/pre/gnu.ver: Add new symbol.
9355         * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
9356         * testsuite/18_support/free_eh_pool.cc: New test.
9357
9358 2016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9359
9360         * include/Makefile.am (install-freestanding-headers): Add
9361         concept_check.h and move.h to the installed headers.
9362         * include/Makefile.in: Regenerated.
9363         * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
9364         freestanding implementations.
9365         * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
9366         that this macro has no effect for freestanding implementations.
9367         * doc/html/manual/using_macros.html: Likewise.
9368
9369 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
9370
9371         PR libstdc++/69939
9372         * include/experimental/tuple (__apply_impl): Qualify get and forward.
9373
9374 2016-02-23  Jonathan Wakely  <jwakely@redhat.com>
9375
9376         * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
9377         * doc/html/*: Regenerate.
9378
9379         PR libstdc++/69893
9380         * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
9381         exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
9382         llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
9383         nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
9384         trunc) [__cplusplus >= 201103L]: Import from namespace std.
9385         (fabs) [__cplusplus < 201103L]: Import from namespace std.
9386         * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
9387         Likewise.
9388         * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
9389         namespace before including TR1 headers.
9390         * testsuite/tr1/headers/c++200x/math.cc: New test.
9391
9392 2016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9393
9394         PR libstdc++/69881
9395         * include/c_global/cstdarg: Undefine __need___va_list.
9396         * include/c_global/cstddef: Undefine all kinds of __need_*.
9397
9398 2016-02-16  Tim Shen  <timshen@google.com>
9399
9400         PR libstdc++/69794
9401         * include/bits/regex_scanner.h: Add different special character
9402         sets for grep and egrep regex.
9403         * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
9404         * testsuite/28_regex/regression.cc: Add new testcase.
9405
9406 2016-02-08  Jonathan Wakely  <jwakely@redhat.com>
9407
9408         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
9409         added 'constexpr' in previous commit.
9410         * configure: Regenerate.
9411
9412         PR libstdc++/48891
9413         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
9414         checks for all targets except *-*-solaris2.* and ensure we find the
9415         libc math.h header not our own.
9416         * configure: Regenerate.
9417
9418 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
9419
9420         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
9421         New file.  Copied over from s390-linux-gnu.
9422
9423 2016-02-04  Jonathan Wakely  <jwakely@redhat.com>
9424
9425         PR libstdc++/69626
9426         * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
9427         with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
9428         * config.h.in: Regenerate.
9429         * configure: Regenerate.
9430         * testsuite/21_strings/c_strings/char/69626.cc: New.
9431
9432         * doc/html/index.html: Regenerate.
9433
9434         * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
9435         * doc/xml/manual/spine.xml: Update copyright years and author blurb.
9436         * doc/html/*: Regenerate.
9437
9438 2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9439
9440         PR libstdc++/69581
9441         * include/c_compatibility/math.h: Move header guards.
9442         * include/c_compatibility/stdlib.h: Likewise.
9443
9444 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
9445
9446         PR libstdc++/69506
9447         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9448
9449 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
9450
9451         PR libstdc++/69450
9452         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
9453         isinf and isnan functions into two independent checks.  Check on hpux.
9454         * config.h.in: Regenerate.
9455         * configure: Regenerate.
9456         * include/c_global/cmath (isinf(double), isnan(double)): Use
9457         _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
9458         respectively.
9459
9460 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
9461
9462         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
9463
9464 2016-01-27  Jonathan Wakely  <jwakely@redhat.com>
9465
9466         PR libstdc++/69295
9467         * testsuite/ext/special_functions/hyperg/check_value.cc: Use
9468         -ffp-contract=off, and -ffloat-store to disable excess precision.
9469         * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
9470         -ffp-contract=off.
9471
9472 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
9473
9474         PR libstdc++/69478
9475         * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
9476         random_access_iterator_tag>): Check is_move_assignable when moving.
9477         (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
9478         Likewise.
9479         * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
9480         * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
9481         * testsuite/25_algorithms/move/69478.cc: New.
9482         * testsuite/25_algorithms/move_backward/69478.cc: new.
9483
9484 2016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
9485
9486         * include/c_compatibility/stdlib.h: Include wide character related
9487         definitions only when they are available in cstdlib.
9488
9489 2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
9490
9491         PR libstdc++/69464
9492         * include/Makefile.am: Add new header.
9493         * include/Makefile.in: Regenerate.
9494         * include/bits/random.h (uniform_int_distribution): Move to
9495         bits/uniform_int_dist.h.
9496         * include/bits/random.tcc (uniform_int_distribution::operator(),
9497         uniform_int_distribution::__generate_impl): Likewise.
9498         * include/bits/uniform_int_dist.h: New header.
9499         * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
9500         <bits/uniform_int_dist.h> instead of <random>.
9501         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
9502         move_iterators/1.cc: Include correct header for uninitialized_copy.
9503         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
9504         move_iterators/1.cc: Likewise.
9505         * testsuite/25_algorithms/nth_element/58800.cc: Include correct
9506         header for vector.
9507         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
9508
9509 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
9510
9511         PR libstdc++/69446
9512         * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9513
9514 2016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
9515
9516         TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
9517         * include/c_compatibility/math.h: Import the TR29124 functions
9518         into the global namespace.
9519         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
9520         xfail and make compile-only.
9521         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
9522         * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
9523         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
9524         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
9525         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
9526         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
9527         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
9528         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
9529         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
9530         * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
9531         * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
9532         * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
9533         * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
9534         * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
9535         * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
9536         * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
9537         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
9538         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
9539         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
9540         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
9541
9542 2016-01-22  Jonathan Wakely  <jwakely@redhat.com>
9543
9544         PR libstdc++/69116
9545         * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
9546         define result_type for types which can be safely used with valarrays.
9547         * testsuite/26_numerics/valarray/69116.cc: New.
9548
9549         PR libstdc++/69413
9550         * config/os/gnu-linux/os_defines.h: Define
9551         _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
9552         * include/c_global/cmath (isinf, isnan): Check it.
9553         * doc/xml/manual/internals.xml: Document it.
9554         * doc/html/*: Regenerate.
9555
9556 2016-01-21  Jonathan Wakely  <jwakely@redhat.com>
9557
9558         PR libstdc++/69406
9559         * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
9560         * include/ext/type_traits.h: Likewise.
9561         * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
9562         for presence of C headers.
9563         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
9564         dg-error line number.
9565         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
9566         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
9567         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
9568
9569 2016-01-20  Torvald Riegel  <triegel@redhat.com>
9570
9571         PR libstdc++/69310
9572         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9573
9574 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
9575
9576         PR libstdc++/60401
9577         * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
9578         copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
9579         lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
9580         nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
9581         tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
9582         Add using declarations.
9583         * testsuite/26_numerics/headers/cmath/60401.cc: New.
9584
9585         PR libstdc++/69386
9586         * include/c_global/ccomplex: Ensure C++ language linkage.
9587         * include/c_global/cmath: Likewise.
9588         * include/c_global/cstdlib: Likewise.
9589         * include/c_global/ctgmath: Likewise.
9590         * testsuite/17_intro/headers/c++2011/linkage.cc: New.
9591
9592 2016-01-19  Jonathan Wakely  <jwakely@redhat.com>
9593
9594         PR libstdc++/14608
9595         PR libstdc++/60401
9596         * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
9597         --enable-cheaders=c_global configs.
9598         * include/Makefile.in: Regenerate.
9599         * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
9600         test and allow inclusion from C files.
9601         * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
9602         (at_quick_exit, quick_exit): Add using directives.
9603         * include/c_global/cmath: Use #include_next for math.h.
9604         * include/c_global/cstdlib: Use #include_next for stdlib.h.
9605         * testsuite/26_numerics/headers/cmath/14608.cc: New.
9606         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
9607         Remove xfail for most targets.
9608         * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
9609
9610 2016-01-18  Torvald Riegel  <triegel@redhat.com>
9611
9612         * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
9613         (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
9614         and move after its definition.
9615         * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
9616         * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
9617         __GXX_WEAK__, and only provide transactional clones if
9618         _GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
9619         functions.
9620
9621 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
9622
9623         PR libstdc++/60637
9624         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
9625
9626         PR libstdc++/69243
9627         * include/std/functional (_Function_base::_M_not_empty_function):
9628         Change overloads for pointers to take arguments by value.
9629         * testsuite/20_util/function/cons/57465.cc: Add tests for
9630         pointer-to-member cases.
9631
9632         PR libstdc++/69340
9633         * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
9634         Use macros for exception handling and fix unused parameter warning.
9635
9636 2016-01-17  John David Anglin  <danglin@gcc.gnu.org>
9637
9638         PR libstdc++/68734
9639         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
9640
9641 2016-01-17  Torvald Riegel  <triegel@redhat.com>
9642
9643         * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
9644
9645 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
9646
9647         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
9648         __int128 symbols.
9649
9650 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9651
9652         PR libstdc++/69293
9653         * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
9654         static assertion that type is constructible from the arguments.
9655         * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
9656         * testsuite/20_util/uses_allocator/69293_neg.cc: New.
9657         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
9658
9659         PR libstdc++/69294
9660         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9661         and isnan on AIX. Quote variables.
9662         * configure: Regenerate.
9663
9664 2016-01-15  Torvald Riegel  <triegel@redhat.com>
9665
9666         * include/bits/basic_string.h (basic_string): Declare friends.
9667         * include/bits/c++config (_GLIBCXX_TXN_SAFE,
9668         _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
9669         * include/std/stdexcept (logic_error, domain_error, invalid_argument,
9670         length_error, out_of_range, runtime_error, range_error,
9671         underflow_error, overflow_error): Declare members as transaction-safe.
9672         (logic_error, runtime_error): Declare friend functions.
9673         * libsupc++/exception (exception, bad_exception): Declare members as
9674         transaction-safe.
9675         * src/c++11/cow-stdexcept.cc: Define transactional clones for the
9676         transaction-safe members of exceptions and helper functions.
9677         * libsupc++/eh_exception.cc: Adjust and define transactional clones.
9678         * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
9679         (CXXABI_1.3.10): New.
9680         * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
9681         (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
9682         * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
9683         * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
9684         * include/Makefile.in: Regenerate.
9685         * config.h.in: Regenerate.
9686         * configure: Regenerate.
9687         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
9688
9689 2016-01-15  Steve Ellcey  <sellcey@imgtec.com>
9690
9691         * include/ext/random.tcc: Use __builtin_isfinite instead of
9692         std::isfinite.
9693
9694 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9695
9696         * include/bits/std_mutex.h: Fix Doxygen @file name.
9697
9698 2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
9699             Jonathan Wakely  <jwakely@redhat.com>
9700             Florian Goth <CaptainSifff@gmx.de>
9701
9702         Implement TR29124 C++ special Math Functions.
9703         * include/Makefile.am: Add new headers.
9704         * include/Makefile.in: Regenerate.
9705         * include/bits/specfun.h: New.
9706         * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
9707         * include/tr1/bessel_function.tcc: Ditto.
9708         * include/tr1/beta_function.tcc: Ditto.
9709         * include/tr1/cmath: Ditto.
9710         * include/tr1/ell_integral.tcc: Ditto.
9711         * include/tr1/exp_integral.tcc: Ditto.
9712         * include/tr1/gamma.tcc: Ditto.
9713         * include/tr1/hypergeometric.tcc: Ditto.
9714         * include/tr1/legendre_function.tcc: Ditto.
9715         * include/tr1/modified_bessel_func.tcc: Ditto.
9716         * include/tr1/poly_hermite.tcc: Ditto.
9717         * include/tr1/poly_laguerre.tcc: Ditto.
9718         * include/tr1/riemann_zeta.tcc: Ditto.
9719         * include/tr1/special_function_util.h: Ditto.
9720         * testsuite/ext/special_functions/conf_hyperg: New.
9721         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
9722         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
9723         * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
9724         * testsuite/ext/special_functions/hyperg: New.
9725         * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
9726         * testsuite/ext/special_functions/hyperg/check_value.cc: New.
9727         * testsuite/ext/special_functions/hyperg/compile.cc: New.
9728         * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
9729         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
9730         * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
9731         * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
9732         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
9733         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
9734         * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
9735         * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
9736         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
9737         * testsuite/special_functions/03_beta/check_nan.cc: New.
9738         * testsuite/special_functions/03_beta/check_value.cc: New.
9739         * testsuite/special_functions/03_beta/compile.cc: New.
9740         * testsuite/special_functions/03_beta/compile_2.cc: New.
9741         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
9742         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
9743         * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
9744         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
9745         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
9746         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
9747         * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
9748         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
9749         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
9750         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
9751         * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
9752         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
9753         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
9754         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
9755         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
9756         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
9757         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
9758         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
9759         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
9760         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
9761         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
9762         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
9763         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
9764         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
9765         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
9766         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
9767         * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
9768         * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
9769         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
9770         * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
9771         * testsuite/special_functions/11_ellint_1/check_value.cc: New.
9772         * testsuite/special_functions/11_ellint_1/compile.cc: New.
9773         * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
9774         * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
9775         * testsuite/special_functions/12_ellint_2/check_value.cc: New.
9776         * testsuite/special_functions/12_ellint_2/compile.cc: New.
9777         * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
9778         * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
9779         * testsuite/special_functions/13_ellint_3/check_value.cc: New.
9780         * testsuite/special_functions/13_ellint_3/compile.cc: New.
9781         * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
9782         * testsuite/special_functions/14_expint/check_nan.cc: New.
9783         * testsuite/special_functions/14_expint/check_value.cc: New.
9784         * testsuite/special_functions/14_expint/compile.cc: New.
9785         * testsuite/special_functions/14_expint/compile_2.cc: New.
9786         * testsuite/special_functions/15_hermite/check_nan.cc: New.
9787         * testsuite/special_functions/15_hermite/check_value.cc: New.
9788         * testsuite/special_functions/15_hermite/compile.cc: New.
9789         * testsuite/special_functions/15_hermite/compile_2.cc: New.
9790         * testsuite/special_functions/16_laguerre/check_nan.cc: New.
9791         * testsuite/special_functions/16_laguerre/check_value.cc: New.
9792         * testsuite/special_functions/16_laguerre/compile.cc: New.
9793         * testsuite/special_functions/16_laguerre/compile_2.cc: New.
9794         * testsuite/special_functions/17_legendre/check_nan.cc: New.
9795         * testsuite/special_functions/17_legendre/check_value.cc: New.
9796         * testsuite/special_functions/17_legendre/compile.cc: New.
9797         * testsuite/special_functions/17_legendre/compile_2.cc: New.
9798         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
9799         * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
9800         * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
9801         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
9802         * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
9803         * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
9804         * testsuite/special_functions/19_sph_bessel/compile.cc: New.
9805         * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
9806         * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
9807         * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
9808         * testsuite/special_functions/20_sph_legendre/compile.cc: New.
9809         * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
9810         * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
9811         * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
9812         * testsuite/special_functions/21_sph_neumann/compile.cc: New.
9813         * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
9814         * testsuite/util/specfun_testcase.h: New.
9815         * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
9816         * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
9817         * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
9818         * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
9819         * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
9820         * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
9821         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
9822
9823 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
9824
9825         PR libstdc++/48891
9826         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9827         and isnan functions.
9828         * config.h.in: Regenerate.
9829         * configure: Regenerate.
9830         * include/c_global/cmath (isinf(double), isnan(double))
9831         [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
9832         * testsuite/26_numerics/headers/cmath/48891.cc: New.
9833
9834 2016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9835
9836         PR libstdc++/66006
9837         * configure.host (abi_baseline_pair): Use separate baseline for
9838         Solaris 11+ and Solaris 10 with gld.
9839         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
9840         * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
9841         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
9842
9843 2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
9844
9845         PR libstdc++/68877
9846         * include/std/type_traits: Following N4511, reimplement __is_swappable
9847         and __is_nothrow_swappable. Move __is_swappable to namespace std,
9848         adjust callers. Use __is_nothrow_swappable in swap.
9849         * include/bits/move.h: Use __is_nothrow_swappable in swap.
9850         * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
9851         __is_swappable related tests.
9852         * testsuite/20_util/is_swappable/value.cc: New.
9853         * testsuite/20_util/is_swappable/requirements/
9854         explicit_instantiation.cc: New.
9855         * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
9856         * testsuite/25_algorithms/swap/68877.cc: New.
9857
9858 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
9859
9860         * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
9861
9862         PR libstdc++/69005
9863         PR libstdc++/69222
9864         * include/std/functional (function::_Invoke): Remove, use result_of.
9865         (function::_Callable): Replace alias template with class template
9866         and use partial specialization instead of _NotSelf alias template.
9867         (function(_Functor)): Add "not self" constraint so that _Callable is
9868         not used while type is incomplete.
9869         * testsuite/20_util/function/69222.cc: New.
9870
9871 2016-01-11  Jonathan Wakely  <jwakely@redhat.com>
9872
9873         PR libstdc++/60976
9874         * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
9875         Define partial specialization.
9876         * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
9877         destroy members to std::allocator explicit specialization.
9878
9879 2016-01-08  Jonathan Wakely  <jwakely@redhat.com>
9880
9881         * testsuite/26_numerics/headers/cmath/
9882         c99_classification_macros_c++.cc: Rename to ...
9883         * testsuite/26_numerics/headers/cmath/
9884         c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
9885         * testsuite/26_numerics/headers/cmath/
9886         c99_classification_macros_c++0x.cc: Rename to ...
9887         * testsuite/26_numerics/headers/cmath/
9888         c99_classification_macros_c++11.cc: Here.
9889
9890         PR libstdc++/69190
9891         * include/bits/uses_allocator.h: Add missing include.
9892
9893 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
9894
9895         PR libstdc++/69105
9896         PR libstdc++/69106
9897         PR libstdc++/69114
9898         * include/bits/stl_iterator.h (back_insert_iterator,
9899         front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
9900         * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
9901         * include/std/future (__future::base::_State_baseV2::__setter):
9902         Likewise.
9903         * include/std/scoped_allocator (__outermost): Likewise.
9904         * testsuite/20_util/scoped_allocator/69114.cc: New.
9905         * testsuite/20_util/uses_allocator/69114.cc: New.
9906         * testsuite/30_threads/promise/69106.cc: New.
9907
9908 2016-01-06  Jonathan Wakely  <jwakely@redhat.com>
9909
9910         PR libstdc++/69092
9911         * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
9912         Remove _GLIBCXX_NOEXCEPT.
9913         testsuite/21_strings/basic_string/cons/char/69092.cc: New.
9914
9915         * include/Makefile.am: Adjust.
9916         * include/Makefile.in: Regenerate.
9917         * include/bits/mutex.h: Rename to bits/std_mutex.h.
9918         * include/std/condition_variable: Adjust include.
9919         * include/std/mutex: Likewise.
9920
9921 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
9922
9923         Update copyright years.
9924 \f
9925 Copyright (C) 2016 Free Software Foundation, Inc.
9926
9927 Copying and distribution of this file, with or without modification,
9928 are permitted in any medium without royalty provided the copyright
9929 notice and this notice are preserved.