gcc/
[official-gcc.git] / libstdc++-v3 / ChangeLog-2016
blob34ca95a846eac5f56bcebc4e5a2e5efa23d4a1d5
1 2016-12-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
21 2016-12-24  François Dumont  <fdumont@gcc.gnu.org>
23         * include/ext/random.tcc: Fix usage of _OutputIteratorConcept.
25 2016-12-21  Jason Merrill  <jason@redhat.com>
27         * testsuite/util/testsuite_tr1.h (test_property): Don't define both
28         variadic and non-variadic overloads.
30 2016-12-21  Jonathan Wakely  <jwakely@redhat.com>
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.
50 2016-12-19  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
58 2016-12-16  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
71 2016-12-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
83 2016-12-15  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
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.
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.
125 2016-12-14  François Dumont  <fdumont@gcc.gnu.org>
127         * include/bits/stl_tree.h
128         (_Rb_tree_impl(const _Key_compare&, const _Node_allocator&): Restore
129         before C++11 mode.
131 2016-12-14  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
152 2016-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
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.
163 2016-12-12  Jonathan Wakely  <jwakely@redhat.com>
165         * testsuite/experimental/filesystem/operations/is_empty.cc:
166         Remove stray character at end of dg-do directive.
168         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
169         Remove stray character at end of dg-do directive.
171 2016-12-09  Jonathan Wakely  <jwakely@redhat.com>
173         * include/std/variant: Remove misplaced
174         _GLIBCXX_BEGIN_NAMESPACE_VERSION macro.
176 2016-12-08  David Edelsohn  <dje.gcc@gmail.com>
178         * testsuite/25_algorithms/headers/algorithm/
179         parallel_algorithm_assert2.cc: Move dg-do run first.
181 2016-12-08  Eric Botcazou  <ebotcazou@adacore.com>
183         PR libstdc++/78264
184         * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM): Turn _N into _NE.
185         (_GLIBCXX_NOEXCEPT_QUAL): Likewise.
187 2016-12-08  Jonathan Wakely  <jwakely@redhat.com>
189         * testsuite/experimental/filesystem/path/construct/range.cc: Don't
190         use basic_string::front() when string might be empty.
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.
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.
220 2016-12-08  Jakub Jelinek  <jakub@redhat.com>
222         * testsuite/util/testsuite_new_operators.h: Include testsuite_hooks.h.
223         (operator new): Use THROW macro.
225 2016-12-07  François Dumont  <fdumont@gcc.gnu.org>
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.
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.
269 2016-12-07  Jonathan Wakely  <jwakely@redhat.com>
271         * include/experimental/bits/fs_path.h (path::_S_convert): Replace
272         uses of C++14 std::remove_cv_t alias template.
274         * testsuite/28_regex/traits/char/user_defined.cc: Replace uses of
275         C++14 std::exchange function.
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.
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.
294         * testsuite/18_support/bad_exception/59392.cc: Disable for C++17.
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.
300 2016-12-06  Felipe Magno de Almeida  <felipe@expertisesolutions.com.br>
302         * src/c++11/cow-stdexcept.cc: Add special case for 16 bit pointers.
304         * crossconfig.m4: Add avr target for cross-compilation.
305         * configure: Regenerate.
307 2016-12-06  Jonathan Wakely  <jwakely@redhat.com>
309         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Update for new
310         data member name.
311         * testsuite/libstdc++-prettyprinters/cxx17.cc: Remove redundant test.
313         * include/bits/shared_ptr_base.h
314         (__shared_ptr_access<T, L, false, true>::operator->()): Fix assertion.
316 2016-12-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
327 2016-12-06  Tim Shen  <timshen@google.com>
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.
334 2016-12-06  Tim Shen  <timshen@google.com>
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.
342 2016-12-06  Tim Shen  <timshen@google.com>
344         * include/std/variant (std::get, operator==): Implement constexpr
345         comparison and get<>.
346         * testsuite/20_util/variant/compile.cc: Tests.
348 2016-12-06  Tim Shen  <timshen@google.com>
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.
356 2016-12-06  Aditya Kumar  <hiraditya@msn.com>
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.
362 2016-12-06  Jonathan Wakely  <jwakely@redhat.com>
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.
370 2016-12-03  John David Anglin  <danglin@gcc.gnu.org>
372         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Regenerate.
374 2016-12-01  David Edelsohn  <dje.gcc@gmail.com>
376         * testsuite/26_numerics/headers/cmath/hypot.cc: XFAIL on AIX.
378 2016-12-01  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
418 2016-12-01  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
427 2016-12-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
429         * crossconfig.m4 (*-linux*): Add link-check for memalign.
430         * configure: Regenerated.
432 2016-12-01  Tim Shen  <timshen@google.com>
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.
445 2016-11-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
457 2016-11-30  Tim Shen  <timshen@google.com>
459         * include/bits/shared_ptr_base.h
460         (__shared_ptr_access<T, L, true, false>::operator*()): Fix assertion.
462 2016-11-30  David Edelsohn  <dje.gcc@gmail.com>
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.
469 2016-11-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
488 2016-11-30  Christophe Lyon  <christophe.lyon@linaro.org>
490         * testsuite/experimental/type_erased_allocator/2.cc: Add
491         dg-require-thread-fence.
493 2016-11-29  David Edelsohn  <dje.gcc@gmail.com>
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.
501 2016-11-26  Tim Shen  <timshen@google.com>
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.
508 2016-11-23  Felix Morgner  <felix.morgner@gmail.com>
509             Jonathan Wakely  <jwakely@redhat.com>
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.
518 2016-11-22  Uros Bizjak  <ubizjak@gmail.com>
520         * testsuite/Makefile.am
521         (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection
522         of -j argument.
523         * testsuite/Makefile.in: Regenereate.
525 2016-11-22  Jonathan Wakely  <jwakely@redhat.com>
527         PR libstdc++/78465
528         * testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests
529         with preprocessor conditions.
531 2016-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
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.
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.
596 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
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.
604         * include/bits/basic_string.h: Reuse _If_sv alias template for new
605         constructor.
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.
616         * testsuite/libstdc++-prettyprinters/cxx17.cc: Adjust test for
617         variant<T&>.
619 2016-11-15  Tim Shen  <timshen@google.com>
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.
625 2016-11-15  Matthias Klose  <doko@ubuntu.com>
627         * configure: Regenerate.
629 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
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.
791 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
808 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
863 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
884 2016-11-14  Jonathan Wakely  <jwakely@redhat.com>
886         * include/bits/move.h (addressof(const _Tp&&)): Add deleted overload,
887         as per LWG 2598.
889         * include/std/future (future::share(), future<R&>::share())
890         (future<void>::share()): Add noexcept, as per LWG 2556.
892 2016-11-13  Jonathan Wakely  <jwakely@redhat.com>
894         PR libstdc++/78326
895         * include/experimental/memory_resource (memory_resource::_S_max_align):
896         Change access to protected.
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.
934 2016-11-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
947 2016-11-12  Jonathan Wakely  <jwakely@redhat.com>
949         * src/filesystem/ops.cc (is_empty): Fix typo in exception message.
951         * include/std/future (future_error): Fix public typo to private.
953 2016-11-11  Jonathan Wakely  <jwakely@redhat.com>
955         * include/std/future (future_error): Make existing constructor
956         private and add constructor from future_errc.
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.
961 2016-11-10  François Dumont  <fdumont@gcc.gnu.org>
963         * src/c++11/debug.cc (format_word): Delete.
964         (print_literal): New. Replace call to print_word for literals.
966 2016-11-09  Tim Shen  <timshen@google.com>
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.
975 2016-11-07  Jason Merrill  <jason@redhat.com>
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.
986 2016-11-07  François Dumont  <fdumont@gcc.gnu.org>
988         * config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of
989         over-aligned types symbols.
991 2016-10-28  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
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.
1021 2016-10-27  Uros Bizjak  <ubizjak@gmail.com>
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.
1027 2016-10-27  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
1052 2016-10-26  François Dumont  <fdumont@gcc.gnu.org>
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.
1061 2016-10-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>
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.
1067 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
1069         * testsuite/experimental/filesystem/iterators/pop.cc: Remove
1070         unreliable dependency on directory order.
1072 2016-10-26  Edward Smith-Rowland  <3dw4rd@verizon.net>
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.
1090 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
1103         PR libstdc++/78111
1104         * src/filesystem/ops.cc (canonical): Set error for non-existent path.
1106 2016-10-26  Uros Bizjak  <ubizjak@gmail.com>
1108         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
1109         for PATH_MAX in realpath test.
1110         * configure: Regenerate.
1112 2016-10-25  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
1135 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
1137         * src/filesystem/ops.cc (is_empty): Fix error handling.
1138         * testsuite/experimental/filesystem/operations/is_empty.cc: New test.
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.
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.
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.
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.
1173 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
1187 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
1210 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
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.
1215 2016-10-22  François Dumont  <fdumont@gcc.gnu.org>
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.
1223 2016-10-22  Jonathan Wakely  <jwakely@redhat.com>
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.
1230 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
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).
1252 2016-10-21  Eelis van der Weegen  <eelis@eelis.net>
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.
1260 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
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>.
1291         * libsupc++/exception_ptr.h (make_exception_ptr): Qualify new.
1292         * testsuite/18_support/exception_ptr/make_exception_ptr_2.cc: New
1293         test.
1295 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
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.
1352 2016-10-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
1361 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
1363         * include/bits/allocator.h: Remove trailing whitespace, tab-indent.
1364         * include/ext/new_allocator.h: Likewise.
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.
1371         * testsuite/20_util/enable_shared_from_this/56383.cc: Add tests for
1372         additional ambiguous cases.
1374 2016-10-19  Jonathan Wakely  <jwakely@redhat.com>
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[]>.
1411         * include/debug/vector (__gnu_debug::vector::emplace_back): Fix return
1412         type.
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.
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.
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.
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.
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.
1479 2016-10-18  Jonathan Wakely  <jwakely@redhat.com>
1481         * include/experimental/bits/shared_ptr.h: Fix indentation.
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.
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.
1494 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
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.
2346 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
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.
2354 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2356         * testsuite/unordered_map/insert/57619.C: Rename to 57619.cc.
2357         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
2359 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
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.
2840 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
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.
2890 2016-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
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.
3778 2016-10-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
3787 2016-10-14  Eelis van der Weegen  <eelis@eelis.net>
3789         * include/bits/stl_algo.h (shuffle): Extract two random numbers from
3790         each generator invocation when its range is large enough.
3792 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3794         * testsuite/experimental/algorithm/sample.cc: Qualify calls to
3795         resolve ambiguity between std::sample and std::experimental::sample.
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.
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.
3826 2016-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
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.
4426 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
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.
4448 2016-10-14  Tim Shen  <timshen@google.com>
4450         PR libstdc++/77944
4451         * include/std/variant: Include <bits/funcexcept.h> for __try and
4452         __catch.
4454 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
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.
4460 2016-10-13  Paolo Carlini  <paolo.carlini@oracle.com>
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.
4860 2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
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.
4893         * testsuite/experimental/algorithm/sample.cc: Add missing header.
4895         * include/experimental/propagate_const (element_type): Qualify
4896         declval.
4898         * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
4899         instead of assert.
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.
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.
4910         * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
4911         (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
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)...).
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.
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.
4936 2016-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
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.
5625         * doc/xml/manual/test.xml: Fix typo.
5627 2016-10-12  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
5649         * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
5650         (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
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.
5657         * libsupc++/nested_exception.h (throw_with_nested): Remove return.
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.
5669 2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
5671         * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
5672         _M_assign_dispatch directly with correct tag.
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.
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.
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.
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.
5702 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
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.
5709 2016-10-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
5729 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
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.
5736         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
5738         * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
5739         with noexcept.
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.
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.
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.
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.
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.
5775 2016-10-07  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
5790 2016-10-06  Jonathan Wakely  <jwakely@redhat.com>
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.
5805 2016-10-05  Jonathan Wakely  <jwakely@redhat.com>
5807         PR libstdc++/70564
5808         * testsuite/20_util/not_fn/1.cc: Fix test.
5809         * testsuite/experimental/functional/not_fn.cc: Likewise.
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.
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.
5831         * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
5832         alias declaration.
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.
5843 2016-10-03  François Dumont  <fdumont@gcc.gnu.org>
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.
5850 2016-10-03  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
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>.
5918 2016-10-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
5920         PR libstdc++/77802
5921         * testsuite/20_util/tuple/77802.cc: New.
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.
5948 2016-09-30  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
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.
5984 2016-09-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
5993 2016-09-29  Jonathan Wakely  <jwakely@redhat.com>
5995         * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
5996         outside _GLIBCXX_USE_C99_MATH_TR1 condition.
5998 2016-09-29  Alan Modra  <amodra@gmail.com>
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.
6016 2016-09-28  Jonathan Wakely  <jwakely@redhat.com>
6018         * include/std/chrono (system_clock): Fix typo in comment.
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.
6029         PR libstdc++/77686
6030         * include/std/functional (_Any_data): Add may_alias attribute.
6032 2016-09-27  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
6043 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
6051 2016-09-26  François Dumont  <fdumont@gcc.gnu.org>
6053         * include/debug/safe_base.h
6054         (_Safe_iterator_base::_M_detach_single): Make public.
6056 2016-09-26  Jonathan Wakely  <jwakely@redhat.com>
6058         * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
6059         redefine macro defined in <bits/stl_iterator.h>.
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.
6073 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
6075         PR libstdc++/77717
6076         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
6077         Fix an out-of-bounds access.
6079 2016-09-26  Marek Polacek  <polacek@redhat.com>
6081         PR c/7652
6082         * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
6084 2016-09-25  François Dumont  <fdumont@gcc.gnu.org>
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.
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.
6122         * include/parallel/algo.h: Generalize usage of std::__iterator_category.
6123         Adjust whitespaces.
6125 2016-09-23  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
6143 2016-09-22  Jason Merrill  <jason@redhat.com>
6145         * configure.ac: Define HAVE_MEMALIGN for newlib.
6147 2015-09-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
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.
6155 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
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.
6255 2016-09-22  Ville Voutilainen  <ville.voutilainen@gmail.com>
6257         Fix tests on old arm platforms for optional.
6258         * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
6260 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
6273 2016-09-22  Tim Shen  <timshen@google.com>
6275         * include/std/variant (variant::operator=): Fix assignment
6276         on references.
6277         * testsuite/20_util/variant/compile.cc: Add test.
6279 2016-09-22  Tim Shen  <timshen@google.com>
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.
6286 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
6303 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
6328 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
6351 2016-09-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
6378 2016-09-20  Jonathan Wakely  <jwakely@redhat.com>
6380         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
6381         (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
6383 2016-09-19  Jonathan Wakely  <jwakely@redhat.com>
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.
6390         * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
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.
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.
6407 2016-09-17  Jonathan Wakely  <jwakely@redhat.com>
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.
6414 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
6416         * doc/xml/manual/profile_mode.xml: Fix typo.
6417         * doc/html/manual/profile_mode_devel.html: Regenerate.
6419 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
6420             Marc Glisse  <marc.glisse@inria.fr>
6422         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
6423         (operator new(size_t, align_val_t)): Replace modulus operator with
6424         mask.
6426 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
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.
6433 2016-09-15  Jonathan Wakely  <jwakely@redhat.com>
6435         * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
6436         * doc/html/*: Regenerate.
6438         * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
6439         -Wno-deprecated.
6440         * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
6442 2016-09-14  Marek Polacek  <polacek@redhat.com>
6444         * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
6445         -Wno-deprecated.
6447 2016-09-14  Christophe Lyon  <christophe.lyon@linaro.org>
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.
6475 2016-09-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
6490 2016-09-12  Jason Merrill  <jason@redhat.com>
6492         * config/abi/pre/gnu.ver: Use [jmy] for size_t.
6494 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
6504 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
6518 2016-09-12  Matthew Wahab  <matthew.wahab@arm.com>
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.
6823 2016-09-11  Jonathan Wakely  <jwakely@redhat.com>
6825         * libsupc++/new_opant.cc: Include exception_defines.h.
6826         * libsupc++/new_opvant.cc: Likewise.
6828 2016-09-09  Jason Merrill  <jason@redhat.com>
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.
6847 2016-09-05  Tim Shen  <timshen@google.com>
6849         * include/std/variant: include bits/move.h for std::addressof.
6851 2016-09-05  Mikhail Strelnikov  <mikhail.strelnikov@gmail.com>
6853         * include/std/variant (_Variant_storage::_M_storage()): Use
6854         std::addressof instead of operator& to take address.
6856 2016-09-02  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
6858         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
6859         setrlimit on both native and cross targets.
6860         * configure: Regenerate.
6862 2016-08-31  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
6889         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
6890         New test.
6892 2016-08-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
6904 2016-08-30  Uros Bizjak  <ubizjak@gmail.com>
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.
6914 2016-08-27  Tim Shen  <timshen@google.com>
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.
6925 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
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.
6934         * testsuite/*: Use { target c++11 } or { target c++14 } instead of
6935         using -std in dg-options.
6937 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6938             Pedro Alves  <palves@redhat.com>
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.
6946 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
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.
6963 2016-08-24  Aditya Kumar  <hiraditya@msn.com>
6965         * include/bits/algorithmfwd.h: Remove trailing whitespace.
6966         * include/bits/shared_ptr_base.h: Likewise.
6968 2016-08-23  Jonathan Wakely  <jwakely@redhat.com>
6970         * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
6971         * include/profile/array (array): Likewise.
6972         (array::swap): Fix exception specification for zero-sized arrays.
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.
6979         * doc/xml/manual/using.xml: Remove reference to -pthreads option.
6980         * doc/html/*: Regenerate.
6982         * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
6983         * testsuite/experimental/feat-lib-fund.cc: Likewise.
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.
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.
7020 2016-08-22  Tim Shen  <timshen@google.com>
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.
7031 2016-08-22  Gleb Natapov  <gleb@scylladb.com>
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.
7058 2016-08-22  Jonathan Wakely  <jwakely@redhat.com>
7060         * doc/xml/api.xml: Replace hardcoded links for specific versions with
7061         link to docs for all releases.
7062         * doc/html/*: Regenerate.
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.
7070 2016-08-19  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
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.
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.
7138         * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
7139         and variant.
7140         * doc/html/*: Regenerate.
7142 2016-08-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
7167 2016-08-18  Tim Shen  <timshen@google.com>
7169         Implement <variant>
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.
7181 2016-08-18  Jonathan Wakely  <jwakely@redhat.com>
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.
7188         * doc/xml/manual/test.xml: Improve documentation of test targets.
7189         Document new-abi-baseline, check-debug, and check-parallel targets.
7191         * doc/xml/manual/build_hacking.xml: New section on shared library
7192         versioning.
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".
7199         * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
7200         dg-options directive.
7202 2016-08-17  Jonathan Wakely  <jwakely@redhat.com>
7204         * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
7205         directive and use effective target instead of dg-options.
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.
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.
7224         * testsuite/26_numerics/complex/literals/types.cc: Add comment.
7226         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
7227         Remove duplicate dg-options directive.
7229         * testsuite/ext/profile/all.cc: Use effective target instead of
7230         -std=gnu++11. Use dg-additional-options instead of repeating options.
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.
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.
7254         * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
7255         expected signatures for C++14 compatibility.
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.
7293 2016-08-16  Jonathan Wakely  <jwakely@redhat.com>
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.
7305 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
7324 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
7332 2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
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.
7340 2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
7342         PR libstdc++/72840
7343         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
7344         syntax.
7346 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
7352 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
7367 2016-08-06  Jonathan Wakely  <jwakely@redhat.com>
7369         * doc/xml/manual/status_cxx2017.xml: Update status table.
7370         * doc/html/manual/status.html: Regenerate.
7372         * testsuite/lib/libstdc++.exp: Fix typo in comment.
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.
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.
7395 2016-08-05  Jonathan Wakely  <jwakely@redhat.com>
7397         * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
7398         * doc/html/manual/status.html: Regenerate.
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.
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.
7418 2016-08-04  Jonathan Wakely  <jwakely@redhat.com>
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.
7450         * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
7451         * doc/html/manual/status.html: Regenerate.
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.
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.
7466 2016-08-03  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
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.
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.
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.
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.
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.
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.
7558 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
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.
7575         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
7576         comments.
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.
7584         * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
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.
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.
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.
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.
7715 2016-08-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
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.
7724 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7726         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
7727         test if -flto used.
7729         * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
7730         additional flags for compiling libtestc++.a objects.
7732 2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
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.
7739         * include/bits/basic_string.tcc: Disable explicit instantiation
7740         declarations for C++17.
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.
7753         * testsuite/backward/hash_set/check_construct_destroy.cc: Account
7754         for different construct/destroy counts in C++98 mode.
7756         * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
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.
7763         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
7764         C++98-compatible initialization for array.
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.
7774         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
7775         Remove duplicate dg-options directive.
7777         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
7778         808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
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.
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.
7790 2016-08-01  Uros Bizjak  <ubizjak@gmail.com>
7792         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
7794 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7796         * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
7797         compile-only test.
7799         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7800         Ensure test is compiled with optimization.
7802         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7803         Adjust dg-prune-output pattern for error in C++98 mode.
7805         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
7806         run for C++11 or later.
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.
7812         * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
7813         c++11 instead of setting -std=gnu++14.
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.
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.
7841 2016-07-31  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
7860 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
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.
7875         * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
7877 2016-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
7919 2016-07-29  Andreas Schwab  <schwab@linux-m68k.org>
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.
7925 2016-07-29  Jonathan Wakely  <jwakely@redhat.com>
7927         * doc/xml/manual/abi.xml: Document 6.0.22 library version.
7928         * doc/html/manual/abi.html: Regenerate.
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.
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.
7945 2016-07-28  Jonathan Wakely  <jwakely@redhat.com>
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.
7970         * testsuite/23_containers/vector/check_construct_destroy.cc: Account
7971         for different construct/destroy counts in C++98 mode.
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.
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.
7989 2016-07-28  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
8167 2016-07-27  Jonathan Wakely  <jwakely@redhat.com>
8169         * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
8171 2016-07-25  Georeth Chow  <georeth2010@gmail.com>
8173         * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
8174         _S_concat enumerator.
8175         * testsuite/ext/rope/6.cc: New test.
8177 2016-07-25  Jonathan Wakely  <jwakely@redhat.com>
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.
8183 2016-07-22  Jonathan Wakely  <jwakely@redhat.com>
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.
8192         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
8193         delete[] instead of delete.
8195 2016-07-21  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
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.
8217         * testsuite/24_iterators/container_access.cc: Fix missing returns.
8218         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
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.
8227 2016-07-20  Jonathan Wakely  <jwakely@redhat.com>
8229         * doc/xml/manual/intro.xml: Document DR 2684 status.
8230         * doc/html/*: Regenerate.
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.
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.
8246         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
8247         static objects for catching nullptr as pointer to member types.
8249 2016-07-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
8256 2016-07-15  Jonathan Wakely  <jwakely@redhat.com>
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.
8268         * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
8269         and adjust comment.
8271         PR c++/58796
8272         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
8273         nullptr match handlers of pointer type.
8275 2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
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.
8288 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
8297 2016-07-14  Jonathan Wakely  <jwakely@redhat.com>
8299         * include/experimental/functional: Include <parallel/algorithm> in
8300         Parallel Mode.
8302         * testsuite/experimental/functional/searchers.cc: Include <algorithm>
8303         for std::search.
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.
8321 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
8380 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
8421 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
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.
8439         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
8440         (replace(__const_iterator, __const_iterator, initializer_list<C>)):
8441         Forward to different overload.
8443         * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
8444         static.
8446 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8448         Revert "Add non-const overload of std::string::data()".
8450 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
8491 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
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.
8523 2016-07-12  Jonathan Wakely  <jwakely@redhat.com>
8525         * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
8526         * doc/xml/manual/intro.xml: Document DR 2458 status.
8527         * doc/html*: Regenerate.
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.
8537         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8538         Add testcase from LWG 2164.
8540 2016-07-11  François Dumont  <fdumont@gcc.gnu.org>
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.
8556 2016-07-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
8607 2016-07-08  Jonathan Wakely  <jwakely@redhat.com>
8609         * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
8611 2016-07-07  Jonathan Wakely  <jwakely@redhat.com>
8613         * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
8614         * doc/html/*: Regenerate.
8616 2016-07-07  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
8637 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
8643 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
8658 2016-07-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
8669 2016-07-04  François Dumont  <fdumont@gcc.gnu.org>
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.
8676 2016-07-04  Jonathan Wakely  <jwakely@redhat.com>
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.
8699 2016-07-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
8707 2016-07-02  François Dumont  <fdumont@gcc.gnu.org>
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.
8716 2016-06-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8718         * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
8719         than specific target.
8721 2016-06-27  François Dumont  <fdumont@gcc.gnu.org>
8723         PR libstdc++/71640
8724         * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
8725         friend declaration.
8727 2016-06-23  François Dumont  <fdumont@gcc.gnu.org>
8729         * include/debug/array (array<>::swap): Fix noexcept qualificaton for
8730         zero-size array.
8732 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8734         * configure.host: Remove mep-* support.
8736 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8738         * configure: Regenerate.
8739         * configure.host: Remove support for knetbsd.
8740         * crossconfig.m4: Likewise.
8742 2016-06-20  François Dumont  <fdumont@gcc.gnu.org>
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.
8762 2016-06-17  Jonathan Wakely  <jwakely@redhat.com>
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.
8776 2016-06-16  François Dumont  <fdumont@gcc.gnu.org>
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.
8797 2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>
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.
8845 2016-06-16  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
8880 2016-06-15  François Dumont  <fdumont@gcc.gnu.org>
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.
8904 2016-06-07  François Dumont  <fdumont@gcc.gnu.org>
8906         * include/std/tuple (_Head_base<>): Default specialization condition at
8907         type declaration.
8909 2016-06-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
8917 2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
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.
8925 2016-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
8934 2016-05-29  Gerald Pfeifer  <gerald@pfeifer.com>
8936         * doc/xml/manual/backwards_compatibility.xml: Adjust
8937         lists.debian.org link to https.
8938         * doc/html/manual/backwards.html: Regenerate.
8940 2016-05-27  Jonathan Wakely  <jwakely@redhat.com>
8942         * doc/xml/manual/abi.xml: Adjust URL to use https.
8943         * doc/html/manual/*: Regenerate.
8945 2016-05-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
8960 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
8962         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
8963         * configure: Regenerate.
8964         * config.h.in: Regenerate.
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.
8973 2016-05-24  François Dumont  <fdumont@gcc.gnu.org>
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.
9001 2016-05-24  Jonathan Wakely  <jwakely@redhat.com>
9003         * include/bits/stl_queue.h (priority_queue::value_compare): Define.
9005 2016-05-23  François Dumont  <fdumont@gcc.gnu.org>
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.
9013 2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
9015         * testsuite/experimental/memory_resource/1.cc: Add required argument
9016         to dg-require-atomic-builtins.
9018 2016-05-13  Jonathan Wakely  <jwakely@redhat.com>
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.
9032 2016-05-12  Jonathan Wakely  <jwakely@redhat.com>
9034         PR libstdc++/71081
9035         * testsuite/experimental/memory_resource/1.cc: Require atomics.
9037 2016-05-11  Jonathan Wakely  <jwakely@redhat.com>
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.
9043 2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
9055         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
9056         Overload operator* to move from rvalues.
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.
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.
9069         * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
9070         using declaration.
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.
9082 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
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.
9089 2016-05-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
9098 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
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.
9106 2016-05-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9108         * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
9110 2016-05-05  Jonathan Wakely  <jwakely@redhat.com>
9112         * testsuite/experimental/filesystem/path/native/string.cc: Add
9113         dg-require-filesystem-ts directive.
9115 2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
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.
9133 2016-04-29  Chris Gregory  <czipperz@gmail.com>
9135         * config/*: Remove trailing whitespace.
9136         * src/*: Likewise.
9137         * testsuite/tr1/*: Likewise.
9138         * testsuite/util/*: Likewise.
9140 2016-04-28  Jonathan Wakely  <jwakely@redhat.com>
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.
9155         * include/bits/hashtable_policy.h (__detail::_Insert_base,
9156         __detail::_Insert): Improve comments.
9158 2016-04-27  Jonathan Wakely  <jwakely@redhat.com>
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.
9165 2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
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.
9171 2016-04-22  Tim Shen  <timshen@google.com>
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.
9178 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
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.
9184 2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
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.
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().
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.
9209 2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>
9211         * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
9213 2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
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.
9223         * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
9225         * config/cpu/sh/atomicity.h: Fix typo in comment.
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.
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.
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.
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.
9267         * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
9268         warnings.
9270 2016-04-17  Edward Smith-Rowland  <3dw4rd@verizon.net>
9272         * include/bits/specfun.h: Trivial comment misspelling.
9274 2016-04-14  Jason Merrill  <jason@redhat.com>
9276         Revert Jonathan's empty ABI change from yesterday.
9278 2016-04-13  Martin Sebor  <msebor@redhat.com>
9280         PR c++/69517
9281         * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
9282         upper bound is positive.
9284 2016-04-13  Jonathan Wakely  <jwakely@redhat.com>
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.
9314 2016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
9316         Document C++17/TR29124 C++ Special Math Functions.
9317         * include/bits/specfun.h: Add Doxygen markup.
9319 2016-04-07  Jonathan Wakely  <jwakely@redhat.com>
9321         * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
9323 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
9325         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
9326         * src/Makefile.in: Regenerate.
9328 2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
9330         PR libstdc++/70554
9331         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
9332         __atomic_fetch_add for bool.
9333         * configure: Regenerate.
9335         * testsuite/30_threads/thread/70503.cc: Require -static to work.
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.
9342 2016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
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.
9351 2016-03-24  Jonathan Wakely  <jwakely@redhat.com>
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.
9358 2016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
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.
9369 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
9371         PR libstdc++/69939
9372         * include/experimental/tuple (__apply_impl): Qualify get and forward.
9374 2016-02-23  Jonathan Wakely  <jwakely@redhat.com>
9376         * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
9377         * doc/html/*: Regenerate.
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.
9392 2016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9394         PR libstdc++/69881
9395         * include/c_global/cstdarg: Undefine __need___va_list.
9396         * include/c_global/cstddef: Undefine all kinds of __need_*.
9398 2016-02-16  Tim Shen  <timshen@google.com>
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.
9406 2016-02-08  Jonathan Wakely  <jwakely@redhat.com>
9408         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
9409         added 'constexpr' in previous commit.
9410         * configure: Regenerate.
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.
9418 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
9420         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
9421         New file.  Copied over from s390-linux-gnu.
9423 2016-02-04  Jonathan Wakely  <jwakely@redhat.com>
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.
9432         * doc/html/index.html: Regenerate.
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.
9438 2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9440         PR libstdc++/69581
9441         * include/c_compatibility/math.h: Move header guards.
9442         * include/c_compatibility/stdlib.h: Likewise.
9444 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
9446         PR libstdc++/69506
9447         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9449 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
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.
9460 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
9462         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
9464 2016-01-27  Jonathan Wakely  <jwakely@redhat.com>
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.
9472 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
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.
9484 2016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
9486         * include/c_compatibility/stdlib.h: Include wide character related
9487         definitions only when they are available in cstdlib.
9489 2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
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.
9509 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
9511         PR libstdc++/69446
9512         * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9514 2016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
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.
9542 2016-01-22  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
9556 2016-01-21  Jonathan Wakely  <jwakely@redhat.com>
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.
9569 2016-01-20  Torvald Riegel  <triegel@redhat.com>
9571         PR libstdc++/69310
9572         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9574 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
9592 2016-01-19  Jonathan Wakely  <jwakely@redhat.com>
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.
9610 2016-01-18  Torvald Riegel  <triegel@redhat.com>
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.
9621 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
9623         PR libstdc++/60637
9624         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
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.
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.
9636 2016-01-17  John David Anglin  <danglin@gcc.gnu.org>
9638         PR libstdc++/68734
9639         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
9641 2016-01-17  Torvald Riegel  <triegel@redhat.com>
9643         * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
9645 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
9647         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
9648         __int128 symbols.
9650 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
9664 2016-01-15  Torvald Riegel  <triegel@redhat.com>
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.
9689 2016-01-15  Steve Ellcey  <sellcey@imgtec.com>
9691         * include/ext/random.tcc: Use __builtin_isfinite instead of
9692         std::isfinite.
9694 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9696         * include/bits/std_mutex.h: Fix Doxygen @file name.
9698 2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
9699             Jonathan Wakely  <jwakely@redhat.com>
9700             Florian Goth <CaptainSifff@gmx.de>
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.
9823 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
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.
9834 2016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
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.
9843 2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
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.
9858 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
9860         * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
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.
9871 2016-01-11  Jonathan Wakely  <jwakely@redhat.com>
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.
9879 2016-01-08  Jonathan Wakely  <jwakely@redhat.com>
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.
9890         PR libstdc++/69190
9891         * include/bits/uses_allocator.h: Add missing include.
9893 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
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.
9908 2016-01-06  Jonathan Wakely  <jwakely@redhat.com>
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.
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.
9921 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
9923         Update copyright years.
9925 Copyright (C) 2016 Free Software Foundation, Inc.
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.