Delete std::swap for debug mode array
[platform/upstream/gcc.git] / libstdc++-v3 / ChangeLog
1 2016-12-08  Jonathan Wakely  <jwakely@redhat.com>
2
3         * include/debug/array (swap): Add deleted overload.
4         * include/bits/stl_pair.h (swap): Remove redundant inline keyword
5         from deleted overload.
6         * include/bits/unique_ptr.h (swap): Likewise.
7         * include/std/array (swap): Likewise.
8         * include/std/optional (swap): Likewise.
9         * include/std/tuple (swap): Likewise.
10         * include/std/variant (swap): Likewise.
11         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
12         Adjust dg-error line numbers.
13         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
14         * testsuite/23_containers/array/tuple_interface/
15         tuple_element_debug_neg.cc: Likewise.
16         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
17         Likewise.
18
19         PR libstdc++/71856
20         * doc/xml/manual/using.xml: Document macro.
21         * include/bits/c++config [_GLIBCXX_DEBUG || _GLIBCXX_PARALLEL]
22         (__glibcxx_assert): Rename to __glibcxx_assert_impl.
23         [_GLIBCXX_DEBUG] (__glibcxx_assert): Expand to __glibcxx_assert_impl.
24         * include/parallel/base.h [_GLIBCXX_PARALLEL_ASSERTIONS]
25         (_GLIBCXX_PARALLEL_ASSERT): Expand to __glibcxx_assert_impl.
26         [!_GLIBCXX_PARALLEL_ASSERTIONS] (_GLIBCXX_PARALLEL_ASSERT): Define as
27         empty.
28         * testsuite/25_algorithms/headers/algorithm/
29         parallel_algorithm_assert2.cc: New test.
30
31 2016-12-08  Jakub Jelinek  <jakub@redhat.com>
32
33         * testsuite/util/testsuite_new_operators.h: Include testsuite_hooks.h.
34         (operator new): Use THROW macro.
35
36 2016-12-07  François Dumont  <fdumont@gcc.gnu.org>
37
38         * include/bits/stl_tree.h
39         (_Rb_tree<>::_M_copy(_Const_Link_type, _Base_ptr)): Delete.
40         (_Rb_tree<>::_M_copy(const _Rb_tree&, _NodeGen&)): New.
41         (_Rb_tree<>::_M_copy(const _Rb_tree&)): New, use latter.
42         (_Rb_tree<>(const _Rb_tree&): Use latter.
43         (_Rb_tree<>(const _Rb_tree&, const allocator_type&)): Likewise.
44         (_Rb_tree<>::_M_move_data(_Rb_tree&, false_type)): Likewise.
45         (_Rb_tree<>::_M_move_assign(_Rb_tree&, false_type)): Likewise.
46         (_Rb_tree<>::operator=(const _Rb_tree&)): Likewise.
47
48         * include/bits/stl_map.h (map(const map&)): Make default.
49         (map(map&&)): Likewise.
50         (~map()): Likewise.
51         (operator=(const map&)): Likewise.
52         * include/bits/stl_multimap.h (multimap(const multimap&)): Make default.
53         (multimap(multimap&&)): Likewise.
54         (~multimap()): Likewise.
55         (operator=(const multimap&)): Likewise.
56         * include/bits/stl_set.h (set(const set&)): Make default.
57         (set(set&&)): Likewise.
58         (~set()): Likewise.
59         (operator=(const set&)): Likewise.
60         * include/bits/stl_multiset.h (multiset(const multiset&)): Make default.
61         (multiset(multiset&&)): Likewise.
62         (~multiset()): Likewise.
63         (operator=(const multiset&)): Likewise.
64         * include/bits/stl_tree.h (_Rb_tree_key_compare<>): New.
65         (_Rb_tree_header): New.
66         (_Rb_tree_impl): Inherit from latters.
67         (_Rb_tree_impl()): Make default.
68         (_Rb_tree_impl(const _Rb_tree_impl&)): New.
69         (_Rb_tree<>(const _Rb_tree&): Use latter.
70         (_Rb_tree_impl(_Rb_tree_impl&&)): New, default.
71         (_Rb_tree_impl(const _Key_compare&, const _Node_allocator&)): Delete.
72         (_Rb_tree_impl::_M_reset): Move...
73         (_Rb_tree_header::_M_reset): ...here.
74         (_Rb_tree_impl::_M_initialize): Delete.
75         (_Rb_tree(_Rb_tree&&)): Make default.
76         (_Rb_tree_header::_M_move_data(_Rb_tree_header&)): New.
77         (_Rb_tree<>::_M_move_data(_Rb_tree&, true_type)): Use latter.
78         (_Rb_tree<>(_Rb_tree&&)): Make default.
79
80 2016-12-07  Jonathan Wakely  <jwakely@redhat.com>
81
82         * include/experimental/bits/fs_path.h (path::_S_convert): Replace
83         uses of C++14 std::remove_cv_t alias template.
84
85         * testsuite/28_regex/traits/char/user_defined.cc: Replace uses of
86         C++14 std::exchange function.
87
88         * testsuite/util/testsuite_hooks.h (THROW): Define.
89         * testsuite/util/replacement_memory_operators.h: Include
90         testsuite_hooks.h and use THROW macro.
91         * testsuite/util/testsuite_tr1.h: Likewise.
92         * testsuite/20_util/allocator/1.cc: Use THROW macro.
93         * testsuite/22_locale/locale/cons/12352.cc: Likewise.
94         * testsuite/23_containers/vector/zero_sized_allocations.cc: Likewise.
95         * testsuite/30_threads/lock_guard/cons/1.cc: Replace dynamic exception
96         specification with noexcept-specifier.
97         * testsuite/ext/pool_allocator/allocate_chunk.cc: Include
98         testsuite_hooks.h and use THROW macro.
99         * testsuite/ext/profile/replace_new.cc: Likewise.
100
101         * include/ext/bitmap_allocator.h (bitmap_allocator::_S_refill_pool)
102         (bitmap_allocator::_M_allocate_single_object)
103         (bitmap_allocator::_M_get): Use _GLIBCXX_THROW macro.
104
105         * testsuite/18_support/bad_exception/59392.cc: Disable for C++17.
106
107         * testsuite/18_support/headers/new/synopsis.cc: Add C++14 and C++17
108         declarations.
109         * testsuite/18_support/headers/new/synopsis_cxx98.cc: New test.
110
111 2016-12-06  Felipe Magno de Almeida  <felipe@expertisesolutions.com.br>
112
113         * src/c++11/cow-stdexcept.cc: Add special case for 16 bit pointers.
114
115         * crossconfig.m4: Add avr target for cross-compilation.
116         * configure: Regenerate.
117
118 2016-12-06  Jonathan Wakely  <jwakely@redhat.com>
119
120         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Update for new
121         data member name.
122         * testsuite/libstdc++-prettyprinters/cxx17.cc: Remove redundant test.
123
124         * include/bits/shared_ptr_base.h
125         (__shared_ptr_access<T, L, false, true>::operator->()): Fix assertion.
126
127 2016-12-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
128
129         Constrain optional's __constexpr_addressof in its return type
130         and use a constexpr addressof for optional, if available.
131         * include/experimental/optional (__constexpr_addressof):
132         Constrain in the return type instead of in a template parameter.
133         (_Has_addressof_mem)
134         (_Has_addressof_free, _Has_addressof, __constexpr_addressof):
135         Guard with #ifndef __cpp_lib_addressof_constexpr.
136         (operator->()): Use std::__addressof if it's constexpr.
137
138 2016-12-06  Tim Shen  <timshen@google.com>
139
140         * include/std/variant (visit): Make visit constexpr. Also cleanup
141         __get_alternative and __storage, since we don't support reference/void
142         alternatives any more.
143         * testsuite/20_util/variant/compile.cc: Add tests.
144
145 2016-12-06  Tim Shen  <timshen@google.com>
146
147         * include/bits/enable_special_members.h: Make
148         _Enable_default_constructor constexpr.
149         * include/std/variant (variant::emplace, variant::swap, std::swap,
150         std::hash): Sfinae on emplace and std::swap; handle __poison_hash bases
151         of duplicated types.
152
153 2016-12-06  Tim Shen  <timshen@google.com>
154
155         * include/std/variant (std::get, operator==): Implement constexpr
156         comparison and get<>.
157         * testsuite/20_util/variant/compile.cc: Tests.
158
159 2016-12-06  Tim Shen  <timshen@google.com>
160
161         * include/std/variant (__erased_use_alloc_ctor,
162         _Variant_base::_Variant_base, variant::variant): Remove uses-allocator
163         related functions.
164         * testsuite/20_util/variant/compile.cc: Remove related tests.
165         * testsuite/20_util/variant/run.cc: Remove related tests.
166
167 2016-12-06  Aditya Kumar  <hiraditya@msn.com>
168
169         * src/c++11/shared_ptr.cc (_Sp_locker::_Sp_locker(const void* p)): Add
170         noexcept on constructor.
171         (_Sp_locker::_Sp_locker(const void* p1, const void* p2)): Same.
172
173 2016-12-06  Jonathan Wakely  <jwakely@redhat.com>
174
175         * include/bits/basic_string.h (basic_string::find, basic_string::rfind)
176         (basic_string::find_first_of, basic_string::find_last_of)
177         (basic_string::find_first_not_of, basic_string::find_last_not_of):
178         Make all overloads noexcept.
179         (basic_string::compare(const _CharT*)): Make noexcept.
180
181 2016-12-03  John David Anglin  <danglin@gcc.gnu.org>
182
183         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Regenerate.
184
185 2016-12-01  David Edelsohn  <dje.gcc@gmail.com>
186
187         * testsuite/26_numerics/headers/cmath/hypot.cc: XFAIL on AIX.
188
189 2016-12-01  Ville Voutilainen  <ville.voutilainen@gmail.com>
190
191         Implement LWG 2766,
192         Swapping non-swappable types and LWG 2749,
193         swappable traits for variants.
194         * include/bits/move.h (swap(_Tp&, _Tp&)): Constrain
195         with __is_tuple_like.
196         * include/bits/stl_pair.h (swap(pair<_T1, _T2>&, pair<_T1, _T2>&)):
197         Add a deleted overload.
198         * include/bits/unique_ptr.h
199         (swap(unique_ptr<_Tp, _Dp>&, unique_ptr<_Tp, _Dp>&)): Likewise.
200         * include/std/array
201         (swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&)): Likewise.
202         * include/std/optional
203         (swap(optional<_Tp>&, optional<_Tp>&)): Likewise.
204         * include/std/tuple (__is_tuple_like_impl, __is_tuple_like):
205         Move to type_traits.
206         (swap(tuple<_Elements...>&, tuple<_Elements...>&)): Add a deleted
207         overload.
208         * include/std/type_traits (__is_tuple_like_impl, __is_tuple_like):
209         New.
210         (swap(_Tp&, _Tp&)): Constrain with __is_tuple_like.
211         * include/std/utility (__is_tuple_like_impl): Move to type_traits.
212         * include/std/variant
213         (swap(variant<_Types...>&, variant<_Types...>&)):
214         Add a deleted overload.
215         * testsuite/20_util/optional/swap/2.cc: Add tests for disabled
216         swaps.
217         * testsuite/20_util/pair/swap_cxx17.cc: New.
218         * testsuite/20_util/tuple/swap_cxx17.cc: Likewise.
219         * testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc:
220         Likewise.
221         * testsuite/20_util/variant/compile.cc: Add tests for disabled
222         swaps.
223         * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
224         New.
225         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
226         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
227         Likewise.
228
229 2016-12-01  Ville Voutilainen  <ville.voutilainen@gmail.com>
230
231         The convertible_to traits need to use a variadic catch-all for the
232         false-cases.
233         * include/std/istream (__is_convertible_to_basic_istream):
234         Change the parameter of the false-case of __check to a variadic.
235         * include/std/ostream (__is_convertible_to_basic_ostream):
236         Likewise.
237
238 2016-12-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
239
240         * crossconfig.m4 (*-linux*): Add link-check for memalign.
241         * configure: Regenerated.
242
243 2016-12-01  Tim Shen  <timshen@google.com>
244
245         PR libstdc++/71500
246         * include/bits/regex.h (basic_regex::basic_regex): Use ECMAScript
247         when the syntax is not specified.
248         * include/bits/regex_compiler.h (_RegexTranslator,
249         _RegexTranslatorBase): Partially support icase in ranges.
250         * include/bits/regex_compiler.tcc (_BracketMatcher::_M_apply):
251         Refactor _M_apply to make the control flow easier to follow, and
252         call _M_translator._M_match_range as added previously.
253         * testsuite/28_regex/traits/char/icase.cc: Add new tests.
254         * testsuite/28_regex/traits/char/user_defined.cc: Add new tests.
255
256 2016-11-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
257
258         Fix testsuite failures caused by the patch implementing LWG 2534.
259         * include/std/istream (__is_convertible_to_basic_istream):
260         Change the return types of __check, introduce istream_type.
261         (operator>>(_Istream&&, _Tp&&)):
262         Use __is_convertible_to_basic_istream::istream_type as the return type.
263         * include/std/ostream (__is_convertible_to_basic_ostream):
264         Change the return types of __check, introduce ostream_type.
265         (operator>>(_Ostream&&, _Tp&&)):
266         Use __is_convertible_to_basic_ostream::ostream_type as the return type.
267
268 2016-11-30  Tim Shen  <timshen@google.com>
269
270         * include/bits/shared_ptr_base.h
271         (__shared_ptr_access<T, L, true, false>::operator*()): Fix assertion.
272
273 2016-11-30  David Edelsohn  <dje.gcc@gmail.com>
274
275         * testsuite/18_support/50594.cc: XFAIL on AIX.
276         * testsuite/ext/mt_allocator/check_new.cc: Same.
277         * testsuite/ext/pool_allocator/check_new.cc: Same.
278         * testsuite/27_io/ios_base/storage/11584.cc: Same.
279
280 2016-11-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
281
282         Implement LWG 2534, Constrain rvalue stream operators.
283         * include/std/istream (__is_convertible_to_basic_istream): New.
284         (__is_extractable): Likewise.
285         (operator>>(basic_istream<_CharT, _Traits>&&, _Tp&&)):
286         Turn the stream parameter into a template parameter
287         and constrain.
288         * include/std/ostream (__is_convertible_to_basic_ostream): New.
289         (__is_insertable): Likewise.
290         (operator<<(basic_ostream<_CharT, _Traits>&&, const _Tp&)):
291         Turn the stream parameter into a template parameter
292         and constrain.
293         * testsuite/27_io/basic_istream/extractors_other/char/4.cc: New.
294         * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
295         Likewise.
296         * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: Likewise.
297         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: Likewise.
298
299 2016-11-30  Christophe Lyon  <christophe.lyon@linaro.org>
300
301         * testsuite/experimental/type_erased_allocator/2.cc: Add
302         dg-require-thread-fence.
303
304 2016-11-29  David Edelsohn  <dje.gcc@gmail.com>
305
306         PR libstdc++/68838
307         * testsuite/lib/libstdc++.exp (DEFAULT_CXXFLAGS): Add -Wl,-bmaxdata on
308         AIX.
309         * testsuite/23_containers/vector/profile/vector.cc: Remove
310         dg-additional-options.
311
312 2016-11-26  Tim Shen  <timshen@google.com>
313
314         PR libstdc++/78441
315         * include/std/variant: Propagate cv qualifications to types returned
316         by variant_alternative.
317         * testsuite/20_util/variant/compile.cc: Tests.
318
319 2016-11-23  Felix Morgner  <felix.morgner@gmail.com>
320             Jonathan Wakely  <jwakely@redhat.com>
321
322         PR libstdc++/78490
323         * include/experimental/propagate_const (propagate_const::operator=):
324         Add missing return statements.
325         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
326         Adjust dg-error line numbers.
327         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
328
329 2016-11-22  Uros Bizjak  <ubizjak@gmail.com>
330
331         * testsuite/Makefile.am
332         (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection
333         of -j argument.
334         * testsuite/Makefile.in: Regenereate.
335
336 2016-11-22  Jonathan Wakely  <jwakely@redhat.com>
337
338         PR libstdc++/78465
339         * testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests
340         with preprocessor conditions.
341
342 2016-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
343
344         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Update comments.
345         (__CORRECT_ISO_CPP11_MATH_H_PROTO): Rename to ...
346         (__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): ... this.
347         Add test for C++11 <math.h> integral overloads.
348         * configure: Regenerate.
349         * config.h.in: Regenerate.
350
351         * include/c_global/cmath [__cplusplus >= 201103L]: Reflect
352         __CORRECT_ISO_CPP11_MATH_H_PROTO to
353         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
354         * include/c_global/cmath [_GLIBCXX_USE_C99_MATH &&
355         !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC && __cplusplus >= 201103L]
356         (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO_INT.
357         (std::isfinite): Likewise.
358         (std::isinf): Likewise.
359         (std::isnan): Likewise.
360         (std::isnormal): Likewise.
361         (std::signbit): Likewise.
362         (std::isgreater): Likewise.
363         (std::isgreaterequal): Likewise.
364         (std::isless): Likewise.
365         (std::islessequal): Likewise.
366         (std::islessgreater): Likewise.
367         (std::isunordered): Likewise.
368         [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]
369         (std::acosh): Likewise.
370         (std::asinh): Likewise.
371         (std::atanh): Likewise.
372         (std::cbrt): Likewise.
373         (std::copysign): Likewise.
374         (std::erf): Likewise.
375         (std::erfc): Likewise.
376         (std::exp2): Likewise.
377         (std::expm1): Likewise.
378         (std::fdim): Likewise.
379         (std::fma): Likewise.
380         (std::fmax): Likewise.
381         (std::fmin): Likewise.
382         (std::hypot): Likewise.
383         (std::ilogb): Likewise.
384         (std::lgamma): Likewise.
385         (std::llrint): Likewise.
386         (std::llround): Likewise.
387         (std::log1p): Likewise.
388         (std::log2): Likewise.
389         (std::logb): Likewise.
390         (std::lrint): Likewise.
391         (std::lround): Likewise.
392         (std::nearbyint): Likewise.
393         (std::nextafter): Likewise.
394         (std::nexttoward): Likewise.
395         (std::remainder): Likewise.
396         (std::remquo): Likewise.
397         (std::rint): Likewise.
398         (std::round): Likewise.
399         (std::scalbln): Likewise.
400         (std::scalbn): Likewise.
401         (std::tgamma): Likewise.
402         (std::trunc): Likewise.
403         * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1 && __cplusplus >=
404         201103L]: Reflect __CORRECT_ISO_CPP11_MATH_H_PROTO to
405         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
406
407 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
408
409         PR libstdc++/59406
410         * include/bits/functional_hash.h: Add comment noting difference from
411         FNV-1a.
412         * include/tr1/functional_hash.h: Likewise.
413         * libsupc++/hash_bytes.cc: Likewise.
414
415         * include/bits/basic_string.h: Reuse _If_sv alias template for new
416         constructor.
417
418         * doc/xml/manual/intro.xml: Document LWG 2770 status. Remove entries
419         for 2742 and 2748.
420         * doc/html/*: Regenerate.
421         * include/std/utility (__tuple_size_cv_impl): New helper to safely
422         detect tuple_size<T>::value, as per LWG 2770.
423         (tuple_size<cv T>): Adjust partial specializations to derive from
424         __tuple_size_cv_impl.
425         * testsuite/20_util/tuple/cv_tuple_size.cc: Test SFINAE-friendliness.
426
427         * testsuite/libstdc++-prettyprinters/cxx17.cc: Adjust test for
428         variant<T&>.
429
430 2016-11-15  Tim Shen  <timshen@google.com>
431
432         * include/std/variant: Remove variant<T&>, variant<void>, variant<>
433         support to rebase on the post-Issaquah design.
434         * testsuite/20_util/variant/compile.cc: Likewise.
435
436 2016-11-15  Matthias Klose  <doko@ubuntu.com>
437
438         * configure: Regenerate.
439
440 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
441
442         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Fix license
443         text.
444         * testsuite/20_util/any/assign/emplace.cc: Likewise.
445         * testsuite/20_util/any/cons/in_place.cc: Likewise.
446         * testsuite/20_util/any/make_any.cc: Likewise.
447         * testsuite/20_util/any/requirements.cc: Likewise.
448         * testsuite/20_util/any/typedefs.cc: Likewise.
449         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
450         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
451         Likewise.
452         * testsuite/20_util/in_place/requirements.cc: Likewise.
453         * testsuite/20_util/optional/77288.cc: Likewise.
454         * testsuite/20_util/optional/assignment/1.cc: Likewise.
455         * testsuite/20_util/optional/assignment/2.cc: Likewise.
456         * testsuite/20_util/optional/assignment/3.cc: Likewise.
457         * testsuite/20_util/optional/assignment/4.cc: Likewise.
458         * testsuite/20_util/optional/assignment/5.cc: Likewise.
459         * testsuite/20_util/optional/assignment/6.cc: Likewise.
460         * testsuite/20_util/optional/assignment/7.cc: Likewise.
461         * testsuite/20_util/optional/cons/77727.cc: Likewise.
462         * testsuite/20_util/optional/cons/move.cc: Likewise.
463         * testsuite/20_util/optional/cons/value.cc: Likewise.
464         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
465         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
466         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
467         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
468         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
469         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
470         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
471         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
472         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
473         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
474         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
475         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
476         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
477         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
478         * testsuite/20_util/optional/hash.cc: Likewise.
479         * testsuite/20_util/optional/make_optional.cc: Likewise.
480         * testsuite/20_util/optional/observers/1.cc: Likewise.
481         * testsuite/20_util/optional/observers/2.cc: Likewise.
482         * testsuite/20_util/optional/observers/3.cc: Likewise.
483         * testsuite/20_util/optional/observers/4.cc: Likewise.
484         * testsuite/20_util/optional/observers/5.cc: Likewise.
485         * testsuite/20_util/optional/observers/6.cc: Likewise.
486         * testsuite/20_util/optional/relops/1.cc: Likewise.
487         * testsuite/20_util/optional/relops/2.cc: Likewise.
488         * testsuite/20_util/optional/relops/3.cc: Likewise.
489         * testsuite/20_util/optional/relops/4.cc: Likewise.
490         * testsuite/20_util/optional/relops/5.cc: Likewise.
491         * testsuite/20_util/optional/relops/6.cc: Likewise.
492         * testsuite/20_util/optional/requirements.cc: Likewise.
493         * testsuite/20_util/optional/swap/1.cc: Likewise.
494         * testsuite/20_util/optional/typedefs.cc: Likewise.
495         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
496         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
497         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
498         Likewise.
499         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
500         * testsuite/20_util/variant/hash.cc: Likewise.
501         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
502         * testsuite/experimental/any/typedefs.cc: Likewise.
503         * testsuite/experimental/array/make_array.cc: Likewise.
504         * testsuite/experimental/array/neg.cc: Likewise.
505         * testsuite/experimental/chrono/value.cc: Likewise.
506         * testsuite/experimental/deque/erasure.cc: Likewise.
507         * testsuite/experimental/forward_list/erasure.cc: Likewise.
508         * testsuite/experimental/list/erasure.cc: Likewise.
509         * testsuite/experimental/map/erasure.cc: Likewise.
510         * testsuite/experimental/memory/observer_ptr/assignment/assign.cc:
511         Likewise.
512         * testsuite/experimental/memory/observer_ptr/cons/cons.cc: Likewise.
513         * testsuite/experimental/memory/observer_ptr/hash/hash.cc: Likewise.
514         * testsuite/experimental/memory/observer_ptr/make_observer.cc:
515         Likewise.
516         * testsuite/experimental/memory/observer_ptr/relops/relops.cc:
517         Likewise.
518         * testsuite/experimental/memory/observer_ptr/requirements.cc: Likewise.
519         * testsuite/experimental/memory/observer_ptr/swap/swap.cc: Likewise.
520         * testsuite/experimental/memory/observer_ptr/typedefs.cc: Likewise.
521         * testsuite/experimental/optional/77288.cc: Likewise.
522         * testsuite/experimental/optional/assignment/1.cc: Likewise.
523         * testsuite/experimental/optional/assignment/2.cc: Likewise.
524         * testsuite/experimental/optional/assignment/3.cc: Likewise.
525         * testsuite/experimental/optional/assignment/4.cc: Likewise.
526         * testsuite/experimental/optional/assignment/5.cc: Likewise.
527         * testsuite/experimental/optional/assignment/6.cc: Likewise.
528         * testsuite/experimental/optional/cons/77727.cc: Likewise.
529         * testsuite/experimental/optional/cons/move.cc: Likewise.
530         * testsuite/experimental/optional/cons/value.cc: Likewise.
531         * testsuite/experimental/optional/cons/value_neg.cc: Likewise.
532         * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
533         * testsuite/experimental/optional/constexpr/make_optional.cc: Likewise.
534         * testsuite/experimental/optional/constexpr/observers/1.cc: Likewise.
535         * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
536         * testsuite/experimental/optional/constexpr/observers/3.cc: Likewise.
537         * testsuite/experimental/optional/constexpr/observers/4.cc: Likewise.
538         * testsuite/experimental/optional/constexpr/observers/5.cc: Likewise.
539         * testsuite/experimental/optional/constexpr/relops/1.cc: Likewise.
540         * testsuite/experimental/optional/constexpr/relops/2.cc: Likewise.
541         * testsuite/experimental/optional/constexpr/relops/3.cc: Likewise.
542         * testsuite/experimental/optional/constexpr/relops/4.cc: Likewise.
543         * testsuite/experimental/optional/constexpr/relops/5.cc: Likewise.
544         * testsuite/experimental/optional/constexpr/relops/6.cc: Likewise.
545         * testsuite/experimental/optional/make_optional.cc: Likewise.
546         * testsuite/experimental/optional/observers/1.cc: Likewise.
547         * testsuite/experimental/optional/observers/2.cc: Likewise.
548         * testsuite/experimental/optional/observers/3.cc: Likewise.
549         * testsuite/experimental/optional/observers/4.cc: Likewise.
550         * testsuite/experimental/optional/observers/5.cc: Likewise.
551         * testsuite/experimental/optional/relops/1.cc: Likewise.
552         * testsuite/experimental/optional/relops/2.cc: Likewise.
553         * testsuite/experimental/optional/relops/3.cc: Likewise.
554         * testsuite/experimental/optional/relops/4.cc: Likewise.
555         * testsuite/experimental/optional/relops/5.cc: Likewise.
556         * testsuite/experimental/optional/relops/6.cc: Likewise.
557         * testsuite/experimental/optional/requirements.cc: Likewise.
558         * testsuite/experimental/optional/swap/1.cc: Likewise.
559         * testsuite/experimental/optional/typedefs.cc: Likewise.
560         * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
561         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
562         Likewise.
563         * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
564         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
565         * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
566         * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
567         * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
568         * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
569         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
570         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
571         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
572         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
573         * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
574         * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
575         * testsuite/experimental/random/randint.cc: Likewise.
576         * testsuite/experimental/ratio/value.cc: Likewise.
577         * testsuite/experimental/set/erasure.cc: Likewise.
578         * testsuite/experimental/string/erasure.cc: Likewise.
579         * testsuite/experimental/string_view/typedefs.cc: Likewise.
580         * testsuite/experimental/system_error/value.cc: Likewise.
581         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
582         * testsuite/experimental/type_traits/value.cc: Likewise.
583         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
584         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
585         * testsuite/experimental/vector/erasure.cc: Likewise.
586
587         * doc/xml/manual/intro.xml: Document LWG 2742 status.
588         * doc/html/*: Regenerate.
589         * include/bits/basic_string.h
590         (basic_string(const T&, size_type, size_type, const Allocator&)): Add
591         constructor for substring of basic_string_view, as per LWG 2742 but
592         with additional constraint to fix ambiguity.
593         * testsuite/21_strings/basic_string/cons/char/9.cc: New test.
594         * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: New test.
595
596         * doc/xml/manual/intro.xml: Document LWG 2748 status.
597         * include/std/optional (optional<T>::swap): Use is_nothrow_swappable_v
598         for exception specification.
599         (swap(optional<T>&, optional<T>&)): Disable when T is not swappable.
600         * testsuite/20_util/optional/swap/2.cc: New test.
601
602 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
603
604         Implement P0513R0, Poisoning the Hash.
605         * include/bits/functional_hash.h (__poison_hash): New.
606         * include/bits/unique_ptr.h
607         (hash<unique_ptr<_Tp, _Dp>>): Derive from __poison_hash.
608         * include/std/optional (hash<optional<_Tp>>): Likewise.
609         * include/std/variant (hash<variant<_Types...>>): Likewise.
610         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
611         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
612         * testsuite/20_util/optional/hash.cc: New.
613         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
614         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Adjust.
615         * testsuite/20_util/unique_ptr/hash/1.cc: Add tests for
616         poisoned fancy pointer hashes.
617         * testsuite/20_util/variant/hash.cc: New.
618
619 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
620
621         Implement P0504R0 (Revisiting in-place tag types for
622         any/optional/variant).
623         * include/std/any (any(_ValueType&& __value)): Constrain
624         the __is_in_place_type with the decayed type.
625         (make_any): Adjust to use the new tag type.
626         * include/std/utility (in_place_tag): Remove.
627         (in_place_t): Turn into a non-reference tag type.
628         (__in_place, __in_place_type, __in_place_index): Remove.
629         (in_place): Turn into an inline variable of non-reference
630         tag type.
631         (in_place<_Tp>): Remove.
632         (in_place_index<_Idx>): Remove.
633         (in_place_type_t): New.
634         (in_place_type): Turn into a variable template of non-reference
635         type.
636         (in_place_index_t): New.
637         (in_place_index): Turn into a variable template of non-reference
638         type.
639         * include/std/variant
640         (_Variant_storage(in_place_index_t<_Np>, _Args&&...)): Adjust to
641         use the new tag type.
642         (_Union(in_place_index_t<0>, _Args&&...)): Likewise.
643         (_Union(in_place_index_t<_Np>, _Args&&...)): Likewise.
644         (_Variant_base()): Likewise.
645         (variant(_Tp&&)): Likewise.
646         (variant(in_place_type_t<_Tp>, _Args&&...)): Likewise.
647         (variant(in_place_type_t<_Tp>, initializer_list<_Up>,
648         _Args&&...)): Likewise.
649         (variant(in_place_index_t<_Np>, _Args&&...)): Likewise.
650         (variant(in_place_index_t<_Np>, initializer_list<_Up>,
651         _Args&&...)): Likewise
652         (variant(allocator_arg_t, const _Alloc&)): Likewise.
653         (variant(allocator_arg_t, const _Alloc&, _Tp&&)): Likewise.
654         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
655         _Args&&...)): Likewise.
656         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
657         initializer_list<_Up>, _Args&&...)): Likewise.
658         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
659         _Args&&...)): Likewise.
660         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
661         initializer_list<_Up>, _Args&&...)): Likewise.
662         (emplace(_Args&&...)): Likewise.
663         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
664         * testsuite/20_util/any/cons/explicit.cc: Likewise.
665         * testsuite/20_util/any/cons/in_place.cc: Likewise.
666         * testsuite/20_util/any/requirements.cc: Add tests to
667         check that any is not constructible from the new in_place_type_t
668         of any value category.
669         * testsuite/20_util/in_place/requirements.cc: Adjust to
670         use the new tag type.
671         * testsuite/20_util/variant/compile.cc: Likewise.
672         * testsuite/20_util/variant/run.cc: Likewise.
673
674 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
675
676         Use constexpr addressof in optional, SFINAE housekeeping
677         for any, optional and tuple.
678         * include/std/any (__do_emplace(_Args&&...)): New.
679         (__do_emplace(initializer_list<_Up>, _Args&&...)): Likewise.
680         (__any_constructible): Likewise.
681         (__any_constructible_t): Use __any_constructible.
682         (operator=(_ValueType&&)): SFINAE in the return type.
683         (emplace(_Args&&...)): Likewise.
684         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
685         * include/std/optional (_Has_addressof_mem): Remove.
686         (_Has_addressof_free): Likewise.
687         (_Has_addressof): Likewise.
688         (__constexpr_addressof(_Tp&)): Likewise.
689         (operator->): Use std::__addressof.
690         * include/std/tuple (operator=(const tuple<_UElements...>&)):
691         SFINAE in return type.
692         (operator=(tuple<_UElements...>&&)): Likewise.
693         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
694
695 2016-11-14  Jonathan Wakely  <jwakely@redhat.com>
696
697         * include/bits/move.h (addressof(const _Tp&&)): Add deleted overload,
698         as per LWG 2598.
699
700         * include/std/future (future::share(), future<R&>::share())
701         (future<void>::share()): Add noexcept, as per LWG 2556.
702
703 2016-11-13  Jonathan Wakely  <jwakely@redhat.com>
704
705         PR libstdc++/78326
706         * include/experimental/memory_resource (memory_resource::_S_max_align):
707         Change access to protected.
708
709         * doc/xml/manual/status_cxx2017.xml: Update status.
710         * doc/html/manual/status.html: Regenerate.
711         * include/bits/shared_ptr.h (shared_ptr(unique_ptr<_Yp, _Del>)): Add
712         extension constructor to maintain C++14 behaviour.
713         * include/bits/shared_ptr_base.h (__sp_array_delete): Add new struct.
714         (__shared_count(_Ptr, false_type), __shared_count(_Ptr, true_type)):
715         New constructors.
716         (__sp_compatible_with, __sp_is_constructible): Add specializations
717         for array support.
718         (__sp_is_constructible_arr, __sp_is_constructible_arrN): New helpers.
719         (__shared_ptr_access): New base class for observer member functions.
720         (__shared_ptr::element_type): Use remove_extent.
721         (__shared_ptr::_UniqCompatible): Add __sp_compatible_with check.
722         (__shared_ptr(_Yp*)): Use tag dispatching to call new __shared_count
723         constructor.
724         (__shared_ptr(unique_ptr<_Yp, _Del>)): Add extension constructor.
725         (__shared_ptr::operator*, __shared_ptr::operator->): Remove and
726         inherit from __shared_ptr_access base class.
727         (__shared_ptr::__has_esft_base): Return false for array types.
728         (__weak_ptr::element_type): Use remove_extent.
729         * include/experimental/bits/shared_ptr.h (__libfund_v1): Remove.
730         (__shared_ptr<__libfund_v1<_Tp>>): Remove specializations.
731         (__wak_ptr<__libfund_v1<_Tp>>): Likewise.
732         (experimental::__sp_compatible_v): Redefine using
733         __sp_compatible_with.
734         (experimental::__sp_is_constructible_v): Redefine using
735         __sp_is_constructible.
736         (get_deleter, operator<<): Change argument from __shared_ptr to
737         shared_ptr.
738         * testsuite/20_util/shared_ptr/cons/array.cc: New test.
739         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Adjust for
740         new behaviour.
741         * testsuite/20_util/shared_ptr/observers/array.cc: Test observers for
742         arrays.
743         * testsuite/20_util/shared_ptr/observers/array_neg.cc: New test.
744
745 2016-11-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
746
747         Implement P0403R1, Literal suffixes for basic_string_view.
748         * include/std/string_view
749         (operator""sv(const char*, size_t)): New.
750         (operator""sv(const wchar_t*, size_t)): Likewise.
751         (operator""sv(const char16_t*, size_t)): Likewise.
752         (operator""sv(const char32_t*, size_t)): Likewise.
753         * testsuite/21_strings/basic_string_view/literals/types.cc: New.
754         * testsuite/21_strings/basic_string_view/literals/values.cc: Likewise.
755         * testsuite/experimental/string_view/literals/values.cc: Add
756         tests for literals with embedded NULs.
757
758 2016-11-12  Jonathan Wakely  <jwakely@redhat.com>
759
760         * src/filesystem/ops.cc (is_empty): Fix typo in exception message.
761
762         * include/std/future (future_error): Fix public typo to private.
763
764 2016-11-11  Jonathan Wakely  <jwakely@redhat.com>
765
766         * include/std/future (future_error): Make existing constructor
767         private and add constructor from future_errc.
768
769         * include/bits/shared_ptr.h (hash<shared_ptr<T>>): Use element_type.
770         * include/bits/shared_ptr_base.h (hash<__shared_ptr<T, L>>): Likewise.
771
772 2016-11-10  François Dumont  <fdumont@gcc.gnu.org>
773
774         * src/c++11/debug.cc (format_word): Delete.
775         (print_literal): New. Replace call to print_word for literals.
776
777 2016-11-09  Tim Shen  <timshen@google.com>
778
779         * include/bits/regex.h (regex_iterator::regex_iterator()):
780         Define end() as _M_pregex == nullptr.
781         * include/bits/regex.tcc (regex_iterator::operator==(),
782         regex_iterator::operator++()): Fix operator==() and operator++() to
783         look at null-ness of _M_pregex on both sides.
784         * testsuite/28_regex/regression.cc: New testcase.
785
786 2016-11-07  Jason Merrill  <jason@redhat.com>
787
788         * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM)
789         (_GLIBCXX_NOEXCEPT_QUAL): New.
790         * include/std/type_traits (is_function): Use them.
791         * libsubc++/new (launder): Likewise.
792         * libsupc++/cxxabi.h (__pbase_type_info::__masks): Add
793         __noexcept_mask.
794         * libsupc++/pbase_type_info.cc (__do_catch): Handle function
795         pointer conversion.
796
797 2016-11-07  François Dumont  <fdumont@gcc.gnu.org>
798
799         * config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of
800         over-aligned types symbols.
801
802 2016-10-28  Jonathan Wakely  <jwakely@redhat.com>
803
804         * include/experimental/bits/fs_path.h (__is_path_src)
805         (_S_range_begin, _S_range_end): Overload to treat string_view as a
806         Source object.
807         (path::operator+=, path::compare): Overload for basic_string_view.
808         * testsuite/experimental/filesystem/path/construct/string_view.cc:
809         New test.
810         * testsuite/experimental/filesystem/path/construct/
811         string_view_cxx17.cc: New test.
812
813         * include/experimental/bits/fs_path.h
814         (path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from
815         iterator's value_type.
816         (path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise.
817         Do not use operation not supported by input iterators.
818         (path::__is_path_iter_src): Add partial specialization for const
819         encoded character types.
820         * testsuite/experimental/filesystem/path/construct/range.cc: Test
821         construction from input iterators with const value types.
822
823         * doc/xml/manual/status_cxx2017.xml: Update status.
824         * doc/html/*: Regenerate.
825         * include/std/type_traits (has_unique_object_representations): Guard
826         with __has_builtin check.
827         * libsupc++/new (launder): Define for C++17.
828         * testsuite/18_support/launder/1.cc: New test.
829         * testsuite/18_support/launder/requirements.cc: New test.
830         * testsuite/18_support/launder/requirements_neg.cc: New test.
831
832 2016-10-27  Uros Bizjak  <ubizjak@gmail.com>
833
834         PR libstdc++/70975
835         * src/filesystem/ops.cc (do_copy_file) [_GLIBCXX_USE_SENDFILE]:
836         Pass non-null pointer to sendfile for offset argument.
837
838 2016-10-27  Jonathan Wakely  <jwakely@redhat.com>
839
840         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
841         default.cc: Fix effective target selector.
842         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
843         parms.cc: Likewise.
844         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
845         equal.cc: Likewise.
846         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
847         generate.cc: Likewise.
848         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
849         inequal.cc: Likewise.
850         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
851         serialize.cc: Likewise.
852
853         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
854         Use end() function to get end iterator.
855         * testsuite/experimental/filesystem/iterators/pop.cc: Remove printf
856         statements that were present for debugging.
857         * testsuite/experimental/filesystem/iterators/
858         recursive_directory_iterator.cc: Use end() function to get end
859         iterator.
860         * testsuite/experimental/filesystem/operations/last_write_time.cc:
861         Only require file timestamps to be accurate to one second.
862
863 2016-10-26  François Dumont  <fdumont@gcc.gnu.org>
864
865         * include/bits/stl_map.h (map()): Make default.
866         * include/bits/stl_multimap.h (multimap()): Likewise.
867         * include/bits/stl_multiset.h (multiset()): Likewise.
868         * include/bits/stl_set.h (set()): Likewise.
869         * include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept.
870         (_Rb_tree()): Make default.
871
872 2016-10-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>
873
874         PR libstdc++/78110
875         * libsupc++/new_opa.cc: Don't include <malloc.h> in a free standing
876         environment.  Declare memalign directly in that case.
877
878 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
879
880         * testsuite/experimental/filesystem/iterators/pop.cc: Remove
881         unreliable dependency on directory order.
882
883 2016-10-26  Edward Smith-Rowland  <3dw4rd@verizon.net>
884
885         Implement uniform_inside_sphere_distribution extension.
886         * include/ext/random: Implement uniform_inside_sphere_distribution.
887         * include/ext/random.tcc: Ditto.
888         * testsuite/ext/random/uniform_inside_sphere_distribution/
889         cons/default.cc: New.
890         * testsuite/ext/random/uniform_inside_sphere_distribution/
891         cons/parms.cc: New.
892         * testsuite/ext/random/uniform_inside_sphere_distribution/
893         operators/equal.cc: New.
894         * testsuite/ext/random/uniform_inside_sphere_distribution/
895         operators/generate.cc: New.
896         * testsuite/ext/random/uniform_inside_sphere_distribution/
897         operators/inequal.cc: New.
898         * testsuite/ext/random/uniform_inside_sphere_distribution/
899         operators/serialize.cc: New.
900
901 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
902
903         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
904         Overload pop (LWG 2706).
905         * src/filesystem/dir.cc (recursive_directory_iterator::pop): Define
906         new overload.
907         * testsuite/experimental/filesystem/iterators/pop.cc: New test.
908
909         * src/filesystem/dir.cc (recursive_directory_iterator::increment):
910         Reset state on error.
911         * testsuite/experimental/filesystem/iterators/
912         recursive_directory_iterator.cc: Check state after increment error.
913
914         PR libstdc++/78111
915         * src/filesystem/ops.cc (canonical): Set error for non-existent path.
916
917 2016-10-26  Uros Bizjak  <ubizjak@gmail.com>
918
919         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
920         for PATH_MAX in realpath test.
921         * configure: Regenerate.
922
923 2016-10-25  Jonathan Wakely  <jwakely@redhat.com>
924
925         * src/filesystem/ops.cc
926         (last_write_time(const path&, file_time_type, error_code&)): Handle
927         negative times correctly.
928         * testsuite/experimental/filesystem/operations/last_write_time.cc:
929         Test writing file times.
930
931         * src/filesystem/ops.cc (do_copy_file): Report an error if source or
932         destination is not a regular file (LWG 2712).
933         (equivalent): Fix error handling and result when only one file exists.
934         * testsuite/experimental/filesystem/operations/copy.cc: Remove files
935         created by tests. Test copying directories.
936         * testsuite/experimental/filesystem/operations/copy_file.cc: Remove
937         files created by tests.
938         * testsuite/experimental/filesystem/operations/equivalent.cc: New.
939         * testsuite/experimental/filesystem/operations/is_empty.cc: New.
940         * testsuite/experimental/filesystem/operations/read_symlink.cc: Remove
941         file created by test.
942         * testsuite/experimental/filesystem/operations/remove_all.cc: New.
943         * testsuite/util/testsuite_fs.h (~scoped_file): Only try to remove
944         file if path is non-empty, to support removal by other means.
945
946 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
947
948         * src/filesystem/ops.cc (is_empty): Fix error handling.
949         * testsuite/experimental/filesystem/operations/is_empty.cc: New test.
950
951         PR libstdc++/71337
952         * src/filesystem/ops.cc (temp_directory_path): Pass error_code
953         argument to other filesystem operations.
954         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
955         Add testcase for inaccessible directory.
956
957         * src/filesystem/dir.cc (open_dir): Return same value for errors
958         whether ignored or not.
959         (_Dir::advance(error_code*, directory_options)): Return false on
960         error.
961         (directory_iterator(const path&, directory_options, error_code*)):
962         Create end iterator on error (LWG 2723).
963         (recursive_directory_iterator(const path&, directory_options,
964         error_code*)): Likewise.
965         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
966         Update expected behaviour on error.
967         * testsuite/experimental/filesystem/iterators/
968         recursive_directory_iterator.cc: Likewise.
969
970         * src/filesystem/ops.cc (close_fd): Remove.
971         (do_copy_file): Just use close(3) instead of close_fd, to prevent
972         retrying on error.
973
974         * src/filesystem/ops.cc (do_copy_file): Return an error if either
975         source or destination is not a regular file.
976         (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683
977         resolutions.
978         (read_symlink): Add missing ec.clear().
979         * testsuite/experimental/filesystem/operations/copy.cc: Update
980         expected behaviour for copying directories with create_symlinks.
981         Verify that error_code arguments are cleared if there's no error.
982         * testsuite/experimental/filesystem/operations/read_symlink.cc: New.
983
984 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
985
986         Cross-port exception-safety and move fixes of std::any to
987         std::experimental::any.
988         * include/experimental/any (operator=(const any&)):
989         Make strongly exception-safe.
990         (operator=(any&&)): clear() unconditionally in the case where
991         rhs has a value.
992         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
993         * testsuite/experimental/any/assign/2.cc: Adjust.
994         * testsuite/experimental/any/assign/exception.cc: New.
995         * testsuite/experimental/any/cons/2.cc: Adjust.
996         * testsuite/experimental/any/misc/any_cast_neg.cc: Ajust.
997
998 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
999
1000         Cross-port the latest resolution of LWG2756 and some
1001         bug-fixes to experimental::optional.
1002         PR libstdc++/77288
1003         PR libstdc++/77727
1004         * include/experimental/optional (_Optional_base):
1005         Remove constructors that take a _Tp.
1006         (__is_optional_impl, __is_optional): Remove.
1007         (__converts_from_optional): New.
1008         (optional(_Up&&)): Fix constraints, call base with in_place.
1009         (optional(const optional<_Up>&)): Fix constraints, use emplace.
1010         (optional(optional<_Up>&&)): Likewise.
1011         (operator=(_Up&&)): Fix constraints.
1012         (operator=(const optional<_Up>&)): Likewise.
1013         (operator=(optional<_Up>&&)): Likewise.
1014         (emplace(_Args&&...)): Constrain.
1015         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
1016         * testsuite/experimental/optional/77288.cc: New.
1017         * testsuite/experimental/optional/assignment/5.cc: Adjust.
1018         * testsuite/experimental/optional/cons/77727.cc: New.
1019         * testsuite/experimental/optional/cons/value.cc: Adjust.
1020
1021 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
1022
1023         * include/bits/stl_vector.h (vector::_M_data_ptr, vector::data):
1024         Change return type of non-standard C++98 extension to match C++11.
1025
1026 2016-10-22  François Dumont  <fdumont@gcc.gnu.org>
1027
1028         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_ALGO)
1029         (_GLIBCXX_END_NAMESPACE_ALGO): Default to respectively
1030         _GLIBCXX_BEGIN_NAMESPACE_VERSION and _GLIBCXX_END_NAMESPACE_VERSION.
1031         (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER, _GLIBCXX_END_NAMESPACE_CONTAINER):
1032         Likewise.
1033
1034 2016-10-22  Jonathan Wakely  <jwakely@redhat.com>
1035
1036         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
1037         Ignore symlink_nofollow flag if file is not a symlink.
1038         * testsuite/experimental/filesystem/operations/permissions.cc: Test
1039         symlink_nofollow on non-symlinks.
1040
1041 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
1042
1043         * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks):
1044         Replace with symlink_nofollow (LWG 2720).
1045         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
1046         Handle symlink_nofollow.
1047         * testsuite/experimental/filesystem/operations/create_symlink.cc: New
1048         test.
1049         * testsuite/experimental/filesystem/operations/permissions.cc: Test
1050         overload taking error_code.
1051
1052         * include/experimental/bits/fs_ops.h
1053         (exists(const path&, error_code&)): Clear error if status is known
1054         (LWG 2725).
1055         (status(const path&, error_code&)): Handle EOVERFLOW.
1056         * testsuite/experimental/filesystem/operations/exists.cc: Test
1057         overload taking an error_code.
1058
1059         * include/experimental/bits/fs_path.h (path::path(string_type&&))
1060         (path::operator=(string&&), path::assign(string_type&&)): Define
1061         construction and assignment from string_type rvalues (LWG 2707).
1062
1063 2016-10-21  Eelis van der Weegen  <eelis@eelis.net>
1064
1065         * include/bits/stl_algo.h (__gen_two_uniform_ints): Move logic out
1066         of shuffle into new function.
1067         (shuffle): Call __gen_two_uniform_ints.
1068         (__sample<ForwardIterator, OutputIterator, Cat, Size, URBG>): Use
1069         __gen_two_uniform_ints and perform two samples at a time.
1070
1071 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
1072
1073         * include/Makefile.am: Add <bits/refwrap.h> and <bits/std_function.h>.
1074         Order alphabetically.
1075         * include/Makefile.in: Regenerate.
1076         * include/bits/refwrap.h: New header.
1077         (_Maybe_get_result_type,_Weak_result_type_impl, _Weak_result_type)
1078         (_Reference_wrapper_base_impl, _Reference_wrapper_base)
1079         (reference_wrapper, ref, cref): Move here from <functional>.
1080         * include/bits/shared_ptr_base.h: Include <bits/refwrap.h> and
1081         <bits/stl_function.h> instead of <functional>.
1082         * include/bits/std_function.h: New header.
1083         (_Maybe_unary_or_binary_function, bad_function_call)
1084         (__is_location_invariant, _Nocopy_types, _Any_data)
1085         (_Simple_type_wrapper, _Function_base, _Function_handler, function):
1086         Move here from <functional>.
1087         * include/bits/unique_ptr.h: Include <bits/stl_function.h>.
1088         * include/std/functional: Include new headers and move components to
1089         them.
1090         * include/std/future: Include <bits/std_function.h> instead of
1091         <functional>.
1092         * include/std/mutex: Likewise.
1093         * include/std/regex: Likewise.
1094         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
1095         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
1096         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
1097         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
1098         lines.
1099         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
1100         * testsuite/30_threads/packaged_task/49668.cc: Include <functional>.
1101
1102         * libsupc++/exception_ptr.h (make_exception_ptr): Qualify new.
1103         * testsuite/18_support/exception_ptr/make_exception_ptr_2.cc: New
1104         test.
1105
1106 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
1107
1108         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&))
1109         (shared_ptr(auto_ptr&&)): Adjust template parameter lists.
1110         * include/bits/shared_ptr.h (__sp_compatible_with)
1111         (__sp_is_constructible): New helper traits for shared_ptr.
1112         (shared_ptr::_Convertible): Replace with _Constructible.
1113         (shared_ptr::_Constructible, shared_ptr::_Assignable): Forward checks
1114         to base class.
1115         (shared_ptr::shared_ptr, shared_ptr::operator=): Constrain template
1116         with _Constructible and _Assignable.
1117         (shared_ptr::shared_ptr(shared_ptr<_Tp1>, _Tp*)): Use element_type
1118         instead of _Tp.
1119         (operator<): Likewise.
1120         (operator>): Define in terms of operator<.
1121         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
1122         element_type instead of _Tp.
1123         (reinterpret_pointer_cast): Define for C++17.
1124         (weak_ptr::_Convertible): Replace with _Constructible.
1125         (weak_ptr::_Constructible, weak_ptr::_Assignable): Forward checks
1126         to base class.
1127         (weak_ptr::weak_ptr, weak_ptr::operator=): Constrain templates
1128         with _Constructible and _Assignable.
1129         * include/bits/shared_ptr_base.h (__shared_ptr::_Convertible): Replace
1130         with _Compatible.
1131         (__shared_ptr::_SafeConv): New constraint for incoming raw pointers.
1132         (__shared_ptr::_Compatible): New constraint for converting from
1133         other types of shared_ptr and weak_ptr.
1134         (__shared_ptr::_Assignable): Define in terms of _Compatible.
1135         (__shared_ptr::_UniqCompatible, __shared_ptr::_UniqAssignable): New
1136         constraints for converting from unique_ptr.
1137         (__shared_ptr::__shared_ptr, __shared_ptr::operator=): Constrain
1138         template with _SaveConf, _Compatible and _Assignable. Remove
1139         __glibcxx_function_requires concept checks. Add static assertion for
1140         deleter expression being well-formed.
1141         (__shared_ptr::__shared_ptr(__shared_ptr<_Tp1>, _Tp*))
1142         (__shared_ptr::operator*, __shared_ptr::operator->)
1143         (__shared_ptr::get, __shared_ptr::_M_ptr): Use element_type instead
1144         of _Tp.
1145         (operator<): Likewise.
1146         (operator>): Define in terms of operator<.
1147         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
1148         element_type instead of _Tp.
1149         (reinterpret_pointer_cast): Define for C++17.
1150         (weak_ptr::_Convertible): Replace with _Compatible.
1151         (weak_ptr::_Compatible, weak_ptr::_Assignable): New constraints for
1152         conversions from other types of weak_ptr and shared_ptr.
1153         (__weak_ptr::__weak_ptr, __weak_ptr::operator=): Constrain templates
1154         with _Constructible and _Assignable.
1155         (__weak_ptr::_M_ptr): Use element_type instead of _Tp.
1156         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Adjust
1157         dg-error pattern.
1158         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Test conversions.
1159         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
1160         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1161         * testsuite/20_util/shared_ptr/casts/reinterpret.cc: New test.
1162
1163 2016-10-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
1164
1165         Do the operator= SFINAE in the return type for optional,
1166         not in the template parameters.
1167         * include/std/optional (operator=(_Up&&)): Move SFINAE
1168         from template parameters to the return type.
1169         (operator=(const optional<_Up>&)): Likewise.
1170         (operator=(optional<_Up>&&)): Likewise.
1171
1172 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
1173
1174         * include/bits/allocator.h: Remove trailing whitespace, tab-indent.
1175         * include/ext/new_allocator.h: Likewise.
1176
1177         PR libstdc++/78052
1178         * include/bits/allocator.h (allocator<void>::construct)
1179         (allocator<void>::destroy): Define.
1180         * testsuite/20_util/allocator/void.cc: New test.
1181
1182         * testsuite/20_util/enable_shared_from_this/56383.cc: Add tests for
1183         additional ambiguous cases.
1184
1185 2016-10-19  Jonathan Wakely  <jwakely@redhat.com>
1186
1187         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&)): Call
1188         _M_enable_shared_from_this_with instead of
1189         __enable_shared_from_this_helper.
1190         * include/bits/shared_ptr.h (__enable_shared_from_this_helper):
1191         Remove overload for std::enable_shared_from_this..
1192         (__enable_shared_from_this_base): Define friend function to select a
1193         std::enable_shared_from_this base class.
1194         * include/bits/shared_ptr_base.h (__enable_shared_from_this_helper):
1195         Remove all overloads.
1196         (__shared_ptr): Change all relevant constructors to call
1197         _M_enable_shared_from_this_with instead of
1198         __enable_shared_from_this_helper.
1199         (__shared_ptr::__efst_base_t, __shared_ptr::__has_efst_base): Helpers
1200         to detect accessible and unambiguous enable_shared_from_this bases.
1201         (__shared_ptr::_M_enable_shared_from_this_with): New function to
1202         replace __enable_shared_from_this_helper overloads.
1203         (__enable_shared_from_this_helper): Remove overload for
1204         std::__enable_shared_from_this.
1205         (__enable_shared_from_this_base): Define friend function to select a
1206         std::__enable_shared_from_this base class.
1207         * include/experimental/bits/shared_ptr.h (experimental::shared_ptr):
1208         Change relevant constructors to call _M_enable_shared_from_this_with.
1209         (experimental::shared_ptr::__efst_base_t)
1210         (experimental::shared_ptr::__has_efst_base): Helpers to detect
1211         accessible and unambiguous enable_shared_from_this bases.
1212         (experimental::shared_ptr::_M_enable_shared_from_this_with): Define.
1213         (experimental::__enable_shared_from_this_helper): Remove overload for
1214         std::experimental::enable_shared_from_this.
1215         (experimental::__expt_enable_shared_from_this_base): Define friend
1216         function to select a std::experimental::enable_shared_from_this base.
1217         * testsuite/experimental/memory/shared_ptr/cons/
1218         enable_shared_from_this.cc: New test.
1219         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
1220         Adjust expected behaviour for shared_ptr<A[]>.
1221
1222         * include/debug/vector (__gnu_debug::vector::emplace_back): Fix return
1223         type.
1224
1225         * include/backward/auto_ptr.h (dauto_ptr): Correct comment about
1226         conversions from auto_ptr<Derived> rvalues to auto_ptr<Base>.
1227         * testsuite/20_util/auto_ptr/assign_neg.cc: Remove redundant dg-error
1228         directives that only match notes, not errors.
1229
1230         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
1231         Add tests for valid and invalid conversions.
1232         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
1233         Likewise.
1234
1235         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests
1236         to new file.
1237         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file.  Fix
1238         test for incompatible deleters to not also use incompatible types.
1239         Add tests for incompatible array types.
1240
1241         * include/experimental/bits/shared_ptr.h
1242         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_Compatible): Just use
1243         is_convertible for non-array specialization.
1244         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_UniqCompatible): New
1245         constraint for conversions from unique_ptr.
1246         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::__shared_ptr): Constrain.
1247         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::reset): Likewise.
1248         (__sp_compatible_v): New variable template for trait.
1249         (__sp_is_constructible): New trait to check shared_ptr constraints.
1250         (__sp_is_constructible_v): New variable template for trait.
1251         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_SafeConv): New
1252         constraint for construction/reset, using __sp_is_constructible_v.
1253         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_UniqCompatible): New
1254         constraint for conversions from unique_ptr.
1255         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::__shared_ptr): Constrain.
1256         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::reset): Likewise.
1257         (shared_ptr::_SafeConv): Constraint for checking constructors.
1258         (shared_ptr(Tp1*), shared_ptr(_Tp1, _Deleter))
1259         (shared_ptr(_Tp1, _Deleter, _Alloc)): Constrain with _SafeConv.
1260         (shared_ptr(const weak_ptr<_Tp1>&)): Constrain with _Compatible.
1261         (shared_ptr(auto_ptr<_Tp1>&&)): Fix, remove TODO.
1262         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
1263         Remove tests using invalid conversions.
1264         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc:
1265         New test.
1266         * testsuite/experimental/memory/shared_ptr/cons/torture.cc: New test.
1267         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Remove
1268         tests using invalid conversions.
1269         * testsuite/experimental/memory/shared_ptr/modifiers/reset_neg.cc: New
1270         test.
1271         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
1272         Remove tests using invalid conversions.
1273
1274         PR libstdc++/77990
1275         * include/bits/unique_ptr.h (__uniq_ptr_impl): New type to
1276         encapsulate implementation details.
1277         (unique_ptr::unique_ptr(_Up)): Don't copy deleter object.
1278         (unique_ptr::get, unique_ptr::get_deleter, unique_ptr::release):
1279         Call member functions of implementation object.
1280         (unique_ptr<T[], D>): Likewise.
1281         * python/libstdcxx/v6/printers.py (UniquePointerPrinter): Adjust for
1282         new implementation.
1283         * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Likewise.
1284         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
1285         lines.
1286         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
1287         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
1288         * testsuite/20_util/unique_ptr/cons/77990.cc: New test.
1289
1290 2016-10-18  Jonathan Wakely  <jwakely@redhat.com>
1291
1292         * include/experimental/bits/shared_ptr.h: Fix indentation.
1293
1294         * include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)):
1295         Remove const from parameter.
1296         (operator<(const shared_ptr<T>&, nullptr_t)): Use correct
1297         specialization of std::less.
1298         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
1299         Test comparison with nullptr and actually call test functions.
1300
1301         * include/bits/uses_allocator.h (__is_uses_allocator_constructible_v)
1302         (__is_nothrow_uses_allocator_constructible_v): Only define for C++14
1303         and later.
1304
1305 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1306
1307         * testsuite/27_io/basic_filebuf/close/12790-1.cc: Remove 'test'
1308         variables.
1309         * testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
1310         * testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Likewise.
1311         * testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Likewise.
1312         * testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
1313         * testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Likewise.
1314         * testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
1315         * testsuite/27_io/basic_filebuf/close/char/3.cc: Likewise.
1316         * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise.
1317         * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise.
1318         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc: Likewise.
1319         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc: Likewise.
1320         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
1321         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc: Likewise.
1322         * testsuite/27_io/basic_filebuf/cons/2020.cc: Likewise.
1323         * testsuite/27_io/basic_filebuf/cons/char/1.cc: Likewise.
1324         * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
1325         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: Likewise.
1326         * testsuite/27_io/basic_filebuf/imbue/12206.cc: Likewise.
1327         * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
1328         * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
1329         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
1330         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
1331         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
1332         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
1333         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
1334         * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
1335         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise.
1336         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
1337         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
1338         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
1339         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
1340         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
1341         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
1342         * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
1343         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
1344         * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Likewise.
1345         * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise.
1346         * testsuite/27_io/basic_filebuf/open/12790-1.cc: Likewise.
1347         * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
1348         * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
1349         * testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise.
1350         * testsuite/27_io/basic_filebuf/open/char/4.cc: Likewise.
1351         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1352         * testsuite/27_io/basic_filebuf/overflow/char/1.cc: Likewise.
1353         * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Likewise.
1354         * testsuite/27_io/basic_filebuf/overflow/char/2.cc: Likewise.
1355         * testsuite/27_io/basic_filebuf/overflow/char/3599.cc: Likewise.
1356         * testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Likewise.
1357         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Likewise.
1358         * testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Likewise.
1359         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
1360         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
1361         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
1362         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
1363         * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Likewise.
1364         * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise.
1365         * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise.
1366         * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise.
1367         * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise.
1368         * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise.
1369         * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise.
1370         * testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Likewise.
1371         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
1372         * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Likewise.
1373         * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Likewise.
1374         * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Likewise.
1375         * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise.
1376         * testsuite/27_io/basic_filebuf/seekoff/45628-2.cc: Likewise.
1377         * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
1378         * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise.
1379         * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
1380         * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Likewise.
1381         * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: Likewise.
1382         * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Likewise.
1383         * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Likewise.
1384         * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Likewise.
1385         * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Likewise.
1386         * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
1387         * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
1388         * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
1389         * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise.
1390         * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise.
1391         * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
1392         * testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Likewise.
1393         * testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: Likewise.
1394         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
1395         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: Likewise.
1396         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc: Likewise.
1397         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc: Likewise.
1398         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc: Likewise.
1399         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc: Likewise.
1400         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise.
1401         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Likewise.
1402         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.
1403         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
1404         Likewise.
1405         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
1406         * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Likewise.
1407         * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Likewise.
1408         * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Likewise.
1409         * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise.
1410         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
1411         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise.
1412         * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Likewise.
1413         * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Likewise.
1414         * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc: Likewise.
1415         * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Likewise.
1416         * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise.
1417         * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
1418         * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise.
1419         * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
1420         * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise.
1421         * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
1422         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Likewise.
1423         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc: Likewise.
1424         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc: Likewise.
1425         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc: Likewise.
1426         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc: Likewise.
1427         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
1428         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
1429         Likewise.
1430         * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
1431         * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Likewise.
1432         * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
1433         * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Likewise.
1434         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1435         * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise.
1436         * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise.
1437         * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise.
1438         * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise.
1439         * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise.
1440         * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise.
1441         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise.
1442         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
1443         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise.
1444         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
1445         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
1446         * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise.
1447         * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise.
1448         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise.
1449         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Likewise.
1450         * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise.
1451         * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise.
1452         * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise.
1453         * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise.
1454         * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise.
1455         * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise.
1456         * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Likewise.
1457         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Likewise.
1458         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
1459         * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Likewise.
1460         * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Likewise.
1461         * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
1462         * testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Likewise.
1463         * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise.
1464         * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise.
1465         * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise.
1466         * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise.
1467         * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise.
1468         * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise.
1469         * testsuite/27_io/basic_filebuf/sputc/char/59427.cc: Likewise.
1470         * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Likewise.
1471         * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise.
1472         * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise.
1473         * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise.
1474         * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Likewise.
1475         * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise.
1476         * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise.
1477         * testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.
1478         * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Likewise.
1479         * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Likewise.
1480         * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise.
1481         * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise.
1482         * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise.
1483         * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise.
1484         * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise.
1485         * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise.
1486         * testsuite/27_io/basic_filebuf/sync/char/1057.cc: Likewise.
1487         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Likewise.
1488         * testsuite/27_io/basic_filebuf/underflow/char/1.cc: Likewise.
1489         * testsuite/27_io/basic_filebuf/underflow/char/2.cc: Likewise.
1490         * testsuite/27_io/basic_filebuf/underflow/char/3.cc: Likewise.
1491         * testsuite/27_io/basic_filebuf/underflow/char/45841.cc: Likewise.
1492         * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: Likewise.
1493         * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
1494         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise.
1495         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise.
1496         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise.
1497         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise.
1498         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: Likewise.
1499         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Likewise.
1500         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise.
1501         * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
1502         * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
1503         * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise.
1504         * testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise.
1505         * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise.
1506         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Likewise.
1507         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
1508         * testsuite/27_io/basic_fstream/cons/1.cc: Likewise.
1509         * testsuite/27_io/basic_fstream/rdbuf/char/2832.cc: Likewise.
1510         * testsuite/27_io/basic_ifstream/cons/2020.cc: Likewise.
1511         * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise.
1512         * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise.
1513         * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise.
1514         * testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
1515         * testsuite/27_io/basic_ios/cons/2020.cc: Likewise.
1516         * testsuite/27_io/basic_ios/cons/char/1.cc: Likewise.
1517         * testsuite/27_io/basic_ios/cons/char/2.cc: Likewise.
1518         * testsuite/27_io/basic_ios/cons/char/3.cc: Likewise.
1519         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
1520         * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
1521         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
1522         * testsuite/27_io/basic_ios/imbue/14072.cc: Likewise.
1523         * testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
1524         * testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
1525         * testsuite/27_io/basic_istream/cons/3.cc: Likewise.
1526         * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Likewise.
1527         * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: Likewise.
1528         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1529         Likewise.
1530         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1531         Likewise.
1532         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1533         Likewise.
1534         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1535         Likewise.
1536         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1537         Likewise.
1538         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1539         Likewise.
1540         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1541         Likewise.
1542         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1543         Likewise.
1544         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1545         Likewise.
1546         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1547         Likewise.
1548         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1549         Likewise.
1550         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
1551         Likewise.
1552         * testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc:
1553         Likewise.
1554         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1555         exceptions_badbit_throw.cc: Likewise.
1556         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1557         exceptions_failbit.cc: Likewise.
1558         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1559         exceptions_failbit_throw.cc: Likewise.
1560         * testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc:
1561         Likewise.
1562         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
1563         Likewise.
1564         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc:
1565         Likewise.
1566         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc:
1567         Likewise.
1568         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc:
1569         Likewise.
1570         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
1571         Likewise.
1572         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc:
1573         Likewise.
1574         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
1575         Likewise.
1576         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
1577         Likewise.
1578         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc:
1579         Likewise.
1580         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1581         Likewise.
1582         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
1583         Likewise.
1584         * testsuite/27_io/basic_istream/extractors_arithmetic/
1585         wchar_t/9555-ia.cc: Likewise.
1586         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1587         dr696.cc: Likewise.
1588         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1589         exceptions_badbit_throw.cc: Likewise.
1590         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1591         exceptions_failbit.cc: Likewise.
1592         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1593         exceptions_failbit_throw.cc: Likewise.
1594         * testsuite/27_io/basic_istream/extractors_character/char/1.cc:
1595         Likewise.
1596         * testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc:
1597         Likewise.
1598         * testsuite/27_io/basic_istream/extractors_character/char/2.cc:
1599         Likewise.
1600         * testsuite/27_io/basic_istream/extractors_character/char/3.cc:
1601         Likewise.
1602         * testsuite/27_io/basic_istream/extractors_character/char/4.cc:
1603         Likewise.
1604         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1605         Likewise.
1606         * testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc:
1607         Likewise.
1608         * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
1609         Likewise.
1610         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1611         11095-i.cc: Likewise.
1612         * testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc:
1613         Likewise.
1614         * testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc:
1615         Likewise.
1616         * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
1617         Likewise.
1618         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1619         9555-ic.cc: Likewise.
1620         * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
1621         * testsuite/27_io/basic_istream/extractors_other/char/2.cc: Likewise.
1622         * testsuite/27_io/basic_istream/extractors_other/char/26181.cc:
1623         Likewise.
1624         * testsuite/27_io/basic_istream/extractors_other/char/3.cc: Likewise.
1625         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1626         Likewise.
1627         * testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc:
1628         Likewise.
1629         * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
1630         Likewise.
1631         * testsuite/27_io/basic_istream/extractors_other/char/
1632         error_failbit.cc: Likewise.
1633         * testsuite/27_io/basic_istream/extractors_other/char/
1634         exceptions_badbit_throw.cc: Likewise.
1635         * testsuite/27_io/basic_istream/extractors_other/char/
1636         exceptions_failbit_throw.cc: Likewise.
1637         * testsuite/27_io/basic_istream/extractors_other/char/
1638         exceptions_null.cc: Likewise.
1639         * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc:
1640         Likewise.
1641         * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc: Likewise.
1642         * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: Likewise.
1643         * testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
1644         Likewise.
1645         * testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc: Likewise.
1646         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc:
1647         Likewise.
1648         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc:
1649         Likewise.
1650         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc:
1651         Likewise.
1652         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1653         error_failbit.cc: Likewise.
1654         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1655         exceptions_badbit_throw.cc: Likewise.
1656         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1657         exceptions_failbit_throw.cc: Likewise.
1658         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1659         exceptions_null.cc: Likewise.
1660         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1661         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1662         * testsuite/27_io/basic_istream/get/char/3.cc: Likewise.
1663         * testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
1664         * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
1665         * testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise.
1666         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1667         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1668         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1669         * testsuite/27_io/basic_istream/getline/char/4.cc: Likewise.
1670         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
1671         * testsuite/27_io/basic_istream/getline/char/6.cc: Likewise.
1672         * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
1673         * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Likewise.
1674         * testsuite/27_io/basic_istream/getline/wchar_t/3.cc: Likewise.
1675         * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise.
1676         * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Likewise.
1677         * testsuite/27_io/basic_istream/getline/wchar_t/6.cc: Likewise.
1678         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1679         * testsuite/27_io/basic_istream/ignore/char/2.cc: Likewise.
1680         * testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise.
1681         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1682         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1683         * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
1684         * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
1685         * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
1686         * testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise.
1687         * testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise.
1688         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1689         * testsuite/27_io/basic_istream/peek/char/12296.cc: Likewise.
1690         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1691         * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
1692         * testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
1693         * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
1694         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1695         * testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
1696         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1697         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1698         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1699         * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
1700         * testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
1701         * testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
1702         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc: Likewise.
1703         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Likewise.
1704         * testsuite/27_io/basic_istream/readsome/char/8258.cc: Likewise.
1705         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
1706         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
1707         * testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
1708         * testsuite/27_io/basic_istream/seekg/char/2.cc: Likewise.
1709         * testsuite/27_io/basic_istream/seekg/char/26211.cc: Likewise.
1710         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1711         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1712         * testsuite/27_io/basic_istream/seekg/char/
1713         exceptions_badbit_throw.cc: Likewise.
1714         * testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise.
1715         * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise.
1716         * testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
1717         * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
1718         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
1719         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
1720         * testsuite/27_io/basic_istream/seekg/wchar_t/
1721         exceptions_badbit_throw.cc: Likewise.
1722         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
1723         * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
1724         * testsuite/27_io/basic_istream/sentry/char/1.cc: Likewise.
1725         * testsuite/27_io/basic_istream/sentry/char/2.cc: Likewise.
1726         * testsuite/27_io/basic_istream/sentry/char/3.cc: Likewise.
1727         * testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise.
1728         * testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
1729         * testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
1730         * testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
1731         * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise.
1732         * testsuite/27_io/basic_istream/tellg/char/2.cc: Likewise.
1733         * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
1734         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1735         * testsuite/27_io/basic_istream/tellg/char/
1736         exceptions_badbit_throw.cc: Likewise.
1737         * testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise.
1738         * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise.
1739         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
1740         * testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
1741         * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
1742         * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
1743         * testsuite/27_io/basic_istream/tellg/wchar_t/
1744         exceptions_badbit_throw.cc: Likewise.
1745         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
1746         * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
1747         * testsuite/27_io/basic_istream/ws/char/1.cc: Likewise.
1748         * testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
1749         * testsuite/27_io/basic_istringstream/cons/2020.cc: Likewise.
1750         * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Likewise.
1751         * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: Likewise.
1752         * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
1753         * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
1754         * testsuite/27_io/basic_ofstream/cons/2020.cc: Likewise.
1755         * testsuite/27_io/basic_ofstream/cons/char/1.cc: Likewise.
1756         * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
1757         * testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Likewise.
1758         * testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
1759         * testsuite/27_io/basic_ostream/cons/char/9827.cc: Likewise.
1760         * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: Likewise.
1761         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1762         * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
1763         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
1764         * testsuite/27_io/basic_ostream/ends/char/2.cc: Likewise.
1765         * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
1766         * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
1767         * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise.
1768         * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
1769         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1770         * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
1771         * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
1772         Likewise.
1773         * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
1774         * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
1775         * testsuite/27_io/basic_ostream/flush/wchar_t/
1776         exceptions_badbit_throw.cc: Likewise.
1777         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1778         Likewise.
1779         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1780         Likewise.
1781         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc:
1782         Likewise.
1783         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc:
1784         Likewise.
1785         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc:
1786         Likewise.
1787         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc:
1788         Likewise.
1789         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc:
1790         Likewise.
1791         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
1792         Likewise.
1793         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
1794         Likewise.
1795         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1796         exceptions_badbit_throw.cc: Likewise.
1797         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1798         exceptions_failbit_throw.cc: Likewise.
1799         * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc:
1800         Likewise.
1801         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1802         Likewise.
1803         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
1804         Likewise.
1805         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc:
1806         Likewise.
1807         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc:
1808         Likewise.
1809         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc:
1810         Likewise.
1811         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc:
1812         Likewise.
1813         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc:
1814         Likewise.
1815         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
1816         Likewise.
1817         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1818         9555-oa.cc: Likewise.
1819         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1820         exceptions_badbit_throw.cc: Likewise.
1821         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1822         exceptions_failbit_throw.cc: Likewise.
1823         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc:
1824         Likewise.
1825         * testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc:
1826         Likewise.
1827         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc:
1828         Likewise.
1829         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc: Likewise.
1830         * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
1831         Likewise.
1832         * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
1833         Likewise.
1834         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc: Likewise.
1835         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc: Likewise.
1836         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc: Likewise.
1837         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc: Likewise.
1838         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc: Likewise.
1839         * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
1840         Likewise.
1841         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1842         11095-od.cc: Likewise.
1843         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1844         11095-oe.cc: Likewise.
1845         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1846         11095-of.cc: Likewise.
1847         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc:
1848         Likewise.
1849         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1850         28277-1.cc: Likewise.
1851         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1852         28277-2.cc: Likewise.
1853         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1854         28277-3.cc: Likewise.
1855         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1856         28277-4.cc: Likewise.
1857         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc:
1858         Likewise.
1859         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc:
1860         Likewise.
1861         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc:
1862         Likewise.
1863         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc:
1864         Likewise.
1865         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1866         Likewise.
1867         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1868         Likewise.
1869         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1870         9555-oc.cc: Likewise.
1871         * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
1872         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Likewise.
1873         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Likewise.
1874         * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: Likewise.
1875         * testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc:
1876         Likewise.
1877         * testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc:
1878         Likewise.
1879         * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
1880         Likewise.
1881         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
1882         Likewise.
1883         * testsuite/27_io/basic_ostream/inserters_other/char/
1884         error_failbit.cc: Likewise.
1885         * testsuite/27_io/basic_ostream/inserters_other/char/
1886         exceptions_badbit_throw.cc: Likewise.
1887         * testsuite/27_io/basic_ostream/inserters_other/char/
1888         exceptions_failbit_throw.cc: Likewise.
1889         * testsuite/27_io/basic_ostream/inserters_other/char/
1890         exceptions_null.cc: Likewise.
1891         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: Likewise.
1892         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc: Likewise.
1893         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc: Likewise.
1894         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc: Likewise.
1895         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1896         9318-out.cc: Likewise.
1897         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1898         9424-out.cc: Likewise.
1899         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1900         9555-oo.cc: Likewise.
1901         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1902         error_code.cc: Likewise.
1903         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1904         error_failbit.cc: Likewise.
1905         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1906         exceptions_badbit_throw.cc: Likewise.
1907         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1908         exceptions_failbit_throw.cc: Likewise.
1909         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1910         exceptions_null.cc: Likewise.
1911         * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
1912         * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
1913         * testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Likewise.
1914         * testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc: Likewise.
1915         * testsuite/27_io/basic_ostream/seekp/char/
1916         exceptions_badbit_throw.cc: Likewise.
1917         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc: Likewise.
1918         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc: Likewise.
1919         * testsuite/27_io/basic_ostream/seekp/wchar_t/
1920         exceptions_badbit_throw.cc: Likewise.
1921         * testsuite/27_io/basic_ostream/sentry/char/1.cc: Likewise.
1922         * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
1923         * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
1924         * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
1925         * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
1926         * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
1927         * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
1928         * testsuite/27_io/basic_ostream/tellp/char/
1929         exceptions_badbit_throw.cc: Likewise.
1930         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
1931         * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
1932         * testsuite/27_io/basic_ostream/tellp/wchar_t/
1933         exceptions_badbit_throw.cc: Likewise.
1934         * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
1935         * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
1936         * testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise.
1937         * testsuite/27_io/basic_ostringstream/cons/char/3.cc: Likewise.
1938         * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
1939         * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: Likewise.
1940         * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
1941         * testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise.
1942         * testsuite/27_io/basic_ostringstream/str/char/2.cc: Likewise.
1943         * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
1944         * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
1945         * testsuite/27_io/basic_streambuf/cons/2020.cc: Likewise.
1946         * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
1947         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Likewise.
1948         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
1949         * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise.
1950         * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
1951         * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
1952         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise.
1953         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
1954         * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
1955         * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: Likewise.
1956         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Likewise.
1957         * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
1958         * testsuite/27_io/basic_streambuf/overflow/char/2.cc: Likewise.
1959         * testsuite/27_io/basic_streambuf/overflow/char/3599.cc: Likewise.
1960         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
1961         * testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc: Likewise.
1962         * testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc: Likewise.
1963         * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
1964         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
1965         * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
1966         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
1967         * testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc: Likewise.
1968         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
1969         * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
1970         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
1971         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
1972         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
1973         * testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise.
1974         * testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise.
1975         * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
1976         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Likewise.
1977         * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
1978         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Likewise.
1979         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
1980         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Likewise.
1981         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
1982         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Likewise.
1983         * testsuite/27_io/basic_stringbuf/overflow/char/2.cc: Likewise.
1984         * testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: Likewise.
1985         * testsuite/27_io/basic_stringbuf/overflow/char/3599.cc: Likewise.
1986         * testsuite/27_io/basic_stringbuf/overflow/char/9988.cc: Likewise.
1987         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc: Likewise.
1988         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc: Likewise.
1989         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Likewise.
1990         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc: Likewise.
1991         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc: Likewise.
1992         * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: Likewise.
1993         * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
1994         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
1995         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
1996         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
1997         * testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc: Likewise.
1998         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
1999         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc: Likewise.
2000         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise.
2001         * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: Likewise.
2002         * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: Likewise.
2003         * testsuite/27_io/basic_stringbuf/seekoff/char/2.cc: Likewise.
2004         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
2005         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
2006         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: Likewise.
2007         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc: Likewise.
2008         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
2009         * testsuite/27_io/basic_stringbuf/seekpos/char/2.cc: Likewise.
2010         * testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: Likewise.
2011         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Likewise.
2012         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
2013         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc: Likewise.
2014         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: Likewise.
2015         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc: Likewise.
2016         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Likewise.
2017         * testsuite/27_io/basic_stringbuf/setbuf/char/2.cc: Likewise.
2018         * testsuite/27_io/basic_stringbuf/setbuf/char/3.cc: Likewise.
2019         * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: Likewise.
2020         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Likewise.
2021         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc: Likewise.
2022         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc: Likewise.
2023         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
2024         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise.
2025         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
2026         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
2027         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
2028         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
2029         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
2030         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise.
2031         * testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc: Likewise.
2032         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise.
2033         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc: Likewise.
2034         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Likewise.
2035         * testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc: Likewise.
2036         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Likewise.
2037         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc: Likewise.
2038         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Likewise.
2039         * testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc: Likewise.
2040         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Likewise.
2041         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc: Likewise.
2042         * testsuite/27_io/basic_stringbuf/str/char/1.cc: Likewise.
2043         * testsuite/27_io/basic_stringbuf/str/char/2.cc: Likewise.
2044         * testsuite/27_io/basic_stringbuf/str/char/3.cc: Likewise.
2045         * testsuite/27_io/basic_stringbuf/str/char/3955.cc: Likewise.
2046         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Likewise.
2047         * testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc: Likewise.
2048         * testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc: Likewise.
2049         * testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc: Likewise.
2050         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
2051         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
2052         * testsuite/27_io/basic_stringbuf/sync/char/1057.cc: Likewise.
2053         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
2054         * testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise.
2055         * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Likewise.
2056         * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: Likewise.
2057         * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
2058         * testsuite/27_io/basic_stringstream/str/char/2.cc: Likewise.
2059         * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
2060         * testsuite/27_io/basic_stringstream/str/char/4.cc: Likewise.
2061         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
2062         * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
2063         * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
2064         * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
2065         * testsuite/27_io/fpos/11450.cc: Likewise.
2066         * testsuite/27_io/fpos/14252.cc: Likewise.
2067         * testsuite/27_io/fpos/14320-1.cc: Likewise.
2068         * testsuite/27_io/fpos/14320-2.cc: Likewise.
2069         * testsuite/27_io/fpos/14320-3.cc: Likewise.
2070         * testsuite/27_io/fpos/14320-4.cc: Likewise.
2071         * testsuite/27_io/fpos/14320-5.cc: Likewise.
2072         * testsuite/27_io/fpos/14775.cc: Likewise.
2073         * testsuite/27_io/fpos/mbstate_t/1.cc: Likewise.
2074         * testsuite/27_io/fpos/mbstate_t/12065.cc: Likewise.
2075         * testsuite/27_io/fpos/mbstate_t/2.cc: Likewise.
2076         * testsuite/27_io/fpos/mbstate_t/3.cc: Likewise.
2077         * testsuite/27_io/ios_base/callbacks/1.cc: Likewise.
2078         * testsuite/27_io/ios_base/failure/what-1.cc: Likewise.
2079         * testsuite/27_io/ios_base/failure/what-2.cc: Likewise.
2080         * testsuite/27_io/ios_base/failure/what-3.cc: Likewise.
2081         * testsuite/27_io/ios_base/failure/what-big.cc: Likewise.
2082         * testsuite/27_io/ios_base/state/1.cc: Likewise.
2083         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
2084         * testsuite/27_io/ios_base/storage/11584.cc: Likewise.
2085         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
2086         * testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise.
2087         * testsuite/27_io/manipulators/adjustfield/char/1.cc: Likewise.
2088         * testsuite/27_io/manipulators/adjustfield/char/2.cc
2089         * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: Likewise.
2090         * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
2091         * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
2092         * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
2093         * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
2094         * testsuite/27_io/manipulators/extended/get_money/char/51288.cc:
2095         Likewise.
2096         * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
2097         Likewise.
2098         * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
2099         Likewise.
2100         * testsuite/27_io/manipulators/extended/get_time/char/1.cc
2101         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
2102         * testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: Likewise.
2103         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Likewise.
2104         * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
2105         * testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
2106         Likewise.
2107         * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
2108         Likewise.
2109         * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
2110         Likewise.
2111         * testsuite/27_io/manipulators/extended/put_time/char/1.cc: Likewise.
2112         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
2113         * testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: Likewise.
2114         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Likewise.
2115         * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
2116         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
2117         * testsuite/27_io/manipulators/standard/char/dr2344.cc: Likewise.
2118         * testsuite/27_io/manipulators/standard/char/quoted.cc: Likewise.
2119         * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
2120         * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
2121         * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: Likewise.
2122         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Likewise.
2123         * testsuite/27_io/objects/char/1.cc: Likewise.
2124         * testsuite/27_io/objects/char/10.cc: Likewise.
2125         * testsuite/27_io/objects/char/3045.cc: Likewise.
2126         * testsuite/27_io/objects/char/41037.cc: Likewise.
2127         * testsuite/27_io/objects/char/5.cc: Likewise.
2128         * testsuite/27_io/objects/char/6.cc: Likewise.
2129         * testsuite/27_io/objects/char/6548_xin.cc: Likewise.
2130         * testsuite/27_io/objects/char/6648-1_xin.cc: Likewise.
2131         * testsuite/27_io/objects/char/6648-2_xin.cc: Likewise.
2132         * testsuite/27_io/objects/char/7744_xin.cc: Likewise.
2133         * testsuite/27_io/objects/char/8.cc: Likewise.
2134         * testsuite/27_io/objects/char/9.cc: Likewise.
2135         * testsuite/27_io/objects/char/9661-2_xin.cc: Likewise.
2136         * testsuite/27_io/objects/char/dr455.cc: Likewise.
2137         * testsuite/27_io/objects/wchar_t/1.cc: Likewise.
2138         * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
2139         * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
2140         * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
2141         * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
2142         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
2143         * testsuite/27_io/objects/wchar_t/3045.cc: Likewise.
2144         * testsuite/27_io/objects/wchar_t/41037.cc: Likewise.
2145         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
2146         * testsuite/27_io/objects/wchar_t/6548_xin.cc: Likewise.
2147         * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: Likewise.
2148         * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: Likewise.
2149         * testsuite/27_io/objects/wchar_t/7744_xin.cc: Likewise.
2150         * testsuite/27_io/objects/wchar_t/8.cc: Likewise.
2151         * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
2152         * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: Likewise.
2153         * testsuite/27_io/objects/wchar_t/9662.cc: Likewise.
2154         * testsuite/27_io/objects/wchar_t/dr455.cc: Likewise.
2155         * testsuite/27_io/types/3.cc: Likewise.
2156
2157 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
2158
2159         PR libstdc++/77994
2160         * include/bits/stl_algo.h (sample): Convert size argument to iterator
2161         difference type.
2162         * include/experimental/algorithm (experimental::sample): Likewise.
2163         * testsuite/25_algorithms/sample/2.cc: New test.
2164
2165 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2166
2167         * testsuite/unordered_map/insert/57619.C: Rename to 57619.cc.
2168         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
2169
2170 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2171
2172         * testsuite/array/capacity/empty.cc: Remove 'test' variables.
2173         * testsuite/array/capacity/max_size.cc: Likewise.
2174         * testsuite/array/capacity/size.cc: Likewise.
2175         * testsuite/array/comparison_operators/equal.cc: Likewise.
2176         * testsuite/array/comparison_operators/greater.cc: Likewise.
2177         * testsuite/array/comparison_operators/greater_or_equal.cc: Likewise.
2178         * testsuite/array/comparison_operators/less.cc: Likewise.
2179         * testsuite/array/comparison_operators/less_or_equal.cc: Likewise.
2180         * testsuite/array/comparison_operators/not_equal.cc: Likewise.
2181         * testsuite/array/element_access/54388.cc: Likewise.
2182         * testsuite/array/element_access/at_out_of_range.cc: Likewise.
2183         * testsuite/array/element_access/back.cc: Likewise.
2184         * testsuite/array/element_access/data.cc: Likewise.
2185         * testsuite/array/element_access/front.cc: Likewise.
2186         * testsuite/array/iterators/end_is_one_past.cc: Likewise.
2187         * testsuite/array/requirements/contiguous.cc: Likewise.
2188         * testsuite/array/requirements/fill.cc: Likewise.
2189         * testsuite/array/requirements/member_swap.cc: Likewise.
2190         * testsuite/array/requirements/zero_sized_arrays.cc: Likewise.
2191         * testsuite/array/specialized_algorithms/swap.cc: Likewise.
2192         * testsuite/array/tuple_interface/tuple_element.cc: Likewise.
2193         * testsuite/array/tuple_interface/tuple_element_cpp14.cc: Likewise.
2194         * testsuite/array/tuple_interface/tuple_size.cc: Likewise.
2195         * testsuite/bitset/all/1.cc: Likewise.
2196         * testsuite/bitset/cons/1.cc: Likewise.
2197         * testsuite/bitset/cons/16020.cc: Likewise.
2198         * testsuite/bitset/cons/2.cc: Likewise.
2199         * testsuite/bitset/cons/3.cc: Likewise.
2200         * testsuite/bitset/cons/50268.cc: Likewise.
2201         * testsuite/bitset/cons/6282.cc: Likewise.
2202         * testsuite/bitset/cons/dr1325-2.cc: Likewise.
2203         * testsuite/bitset/cons/dr396.cc: Likewise.
2204         * testsuite/bitset/ext/15361.cc: Likewise.
2205         * testsuite/bitset/input/1.cc: Likewise.
2206         * testsuite/bitset/operations/1.cc: Likewise.
2207         * testsuite/bitset/operations/13838.cc: Likewise.
2208         * testsuite/bitset/operations/2.cc: Likewise.
2209         * testsuite/bitset/test/1.cc: Likewise.
2210         * testsuite/bitset/to_string/1.cc: Likewise.
2211         * testsuite/bitset/to_string/dr396.cc: Likewise.
2212         * testsuite/bitset/to_ullong/1.cc: Likewise.
2213         * testsuite/bitset/to_ulong/1.cc: Likewise.
2214         * testsuite/deque/allocator/copy.cc: Likewise.
2215         * testsuite/deque/allocator/copy_assign.cc: Likewise.
2216         * testsuite/deque/allocator/ext_ptr.cc: Likewise.
2217         * testsuite/deque/allocator/minimal.cc: Likewise.
2218         * testsuite/deque/allocator/move.cc: Likewise.
2219         * testsuite/deque/allocator/move_assign.cc: Likewise.
2220         * testsuite/deque/allocator/swap.cc: Likewise.
2221         * testsuite/deque/capacity/29134-2.cc: Likewise.
2222         * testsuite/deque/capacity/29134.cc: Likewise.
2223         * testsuite/deque/capacity/moveable.cc: Likewise.
2224         * testsuite/deque/capacity/resize_size.cc: Likewise.
2225         * testsuite/deque/capacity/shrink_to_fit.cc: Likewise.
2226         * testsuite/deque/cons/1.cc: Likewise.
2227         * testsuite/deque/cons/2.cc: Likewise.
2228         * testsuite/deque/cons/assign/1.cc: Likewise.
2229         * testsuite/deque/cons/cons_size.cc: Likewise.
2230         * testsuite/deque/cons/moveable.cc: Likewise.
2231         * testsuite/deque/modifiers/erase/1.cc: Likewise.
2232         * testsuite/deque/modifiers/erase/2.cc: Likewise.
2233         * testsuite/deque/modifiers/erase/3.cc: Likewise.
2234         * testsuite/deque/modifiers/erase/moveable.cc: Likewise.
2235         * testsuite/deque/modifiers/moveable.cc: Likewise.
2236         * testsuite/deque/modifiers/push_back/49836.cc: Likewise.
2237         * testsuite/deque/modifiers/push_front/49836.cc: Likewise.
2238         * testsuite/deque/modifiers/swap/1.cc: Likewise.
2239         * testsuite/deque/modifiers/swap/2.cc: Likewise.
2240         * testsuite/deque/modifiers/swap/3.cc: Likewise.
2241         * testsuite/deque/operators/1.cc: Likewise.
2242         * testsuite/deque/operators/2.cc: Likewise.
2243         * testsuite/forward_list/allocator/copy.cc: Likewise.
2244         * testsuite/forward_list/allocator/copy_assign.cc: Likewise.
2245         * testsuite/forward_list/allocator/ext_ptr.cc: Likewise.
2246         * testsuite/forward_list/allocator/minimal.cc: Likewise.
2247         * testsuite/forward_list/allocator/move.cc: Likewise.
2248         * testsuite/forward_list/allocator/move_assign.cc: Likewise.
2249         * testsuite/forward_list/allocator/swap.cc: Likewise.
2250         * testsuite/forward_list/capacity/1.cc: Likewise.
2251         * testsuite/forward_list/capacity/resize_size.cc: Likewise.
2252         * testsuite/forward_list/comparable.cc: Likewise.
2253         * testsuite/forward_list/cons/1.cc: Likewise.
2254         * testsuite/forward_list/cons/2.cc: Likewise.
2255         * testsuite/forward_list/cons/3.cc: Likewise.
2256         * testsuite/forward_list/cons/4.cc: Likewise.
2257         * testsuite/forward_list/cons/5.cc: Likewise.
2258         * testsuite/forward_list/cons/6.cc: Likewise.
2259         * testsuite/forward_list/cons/7.cc: Likewise.
2260         * testsuite/forward_list/cons/8.cc: Likewise.
2261         * testsuite/forward_list/cons/9.cc: Likewise.
2262         * testsuite/forward_list/cons/cons_size.cc: Likewise.
2263         * testsuite/forward_list/cons/moveable.cc: Likewise.
2264         * testsuite/forward_list/debug/clear.cc: Likewise.
2265         * testsuite/forward_list/debug/construct4_neg.cc: Likewise.
2266         * testsuite/forward_list/debug/erase_after1_neg.cc: Likewise.
2267         * testsuite/forward_list/debug/move_assign_neg.cc: Likewise.
2268         * testsuite/forward_list/debug/move_constructor.cc: Likewise.
2269         * testsuite/forward_list/debug/move_neg.cc: Likewise.
2270         * testsuite/forward_list/debug/splice_after.cc: Likewise.
2271         * testsuite/forward_list/debug/swap.cc: Likewise.
2272         * testsuite/forward_list/modifiers/1.cc: Likewise.
2273         * testsuite/forward_list/modifiers/2.cc: Likewise.
2274         * testsuite/forward_list/modifiers/3.cc: Likewise.
2275         * testsuite/forward_list/modifiers/4.cc: Likewise.
2276         * testsuite/forward_list/modifiers/5.cc: Likewise.
2277         * testsuite/forward_list/modifiers/6.cc: Likewise.
2278         * testsuite/forward_list/operations/1.cc: Likewise.
2279         * testsuite/forward_list/operations/2.cc: Likewise.
2280         * testsuite/forward_list/operations/3.cc: Likewise.
2281         * testsuite/forward_list/operations/4.cc: Likewise.
2282         * testsuite/forward_list/operations/5.cc: Likewise.
2283         * testsuite/forward_list/operations/6.cc: Likewise.
2284         * testsuite/forward_list/operations/7.cc: Likewise.
2285         * testsuite/forward_list/operations/remove_freed.cc: Likewise.
2286         * testsuite/list/61347.cc: Likewise.
2287         * testsuite/list/allocator/copy.cc: Likewise.
2288         * testsuite/list/allocator/copy_assign.cc: Likewise.
2289         * testsuite/list/allocator/minimal.cc: Likewise.
2290         * testsuite/list/allocator/move.cc: Likewise.
2291         * testsuite/list/allocator/move_assign.cc: Likewise.
2292         * testsuite/list/allocator/swap.cc: Likewise.
2293         * testsuite/list/capacity/1.h: Likewise.
2294         * testsuite/list/capacity/29134.cc: Likewise.
2295         * testsuite/list/capacity/resize_size.cc: Likewise.
2296         * testsuite/list/cons/1.h: Likewise.
2297         * testsuite/list/cons/2.h: Likewise.
2298         * testsuite/list/cons/3.h: Likewise.
2299         * testsuite/list/cons/4.h: Likewise.
2300         * testsuite/list/cons/5.h: Likewise.
2301         * testsuite/list/cons/6.h: Likewise.
2302         * testsuite/list/cons/7.h: Likewise.
2303         * testsuite/list/cons/8.h: Likewise.
2304         * testsuite/list/cons/9.h: Likewise.
2305         * testsuite/list/cons/cons_size.cc: Likewise.
2306         * testsuite/list/cons/moveable.h: Likewise.
2307         * testsuite/list/debug/invalidation/1.cc: Likewise.
2308         * testsuite/list/debug/invalidation/2.cc: Likewise.
2309         * testsuite/list/debug/invalidation/3.cc: Likewise.
2310         * testsuite/list/debug/invalidation/4.cc: Likewise.
2311         * testsuite/list/modifiers/1.h: Likewise.
2312         * testsuite/list/modifiers/2.h: Likewise.
2313         * testsuite/list/modifiers/3.h: Likewise.
2314         * testsuite/list/modifiers/insert/25288.h: Likewise.
2315         * testsuite/list/modifiers/swap/1.h: Likewise.
2316         * testsuite/list/modifiers/swap/2.h: Likewise.
2317         * testsuite/list/modifiers/swap/3.h: Likewise.
2318         * testsuite/list/operations/1.h: Likewise.
2319         * testsuite/list/operations/2.h: Likewise.
2320         * testsuite/list/operations/3.h: Likewise.
2321         * testsuite/list/operations/4.h: Likewise.
2322         * testsuite/list/operations/42352.cc: Likewise.
2323         * testsuite/map/allocator/copy.cc: Likewise.
2324         * testsuite/map/allocator/copy_assign.cc: Likewise.
2325         * testsuite/map/allocator/init-list.cc: Likewise.
2326         * testsuite/map/allocator/minimal.cc: Likewise.
2327         * testsuite/map/allocator/move.cc: Likewise.
2328         * testsuite/map/allocator/move_assign.cc: Likewise.
2329         * testsuite/map/allocator/swap.cc: Likewise.
2330         * testsuite/map/capacity/29134.cc: Likewise.
2331         * testsuite/map/cons/moveable.cc: Likewise.
2332         * testsuite/map/debug/construct5_neg.cc: Likewise.
2333         * testsuite/map/debug/move_assign_neg.cc: Likewise.
2334         * testsuite/map/debug/move_neg.cc: Likewise.
2335         * testsuite/map/element_access/1.cc: Likewise.
2336         * testsuite/map/element_access/2.cc: Likewise.
2337         * testsuite/map/element_access/39901.cc: Likewise.
2338         * testsuite/map/init-list.cc: Likewise.
2339         * testsuite/map/modifiers/dr130.cc: Likewise.
2340         * testsuite/map/modifiers/emplace/1.cc: Likewise.
2341         * testsuite/map/modifiers/extract.cc: Likewise.
2342         * testsuite/map/modifiers/insert/1.cc: Likewise.
2343         * testsuite/map/modifiers/insert/16813.cc: Likewise.
2344         * testsuite/map/modifiers/insert/2.cc: Likewise.
2345         * testsuite/map/modifiers/insert/3.cc: Likewise.
2346         * testsuite/map/modifiers/insert/4.cc: Likewise.
2347         * testsuite/map/modifiers/insert/5.cc: Likewise.
2348         * testsuite/map/modifiers/insert_or_assign/1.cc: Likewise.
2349         * testsuite/map/modifiers/merge.cc: Likewise.
2350         * testsuite/map/modifiers/swap/1.cc: Likewise.
2351         * testsuite/map/modifiers/swap/2.cc: Likewise.
2352         * testsuite/map/modifiers/swap/3.cc: Likewise.
2353         * testsuite/map/modifiers/try_emplace/1.cc: Likewise.
2354         * testsuite/map/operations/1.cc: Likewise.
2355         * testsuite/map/operations/count.cc: Likewise.
2356         * testsuite/map/operators/1_neg.cc: Likewise.
2357         * testsuite/map/operators/2.cc: Likewise.
2358         * testsuite/multimap/allocator/copy.cc: Likewise.
2359         * testsuite/multimap/allocator/copy_assign.cc: Likewise.
2360         * testsuite/multimap/allocator/init-list.cc: Likewise.
2361         * testsuite/multimap/allocator/minimal.cc: Likewise.
2362         * testsuite/multimap/allocator/move.cc: Likewise.
2363         * testsuite/multimap/allocator/move_assign.cc: Likewise.
2364         * testsuite/multimap/allocator/swap.cc: Likewise.
2365         * testsuite/multimap/capacity/29134.cc: Likewise.
2366         * testsuite/multimap/cons/moveable.cc: Likewise.
2367         * testsuite/multimap/debug/construct5_neg.cc: Likewise.
2368         * testsuite/multimap/debug/move_assign_neg.cc: Likewise.
2369         * testsuite/multimap/debug/move_neg.cc: Likewise.
2370         * testsuite/multimap/init-list.cc: Likewise.
2371         * testsuite/multimap/modifiers/dr130.cc: Likewise.
2372         * testsuite/multimap/modifiers/emplace/1.cc: Likewise.
2373         * testsuite/multimap/modifiers/extract.cc: Likewise.
2374         * testsuite/multimap/modifiers/insert/1.cc: Likewise.
2375         * testsuite/multimap/modifiers/insert/2.cc: Likewise.
2376         * testsuite/multimap/modifiers/insert/22102.cc: Likewise.
2377         * testsuite/multimap/modifiers/insert/3.cc: Likewise.
2378         * testsuite/multimap/modifiers/insert/4.cc: Likewise.
2379         * testsuite/multimap/modifiers/merge.cc: Likewise.
2380         * testsuite/multimap/modifiers/swap/1.cc: Likewise.
2381         * testsuite/multimap/modifiers/swap/2.cc: Likewise.
2382         * testsuite/multimap/modifiers/swap/3.cc: Likewise.
2383         * testsuite/multimap/operations/1.cc: Likewise.
2384         * testsuite/multimap/operations/count.cc: Likewise.
2385         * testsuite/multiset/allocator/copy.cc: Likewise.
2386         * testsuite/multiset/allocator/copy_assign.cc: Likewise.
2387         * testsuite/multiset/allocator/init-list.cc: Likewise.
2388         * testsuite/multiset/allocator/minimal.cc: Likewise.
2389         * testsuite/multiset/allocator/move.cc: Likewise.
2390         * testsuite/multiset/allocator/move_assign.cc: Likewise.
2391         * testsuite/multiset/allocator/swap.cc: Likewise.
2392         * testsuite/multiset/capacity/29134.cc: Likewise.
2393         * testsuite/multiset/cons/moveable.cc: Likewise.
2394         * testsuite/multiset/debug/construct5_neg.cc: Likewise.
2395         * testsuite/multiset/debug/invalidation/2.cc: Likewise.
2396         * testsuite/multiset/debug/move_assign_neg.cc: Likewise.
2397         * testsuite/multiset/debug/move_neg.cc: Likewise.
2398         * testsuite/multiset/init-list.cc: Likewise.
2399         * testsuite/multiset/modifiers/dr130.cc: Likewise.
2400         * testsuite/multiset/modifiers/emplace/1.cc: Likewise.
2401         * testsuite/multiset/modifiers/extract.cc: Likewise.
2402         * testsuite/multiset/modifiers/insert/1.cc: Likewise.
2403         * testsuite/multiset/modifiers/insert/2.cc: Likewise.
2404         * testsuite/multiset/modifiers/insert/22102.cc: Likewise.
2405         * testsuite/multiset/modifiers/insert/3.cc: Likewise.
2406         * testsuite/multiset/modifiers/insert/4.cc: Likewise.
2407         * testsuite/multiset/modifiers/merge.cc: Likewise.
2408         * testsuite/multiset/modifiers/swap/1.cc: Likewise.
2409         * testsuite/multiset/modifiers/swap/2.cc: Likewise.
2410         * testsuite/multiset/modifiers/swap/3.cc: Likewise.
2411         * testsuite/multiset/operations/1.cc: Likewise.
2412         * testsuite/multiset/operations/count.cc: Likewise.
2413         * testsuite/priority_queue/moveable.cc: Likewise.
2414         * testsuite/queue/moveable.cc: Likewise.
2415         * testsuite/set/allocator/copy.cc: Likewise.
2416         * testsuite/set/allocator/copy_assign.cc: Likewise.
2417         * testsuite/set/allocator/init-list.cc: Likewise.
2418         * testsuite/set/allocator/minimal.cc: Likewise.
2419         * testsuite/set/allocator/move.cc: Likewise.
2420         * testsuite/set/allocator/move_assign.cc: Likewise.
2421         * testsuite/set/allocator/swap.cc: Likewise.
2422         * testsuite/set/capacity/29134.cc: Likewise.
2423         * testsuite/set/cons/moveable.cc: Likewise.
2424         * testsuite/set/debug/construct5_neg.cc: Likewise.
2425         * testsuite/set/debug/invalidation/2.cc: Likewise.
2426         * testsuite/set/debug/move_assign_neg.cc: Likewise.
2427         * testsuite/set/debug/move_neg.cc: Likewise.
2428         * testsuite/set/init-list.cc: Likewise.
2429         * testsuite/set/modifiers/17948.cc: Likewise.
2430         * testsuite/set/modifiers/dr130.cc: Likewise.
2431         * testsuite/set/modifiers/emplace/1.cc: Likewise.
2432         * testsuite/set/modifiers/extract.cc: Likewise.
2433         * testsuite/set/modifiers/insert/1.cc: Likewise.
2434         * testsuite/set/modifiers/insert/2.cc: Likewise.
2435         * testsuite/set/modifiers/insert/3.cc: Likewise.
2436         * testsuite/set/modifiers/merge.cc: Likewise.
2437         * testsuite/set/modifiers/swap/1.cc: Likewise.
2438         * testsuite/set/modifiers/swap/2.cc: Likewise.
2439         * testsuite/set/modifiers/swap/3.cc: Likewise.
2440         * testsuite/set/operations/1.cc: Likewise.
2441         * testsuite/set/operations/count.cc: Likewise.
2442         * testsuite/set/operators/1_neg.cc: Likewise.
2443         * testsuite/unordered_map/allocator/copy.cc: Likewise.
2444         * testsuite/unordered_map/allocator/copy_assign.cc: Likewise.
2445         * testsuite/unordered_map/allocator/minimal.cc: Likewise.
2446         * testsuite/unordered_map/allocator/move.cc: Likewise.
2447         * testsuite/unordered_map/allocator/move_assign.cc: Likewise.
2448         * testsuite/unordered_map/allocator/swap.cc: Likewise.
2449         * testsuite/unordered_map/cons/moveable.cc: Likewise.
2450         * testsuite/unordered_map/debug/construct5_neg.cc: Likewise.
2451         * testsuite/unordered_map/debug/move_assign_neg.cc: Likewise.
2452         * testsuite/unordered_map/debug/move_neg.cc: Likewise.
2453         * testsuite/unordered_map/dr761.cc: Likewise.
2454         * testsuite/unordered_map/erase/1.cc: Likewise.
2455         * testsuite/unordered_map/erase/24061-map.cc: Likewise.
2456         * testsuite/unordered_map/erase/54276.cc: Likewise.
2457         * testsuite/unordered_map/hash_policy/dr1189.cc: Likewise.
2458         * testsuite/unordered_map/init-list.cc: Likewise.
2459         * testsuite/unordered_map/insert/24061-map.cc: Likewise.
2460         * testsuite/unordered_map/insert/57619.C: Likewise.
2461         * testsuite/unordered_map/insert/array_syntax.cc: Likewise.
2462         * testsuite/unordered_map/insert/array_syntax_move.cc: Likewise.
2463         * testsuite/unordered_map/insert/map_range.cc: Likewise.
2464         * testsuite/unordered_map/insert/map_single.cc: Likewise.
2465         * testsuite/unordered_map/insert/map_single_move-1.cc: Likewise.
2466         * testsuite/unordered_map/insert/map_single_move-2.cc: Likewise.
2467         * testsuite/unordered_map/modifiers/61667.cc: Likewise.
2468         * testsuite/unordered_map/modifiers/emplace.cc: Likewise.
2469         * testsuite/unordered_map/modifiers/extract.cc: Likewise.
2470         * testsuite/unordered_map/modifiers/insert_or_assign.cc: Likewise.
2471         * testsuite/unordered_map/modifiers/merge.cc: Likewise.
2472         * testsuite/unordered_map/modifiers/reserve.cc: Likewise.
2473         * testsuite/unordered_map/modifiers/try_emplace.cc: Likewise.
2474         * testsuite/unordered_map/operations/count.cc: Likewise.
2475         * testsuite/unordered_map/operators/1.cc: Likewise.
2476         * testsuite/unordered_map/operators/2.cc: Likewise.
2477         * testsuite/unordered_multimap/allocator/copy.cc: Likewise.
2478         * testsuite/unordered_multimap/allocator/copy_assign.cc: Likewise.
2479         * testsuite/unordered_multimap/allocator/minimal.cc: Likewise.
2480         * testsuite/unordered_multimap/allocator/move.cc: Likewise.
2481         * testsuite/unordered_multimap/allocator/move_assign.cc: Likewise.
2482         * testsuite/unordered_multimap/allocator/swap.cc: Likewise.
2483         * testsuite/unordered_multimap/cons/moveable.cc: Likewise.
2484         * testsuite/unordered_multimap/debug/construct5_neg.cc: Likewise.
2485         * testsuite/unordered_multimap/debug/move_assign_neg.cc: Likewise.
2486         * testsuite/unordered_multimap/debug/move_neg.cc: Likewise.
2487         * testsuite/unordered_multimap/erase/1.cc: Likewise.
2488         * testsuite/unordered_multimap/erase/2.cc: Likewise.
2489         * testsuite/unordered_multimap/erase/24061-multimap.cc: Likewise.
2490         * testsuite/unordered_multimap/erase/51845-multimap.cc: Likewise.
2491         * testsuite/unordered_multimap/erase/54276.cc: Likewise.
2492         * testsuite/unordered_multimap/hash_policy/dr1189.cc: Likewise.
2493         * testsuite/unordered_multimap/init-list.cc: Likewise.
2494         * testsuite/unordered_multimap/insert/24061-multimap.cc: Likewise.
2495         * testsuite/unordered_multimap/insert/51866.cc: Likewise.
2496         * testsuite/unordered_multimap/insert/52476.cc: Likewise.
2497         * testsuite/unordered_multimap/insert/53115.cc: Likewise.
2498         * testsuite/unordered_multimap/insert/57619.C: Likewise.
2499         * testsuite/unordered_multimap/insert/hint.cc: Likewise.
2500         * testsuite/unordered_multimap/insert/multimap_range.cc: Likewise.
2501         * testsuite/unordered_multimap/insert/multimap_single.cc: Likewise.
2502         * testsuite/unordered_multimap/insert/multimap_single_move-1.cc:
2503         Likewise.
2504         * testsuite/unordered_multimap/insert/multimap_single_move-2.cc:
2505         Likewise.
2506         * testsuite/unordered_multimap/modifiers/emplace.cc: Likewise.
2507         * testsuite/unordered_multimap/modifiers/extract.cc: Likewise.
2508         * testsuite/unordered_multimap/modifiers/merge.cc: Likewise.
2509         * testsuite/unordered_multimap/modifiers/reserve.cc: Likewise.
2510         * testsuite/unordered_multimap/operations/count.cc: Likewise.
2511         * testsuite/unordered_multimap/operators/1.cc: Likewise.
2512         * testsuite/unordered_multimap/operators/2.cc: Likewise.
2513         * testsuite/unordered_multiset/allocator/copy.cc: Likewise.
2514         * testsuite/unordered_multiset/allocator/copy_assign.cc: Likewise.
2515         * testsuite/unordered_multiset/allocator/minimal.cc: Likewise.
2516         * testsuite/unordered_multiset/allocator/move.cc: Likewise.
2517         * testsuite/unordered_multiset/allocator/move_assign.cc: Likewise.
2518         * testsuite/unordered_multiset/allocator/swap.cc: Likewise.
2519         * testsuite/unordered_multiset/cons/copy.cc: Likewise.
2520         * testsuite/unordered_multiset/cons/moveable.cc: Likewise.
2521         * testsuite/unordered_multiset/debug/construct5_neg.cc: Likewise.
2522         * testsuite/unordered_multiset/debug/move_assign_neg.cc: Likewise.
2523         * testsuite/unordered_multiset/debug/move_neg.cc: Likewise.
2524         * testsuite/unordered_multiset/erase/1.cc: Likewise.
2525         * testsuite/unordered_multiset/erase/2.cc: Likewise.
2526         * testsuite/unordered_multiset/erase/24061-multiset.cc: Likewise.
2527         * testsuite/unordered_multiset/hash_policy/dr1189.cc: Likewise.
2528         * testsuite/unordered_multiset/init-list.cc: Likewise.
2529         * testsuite/unordered_multiset/insert/24061-multiset.cc: Likewise.
2530         * testsuite/unordered_multiset/insert/51866.cc: Likewise.
2531         * testsuite/unordered_multiset/insert/52476.cc: Likewise.
2532         * testsuite/unordered_multiset/insert/53115.cc: Likewise.
2533         * testsuite/unordered_multiset/insert/hash_policy.cc: Likewise.
2534         * testsuite/unordered_multiset/insert/multiset_range.cc: Likewise.
2535         * testsuite/unordered_multiset/insert/multiset_single.cc: Likewise.
2536         * testsuite/unordered_multiset/insert/multiset_single_move.cc: Likewise.
2537         * testsuite/unordered_multiset/modifiers/emplace.cc: Likewise.
2538         * testsuite/unordered_multiset/modifiers/extract.cc: Likewise.
2539         * testsuite/unordered_multiset/modifiers/merge.cc: Likewise.
2540         * testsuite/unordered_multiset/modifiers/reserve.cc: Likewise.
2541         * testsuite/unordered_multiset/operations/count.cc: Likewise.
2542         * testsuite/unordered_multiset/operators/1.cc: Likewise.
2543         * testsuite/unordered_set/allocator/copy.cc: Likewise.
2544         * testsuite/unordered_set/allocator/copy_assign.cc: Likewise.
2545         * testsuite/unordered_set/allocator/ext_ptr.cc: Likewise.
2546         * testsuite/unordered_set/allocator/minimal.cc: Likewise.
2547         * testsuite/unordered_set/allocator/move.cc: Likewise.
2548         * testsuite/unordered_set/allocator/move_assign.cc: Likewise.
2549         * testsuite/unordered_set/allocator/swap.cc: Likewise.
2550         * testsuite/unordered_set/buckets/swap.cc: Likewise.
2551         * testsuite/unordered_set/cons/moveable.cc: Likewise.
2552         * testsuite/unordered_set/debug/construct5_neg.cc: Likewise.
2553         * testsuite/unordered_set/debug/debug_functions.cc: Likewise.
2554         * testsuite/unordered_set/debug/move_assign_neg.cc: Likewise.
2555         * testsuite/unordered_set/debug/move_neg.cc: Likewise.
2556         * testsuite/unordered_set/erase/1.cc: Likewise.
2557         * testsuite/unordered_set/erase/24061-set.cc: Likewise.
2558         * testsuite/unordered_set/hash_policy/26132.cc: Likewise.
2559         * testsuite/unordered_set/hash_policy/71181.cc: Likewise.
2560         * testsuite/unordered_set/hash_policy/dr1189.cc: Likewise.
2561         * testsuite/unordered_set/hash_policy/load_factor.cc: Likewise.
2562         * testsuite/unordered_set/hash_policy/power2_rehash.cc: Likewise.
2563         * testsuite/unordered_set/hash_policy/prime_rehash.cc: Likewise.
2564         * testsuite/unordered_set/hash_policy/rehash.cc: Likewise.
2565         * testsuite/unordered_set/init-list.cc: Likewise.
2566         * testsuite/unordered_set/insert/24061-set.cc: Likewise.
2567         * testsuite/unordered_set/insert/hash_policy.cc: Likewise.
2568         * testsuite/unordered_set/insert/move_range.cc: Likewise.
2569         * testsuite/unordered_set/insert/set_range.cc: Likewise.
2570         * testsuite/unordered_set/insert/set_single.cc: Likewise.
2571         * testsuite/unordered_set/insert/set_single_move.cc: Likewise.
2572         * testsuite/unordered_set/max_load_factor/robustness.cc: Likewise.
2573         * testsuite/unordered_set/modifiers/emplace.cc: Likewise.
2574         * testsuite/unordered_set/modifiers/extract.cc: Likewise.
2575         * testsuite/unordered_set/modifiers/merge.cc: Likewise.
2576         * testsuite/unordered_set/modifiers/reserve.cc: Likewise.
2577         * testsuite/unordered_set/modifiers/swap.cc: Likewise.
2578         * testsuite/unordered_set/operations/count.cc: Likewise.
2579         * testsuite/unordered_set/operators/1.cc: Likewise.
2580         * testsuite/vector/allocator/copy.cc: Likewise.
2581         * testsuite/vector/allocator/copy_assign.cc: Likewise.
2582         * testsuite/vector/allocator/ext_ptr.cc: Likewise.
2583         * testsuite/vector/allocator/minimal.cc: Likewise.
2584         * testsuite/vector/allocator/move.cc: Likewise.
2585         * testsuite/vector/allocator/move_assign.cc: Likewise.
2586         * testsuite/vector/allocator/swap.cc: Likewise.
2587         * testsuite/vector/bool/6886.cc: Likewise.
2588         * testsuite/vector/bool/72847.cc: Likewise.
2589         * testsuite/vector/bool/allocator/copy.cc: Likewise.
2590         * testsuite/vector/bool/allocator/copy_assign.cc: Likewise.
2591         * testsuite/vector/bool/allocator/ext_ptr.cc: Likewise.
2592         * testsuite/vector/bool/allocator/move.cc: Likewise.
2593         * testsuite/vector/bool/allocator/move_assign.cc: Likewise.
2594         * testsuite/vector/bool/allocator/swap.cc: Likewise.
2595         * testsuite/vector/bool/capacity/1.cc: Likewise.
2596         * testsuite/vector/bool/capacity/29134.cc: Likewise.
2597         * testsuite/vector/bool/capacity/shrink_to_fit.cc: Likewise.
2598         * testsuite/vector/bool/cons/1.cc: Likewise.
2599         * testsuite/vector/bool/cons/2.cc: Likewise.
2600         * testsuite/vector/bool/modifiers/erase/1.cc: Likewise.
2601         * testsuite/vector/bool/modifiers/insert/1.cc: Likewise.
2602         * testsuite/vector/bool/modifiers/insert/31370.cc: Likewise.
2603         * testsuite/vector/bool/modifiers/swap/1.cc: Likewise.
2604         * testsuite/vector/bool/modifiers/swap/2.cc: Likewise.
2605         * testsuite/vector/bool/swap.cc: Likewise.
2606         * testsuite/vector/capacity/1.cc: Likewise.
2607         * testsuite/vector/capacity/2.cc: Likewise.
2608         * testsuite/vector/capacity/29134-2.cc: Likewise.
2609         * testsuite/vector/capacity/29134.cc: Likewise.
2610         * testsuite/vector/capacity/44190.cc: Likewise.
2611         * testsuite/vector/capacity/8230.cc: Likewise.
2612         * testsuite/vector/capacity/reserve/moveable.cc: Likewise.
2613         * testsuite/vector/capacity/reserve/moveable2.cc: Likewise.
2614         * testsuite/vector/capacity/resize/1.cc: Likewise.
2615         * testsuite/vector/capacity/resize/moveable.cc: Likewise.
2616         * testsuite/vector/capacity/resize/moveable2.cc: Likewise.
2617         * testsuite/vector/capacity/resize/resize_size.cc: Likewise.
2618         * testsuite/vector/capacity/shrink_to_fit.cc: Likewise.
2619         * testsuite/vector/capacity/shrink_to_fit2.cc: Likewise.
2620         * testsuite/vector/cons/3.cc: Likewise.
2621         * testsuite/vector/cons/4.cc: Likewise.
2622         * testsuite/vector/cons/cons_size.cc: Likewise.
2623         * testsuite/vector/cons/moveable.cc: Likewise.
2624         * testsuite/vector/data_access/1.cc: Likewise.
2625         * testsuite/vector/debug/debug_functions.cc: Likewise.
2626         * testsuite/vector/debug/move_assign_neg.cc: Likewise.
2627         * testsuite/vector/debug/move_neg.cc: Likewise.
2628         * testsuite/vector/debug/multithreaded_swap.cc: Likewise.
2629         * testsuite/vector/element_access/1.cc: Likewise.
2630         * testsuite/vector/ext_pointer/citerators.cc: Likewise.
2631         * testsuite/vector/ext_pointer/data_access.cc: Likewise.
2632         * testsuite/vector/ext_pointer/modifiers/element.cc: Likewise.
2633         * testsuite/vector/ext_pointer/modifiers/erase.cc: Likewise.
2634         * testsuite/vector/ext_pointer/modifiers/insert.cc: Likewise.
2635         * testsuite/vector/ext_pointer/resize.cc: Likewise.
2636         * testsuite/vector/modifiers/1.cc: Likewise.
2637         * testsuite/vector/modifiers/2.cc: Likewise.
2638         * testsuite/vector/modifiers/emplace/self_emplace.cc: Likewise.
2639         * testsuite/vector/modifiers/erase/1.cc: Likewise.
2640         * testsuite/vector/modifiers/erase/moveable.cc: Likewise.
2641         * testsuite/vector/modifiers/insert/1.cc: Likewise.
2642         * testsuite/vector/modifiers/insert/self_insert.cc: Likewise.
2643         * testsuite/vector/modifiers/moveable.cc: Likewise.
2644         * testsuite/vector/modifiers/moveable2.cc: Likewise.
2645         * testsuite/vector/modifiers/push_back/49836.cc: Likewise.
2646         * testsuite/vector/modifiers/swap/1.cc: Likewise.
2647         * testsuite/vector/modifiers/swap/2.cc: Likewise.
2648         * testsuite/vector/modifiers/swap/3.cc: Likewise.
2649         * testsuite/vector/zero_sized_allocations.cc: Likewise.
2650
2651 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
2652
2653         PR libstdc++/77998
2654         * include/std/future (__future_base::_Deferred_state)
2655         (__future_base::_Async_state_impl): Use decltype to deduce return
2656         type, instead of _Invoker::result_type.
2657         * include/std/thread (thread::_Invoker::operator()): Likewise.
2658         (thread::_Invoker::result_type): Remove.
2659
2660         PR libstdc++/77987
2661         * include/bits/unique_ptr.h (unique_ptr<T[], D>::reset<U>(U)): Copy
2662         value to pointer of the correct type to swap, to support conversions
2663         allowed by LWG 2118 / N4089.
2664         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for
2665         incompatible deleters from ...
2666         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here.
2667         * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for
2668         incompatible pointers to ...
2669         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move
2670         destructor definition to base class. Test for invalid derived-to-base
2671         conversion.
2672
2673         * doc/xml/manual/status_cxx2017.xml: Update status.
2674         * doc/html/*: Regenerate.
2675         * include/bits/deque.tcc (deque::emplace_front, deque::emplace_back):
2676         Return a reference in C++17 mode.
2677         * include/bits/forward_list.h (forward_list::emplace_front): Likewise.
2678         * include/bits/stl_bvector.h (vector<bool>::emplace_back): Likewise.
2679         * include/bits/stl_deque.h (deque::emplace_front, deque::emplace_back):
2680         Likewise.
2681         * include/bits/stl_list.h (list::emplace_front, list::emplace_back):
2682         Likewise.
2683         * include/bits/stl_queue.h (queue::emplace): Likewise.
2684         * include/bits/stl_stack.h (stack::emplace): Likewise.
2685         * include/bits/stl_vector.h (vector::emplace_back): Likewise.
2686         * include/bits/vector.tcc (vector::emplace_back): Likewise.
2687         * include/debug/deque (__gnu_debug::deque::emplace_front)
2688         (__gnu_debug::deque::emplace_back): Likewise.
2689         * include/debug/vector (__gnu_debug::vector::emplace_back): Likewise.
2690         * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
2691         New.
2692         * testsuite/23_containers/forward_list/modifiers/
2693         emplace_cxx17_return.cc: New.
2694         * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: New.
2695         * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: New.
2696         * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: New.
2697         * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: New.
2698         * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
2699         New.
2700
2701 2016-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
2702
2703         * testsuite/22_locale/classification/isblank.cc: Remove 'test'
2704         variables.
2705         * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
2706         * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Likewise.
2707         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
2708         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
2709         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise.
2710         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Likewise.
2711         * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
2712         * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Likewise.
2713         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
2714         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
2715         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise.
2716         * testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
2717         * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Likewise.
2718         * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
2719         * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise.
2720         * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise.
2721         * testsuite/22_locale/codecvt/in/wchar_t/5.cc: Likewise.
2722         * testsuite/22_locale/codecvt/in/wchar_t/6.cc: Likewise.
2723         * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise.
2724         * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
2725         * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
2726         * testsuite/22_locale/codecvt/length/char/1.cc: Likewise.
2727         * testsuite/22_locale/codecvt/length/char/2.cc: Likewise.
2728         * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Likewise.
2729         * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
2730         * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
2731         * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
2732         * testsuite/22_locale/codecvt/length/wchar_t/5.cc: Likewise.
2733         * testsuite/22_locale/codecvt/length/wchar_t/6.cc: Likewise.
2734         * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise.
2735         * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
2736         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Likewise.
2737         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
2738         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
2739         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise.
2740         * testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
2741         * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Likewise.
2742         * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
2743         * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise.
2744         * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
2745         * testsuite/22_locale/codecvt/out/wchar_t/5.cc: Likewise.
2746         * testsuite/22_locale/codecvt/out/wchar_t/6.cc: Likewise.
2747         * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
2748         * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
2749         * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Likewise.
2750         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
2751         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
2752         * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
2753         * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
2754         * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
2755         * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
2756         * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
2757         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
2758         * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
2759         * testsuite/22_locale/collate/hash/char/1.cc: Likewise.
2760         * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
2761         * testsuite/22_locale/collate/hash/wchar_t/1.cc: Likewise.
2762         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
2763         * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
2764         * testsuite/22_locale/collate/transform/char/28277.cc: Likewise.
2765         * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
2766         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
2767         * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise.
2768         * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
2769         * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
2770         * testsuite/22_locale/ctype/cons/char/1.cc: Likewise.
2771         * testsuite/22_locale/ctype/is/char/1.cc: Likewise.
2772         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
2773         * testsuite/22_locale/ctype/is/char/3.cc: Likewise.
2774         * testsuite/22_locale/ctype/is/char/9858.cc: Likewise.
2775         * testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
2776         * testsuite/22_locale/ctype/is/wchar_t/11740.cc: Likewise.
2777         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
2778         * testsuite/22_locale/ctype/narrow/char/1.cc: Likewise.
2779         * testsuite/22_locale/ctype/narrow/char/19955.cc: Likewise.
2780         * testsuite/22_locale/ctype/narrow/char/2.cc: Likewise.
2781         * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Likewise.
2782         * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Likewise.
2783         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise.
2784         * testsuite/22_locale/ctype/scan/char/1.cc: Likewise.
2785         * testsuite/22_locale/ctype/scan/wchar_t/1.cc: Likewise.
2786         * testsuite/22_locale/ctype/to/char/1.cc: Likewise.
2787         * testsuite/22_locale/ctype/to/wchar_t/1.cc: Likewise.
2788         * testsuite/22_locale/ctype/widen/char/1.cc: Likewise.
2789         * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Likewise.
2790         * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
2791         * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise.
2792         * testsuite/22_locale/ctype_base/11844.cc: Likewise.
2793         * testsuite/22_locale/facet/1.cc: Likewise.
2794         * testsuite/22_locale/facet/2.cc: Likewise.
2795         * testsuite/22_locale/facet/25421.cc: Likewise.
2796         * testsuite/22_locale/global_templates/1.cc: Likewise.
2797         * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
2798         Likewise.
2799         * testsuite/22_locale/global_templates/user_facet_hierarchies.cc:
2800         Likewise.
2801         * testsuite/22_locale/locale/13630.cc: Likewise.
2802         * testsuite/22_locale/locale/cons/12352.cc: Likewise.
2803         * testsuite/22_locale/locale/cons/12438.cc: Likewise.
2804         * testsuite/22_locale/locale/cons/2.cc: Likewise.
2805         * testsuite/22_locale/locale/cons/29217.cc: Likewise.
2806         * testsuite/22_locale/locale/cons/38365.cc: Likewise.
2807         * testsuite/22_locale/locale/cons/38368.cc: Likewise.
2808         * testsuite/22_locale/locale/cons/4.cc: Likewise.
2809         * testsuite/22_locale/locale/cons/40184.cc: Likewise.
2810         * testsuite/22_locale/locale/cons/5.cc: Likewise.
2811         * testsuite/22_locale/locale/cons/6.cc: Likewise.
2812         * testsuite/22_locale/locale/cons/7.cc: Likewise.
2813         * testsuite/22_locale/locale/cons/7222-c.cc: Likewise.
2814         * testsuite/22_locale/locale/cons/7222-env.cc: Likewise.
2815         * testsuite/22_locale/locale/cons/8.cc: Likewise.
2816         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
2817         * testsuite/22_locale/locale/global_locale_objects/1.cc: Likewise.
2818         * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
2819         * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
2820         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
2821         * testsuite/22_locale/locale/operations/1.cc: Likewise.
2822         * testsuite/22_locale/locale/operations/2.cc: Likewise.
2823         * testsuite/22_locale/messages/13631.cc: Likewise.
2824         * testsuite/22_locale/messages/members/char/1.cc: Likewise.
2825         * testsuite/22_locale/messages/members/char/2.cc: Likewise.
2826         * testsuite/22_locale/messages/members/char/3.cc: Likewise.
2827         * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
2828         * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
2829         * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
2830         * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
2831         * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
2832         * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
2833         * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
2834         * testsuite/22_locale/money_get/get/char/14.cc: Likewise.
2835         * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
2836         * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
2837         * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
2838         * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
2839         * testsuite/22_locale/money_get/get/char/19.cc: Likewise.
2840         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2841         * testsuite/22_locale/money_get/get/char/22131.cc: Likewise.
2842         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2843         * testsuite/22_locale/money_get/get/char/38399.cc: Likewise.
2844         * testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
2845         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2846         * testsuite/22_locale/money_get/get/char/5.cc: Likewise.
2847         * testsuite/22_locale/money_get/get/char/6.cc: Likewise.
2848         * testsuite/22_locale/money_get/get/char/7.cc: Likewise.
2849         * testsuite/22_locale/money_get/get/char/8.cc: Likewise.
2850         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2851         * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
2852         * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
2853         * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
2854         * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
2855         * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
2856         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Likewise.
2857         * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
2858         * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
2859         * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
2860         * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
2861         * testsuite/22_locale/money_get/get/wchar_t/19.cc: Likewise.
2862         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2863         * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
2864         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2865         * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
2866         * testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
2867         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2868         * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
2869         * testsuite/22_locale/money_get/get/wchar_t/6.cc: Likewise.
2870         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
2871         * testsuite/22_locale/money_get/get/wchar_t/8.cc: Likewise.
2872         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
2873         * testsuite/22_locale/money_put/put/char/12971.cc: Likewise.
2874         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
2875         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
2876         * testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
2877         * testsuite/22_locale/money_put/put/char/4.cc: Likewise.
2878         * testsuite/22_locale/money_put/put/char/5.cc: Likewise.
2879         * testsuite/22_locale/money_put/put/char/6.cc: Likewise.
2880         * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
2881         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
2882         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
2883         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2884         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2885         * testsuite/22_locale/money_put/put/wchar_t/39168.cc: Likewise.
2886         * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
2887         * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
2888         * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
2889         * testsuite/22_locale/moneypunct/40712.cc: Likewise.
2890         * testsuite/22_locale/moneypunct/members/char/1.cc: Likewise.
2891         * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
2892         * testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise.
2893         * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
2894         * testsuite/22_locale/moneypunct/requirements/false/intl.cc: Likewise.
2895         * testsuite/22_locale/moneypunct/requirements/true/intl.cc: Likewise.
2896         * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
2897         * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
2898         * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
2899         * testsuite/22_locale/num_get/get/char/11.cc: Likewise.
2900         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
2901         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
2902         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
2903         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
2904         * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
2905         * testsuite/22_locale/num_get/get/char/2.cc: Likewise.
2906         * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
2907         * testsuite/22_locale/num_get/get/char/23953.cc: Likewise.
2908         * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
2909         * testsuite/22_locale/num_get/get/char/37958.cc: Likewise.
2910         * testsuite/22_locale/num_get/get/char/39168.cc: Likewise.
2911         * testsuite/22_locale/num_get/get/char/39802.cc: Likewise.
2912         * testsuite/22_locale/num_get/get/char/4.cc: Likewise.
2913         * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
2914         * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
2915         * testsuite/22_locale/num_get/get/char/7.cc: Likewise.
2916         * testsuite/22_locale/num_get/get/char/8.cc: Likewise.
2917         * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
2918         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
2919         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
2920         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
2921         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
2922         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
2923         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
2924         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
2925         * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
2926         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Likewise.
2927         * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
2928         * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
2929         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
2930         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
2931         * testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
2932         * testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.
2933         * testsuite/22_locale/num_get/get/wchar_t/4.cc: Likewise.
2934         * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
2935         * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
2936         * testsuite/22_locale/num_get/get/wchar_t/7.cc: Likewise.
2937         * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
2938         * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
2939         * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
2940         * testsuite/22_locale/num_put/put/char/10.cc: Likewise.
2941         * testsuite/22_locale/num_put/put/char/11.cc: Likewise.
2942         * testsuite/22_locale/num_put/put/char/12.cc: Likewise.
2943         * testsuite/22_locale/num_put/put/char/14220.cc: Likewise.
2944         * testsuite/22_locale/num_put/put/char/15565.cc: Likewise.
2945         * testsuite/22_locale/num_put/put/char/2.cc: Likewise.
2946         * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
2947         * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
2948         * testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
2949         * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
2950         * testsuite/22_locale/num_put/put/char/38196.cc: Likewise.
2951         * testsuite/22_locale/num_put/put/char/38210.cc: Likewise.
2952         * testsuite/22_locale/num_put/put/char/4.cc: Likewise.
2953         * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
2954         * testsuite/22_locale/num_put/put/char/6.cc: Likewise.
2955         * testsuite/22_locale/num_put/put/char/7.cc: Likewise.
2956         * testsuite/22_locale/num_put/put/char/8.cc: Likewise.
2957         * testsuite/22_locale/num_put/put/char/9.cc: Likewise.
2958         * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
2959         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
2960         * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
2961         * testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise.
2962         * testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise.
2963         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2964         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: Likewise.
2965         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
2966         * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
2967         * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
2968         * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
2969         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
2970         * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
2971         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
2972         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
2973         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
2974         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
2975         * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
2976         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
2977         * testsuite/22_locale/num_put/put/wchar_t/9.cc: Likewise.
2978         * testsuite/22_locale/numpunct/members/char/1.cc: Likewise.
2979         * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
2980         * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
2981         * testsuite/22_locale/numpunct/members/char/cache_1.cc: Likewise.
2982         * testsuite/22_locale/numpunct/members/char/cache_2.cc: Likewise.
2983         * testsuite/22_locale/numpunct/members/pod/1.cc: Likewise.
2984         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Likewise.
2985         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
2986         * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: Likewise.
2987         * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: Likewise.
2988         * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
2989         * testsuite/22_locale/time_get/date_order/char/1.cc: Likewise.
2990         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Likewise.
2991         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
2992         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
2993         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
2994         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
2995         * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
2996         * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
2997         * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
2998         * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
2999         * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
3000         * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
3001         * testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
3002         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
3003         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
3004         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
3005         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
3006         * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
3007         * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
3008         * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
3009         * testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
3010         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
3011         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
3012         * testsuite/22_locale/time_get/get_monthname/char/3.cc: Likewise.
3013         * testsuite/22_locale/time_get/get_monthname/char/4.cc: Likewise.
3014         * testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
3015         * testsuite/22_locale/time_get/get_monthname/char/6.cc: Likewise.
3016         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
3017         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
3018         * testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc: Likewise.
3019         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: Likewise.
3020         * testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
3021         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
3022         * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
3023         * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
3024         * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
3025         * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
3026         * testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
3027         * testsuite/22_locale/time_get/get_time/char/6.cc: Likewise.
3028         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
3029         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
3030         * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
3031         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
3032         * testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
3033         * testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise.
3034         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
3035         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
3036         * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
3037         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
3038         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
3039         * testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
3040         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
3041         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
3042         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
3043         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
3044         * testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
3045         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
3046         * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
3047         * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
3048         * testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
3049         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
3050         * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
3051         * testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise.
3052         * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
3053         * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
3054         * testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
3055         * testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
3056         * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
3057         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
3058         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
3059         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
3060         * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
3061         * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
3062         * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
3063         * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
3064         * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
3065         * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
3066         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
3067         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
3068         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
3069         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
3070         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
3071         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
3072         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
3073         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
3074         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
3075         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
3076         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
3077         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
3078         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
3079         * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
3080         * testsuite/30_threads/async/42819.cc: Likewise.
3081         * testsuite/30_threads/async/any.cc: Likewise.
3082         * testsuite/30_threads/async/async.cc: Likewise.
3083         * testsuite/30_threads/async/except.cc: Likewise.
3084         * testsuite/30_threads/async/launch.cc: Likewise.
3085         * testsuite/30_threads/async/sync.cc: Likewise.
3086         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
3087         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
3088         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
3089         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
3090         * testsuite/30_threads/condition_variable/members/3.cc: Likewise.
3091         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
3092         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
3093         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
3094         * testsuite/30_threads/future/members/45133.cc: Likewise.
3095         * testsuite/30_threads/future/members/get.cc: Likewise.
3096         * testsuite/30_threads/future/members/get2.cc: Likewise.
3097         * testsuite/30_threads/future/members/share.cc: Likewise.
3098         * testsuite/30_threads/future/members/valid.cc: Likewise.
3099         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
3100         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
3101         * testsuite/30_threads/lock/1.cc: Likewise.
3102         * testsuite/30_threads/lock/2.cc: Likewise.
3103         * testsuite/30_threads/lock/3.cc: Likewise.
3104         * testsuite/30_threads/lock/4.cc: Likewise.
3105         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
3106         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
3107         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
3108         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
3109         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
3110         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
3111         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
3112         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
3113         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
3114         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
3115         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
3116         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
3117         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
3118         * testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
3119         Likewise.
3120         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
3121         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
3122         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
3123         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
3124         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
3125         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
3126         * testsuite/30_threads/promise/cons/move.cc: Likewise.
3127         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
3128         * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
3129         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
3130         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
3131         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
3132         * testsuite/30_threads/promise/members/swap.cc: Likewise.
3133         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
3134         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
3135         Likewise.
3136         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
3137         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
3138         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
3139         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
3140         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
3141         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
3142         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
3143         Likewise.
3144         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
3145         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
3146         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
3147         Likewise.
3148         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
3149         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
3150         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
3151         Likewise.
3152         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
3153         Likewise.
3154         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
3155         Likewise.
3156         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
3157         Likewise.
3158         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
3159         Likewise.
3160         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
3161         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
3162         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
3163         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
3164         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
3165         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
3166         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
3167         * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
3168         * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
3169         * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
3170         * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
3171         * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
3172         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
3173         * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
3174         * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
3175         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
3176         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
3177         * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
3178         * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
3179         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
3180         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
3181         * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
3182         * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
3183         * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
3184         * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
3185         * testsuite/30_threads/this_thread/1.cc: Likewise.
3186         * testsuite/30_threads/this_thread/2.cc: Likewise.
3187         * testsuite/30_threads/this_thread/3.cc: Likewise.
3188         * testsuite/30_threads/this_thread/4.cc: Likewise.
3189         * testsuite/30_threads/this_thread/60421.cc: Likewise.
3190         * testsuite/30_threads/thread/cons/1.cc: Likewise.
3191         * testsuite/30_threads/thread/cons/2.cc: Likewise.
3192         * testsuite/30_threads/thread/cons/3.cc: Likewise.
3193         * testsuite/30_threads/thread/cons/4.cc: Likewise.
3194         * testsuite/30_threads/thread/cons/5.cc: Likewise.
3195         * testsuite/30_threads/thread/cons/6.cc: Likewise.
3196         * testsuite/30_threads/thread/cons/7.cc: Likewise.
3197         * testsuite/30_threads/thread/cons/8.cc: Likewise.
3198         * testsuite/30_threads/thread/cons/9.cc: Likewise.
3199         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
3200         * testsuite/30_threads/thread/members/1.cc: Likewise.
3201         * testsuite/30_threads/thread/members/2.cc: Likewise.
3202         * testsuite/30_threads/thread/members/3.cc: Likewise.
3203         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
3204         * testsuite/30_threads/thread/swap/1.cc: Likewise.
3205         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
3206         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
3207         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
3208         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
3209         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
3210         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
3211         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
3212         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
3213         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
3214         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
3215         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
3216         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
3217         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
3218         * testsuite/30_threads/try_lock/1.cc: Likewise.
3219         * testsuite/30_threads/try_lock/2.cc: Likewise.
3220         * testsuite/30_threads/try_lock/3.cc: Likewise.
3221         * testsuite/30_threads/try_lock/4.cc: Likewise.
3222         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
3223         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
3224         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
3225         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
3226         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
3227         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
3228         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
3229         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
3230         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
3231         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
3232         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
3233         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3234         not_shared.cc: Likewise.
3235         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3236         not_shared2.cc: Likewise.
3237         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3238         not_shared3.cc: Likewise.
3239         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3240         shared.cc: Likewise.
3241         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3242         still_shared.cc: Likewise.
3243         * testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc:
3244         Likewise.
3245         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
3246         Likewise.
3247         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
3248         Likewise.
3249         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
3250         auto_ptr_rvalue_neg.cc: Likewise.
3251         * testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc:
3252         Likewise.
3253         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
3254         shared_ptr_neg.cc: Likewise.
3255         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
3256         Likewise.
3257         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
3258         Likewise.
3259         * testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc: Likewise.
3260         * testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc:
3261         Likewise.
3262         * testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc:
3263         Likewise.
3264         * testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc:
3265         Likewise.
3266         * testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc: Likewise.
3267         * testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc: Likewise.
3268         * testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc: Likewise.
3269         * testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc: Likewise.
3270         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc:
3271         Likewise.
3272         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
3273         Likewise.
3274         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc:
3275         Likewise.
3276         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc:
3277         Likewise.
3278         * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
3279         Likewise.
3280         * testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc:
3281         Likewise.
3282         * testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc:
3283         Likewise.
3284         * testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc:
3285         Likewise.
3286         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3287         default_weaktoshared.cc: Likewise.
3288         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3289         mutex_weaktoshared.cc: Likewise.
3290         * testsuite/tr1/3_function_objects/bind/all_bound.cc: Likewise.
3291         * testsuite/tr1/3_function_objects/bind/mixed.cc: Likewise.
3292         * testsuite/tr1/3_function_objects/bind/nested.cc: Likewise.
3293         * testsuite/tr1/3_function_objects/bind/placeholders.cc: Likewise.
3294         * testsuite/tr1/3_function_objects/bind/ref.cc: Likewise.
3295         * testsuite/tr1/3_function_objects/function/1.cc: Likewise.
3296         * testsuite/tr1/3_function_objects/function/2.cc: Likewise.
3297         * testsuite/tr1/3_function_objects/function/3.cc: Likewise.
3298         * testsuite/tr1/3_function_objects/function/4.cc: Likewise.
3299         * testsuite/tr1/3_function_objects/function/5.cc: Likewise.
3300         * testsuite/tr1/3_function_objects/function/6.cc: Likewise.
3301         * testsuite/tr1/3_function_objects/function/7.cc: Likewise.
3302         * testsuite/tr1/3_function_objects/function/8.cc: Likewise.
3303         * testsuite/tr1/3_function_objects/function/9.cc: Likewise.
3304         * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
3305         Likewise.
3306         * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
3307         Likewise.
3308         * testsuite/tr1/3_function_objects/result_of.cc: Likewise.
3309         * testsuite/tr1/4_metaprogramming/add_const/value.cc: Likewise.
3310         * testsuite/tr1/4_metaprogramming/add_cv/value.cc: Likewise.
3311         * testsuite/tr1/4_metaprogramming/add_pointer/value.cc: Likewise.
3312         * testsuite/tr1/4_metaprogramming/add_reference/value.cc: Likewise.
3313         * testsuite/tr1/4_metaprogramming/add_volatile/value.cc: Likewise.
3314         * testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: Likewise.
3315         * testsuite/tr1/4_metaprogramming/alignment_of/value.cc: Likewise.
3316         * testsuite/tr1/4_metaprogramming/extent/value.cc: Likewise.
3317         * testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc: Likewise.
3318         * testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc:
3319         Likewise.
3320         * testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc: Likewise.
3321         * testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc: Likewise.
3322         * testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc:
3323         Likewise.
3324         * testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc: Likewise.
3325         * testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc:
3326         Likewise.
3327         * testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc:
3328         Likewise.
3329         * testsuite/tr1/4_metaprogramming/integral_constant/
3330         static_definition.cc: Likewise.
3331         * testsuite/tr1/4_metaprogramming/integral_constant/
3332         true_false_value.cc: Likewise.
3333         * testsuite/tr1/4_metaprogramming/is_abstract/value.cc: Likewise.
3334         * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc: Likewise.
3335         * testsuite/tr1/4_metaprogramming/is_array/value.cc: Likewise.
3336         * testsuite/tr1/4_metaprogramming/is_base_of/value.cc: Likewise.
3337         * testsuite/tr1/4_metaprogramming/is_class/value.cc: Likewise.
3338         * testsuite/tr1/4_metaprogramming/is_compound/value.cc: Likewise.
3339         * testsuite/tr1/4_metaprogramming/is_const/value.cc: Likewise.
3340         * testsuite/tr1/4_metaprogramming/is_convertible/value.cc: Likewise.
3341         * testsuite/tr1/4_metaprogramming/is_empty/value.cc: Likewise.
3342         * testsuite/tr1/4_metaprogramming/is_enum/24808.cc: Likewise.
3343         * testsuite/tr1/4_metaprogramming/is_enum/value.cc: Likewise.
3344         * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc: Likewise.
3345         * testsuite/tr1/4_metaprogramming/is_function/24808.cc: Likewise.
3346         * testsuite/tr1/4_metaprogramming/is_function/value.cc: Likewise.
3347         * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc: Likewise.
3348         * testsuite/tr1/4_metaprogramming/is_integral/value.cc: Likewise.
3349         * testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc:
3350         Likewise.
3351         * testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc:
3352         Likewise.
3353         * testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc: Likewise.
3354         * testsuite/tr1/4_metaprogramming/is_object/24808.cc: Likewise.
3355         * testsuite/tr1/4_metaprogramming/is_object/value.cc: Likewise.
3356         * testsuite/tr1/4_metaprogramming/is_pod/value.cc: Likewise.
3357         * testsuite/tr1/4_metaprogramming/is_pointer/value.cc: Likewise.
3358         * testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc: Likewise.
3359         * testsuite/tr1/4_metaprogramming/is_reference/value.cc: Likewise.
3360         * testsuite/tr1/4_metaprogramming/is_same/value.cc: Likewise.
3361         * testsuite/tr1/4_metaprogramming/is_scalar/value.cc: Likewise.
3362         * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise.
3363         * testsuite/tr1/4_metaprogramming/is_union/value.cc: Likewise.
3364         * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc: Likewise.
3365         * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise.
3366         * testsuite/tr1/4_metaprogramming/is_volatile/value.cc: Likewise.
3367         * testsuite/tr1/4_metaprogramming/rank/value.cc: Likewise.
3368         * testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc: Likewise.
3369         * testsuite/tr1/4_metaprogramming/remove_const/value.cc: Likewise.
3370         * testsuite/tr1/4_metaprogramming/remove_cv/value.cc: Likewise.
3371         * testsuite/tr1/4_metaprogramming/remove_extent/value.cc: Likewise.
3372         * testsuite/tr1/4_metaprogramming/remove_pointer/value.cc: Likewise.
3373         * testsuite/tr1/4_metaprogramming/remove_reference/value.cc: Likewise.
3374         * testsuite/tr1/4_metaprogramming/remove_volatile/value.cc: Likewise.
3375         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3376         equal.cc: Likewise.
3377         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3378         not_equal.cc: Likewise.
3379         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3380         serialize.cc: Likewise.
3381         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3382         cons/default.cc: Likewise.
3383         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3384         cons/gen1.cc: Likewise.
3385         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3386         operators/equal.cc: Likewise.
3387         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3388         operators/not_equal.cc: Likewise.
3389         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3390         operators/serialize.cc: Likewise.
3391         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3392         cons/default.cc: Likewise.
3393         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3394         cons/gen1.cc: Likewise.
3395         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3396         operators/equal.cc: Likewise.
3397         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3398         operators/not_equal.cc: Likewise.
3399         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3400         operators/serialize.cc: Likewise.
3401         * testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc: Likewise.
3402         * testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc: Likewise.
3403         * testsuite/tr1/5_numerical_facilities/random/mt19937.cc: Likewise.
3404         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3405         default.cc: Likewise.
3406         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3407         token.cc: Likewise.
3408         * testsuite/tr1/5_numerical_facilities/random/ranlux3.cc: Likewise.
3409         * testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc: Likewise.
3410         * testsuite/tr1/5_numerical_facilities/random/ranlux4.cc: Likewise.
3411         * testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc
3412         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3413         cons/default.cc: Likewise.
3414         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3415         cons/gen1.cc: Likewise.
3416         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3417         operators/equal.cc: Likewise.
3418         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3419         operators/not_equal.cc: Likewise.
3420         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3421         operators/serialize.cc: Likewise.
3422         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3423         cons/default.cc: Likewise.
3424         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3425         cons/gen1.cc: Likewise.
3426         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3427         operators/equal.cc: Likewise.
3428         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3429         operators/not_equal.cc: Likewise.
3430         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3431         operators/serialize.cc: Likewise.
3432         * testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
3433         Likewise.
3434         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3435         default.cc: Likewise.
3436         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3437         range.cc: Likewise.
3438         * testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/
3439         default.cc: Likewise.
3440         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3441         equal.cc: Likewise.
3442         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3443         not_equal.cc: Likewise.
3444         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3445         serialize.cc: Likewise.
3446         * testsuite/tr1/5_numerical_facilities/special_functions/
3447         08_cyl_bessel_i/check_value.cc: Likewise.
3448         * testsuite/tr1/5_numerical_facilities/special_functions/
3449         08_cyl_bessel_i/pr56216.cc: Likewise.
3450         * testsuite/tr1/5_numerical_facilities/special_functions/
3451         09_cyl_bessel_j/check_value.cc: Likewise.
3452         * testsuite/tr1/5_numerical_facilities/special_functions/
3453         10_cyl_bessel_k/check_value.cc: Likewise.
3454         * testsuite/tr1/5_numerical_facilities/special_functions/
3455         11_cyl_neumann/check_value.cc: Likewise.
3456         * testsuite/tr1/5_numerical_facilities/special_functions/
3457         16_hermite/check_value.cc: Likewise.
3458         * testsuite/tr1/5_numerical_facilities/special_functions/
3459         21_sph_bessel/check_value.cc: Likewise.
3460         * testsuite/tr1/5_numerical_facilities/special_functions/
3461         23_sph_neumann/check_value.cc: Likewise.
3462         * testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise.
3463         * testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise.
3464         * testsuite/tr1/6_containers/array/capacity/size.cc: Likewise.
3465         * testsuite/tr1/6_containers/array/comparison_operators/equal.cc:
3466         Likewise.
3467         * testsuite/tr1/6_containers/array/comparison_operators/greater.cc:
3468         Likewise.
3469         * testsuite/tr1/6_containers/array/comparison_operators/
3470         greater_or_equal.cc: Likewise.
3471         * testsuite/tr1/6_containers/array/comparison_operators/less.cc:
3472         Likewise.
3473         * testsuite/tr1/6_containers/array/comparison_operators/
3474         less_or_equal.cc: Likewise.
3475         * testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc:
3476         Likewise.
3477         * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
3478         Likewise.
3479         * testsuite/tr1/6_containers/array/element_access/back.cc: Likewise.
3480         * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
3481         * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
3482         * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc:
3483         Likewise.
3484         * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
3485         * testsuite/tr1/6_containers/array/requirements/contiguous.cc: Likewise.
3486         * testsuite/tr1/6_containers/array/requirements/member_swap.cc:
3487         Likewise.
3488         * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
3489         Likewise.
3490         * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
3491         Likewise.
3492         * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
3493         * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
3494         Likewise.
3495         * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
3496         Likewise.
3497         * testsuite/tr1/6_containers/hash/24799.cc: Likewise.
3498         * testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise.
3499         *
3500         testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
3501         Likewise.
3502         * testsuite/tr1/6_containers/tuple/cons/assignment.cc: Likewise.
3503         * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise.
3504         * testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise.
3505         * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc:
3506         Likewise.
3507         * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
3508         Likewise.
3509         * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: Likewise.
3510         * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Likewise.
3511         * testsuite/tr1/6_containers/tuple/element_access/get.cc: Likewise.
3512         * testsuite/tr1/6_containers/tuple/tuple_size.cc: Likewise.
3513         * testsuite/tr1/6_containers/unordered_map/24064.cc: Likewise.
3514         * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
3515         Likewise.
3516         * testsuite/tr1/6_containers/unordered_map/erase/1.cc: Likewise.
3517         * testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc: Likewise.
3518         * testsuite/tr1/6_containers/unordered_map/find/map1.cc: Likewise.
3519         * testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc:
3520         Likewise.
3521         * testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc:
3522         Likewise.
3523         * testsuite/tr1/6_containers/unordered_map/insert/map_range.cc:
3524         Likewise.
3525         * testsuite/tr1/6_containers/unordered_map/insert/map_single.cc:
3526         Likewise.
3527         * testsuite/tr1/6_containers/unordered_map/swap/1.cc: Likewise.
3528         * testsuite/tr1/6_containers/unordered_map/swap/2.cc: Likewise.
3529         * testsuite/tr1/6_containers/unordered_multimap/capacity/
3530         29134-multimap.cc: Likewise.
3531         * testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise.
3532         * testsuite/tr1/6_containers/unordered_multimap/erase/
3533         24061-multimap.cc: Likewise.
3534         * testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc:
3535         Likewise.
3536         * testsuite/tr1/6_containers/unordered_multimap/insert/
3537         24061-multimap.cc: Likewise.
3538         * testsuite/tr1/6_containers/unordered_multimap/insert/
3539         multimap_range.cc: Likewise.
3540         * testsuite/tr1/6_containers/unordered_multimap/insert/
3541         multimap_single.cc: Likewise.
3542         * testsuite/tr1/6_containers/unordered_multimap/swap/1.cc: Likewise.
3543         * testsuite/tr1/6_containers/unordered_multimap/swap/2.cc: Likewise.
3544         * testsuite/tr1/6_containers/unordered_multiset/24054.cc: Likewise.
3545         * testsuite/tr1/6_containers/unordered_multiset/capacity/
3546         29134-multiset.cc: Likewise.
3547         * testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise.
3548         * testsuite/tr1/6_containers/unordered_multiset/erase/
3549         24061-multiset.cc: Likewise.
3550         * testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc:
3551         Likewise.
3552         * testsuite/tr1/6_containers/unordered_multiset/insert/
3553         24061-multiset.cc: Likewise.
3554         * testsuite/tr1/6_containers/unordered_multiset/insert/
3555         multiset_range.cc: Likewise.
3556         * testsuite/tr1/6_containers/unordered_multiset/insert/
3557         multiset_single.cc: Likewise.
3558         * testsuite/tr1/6_containers/unordered_multiset/swap/1.cc: Likewise.
3559         * testsuite/tr1/6_containers/unordered_multiset/swap/2.cc: Likewise.
3560         * testsuite/tr1/6_containers/unordered_set/23465.cc: Likewise.
3561         * testsuite/tr1/6_containers/unordered_set/26132.cc: Likewise.
3562         * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
3563         Likewise.
3564         * testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise.
3565         * testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc: Likewise.
3566         * testsuite/tr1/6_containers/unordered_set/find/set1.cc: Likewise.
3567         * testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc:
3568         Likewise.
3569         * testsuite/tr1/6_containers/unordered_set/insert/set_range.cc:
3570         Likewise.
3571         * testsuite/tr1/6_containers/unordered_set/insert/set_single.cc:
3572         Likewise.
3573         * testsuite/tr1/6_containers/unordered_set/swap/1.cc: Likewise.
3574         * testsuite/tr1/6_containers/unordered_set/swap/2.cc: Likewise.
3575         * testsuite/tr1/6_containers/utility/pair.cc: Likewise.
3576         * testsuite/tr1/7_regular_expressions/match_results/ctors/char/
3577         default.cc: Likewise.
3578         * testsuite/tr1/7_regular_expressions/regex_traits/char/
3579         translate_nocase.cc: Likewise.
3580         * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc:
3581         Likewise.
3582         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
3583         translate_nocase.cc: Likewise.
3584         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc:
3585         Likewise.
3586         * testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.
3587         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise.
3588
3589 2016-10-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
3590
3591         Make sure the return value of malloc_allocator::allocate
3592         is zero-initialized so that checking it for non-zero works
3593         later.
3594         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
3595         Initialize the return value.
3596         * testsuite/ext/malloc_allocator/sanity.cc: New.
3597
3598 2016-10-14  Eelis van der Weegen  <eelis@eelis.net>
3599
3600         * include/bits/stl_algo.h (shuffle): Extract two random numbers from
3601         each generator invocation when its range is large enough.
3602
3603 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3604
3605         * testsuite/experimental/algorithm/sample.cc: Qualify calls to
3606         resolve ambiguity between std::sample and std::experimental::sample.
3607
3608         * include/std/functional (_Mu<A, false, true>, _Mu<A, true, false>):
3609         Simplify forwarding from tuple of references.
3610         (_Maybe_wrap_member_pointer): Remove.
3611         (_Bind::__call, _Bind::__call_c, _Bind::__call_v, _Bind::__call_c_v):
3612         Use std::__invoke.
3613         (_Bind::_Mu_type, _Bind::_Res_type_impl, _Bind::_Res_type)
3614         (_Bind::__dependent, _Bind::_Res_type_cv): New helpers to simplify
3615         return type deduction.
3616         (_Bind::operator(), _Bind::operator() const): Use new helpers.
3617         (_Bind::operator() volatile, _Bind::operator() const volatile):
3618         Likewise. Add deprecated attribute for C++17 mode.
3619         (_Bind_result::__call): Use std::__invoke.
3620         (_Bind_result::operator() volatile)
3621         (_Bind_result::operator() const volatile): Add deprecated attribute.
3622         (_Bind_helper::__maybe_type, _Bindres_helper::__maybe_type): Remove.
3623         (_Bind_helper, _Bindres_helper): Don't use _Maybe_wrap_member_pointer.
3624         (bind, bind<R>): Don't use __maybe_type.
3625         * src/c++11/compatibility-thread-c++0x.cc
3626         (_Maybe_wrap_member_pointer): Define here for compatibility symbols.
3627         * testsuite/20_util/bind/68912.cc: Don't test volatile-qualification
3628         in C++17 mode.
3629         * testsuite/20_util/bind/cv_quals.cc: Likewise.
3630         * testsuite/20_util/bind/cv_quals_2.cc: Likewise.
3631
3632         * include/std/scoped_allocator (scoped_allocator_adaptor): Forward
3633         piecewise construction arguments as tuples of references, to avoid
3634         copies (related to LWG 2511).
3635         * testsuite/20_util/scoped_allocator/construct_pair.cc: New test.
3636
3637 2016-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
3638
3639         * testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables.
3640         * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
3641         * testsuite/26_numerics/complex/13450.cc: Likewise.
3642         * testsuite/26_numerics/complex/50880.cc: Likewise.
3643         * testsuite/26_numerics/complex/c99.cc: Likewise.
3644         * testsuite/26_numerics/complex/cons/48760.cc: Likewise.
3645         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
3646         * testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise.
3647         * testsuite/26_numerics/complex/dr844.cc: Likewise.
3648         * testsuite/26_numerics/complex/inserters_extractors/char/1.cc:
3649         Likewise.
3650         * testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc:
3651         Likewise.
3652         * testsuite/26_numerics/complex/value_operations/1.cc: Likewise.
3653         * testsuite/26_numerics/complex/value_operations/dr387.cc: Likewise.
3654         * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
3655         * testsuite/26_numerics/headers/cmath/
3656         c99_classification_macros_c++11.c: Likewise.c
3657         * testsuite/26_numerics/headers/cmath/
3658         c99_classification_macros_c++98.cc: Likewise.
3659         * testsuite/26_numerics/headers/cmath/c_math.cc: Likewise.
3660         * testsuite/26_numerics/headers/cmath/dr550.cc: Likewise.
3661         * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
3662         * testsuite/26_numerics/headers/cmath/powi.cc: Likewise.
3663         * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
3664         * testsuite/26_numerics/inner_product/1.cc: Likewise.
3665         * testsuite/26_numerics/iota/1.cc: Likewise.
3666         * testsuite/26_numerics/partial_sum/1.cc: Likewise.
3667         * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
3668         Likewise.
3669         * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
3670         Likewise.
3671         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3672         equal.cc: Likewise.
3673         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3674         inequal.cc: Likewise.
3675         * testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
3676         Likewise.
3677         * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
3678         Likewise.
3679         * testsuite/26_numerics/random/binomial_distribution/operators/
3680         equal.cc: Likewise.
3681         * testsuite/26_numerics/random/binomial_distribution/operators/
3682         inequal.cc: Likewise.
3683         * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
3684         Likewise.
3685         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
3686         Likewise.
3687         * testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc:
3688         Likewise.
3689         * testsuite/26_numerics/random/cauchy_distribution/operators/
3690         inequal.cc: Likewise.
3691         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3692         default.cc: Likewise.
3693         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3694         parms.cc: Likewise.
3695         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3696         equal.cc: Likewise.
3697         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3698         inequal.cc: Likewise.
3699         * testsuite/26_numerics/random/default_random_engine.cc: Likewise.
3700         * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
3701         Likewise.
3702         * testsuite/26_numerics/random/discard_block_engine/operators/equal.cc:
3703         Likewise.
3704         * testsuite/26_numerics/random/discard_block_engine/operators/
3705         inequal.cc: Likewise.
3706         * testsuite/26_numerics/random/discard_block_engine/operators/
3707         serialize.cc: Likewise.
3708         * testsuite/26_numerics/random/discrete_distribution/cons/
3709         default.cc: Likewise.
3710         * testsuite/26_numerics/random/discrete_distribution/cons/
3711         initlist.cc: Likewise.
3712         * testsuite/26_numerics/random/discrete_distribution/cons/
3713         num_xbound_fun.cc: Likewise.
3714         * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
3715         Likewise.
3716         * testsuite/26_numerics/random/discrete_distribution/operators/
3717         equal.cc: Likewise.
3718         * testsuite/26_numerics/random/discrete_distribution/operators/
3719         inequal.cc: Likewise.
3720         * testsuite/26_numerics/random/exponential_distribution/cons/
3721         default.cc: Likewise.
3722         * testsuite/26_numerics/random/exponential_distribution/cons/
3723         parms.cc: Likewise.
3724         * testsuite/26_numerics/random/exponential_distribution/operators/
3725         equal.cc: Likewise.
3726         * testsuite/26_numerics/random/exponential_distribution/operators/
3727         inequal.cc: Likewise.
3728         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3729         default.cc: Likewise.
3730         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3731         parms.cc: Likewise.
3732         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3733         equal.cc: Likewise.
3734         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3735         inequal.cc: Likewise.
3736         * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
3737         Likewise.
3738         * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
3739         Likewise.
3740         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3741         equal.cc: Likewise.
3742         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3743         inequal.cc: Likewise.
3744         * testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
3745         Likewise.
3746         * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
3747         Likewise.
3748         * testsuite/26_numerics/random/gamma_distribution/operators/equal.cc:
3749         Likewise.
3750         * testsuite/26_numerics/random/gamma_distribution/operators/
3751         inequal.cc: Likewise.
3752         * testsuite/26_numerics/random/geometric_distribution/cons/
3753         default.cc: Likewise.
3754         * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
3755         Likewise.
3756         * testsuite/26_numerics/random/geometric_distribution/operators/
3757         equal.cc: Likewise.
3758         * testsuite/26_numerics/random/geometric_distribution/operators/
3759         inequal.cc: Likewise.
3760         * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
3761         Likewise.
3762         * testsuite/26_numerics/random/independent_bits_engine/operators/
3763         equal.cc: Likewise.
3764         * testsuite/26_numerics/random/independent_bits_engine/operators/
3765         inequal.cc: Likewise.
3766         * testsuite/26_numerics/random/independent_bits_engine/operators/
3767         serialize.cc: Likewise.
3768         * testsuite/26_numerics/random/knuth_b.cc: Likewise.
3769         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3770         55215.cc: Likewise.
3771         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3772         default.cc: Likewise.
3773         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3774         51795.cc: Likewise.
3775         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3776         equal.cc: Likewise.
3777         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3778         inequal.cc: Likewise.
3779         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3780         serialize.cc: Likewise.
3781         * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
3782         Likewise.
3783         * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
3784         Likewise.
3785         * testsuite/26_numerics/random/lognormal_distribution/operators/
3786         equal.cc: Likewise.
3787         * testsuite/26_numerics/random/lognormal_distribution/operators/
3788         inequal.cc: Likewise.
3789         * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
3790         Likewise.
3791         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
3792         default.cc: Likewise.
3793         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3794         equal.cc: Likewise.
3795         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3796         inequal.cc: Likewise.
3797         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3798         serialize.cc: Likewise.
3799         * testsuite/26_numerics/random/minstd_rand.cc: Likewise.
3800         * testsuite/26_numerics/random/minstd_rand0.cc: Likewise.
3801         * testsuite/26_numerics/random/mt19937.cc: Likewise.
3802         * testsuite/26_numerics/random/mt19937_64.cc: Likewise.
3803         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3804         default.cc: Likewise.
3805         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3806         parms.cc: Likewise.
3807         * testsuite/26_numerics/random/negative_binomial_distribution/
3808         operators/equal.cc: Likewise.
3809         * testsuite/26_numerics/random/negative_binomial_distribution/
3810         operators/inequal.cc: Likewise.
3811         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
3812         Likewise.
3813         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
3814         Likewise.
3815         * testsuite/26_numerics/random/normal_distribution/operators/
3816         equal.cc: Likewise.
3817         * testsuite/26_numerics/random/normal_distribution/operators/
3818         inequal.cc: Likewise.
3819         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3820         default.cc: Likewise.
3821         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3822         initlist_fun.cc: Likewise.
3823         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3824         num_xbound_fun.cc: Likewise.
3825         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3826         range.cc: Likewise.
3827         * testsuite/26_numerics/random/piecewise_constant_distribution/
3828         operators/equal.cc: Likewise.
3829         * testsuite/26_numerics/random/piecewise_constant_distribution/
3830         operators/inequal.cc: Likewise.
3831         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3832         default.cc: Likewise.
3833         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3834         initlist_fun.cc: Likewise.
3835         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3836         num_xbound_fun.cc: Likewise.
3837         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3838         range.cc: Likewise.
3839         * testsuite/26_numerics/random/piecewise_linear_distribution/
3840         operators/equal.cc: Likewise.
3841         * testsuite/26_numerics/random/piecewise_linear_distribution/
3842         operators/inequal.cc: Likewise.
3843         * testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
3844         Likewise.
3845         * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
3846         Likewise.
3847         * testsuite/26_numerics/random/poisson_distribution/operators/
3848         equal.cc: Likewise.
3849         * testsuite/26_numerics/random/poisson_distribution/operators/
3850         inequal.cc: Likewise.
3851         * testsuite/26_numerics/random/random_device/cons/default.cc: Likewise.
3852         * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
3853         * testsuite/26_numerics/random/ranlux24.cc: Likewise.
3854         * testsuite/26_numerics/random/ranlux24_base.cc: Likewise.
3855         * testsuite/26_numerics/random/ranlux48.cc: Likewise.
3856         * testsuite/26_numerics/random/ranlux48_base.cc: Likewise.
3857         * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Likewise.
3858         * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
3859         Likewise.
3860         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3861         equal.cc: Likewise.
3862         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3863         inequal.cc: Likewise.
3864         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3865         serialize.cc: Likewise.
3866         * testsuite/26_numerics/random/student_t_distribution/cons/
3867         default.cc: Likewise.
3868         * testsuite/26_numerics/random/student_t_distribution/cons/
3869         parms.cc: Likewise.
3870         * testsuite/26_numerics/random/student_t_distribution/operators/
3871         equal.cc: Likewise.
3872         * testsuite/26_numerics/random/student_t_distribution/operators/
3873         inequal.cc: Likewise.
3874         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3875         55215.cc: Likewise.
3876         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3877         default.cc: Likewise.
3878         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3879         equal.cc: Likewise.
3880         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3881         inequal.cc: Likewise.
3882         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3883         serialize.cc: Likewise.
3884         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3885         default.cc: Likewise.
3886         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3887         parms.cc: Likewise.
3888         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3889         equal.cc: Likewise.
3890         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3891         inequal.cc: Likewise.
3892         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3893         default.cc: Likewise.
3894         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3895         parms.cc: Likewise.
3896         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3897         equal.cc: Likewise.
3898         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3899         inequal.cc: Likewise.
3900         * testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
3901         Likewise.
3902         * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
3903         Likewise.
3904         * testsuite/26_numerics/random/weibull_distribution/operators/
3905         equal.cc: Likewise.
3906         * testsuite/26_numerics/random/weibull_distribution/operators/
3907         inequal.cc: Likewise.
3908         * testsuite/26_numerics/slice/1.cc: Likewise.
3909         * testsuite/26_numerics/slice_array/array_assignment.cc: Likewise.
3910         * testsuite/26_numerics/valarray/27867.cc: Likewise.
3911         * testsuite/26_numerics/valarray/28277.cc: Likewise.
3912         * testsuite/26_numerics/valarray/30416.cc: Likewise.
3913         * testsuite/26_numerics/valarray/dr543.cc: Likewise.
3914         * testsuite/26_numerics/valarray/dr630-1.cc: Likewise.
3915         * testsuite/26_numerics/valarray/dr630-2.cc: Likewise.
3916         * testsuite/26_numerics/valarray/dr630-3.C: Likewise.
3917         * testsuite/26_numerics/valarray/init-list.cc: Likewise.
3918         * testsuite/26_numerics/valarray/moveable.cc: Likewise.
3919         * testsuite/26_numerics/valarray/operators.cc: Likewise.
3920         * testsuite/26_numerics/valarray/swap.cc: Likewise.
3921         * testsuite/experimental/deque/erasure.cc: Likewise.
3922         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
3923         Likewise.
3924         * testsuite/experimental/filesystem/iterators/
3925         recursive_directory_iterator.cc: Likewise.
3926         * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
3927         * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
3928         * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
3929         * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
3930         * testsuite/experimental/filesystem/operations/create_directories.cc:
3931         Likewise.
3932         * testsuite/experimental/filesystem/operations/create_directory.cc:
3933         Likewise.
3934         * testsuite/experimental/filesystem/operations/current_path.cc:
3935         Likewise.
3936         * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
3937         * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
3938         * testsuite/experimental/filesystem/operations/last_write_time.cc:
3939         Likewise.
3940         * testsuite/experimental/filesystem/operations/permissions.cc: Likewise.
3941         * testsuite/experimental/filesystem/operations/status.cc: Likewise.
3942         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
3943         Likewise.
3944         * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
3945         * testsuite/experimental/forward_list/erasure.cc: Likewise.
3946         * testsuite/experimental/list/erasure.cc: Likewise.
3947         * testsuite/experimental/map/erasure.cc: Likewise.
3948         * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Likewise.
3949         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
3950         Likewise.
3951         * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: Likewise.
3952         * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: Likewise.
3953         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: Likewise.
3954         * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
3955         Likewise.
3956         * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: Likewise.
3957         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
3958         Likewise.
3959         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
3960         Likewise.
3961         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
3962         Likewise.
3963         * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
3964         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Likewise.
3965         * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: Likewise.
3966         * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
3967         Likewise.
3968         * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
3969         Likewise.
3970         * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
3971         Likewise.
3972         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
3973         Likewise.
3974         * testsuite/experimental/memory_resource/1.cc: Likewise.
3975         * testsuite/experimental/memory_resource/null_memory_resource.cc:
3976         Likewise.
3977         * testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise.
3978         * testsuite/experimental/set/erasure.cc: Likewise.
3979         * testsuite/experimental/string/erasure.cc: Likewise.
3980         * testsuite/experimental/string_view/capacity/1.cc: Likewise.
3981         * testsuite/experimental/string_view/cons/char/1.cc: Likewise.
3982         * testsuite/experimental/string_view/cons/char/2.cc: Likewise.
3983         * testsuite/experimental/string_view/cons/char/3.cc: Likewise.
3984         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
3985         * testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise.
3986         * testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise.
3987         * testsuite/experimental/string_view/element_access/char/1.cc: Likewise.
3988         * testsuite/experimental/string_view/element_access/char/empty.cc:
3989         Likewise.
3990         * testsuite/experimental/string_view/element_access/char/
3991         front_back.cc: Likewise.
3992         * testsuite/experimental/string_view/element_access/wchar_t/1.cc:
3993         Likewise.
3994         * testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
3995         Likewise.
3996         * testsuite/experimental/string_view/element_access/wchar_t/
3997         front_back.cc: Likewise.
3998         * testsuite/experimental/string_view/inserters/char/1.cc: Likewise.
3999         * testsuite/experimental/string_view/inserters/char/2.cc: Likewise.
4000         * testsuite/experimental/string_view/inserters/char/3.cc: Likewise.
4001         * testsuite/experimental/string_view/inserters/pod/10081-out.cc:
4002         Likewise.
4003         * testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise.
4004         * testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise.
4005         * testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise.
4006         * testsuite/experimental/string_view/modifiers/remove_prefix/char/
4007         1.cc: Likewise.
4008         * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
4009         1.cc: Likewise.
4010         * testsuite/experimental/string_view/modifiers/remove_suffix/char/
4011         1.cc: Likewise.
4012         * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
4013         1.cc: Likewise.
4014         * testsuite/experimental/string_view/operations/compare/char/1.cc:
4015         Likewise.
4016         * testsuite/experimental/string_view/operations/compare/char/
4017         13650.cc: Likewise.
4018         * testsuite/experimental/string_view/operations/compare/wchar_t/
4019         1.cc: Likewise.
4020         * testsuite/experimental/string_view/operations/compare/wchar_t/
4021         13650.cc: Likewise.
4022         * testsuite/experimental/string_view/operations/copy/char/1.cc:
4023         Likewise.
4024         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
4025         Likewise.
4026         * testsuite/experimental/string_view/operations/data/char/1.cc:
4027         Likewise.
4028         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
4029         Likewise.
4030         * testsuite/experimental/string_view/operations/find/char/1.cc:
4031         Likewise.
4032         * testsuite/experimental/string_view/operations/find/char/2.cc:
4033         Likewise.
4034         * testsuite/experimental/string_view/operations/find/char/3.cc:
4035         Likewise.
4036         * testsuite/experimental/string_view/operations/find/char/4.cc:
4037         Likewise.
4038         * testsuite/experimental/string_view/operations/find/wchar_t/1.cc:
4039         Likewise.
4040         * testsuite/experimental/string_view/operations/find/wchar_t/2.cc:
4041         Likewise.
4042         * testsuite/experimental/string_view/operations/find/wchar_t/3.cc:
4043         Likewise.
4044         * testsuite/experimental/string_view/operations/find/wchar_t/4.cc:
4045         Likewise.
4046         * testsuite/experimental/string_view/operations/rfind/char/1.cc:
4047         Likewise.
4048         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
4049         Likewise.
4050         * testsuite/experimental/string_view/operations/rfind/char/3.cc:
4051         Likewise.
4052         * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc:
4053         Likewise.
4054         * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc:
4055         Likewise.
4056         * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc:
4057         Likewise.
4058         * testsuite/experimental/string_view/operations/substr/char/1.cc:
4059         Likewise.
4060         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
4061         Likewise.
4062         * testsuite/experimental/string_view/operations/to_string/1.cc:
4063         Likewise.
4064         * testsuite/experimental/string_view/operators/char/2.cc: Likewise.
4065         * testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise.
4066         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
4067         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
4068         * testsuite/experimental/vector/erasure.cc: Likewise.
4069         * testsuite/ext/array_allocator/1.cc: Likewise.
4070         * testsuite/ext/array_allocator/2.cc: Likewise.
4071         * testsuite/ext/array_allocator/3.cc: Likewise.
4072         * testsuite/ext/array_allocator/variadic_construct.cc: Likewise.
4073         * testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
4074         * testsuite/ext/codecvt/1.cc: Likewise.
4075         * testsuite/ext/codecvt/char-1.cc: Likewise.
4076         * testsuite/ext/codecvt/char-2.cc: Likewise.
4077         * testsuite/ext/codecvt/wchar_t.cc: Likewise.
4078         * testsuite/ext/enc_filebuf/char/13189.cc: Likewise.
4079         * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
4080         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
4081         * testsuite/ext/ext_pointer/1.cc: Likewise.
4082         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
4083         * testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
4084         * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: Likewise.
4085         * testsuite/ext/mt_allocator/tune-1.cc: Likewise.
4086         * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
4087         * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
4088         * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
4089         * testsuite/ext/mt_allocator/variadic_construct.cc: Likewise.
4090         * testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
4091         * testsuite/ext/pod_char_traits.cc: Likewise.
4092         * testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
4093         * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
4094         * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
4095         * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
4096         Likewise.
4097         * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
4098         Likewise.
4099         * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
4100         Likewise.
4101         * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
4102         * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
4103         * testsuite/ext/random/beta_distribution/operators/equal.cc: Likewise.
4104         * testsuite/ext/random/beta_distribution/operators/inequal.cc: Likewise.
4105         * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
4106         * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
4107         * testsuite/ext/random/hoyt_distribution/operators/equal.cc: Likewise.
4108         * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: Likewise.
4109         * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
4110         Likewise.
4111         * testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
4112         Likewise.
4113         * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
4114         Likewise.
4115         * testsuite/ext/random/hypergeometric_distribution/operators/
4116         equal.cc: Likewise.
4117         * testsuite/ext/random/hypergeometric_distribution/operators/
4118         inequal.cc: Likewise.
4119         * testsuite/ext/random/hypergeometric_distribution/operators/
4120         serialize.cc: Likewise.
4121         * testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
4122         * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
4123         * testsuite/ext/random/k_distribution/operators/equal.cc: Likewise.
4124         * testsuite/ext/random/k_distribution/operators/inequal.cc: Likewise.
4125         * testsuite/ext/random/k_distribution/operators/serialize.cc: Likewise.
4126         * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
4127         * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
4128         * testsuite/ext/random/logistic_distribution/operators/equal.cc:
4129         Likewise.
4130         * testsuite/ext/random/logistic_distribution/operators/inequal.cc:
4131         Likewise.
4132         * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
4133         Likewise.
4134         * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
4135         * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
4136         * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
4137         Likewise.
4138         * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
4139         Likewise.
4140         * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
4141         Likewise.
4142         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
4143         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
4144         * testsuite/ext/random/normal_mv_distribution/operators/equal.cc:
4145         Likewise.
4146         * testsuite/ext/random/normal_mv_distribution/operators/inequal.cc:
4147         Likewise.
4148         * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
4149         * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
4150         * testsuite/ext/random/pareto_distribution/operators/equal.cc: Likewise.
4151         * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
4152         Likewise.
4153         * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
4154         Likewise.
4155         * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
4156         * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
4157         * testsuite/ext/random/rice_distribution/operators/equal.cc: Likewise.
4158         * testsuite/ext/random/rice_distribution/operators/inequal.cc: Likewise.
4159         * testsuite/ext/random/rice_distribution/operators/serialize.cc:
4160         Likewise.
4161         * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
4162         default.cc: Likewise.
4163         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
4164         equal.cc: Likewise.
4165         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
4166         inequal.cc: Likewise.
4167         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
4168         serialize.cc: Likewise.
4169         * testsuite/ext/random/triangular_distribution/cons/default.cc:
4170         Likewise.
4171         * testsuite/ext/random/triangular_distribution/cons/parms.cc: Likewise.
4172         * testsuite/ext/random/triangular_distribution/operators/equal.cc:
4173         Likewise.
4174         * testsuite/ext/random/triangular_distribution/operators/inequal.cc:
4175         Likewise.
4176         * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
4177         Likewise.
4178         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4179         equal.cc: Likewise.
4180         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4181         generate.cc: Likewise.
4182         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4183         inequal.cc: Likewise.
4184         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4185         serialize.cc: Likewise.
4186         * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise.
4187         * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
4188         * testsuite/ext/random/von_mises_distribution/operators/equal.cc:
4189         Likewise.
4190         * testsuite/ext/random/von_mises_distribution/operators/inequal.cc:
4191         Likewise.
4192         * testsuite/ext/rope/2.cc: Likewise.
4193         * testsuite/ext/rope/3.cc: Likewise.
4194         * testsuite/ext/rope/4.cc: Likewise.
4195         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
4196         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
4197         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise.
4198         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
4199         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
4200         * testsuite/ext/stdio_filebuf/char/10063-1.cc: Likewise.
4201         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
4202         * testsuite/ext/stdio_filebuf/char/10063-3.cc: Likewise.
4203         * testsuite/ext/stdio_filebuf/char/2.cc: Likewise.
4204         * testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.
4205         * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise.
4206         * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise.
4207         * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise.
4208         * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise.
4209         * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
4210         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
4211         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise.
4212         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise.
4213         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise.
4214         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise.
4215         * testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
4216         * testsuite/ext/type_traits/add_unsigned.cc: Likewise.
4217         * testsuite/ext/type_traits/remove_unsigned.cc: Likewise.
4218         * testsuite/ext/vstring/capacity/29134.cc: Likewise.
4219         * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
4220         * testsuite/ext/vstring/cons/58415-1.cc: Likewise.
4221         * testsuite/ext/vstring/cons/moveable.cc: Likewise.
4222         * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
4223         * testsuite/ext/vstring/element_access/char/front_back.cc: Likewise.
4224         * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
4225         * testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise.
4226         * testsuite/ext/vstring/hash/char/1.cc: Likewise.
4227         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
4228         * testsuite/ext/vstring/init-list.cc: Likewise.
4229         * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
4230         * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise.
4231         * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Likewise.
4232         * testsuite/ext/vstring/modifiers/pop_back/char/1.cc: Likewise.
4233         * testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc: Likewise.
4234         * testsuite/ext/vstring/operators/1.cc: Likewise.
4235         * testsuite/ext/vstring/operators/2.cc: Likewise.
4236
4237 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
4238
4239         PR libstdc++/65122
4240         * include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
4241         aligned_alloc for types with extended alignment if available,
4242         otherwise throw bad_alloc if malloc doesn't return a suitable value.
4243         * include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
4244         (bitmap_allocator::deallocate): Use aligned new/delete for types with
4245         extended alignment.
4246         * include/ext/mt_allocator.h (__mt_alloc::allocate)
4247         (__mt_alloc::deallocate): Likewise.
4248         * include/ext/new_allocator.h (new_allocator::allocate)
4249         (new_allocator::deallocate): Likewise.
4250         * include/ext/pool_allocator.h (__pool_alloc::allocate)
4251         (__pool_alloc::deallocate): Likewise.
4252         * testsuite/20_util/allocator/overaligned.cc: New test.
4253         * testsuite/ext/bitmap_allocator/overaligned.cc: New test.
4254         * testsuite/ext/malloc_allocator/overaligned.cc: New test.
4255         * testsuite/ext/mt_allocator/overaligned.cc: New test.
4256         * testsuite/ext/new_allocator/overaligned.cc: New test.
4257         * testsuite/ext/pool_allocator/overaligned.cc: New test.
4258
4259 2016-10-14  Tim Shen  <timshen@google.com>
4260
4261         PR libstdc++/77944
4262         * include/std/variant: Include <bits/funcexcept.h> for __try and
4263         __catch.
4264
4265 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
4266
4267         * include/std/functional (_Reference_wrapper_base_impl): Remove.
4268         (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
4269         (_Reference_wrapper_base): Inherit from new helpers.
4270
4271 2016-10-13  Paolo Carlini  <paolo.carlini@oracle.com>
4272
4273         * testsuite/24_iterators/container_access.cc: Remove 'test' variables.
4274         * testsuite/24_iterators/istream_iterator/2.cc: Likewise.
4275         * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
4276         * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
4277         * testsuite/24_iterators/operations/next.cc: Likewise.
4278         * testsuite/24_iterators/operations/prev.cc: Likewise.
4279         * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
4280         * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
4281         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
4282         * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
4283         * testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
4284         * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
4285         * testsuite/25_algorithms/all_of/1.cc: Likewise.
4286         * testsuite/25_algorithms/any_of/1.cc: Likewise.
4287         * testsuite/25_algorithms/binary_search/2.cc: Likewise.
4288         * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
4289         * testsuite/25_algorithms/clamp/1.cc: Likewise.
4290         * testsuite/25_algorithms/clamp/2.cc: Likewise.
4291         * testsuite/25_algorithms/copy/1.cc: Likewise.
4292         * testsuite/25_algorithms/copy/2.cc: Likewise.
4293         * testsuite/25_algorithms/copy/3.cc: Likewise.
4294         * testsuite/25_algorithms/copy/34595.cc: Likewise.
4295         * testsuite/25_algorithms/copy/4.cc: Likewise.
4296         * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
4297         * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
4298         * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
4299         * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
4300         * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
4301         * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
4302         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
4303         Likewise.
4304         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
4305         Likewise.
4306         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
4307         Likewise.
4308         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
4309         Likewise.
4310         * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
4311         * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
4312         * testsuite/25_algorithms/copy_n/1.cc: Likewise.
4313         * testsuite/25_algorithms/copy_n/2.cc: Likewise.
4314         * testsuite/25_algorithms/copy_n/3.cc: Likewise.
4315         * testsuite/25_algorithms/copy_n/4.cc: Likewise.
4316         * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
4317         * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
4318         * testsuite/25_algorithms/equal_range/2.cc: Likewise.
4319         * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
4320         * testsuite/25_algorithms/fill/1.cc: Likewise.
4321         * testsuite/25_algorithms/fill/2.cc: Likewise.
4322         * testsuite/25_algorithms/fill/3.cc: Likewise.
4323         * testsuite/25_algorithms/fill/4.cc: Likewise.
4324         * testsuite/25_algorithms/fill_n/1.cc: Likewise.
4325         * testsuite/25_algorithms/find/39546.cc: Likewise.
4326         * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
4327         * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
4328         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
4329         Likewise.
4330         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
4331         Likewise.
4332         * testsuite/25_algorithms/find_if/1.cc: Likewise.
4333         * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
4334         * testsuite/25_algorithms/for_each/1.cc: Likewise.
4335         * testsuite/25_algorithms/heap/1.cc: Likewise.
4336         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
4337         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
4338         * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
4339         * testsuite/25_algorithms/includes/1.cc: Likewise.
4340         * testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
4341         * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
4342         * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
4343         * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
4344         * testsuite/25_algorithms/is_heap/1.cc: Likewise.
4345         * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
4346         * testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
4347         * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
4348         * testsuite/25_algorithms/is_permutation/2.cc: Likewise.
4349         * testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
4350         * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
4351         * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
4352         * testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
4353         * testsuite/25_algorithms/lower_bound/2.cc: Likewise.
4354         * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
4355         * testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
4356         * testsuite/25_algorithms/max/1.cc: Likewise.
4357         * testsuite/25_algorithms/max/2.cc: Likewise.
4358         * testsuite/25_algorithms/max/3.cc: Likewise.
4359         * testsuite/25_algorithms/max/37547.cc: Likewise.
4360         * testsuite/25_algorithms/max/4.cc: Likewise.
4361         * testsuite/25_algorithms/min/1.cc: Likewise.
4362         * testsuite/25_algorithms/min/2.cc: Likewise.
4363         * testsuite/25_algorithms/min/3.cc: Likewise.
4364         * testsuite/25_algorithms/min/37547.cc: Likewise.
4365         * testsuite/25_algorithms/min/4.cc: Likewise.
4366         * testsuite/25_algorithms/minmax/1.cc: Likewise.
4367         * testsuite/25_algorithms/minmax/2.cc: Likewise.
4368         * testsuite/25_algorithms/minmax/3.cc: Likewise.
4369         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
4370         * testsuite/25_algorithms/minmax_element/1.cc: Likewise.
4371         * testsuite/25_algorithms/move/1.cc: Likewise.
4372         * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
4373         * testsuite/25_algorithms/move_backward/1.cc: Likewise.
4374         * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
4375         * testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
4376         * testsuite/25_algorithms/none_of/1.cc: Likewise.
4377         * testsuite/25_algorithms/nth_element/1.cc: Likewise.
4378         * testsuite/25_algorithms/nth_element/2.cc: Likewise.
4379         * testsuite/25_algorithms/nth_element/3.cc: Likewise.
4380         * testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
4381         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
4382         * testsuite/25_algorithms/partial_sort/2.cc: Likewise.
4383         * testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
4384         Likewise.
4385         * testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
4386         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
4387         * testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
4388         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
4389         * testsuite/25_algorithms/partition/1.cc: Likewise.
4390         * testsuite/25_algorithms/partition/moveable.cc: Likewise.
4391         * testsuite/25_algorithms/partition_copy/1.cc: Likewise.
4392         * testsuite/25_algorithms/partition_point/1.cc: Likewise.
4393         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
4394         * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
4395         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
4396         * testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
4397         * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
4398         * testsuite/25_algorithms/rotate/1.cc: Likewise.
4399         * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
4400         * testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
4401         * testsuite/25_algorithms/rotate/rotate.cc: Likewise.
4402         * testsuite/25_algorithms/search/1.cc: Likewise.
4403         * testsuite/25_algorithms/search_n/58358.cc: Likewise.
4404         * testsuite/25_algorithms/shuffle/1.cc: Likewise.
4405         * testsuite/25_algorithms/sort/1.cc: Likewise.
4406         * testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
4407         * testsuite/25_algorithms/sort/moveable.cc: Likewise.
4408         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
4409         * testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
4410         * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
4411         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
4412         * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
4413         * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
4414         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
4415         * testsuite/25_algorithms/stable_sort/2.cc: Likewise.
4416         * testsuite/25_algorithms/stable_sort/3.cc: Likewise.
4417         * testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
4418         * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
4419         Likewise.
4420         * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
4421         * testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
4422         * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
4423         * testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
4424         * testsuite/25_algorithms/unique/11480.cc: Likewise.
4425         * testsuite/25_algorithms/unique/2.cc: Likewise.
4426         * testsuite/25_algorithms/unique/moveable.cc: Likewise.
4427         * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
4428         * testsuite/25_algorithms/unique_copy/2.cc: Likewise.
4429         * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
4430         * testsuite/25_algorithms/upper_bound/2.cc: Likewise.
4431         * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
4432         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
4433         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
4434         Likewise.
4435         * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
4436         Likewise.
4437         * testsuite/28_regex/algorithms/regex_match/basic/
4438         string_range_00_03.cc: Likewise.
4439         * testsuite/28_regex/algorithms/regex_match/basic/
4440         string_range_01_03.cc: Likewise.
4441         * testsuite/28_regex/algorithms/regex_match/basic/
4442         string_range_02_03.cc: Likewise.
4443         * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
4444         Likewise.
4445         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
4446         Likewise.
4447         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
4448         Likewise.
4449         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
4450         Likewise.
4451         * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
4452         Likewise.
4453         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
4454         Likewise.
4455         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
4456         Likewise.
4457         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
4458         Likewise.
4459         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
4460         Likewise.
4461         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
4462         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
4463         Likewise.
4464         * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
4465         Likewise.
4466         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
4467         Likewise.
4468         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
4469         anymatcher.cc: Likewise.
4470         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
4471         Likewise.
4472         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
4473         Likewise.
4474         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
4475         Likewise.
4476         * testsuite/28_regex/algorithms/regex_match/extended/
4477         cstring_questionmark.cc: Likewise.
4478         * testsuite/28_regex/algorithms/regex_match/extended/
4479         cstring_range.cc: Likewise.
4480         * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
4481         Likewise.
4482         * testsuite/28_regex/algorithms/regex_match/extended/
4483         string_range_00_03.cc: Likewise.
4484         * testsuite/28_regex/algorithms/regex_match/extended/
4485         string_range_01_03.cc: Likewise.
4486         * testsuite/28_regex/algorithms/regex_match/extended/
4487         string_range_02_03.cc: Likewise.
4488         * testsuite/28_regex/algorithms/regex_match/extended/
4489         wstring_locale.cc: Likewise.
4490         * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
4491         Likewise.
4492         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
4493         * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
4494         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
4495         Likewise.
4496         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
4497         Likewise.
4498         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
4499         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
4500         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
4501         Likewise.
4502         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
4503         * testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
4504         * testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
4505         * testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
4506         * testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
4507         * testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
4508         * testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
4509         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
4510         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
4511         * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
4512         * testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
4513         * testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
4514         * testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
4515         * testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
4516         Likewise.
4517         * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
4518         Likewise.
4519         * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
4520         * testsuite/28_regex/basic_regex/ctors/extended/
4521         string_range_01_02_03.cc: Likewise.
4522         * testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
4523         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
4524         * testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
4525         * testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
4526         * testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
4527         * testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
4528         * testsuite/28_regex/constants/error_type.cc: Likewise.
4529         * testsuite/28_regex/constants/match_flag_type.cc: Likewise.
4530         * testsuite/28_regex/init-list.cc: Likewise.
4531         * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
4532         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
4533         Likewise.
4534         * testsuite/28_regex/iterators/regex_iterator/char/
4535         string_position_01.cc
4536         * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
4537         Likewise.
4538         * testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
4539         default.cc: Likewise.
4540         * testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
4541         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
4542         Likewise.
4543         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
4544         Likewise.
4545         * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
4546         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
4547         Likewise.
4548         * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
4549         default.cc: Likewise.
4550         * testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
4551         default.cc: Likewise.
4552         * testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
4553         Likewise.
4554         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4555         string_01.cc: Likewise.
4556         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4557         wstring_02.cc: Likewise.
4558         * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
4559         * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
4560         * testsuite/28_regex/match_results/format.cc: Likewise.
4561         * testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
4562         * testsuite/28_regex/match_results/swap.cc: Likewise.
4563         * testsuite/28_regex/match_results/typedefs.cc: Likewise.
4564         * testsuite/28_regex/regex_error/regex_error.cc: Likewise.
4565         * testsuite/28_regex/regression.cc: Likewise.
4566         * testsuite/28_regex/sub_match/cast_char.cc: Likewise.
4567         * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
4568         * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
4569         * testsuite/28_regex/sub_match/length.cc: Likewise.
4570         * testsuite/28_regex/traits/char/ctor.cc: Likewise.
4571         * testsuite/28_regex/traits/char/isctype.cc: Likewise.
4572         * testsuite/28_regex/traits/char/length.cc: Likewise.
4573         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
4574         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
4575         * testsuite/28_regex/traits/char/transform.cc: Likewise.
4576         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
4577         * testsuite/28_regex/traits/char/translate.cc: Likewise.
4578         * testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
4579         * testsuite/28_regex/traits/char/user_defined.cc: Likewise.
4580         * testsuite/28_regex/traits/char/value.cc: Likewise.
4581         * testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
4582         * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
4583         * testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
4584         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
4585         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
4586         * testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
4587         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
4588         * testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
4589         * testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
4590         * testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
4591         * testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
4592         * testsuite/29_atomics/atomic/60658.cc: Likewise.
4593         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
4594         * testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
4595         * testsuite/backward/11460.cc: Likewise.
4596         * testsuite/backward/hash_map/1.cc: Likewise.
4597         * testsuite/backward/hash_map/25896.cc: Likewise.
4598         * testsuite/backward/hash_set/1.cc: Likewise.
4599         * testsuite/backward/hash_set/25896.cc: Likewise.
4600         * testsuite/decimal/binary-arith.cc: Likewise.
4601         * testsuite/decimal/comparison.cc: Likewise.
4602         * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
4603         * testsuite/decimal/compound-assignment.cc: Likewise.
4604         * testsuite/decimal/conversion-from-float.cc: Likewise.
4605         * testsuite/decimal/conversion-from-integral.cc: Likewise.
4606         * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
4607         * testsuite/decimal/conversion-to-integral.cc: Likewise.
4608         * testsuite/decimal/ctor.cc: Likewise.
4609         * testsuite/decimal/incdec-memfunc.cc: Likewise.
4610         * testsuite/decimal/incdec.cc: Likewise.
4611         * testsuite/decimal/make-decimal.cc: Likewise.
4612         * testsuite/decimal/pr54036-1.cc: Likewise.
4613         * testsuite/decimal/pr54036-2.cc: Likewise.
4614         * testsuite/decimal/pr54036-3.cc: Likewise.
4615         * testsuite/decimal/unary-arith.cc: Likewise.
4616         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
4617         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
4618         Likewise.
4619         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
4620         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
4621         Likewise.
4622         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
4623         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
4624         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
4625         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
4626         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
4627         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
4628         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
4629         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
4630         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
4631         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
4632         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
4633         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
4634         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
4635         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
4636         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
4637         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
4638         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
4639         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
4640         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
4641         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
4642         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
4643         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
4644         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
4645         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
4646         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
4647         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
4648         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
4649         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
4650         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
4651         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
4652         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
4653         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
4654         * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
4655         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
4656         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
4657         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
4658         * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
4659         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
4660         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
4661         * testsuite/tr2/bases/value.cc: Likewise.
4662         * testsuite/tr2/direct_bases/value.cc: Likewise.
4663         * testsuite/util/debug/checks.h: Likewise.
4664         * testsuite/util/debug/unordered_checks.h: Likewise.
4665         * testsuite/util/testsuite_allocator.h: Likewise.
4666         * testsuite/util/testsuite_api.h: Likewise.
4667         * testsuite/util/testsuite_common_types.h: Likewise.
4668         * testsuite/util/testsuite_random.h: Likewise.
4669         * testsuite/util/testsuite_rvalref.h: Likewise.
4670
4671 2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
4672
4673         * include/bits/shared_ptr_base.h: Include <functional>.
4674         [!__cpp_rtti]: Do not include <typeinfo>.
4675         * include/experimental/array: Do not include <functional>.
4676         * include/experimental/memory: Include <bits/functional_hash.h>
4677         instead of <functional>.
4678         * include/experimental/propagate_const: Include <bits/stl_function.h>,
4679         <bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
4680         * include/experimental/tuple: Do not include <functional>.
4681         * include/std/future: Include <functional>.
4682         * include/std/memory: Do not include <functional>.
4683         * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
4684         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
4685         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
4686         missing includes.
4687         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4688         * testsuite/20_util/specialized_algorithms/memory_management_tools/
4689         1.cc: Likewise.
4690         * testsuite/30_threads/call_once/60497.cc: Likewise.
4691         * testsuite/30_threads/lock/2.cc: Likewise.
4692         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
4693         * testsuite/experimental/algorithm/sample.cc: Likewise.
4694         * testsuite/experimental/array/make_array.cc: Likewise.
4695         * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
4696         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
4697         Adjust dg-error lines.
4698         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
4699         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
4700         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
4701         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
4702         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
4703
4704         * testsuite/experimental/algorithm/sample.cc: Add missing header.
4705
4706         * include/experimental/propagate_const (element_type): Qualify
4707         declval.
4708
4709         * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
4710         instead of assert.
4711
4712         * include/experiumental/functional (boyer_moore_searcher)
4713         (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
4714         with _GLIBCXX_STD_C.
4715         * include/std/functional: Likewise.
4716
4717         * include/std/chrono (floor): Replace non-constexpr operation.
4718         * testsuite/20_util/duration_cast/rounding.cc: Test conversion to
4719         durations with floating pointer representations.
4720
4721         * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
4722         (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
4723
4724         * include/std/functional (_Bind_simple, _Bind_simple_helper)
4725         (__bind_simple): Remove.
4726         * include/std/future: Include <bits/invoke.h> instead of <functional>.
4727         (__future_base::_Task_state::_M_run)
4728         (__future_base::_Task_state::_M_run_delayed): Use lambda expressions
4729         instead of __bind_simple.
4730         (__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
4731         (async): Use thread::__make_invoker instead of __bind_simple.
4732         * include/std/thread: Include <tuple> and <bits/invoke.h> instead of
4733         <functional>.
4734         (thread::_Invoker, thread::__make_invoker): Define helpers to do
4735         INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
4736
4737         * include/std/functional (_Not_fn): Make exception specifications
4738         depend on whether negating the result can throw.
4739         * testsuite/20_util/not_fn/1.cc: Move to ...
4740         * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
4741         for types that can throw when negated and that cannot be negated.
4742
4743         * include/bits/invoke.h (__invoke): Fix exception-specification.
4744         * include/std/functional (invoke): Likewise.
4745         * testsuite/20_util/function_objects/invoke/1.cc: New test.
4746
4747 2016-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
4748
4749         * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
4750         __builtin_printf and __builtin_abort.
4751         * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
4752         * scripts/testsuite_flags.in: Likewise.
4753         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
4754         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
4755         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
4756         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
4757         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
4758         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
4759         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
4760         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
4761         * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
4762         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
4763         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
4764         Likewise.
4765         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
4766         Likewise.
4767         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
4768         Likewise.
4769         * testsuite/27_io/objects/char/7.cc: Likewise.
4770         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
4771         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
4772         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
4773         * testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
4774         * testsuite/18_support/bad_alloc/what.cc: Likewise.
4775         * testsuite/18_support/bad_cast/what.cc: Likewise.
4776         * testsuite/18_support/bad_exception/what.cc: Likewise.
4777         * testsuite/18_support/bad_typeid/what.cc: Likewise.
4778         * testsuite/18_support/exception/38732.cc: Likewise.
4779         * testsuite/18_support/exception/what.cc: Likewise.
4780         * testsuite/18_support/exception_ptr/64241.cc: Likewise.
4781         * testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
4782         * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
4783         * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
4784         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
4785         * testsuite/18_support/nested_exception/cons.cc: Likewise.
4786         * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
4787         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
4788         * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
4789         * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
4790         * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
4791         * testsuite/18_support/numeric_limits/digits10.cc: Likewise.
4792         * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
4793         * testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
4794         * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
4795         * testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
4796         * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
4797         * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
4798         * testsuite/18_support/numeric_limits/min_max.cc: Likewise.
4799         * testsuite/18_support/numeric_limits/specialization_default_values.cc:
4800         Likewise.
4801         * testsuite/18_support/type_info/hash_code.cc: Likewise.
4802         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
4803         * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
4804         * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
4805         * testsuite/19_diagnostics/error_category/operators/
4806         not_equal.cc: Likewise.
4807         * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
4808         * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
4809         * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
4810         * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
4811         * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
4812         * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
4813         * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
4814         * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
4815         * testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
4816         Likewise.
4817         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
4818         * testsuite/19_diagnostics/error_condition/operators/equal.cc:
4819         Likewise.
4820         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
4821         Likewise.
4822         * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
4823         * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
4824         * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
4825         * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
4826         * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
4827         * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
4828         * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
4829         * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
4830         * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
4831         * testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
4832         * testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
4833         * testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
4834         * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
4835         * testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
4836         * testsuite/20_util/addressof/1.cc: Likewise.
4837         * testsuite/20_util/align/1.cc: Likewise.
4838         * testsuite/20_util/align/2.cc: Likewise.
4839         * testsuite/20_util/allocator/1.cc: Likewise.
4840         * testsuite/20_util/allocator/10378.cc: Likewise.
4841         * testsuite/20_util/allocator/8230.cc: Likewise.
4842         * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
4843         Likewise.
4844         * testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
4845         * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
4846         * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
4847         * testsuite/20_util/any/assign/exception.cc: Likewise.
4848         * testsuite/20_util/auto_ptr/1.cc: Likewise.
4849         * testsuite/20_util/auto_ptr/2.cc: Likewise.
4850         * testsuite/20_util/auto_ptr/3.cc: Likewise.
4851         * testsuite/20_util/auto_ptr/4.cc: Likewise.
4852         * testsuite/20_util/auto_ptr/5.cc: Likewise.
4853         * testsuite/20_util/auto_ptr/6.cc: Likewise.
4854         * testsuite/20_util/auto_ptr/7.cc: Likewise.
4855         * testsuite/20_util/bind/all_bound.cc: Likewise.
4856         * testsuite/20_util/bind/conv_result.cc: Likewise.
4857         * testsuite/20_util/bind/cv_quals.cc: Likewise.
4858         * testsuite/20_util/bind/cv_quals_2.cc
4859         * testsuite/20_util/bind/nested.cc: Likewise.
4860         * testsuite/20_util/bind/placeholders.cc: Likewise.
4861         * testsuite/20_util/bind/ref.cc: Likewise.
4862         * testsuite/20_util/bind/ref2.cc: Likewise.
4863         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
4864         * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
4865         * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
4866         * testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
4867         * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
4868         * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
4869         * testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
4870         * testsuite/20_util/duration/cons/1.cc: Likewise.
4871         * testsuite/20_util/duration/cons/2.cc: Likewise.
4872         * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
4873         * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
4874         * testsuite/20_util/enable_shared_from_this/members/assign.cc:
4875         Likewise.
4876         * testsuite/20_util/exchange/1.cc: Likewise.
4877         * testsuite/20_util/forward/a.cc: Likewise.
4878         * testsuite/20_util/forward/b.cc: Likewise.
4879         * testsuite/20_util/forward/d.cc: Likewise.
4880         * testsuite/20_util/function/1.cc: Likewise.
4881         * testsuite/20_util/function/2.cc: Likewise.
4882         * testsuite/20_util/function/3.cc: Likewise.
4883         * testsuite/20_util/function/4.cc: Likewise.
4884         * testsuite/20_util/function/43397.cc: Likewise.
4885         * testsuite/20_util/function/5.cc: Likewise.
4886         * testsuite/20_util/function/6.cc: Likewise.
4887         * testsuite/20_util/function/7.cc: Likewise.
4888         * testsuite/20_util/function/8.cc: Likewise.
4889         * testsuite/20_util/function/9.cc: Likewise.
4890         * testsuite/20_util/function/assign/move.cc: Likewise.
4891         * testsuite/20_util/function/cons/move.cc: Likewise.
4892         * testsuite/20_util/function_objects/dr660.cc: Likewise.
4893         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
4894         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
4895         * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
4896         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
4897         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
4898         * testsuite/20_util/hash/operators/size_t.cc: Likewise.
4899         * testsuite/20_util/hash/quality.cc: Likewise.
4900         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
4901         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
4902         * testsuite/20_util/is_function/24808.cc: Likewise.
4903         * testsuite/20_util/is_object/24808.cc: Likewise.
4904         * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
4905         * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
4906         * testsuite/20_util/owner_less/cmp.cc: Likewise.
4907         * testsuite/20_util/pair/1.cc: Likewise.
4908         * testsuite/20_util/pair/2.cc: Likewise.
4909         * testsuite/20_util/pair/3.cc: Likewise.
4910         * testsuite/20_util/pair/4.cc: Likewise.
4911         * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
4912         * testsuite/20_util/pair/moveable.cc: Likewise.
4913         * testsuite/20_util/pair/piecewise.cc: Likewise.
4914         * testsuite/20_util/pair/swap.cc: Likewise.
4915         * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
4916         * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
4917         * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
4918         * testsuite/20_util/ratio/cons/cons1.cc: Likewise.
4919         * testsuite/20_util/ratio/operations/45866.cc: Likewise.
4920         * testsuite/20_util/ratio/operations/47913.cc: Likewise.
4921         * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
4922         * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
4923         * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
4924         * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
4925         * testsuite/20_util/scoped_allocator/1.cc: Likewise.
4926         * testsuite/20_util/scoped_allocator/2.cc: Likewise.
4927         * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
4928         * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
4929         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
4930         * testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
4931         * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
4932         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
4933         Likewise.
4934         * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
4935         * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
4936         * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
4937         * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
4938         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
4939         * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
4940         * testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
4941         * testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
4942         * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
4943         * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
4944         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
4945         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
4946         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
4947         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
4948         Likewise.
4949         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
4950         Likewise.
4951         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
4952         * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
4953         * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
4954         * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
4955         * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
4956         * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
4957         * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
4958         * testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
4959         * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
4960         * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
4961         * testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
4962         * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
4963         * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
4964         * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
4965         * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
4966         * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
4967         * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
4968         * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
4969         * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
4970         * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
4971         * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
4972         * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
4973         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
4974         Likewise.
4975         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4976         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
4977         move_iterators/1.cc: Likewise.
4978         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
4979         move_iterators/1.cc: Likewise.
4980         * testsuite/20_util/temporary_buffer.cc: Likewise.
4981         * testsuite/20_util/time_point/1.cc: Likewise.
4982         * testsuite/20_util/time_point/2.cc: Likewise.
4983         * testsuite/20_util/time_point/3.cc: Likewise.
4984         * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
4985         * testsuite/20_util/tuple/48476.cc: Likewise.
4986         * testsuite/20_util/tuple/comparison_operators/comparisons.cc:
4987         Likewise.
4988         * testsuite/20_util/tuple/cons/allocators.cc: Likewise.
4989         * testsuite/20_util/tuple/cons/assignment.cc: Likewise.
4990         * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
4991         * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
4992         * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
4993         * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
4994         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
4995         * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
4996         Likewise.
4997         * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
4998         * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
4999         * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
5000         * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
5001         * testsuite/20_util/tuple/element_access/get.cc: Likewise.
5002         * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
5003         * testsuite/20_util/tuple/moveable.cc: Likewise.
5004         * testsuite/20_util/tuple/swap.cc: Likewise.
5005         * testsuite/20_util/tuple/tuple_size.cc: Likewise.
5006         * testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
5007         * testsuite/20_util/typeindex/hash.cc: Likewise.
5008         * testsuite/20_util/typeindex/hash_code.cc: Likewise.
5009         * testsuite/20_util/typeindex/name.cc: Likewise.
5010         * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
5011         * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
5012         * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
5013         * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
5014         * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
5015         * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
5016         * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
5017         * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
5018         * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
5019         * testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
5020         * testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
5021         * testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
5022         * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
5023         * testsuite/20_util/unique_ptr/specialized_algorithms/
5024         comparisons.cc: Likewise.
5025         * testsuite/20_util/unique_ptr/specialized_algorithms/
5026         comparisons_array.cc: Likewise.
5027         * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
5028         Likewise.
5029         * testsuite/20_util/uses_allocator/construction.cc: Likewise.
5030         * testsuite/20_util/uses_allocator/value.cc: Likewise.
5031         * testsuite/20_util/variant/run.cc: Likewise.
5032         * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
5033         * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
5034         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
5035         Likewise.
5036         * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
5037         * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
5038         Likewise.
5039         * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
5040         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
5041         Likewise.
5042         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
5043         Likewise.
5044         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
5045         Likewise.
5046         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
5047         Likewise.
5048         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
5049         Likewise.
5050         * testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
5051         * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
5052         * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
5053         * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
5054         * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
5055         Likewise.
5056         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
5057         * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
5058         Likewise.
5059         * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
5060         * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
5061         Likewise.
5062         * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
5063         * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
5064         * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
5065         * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
5066         * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
5067         * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
5068         * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
5069         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
5070         * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
5071         * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
5072         * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
5073         * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
5074         * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
5075         * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
5076         * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
5077         * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
5078         * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
5079         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
5080         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
5081         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
5082         * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
5083         * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
5084         Likewise.
5085         * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
5086         * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
5087         * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
5088         * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
5089         * testsuite/21_strings/basic_string/element_access/char/58163.cc:
5090         Likewise.
5091         * testsuite/21_strings/basic_string/element_access/char/empty.cc:
5092         Likewise.
5093         * testsuite/21_strings/basic_string/element_access/char/front_back.cc:
5094         Likewise.
5095         * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
5096         Likewise.
5097         * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
5098         Likewise.
5099         * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
5100         Likewise.
5101         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
5102         Likewise.
5103         * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
5104         Likewise.
5105         * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
5106         Likewise.
5107         * testsuite/21_strings/basic_string/element_access/wchar_t/
5108         front_back.cc: Likewise.
5109         * testsuite/21_strings/basic_string/init-list.cc: Likewise.
5110         * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
5111         Likewise.
5112         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
5113         Likewise.
5114         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
5115         Likewise.
5116         * testsuite/21_strings/basic_string/inserters_extractors/char/
5117         28277.cc: Likewise.
5118         * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
5119         Likewise.
5120         * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
5121         Likewise.
5122         * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
5123         Likewise.
5124         * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
5125         Likewise.
5126         * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
5127         Likewise.
5128         * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
5129         Likewise.
5130         * testsuite/21_strings/basic_string/inserters_extractors/pod/
5131         10081-in.cc: Likewise.
5132         * testsuite/21_strings/basic_string/inserters_extractors/pod/
5133         10081-out.cc: Likewise.
5134         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
5135         Likewise.
5136         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
5137         10.cc: Likewise.
5138         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
5139         11.cc: Likewise.
5140         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
5141         28277.cc: Likewise.
5142         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
5143         Likewise.
5144         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
5145         Likewise.
5146         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
5147         Likewise.
5148         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
5149         Likewise.
5150         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
5151         Likewise.
5152         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
5153         Likewise.
5154         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
5155         Likewise.
5156         * testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
5157         Likewise.
5158         * testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
5159         Likewise.
5160         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
5161         Likewise.
5162         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
5163         Likewise.
5164         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
5165         Likewise.
5166         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
5167         Likewise.
5168         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
5169         Likewise.
5170         * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
5171         Likewise.
5172         * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
5173         Likewise.
5174         * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
5175         Likewise.
5176         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
5177         Likewise.
5178         * testsuite/21_strings/basic_string/modifiers/assign/char/
5179         move_assign.cc: Likewise.
5180         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
5181         Likewise.
5182         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
5183         Likewise.
5184         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
5185         Likewise.
5186         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
5187         Likewise.
5188         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
5189         move_assign.cc: Likewise.
5190         * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
5191         Likewise.
5192         * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
5193         Likewise.
5194         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
5195         Likewise.
5196         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
5197         Likewise.
5198         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
5199         Likewise.
5200         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
5201         Likewise.
5202         * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
5203         Likewise.
5204         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
5205         Likewise.
5206         * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
5207         Likewise.
5208         * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
5209         Likewise.
5210         * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
5211         Likewise.
5212         * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
5213         Likewise.
5214         * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
5215         Likewise.
5216         * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
5217         Likewise.
5218         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
5219         Likewise.
5220         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
5221         Likewise.
5222         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
5223         Likewise.
5224         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
5225         Likewise.
5226         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
5227         Likewise.
5228         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
5229         Likewise.
5230         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
5231         Likewise.
5232         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
5233         Likewise.
5234         * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
5235         Likewise.
5236         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
5237         Likewise.
5238         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
5239         Likewise.
5240         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
5241         Likewise.
5242         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
5243         Likewise.
5244         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
5245         Likewise.
5246         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
5247         Likewise.
5248         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
5249         Likewise.
5250         * testsuite/21_strings/basic_string/numeric_conversions/char/
5251         stoull.cc: Likewise.
5252         * testsuite/21_strings/basic_string/numeric_conversions/char/
5253         to_string.cc: Likewise.
5254         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5255         dr1261.cc: Likewise.
5256         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5257         stod.cc: Likewise.
5258         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5259         stof.cc: Likewise.
5260         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5261         stoi.cc: Likewise.
5262         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5263         stol.cc: Likewise.
5264         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5265         stold.cc: Likewise.
5266         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5267         stoll.cc: Likewise.
5268         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5269         stoul.cc: Likewise.
5270         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5271         stoull.cc: Likewise.
5272         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5273         to_wstring.cc: Likewise.
5274         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
5275         Likewise.
5276         * testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
5277         Likewise.
5278         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
5279         Likewise.
5280         * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
5281         Likewise.
5282         * testsuite/21_strings/basic_string/operations/compare/wchar_t/
5283         13650.cc: Likewise.
5284         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
5285         Likewise.
5286         * testsuite/21_strings/basic_string/operations/data/char/1.cc:
5287         Likewise.
5288         * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
5289         Likewise.
5290         * testsuite/21_strings/basic_string/operations/find/char/1.cc:
5291         Likewise.
5292         * testsuite/21_strings/basic_string/operations/find/char/2.cc:
5293         Likewise.
5294         * testsuite/21_strings/basic_string/operations/find/char/3.cc:
5295         Likewise.
5296         * testsuite/21_strings/basic_string/operations/find/char/4.cc:
5297         Likewise.
5298         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
5299         Likewise.
5300         * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
5301         Likewise.
5302         * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
5303         Likewise.
5304         * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
5305         Likewise.
5306         * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
5307         Likewise.
5308         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
5309         Likewise.
5310         * testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
5311         Likewise.
5312         * testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
5313         Likewise.
5314         * testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
5315         Likewise.
5316         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
5317         Likewise.
5318         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
5319         Likewise.
5320         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
5321         Likewise.
5322         * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
5323         Likewise.
5324         * testsuite/21_strings/basic_string/operations/substr/wchar_t/
5325         1.cc: Likewise.
5326         * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
5327         * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
5328         * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
5329         * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
5330         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
5331         * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
5332         * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
5333         * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
5334         * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
5335         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
5336         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
5337         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
5338         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
5339         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
5340         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
5341         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
5342         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
5343         * testsuite/21_strings/basic_string_view/element_access/char/
5344         1.cc: Likewise.
5345         * testsuite/21_strings/basic_string_view/element_access/char/
5346         empty.cc: Likewise.
5347         * testsuite/21_strings/basic_string_view/element_access/char/
5348         front_back.cc: Likewise.
5349         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5350         1.cc: Likewise.
5351         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5352         empty.cc: Likewise.
5353         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5354         front_back.cc: Likewise.
5355         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
5356         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
5357         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
5358         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
5359         Likewise.
5360         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
5361         Likewise.
5362         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
5363         Likewise.
5364         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
5365         Likewise.
5366         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5367         char/1.cc: Likewise.
5368         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5369         wchar_t/1.cc: Likewise.
5370         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5371         char/1.cc: Likewise.
5372         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5373         wchar_t/1.cc: Likewise.
5374         * testsuite/21_strings/basic_string_view/operations/compare/char/
5375         1.cc: Likewise.
5376         * testsuite/21_strings/basic_string_view/operations/compare/char/
5377         13650.cc: Likewise.
5378         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5379         1.cc: Likewise.
5380         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5381         13650.cc: Likewise.
5382         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
5383         Likewise.
5384         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
5385         Likewise.
5386         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
5387         Likewise.
5388         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
5389         Likewise.
5390         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
5391         Likewise.
5392         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
5393         Likewise.
5394         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
5395         Likewise.
5396         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
5397         Likewise.
5398         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5399         1.cc: Likewise.
5400         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5401         2.cc: Likewise.
5402         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5403         3.cc: Likewise.
5404         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5405         4.cc: Likewise.
5406         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5407         1.cc: Likewise.
5408         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5409         2.cc: Likewise.
5410         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5411         3.cc: Likewise.
5412         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5413         1.cc: Likewise.
5414         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5415         2.cc: Likewise.
5416         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5417         3.cc: Likewise.
5418         * testsuite/21_strings/basic_string_view/operations/string_conversion/
5419         1.cc: Likewise.
5420         * testsuite/21_strings/basic_string_view/operations/substr/char/
5421         1.cc: Likewise.
5422         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
5423         1.cc: Likewise.
5424         * testsuite/21_strings/basic_string_view/operators/char/2.cc:
5425         Likewise.
5426         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
5427         Likewise.
5428         * testsuite/21_strings/c_strings/char/1.cc: Likewise.
5429         * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
5430         * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
5431         * testsuite/21_strings/char_traits/requirements/char/57704.cc:
5432         Likewise.
5433         * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
5434         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
5435
5436         * doc/xml/manual/test.xml: Fix typo.
5437
5438 2016-10-12  Jonathan Wakely  <jwakely@redhat.com>
5439
5440         * doc/xml/manual/status_cxx2017.xml: Add std::sample status.
5441         * doc/html/*: Regenerate.
5442         * include/experimental/algorithm (__sample): Move to bits/stl_algo.h
5443         and into namespace std.
5444         * include/bits/stl_algo.h (__sample): Define here. Fix invalid use
5445         of input iterator. Defend against overloaded comma operator.
5446         (sample): Define for C++17.
5447         * testsuite/25_algorithms/sample/1.cc: New test.
5448
5449         * testsuite/util/testsuite_common_types.h
5450         (bitwise_assignment_operators): Use direct-initialization for C++11
5451         and later, to avoid CopyConstructible requirement.
5452         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
5453         line numbers.
5454         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
5455         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
5456         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
5457         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
5458         Adjust expected errors and line numbers.
5459
5460         * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
5461         (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
5462
5463         * include/bits/stl_uninitialized.h
5464         (__uninitialized_default_novalue_n_1<true>): Add missing return.
5465         * testsuite/20_util/specialized_algorithms/memory_management_tools/
5466         1.cc: Check return values of uninitialized_xxx_n algorithms.
5467
5468         * libsupc++/nested_exception.h (throw_with_nested): Remove return.
5469
5470         * doc/xml/manual/intro.xml: Document LWG 2442 status.
5471         * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
5472         [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
5473         partial specialization to unpack args and forward to std::invoke.
5474         (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
5475         instead of __bind_simple and __once_call_impl.
5476         (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
5477         __bind_simple.
5478         * testsuite/30_threads/call_once/dr2442.cc: New test.
5479
5480 2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
5481
5482         * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
5483         _M_assign_dispatch directly with correct tag.
5484
5485         * doc/xml/manual/intro.xml: Document LWG 2484 status.
5486         * libsupc++/nested_exception.h (_Throw_with_nested_impl)
5487         (_Throw_with_nested_helper): Remove.
5488         (__throw_with_nested_impl): New overloaded functions to implement
5489         throw_with_nested logic.
5490         (throw_with_nested): Call __throw_with_nested_impl.
5491         (_Rethrow_if_nested_impl): Remove
5492         (__rethrow_if_nested_impl): New overloaded functions to implement
5493         rethrow_if_nested logic.
5494         (rethrow_if_nested): Call __rethrow_if_nested_impl.
5495         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
5496         problem cases from LWG 2484.
5497
5498         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
5499         Register printer for std::__cxx11::list.
5500         * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
5501         std::__cxx11::list as well as std::list.
5502
5503         * include/experimental/string_view (basic_string_view::_S_compare):
5504         Remove redundant const from return type.
5505         * include/std/string_view (basic_string_view:_S_compare): Likewise.
5506
5507         * include/bits/std_mutex.h (mutex::native_handle)
5508         (lock_guard(mutex_type&, adopt_lock_t)
5509         (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
5510         * include/std/mutex (recursive_mutex, timed_mutex)
5511         (recursive_timed_mutex): Likewise.
5512
5513 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5514
5515         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5516         Replace <literallayout> with nested <variablelist> elements. Update
5517         some more outdated text.
5518         * doc/html/*: Regenerate.
5519
5520 2016-10-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
5521
5522         Make any's copy assignment operator exception-safe,
5523         don't copy the underlying value when any is moved,
5524         make in_place constructors explicit.
5525         * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
5526         Make explicit.
5527         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
5528         Likewise.
5529         (operator=(const any&)): Make strongly exception-safe.
5530         (operator=(any&&)): reset() unconditionally in the case where
5531         rhs has a value.
5532         (operator=(_ValueType&&)): Indent the return type.
5533         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
5534         * testsuite/20_util/any/assign/2.cc: Adjust.
5535         * testsuite/20_util/any/assign/exception.cc: New.
5536         * testsuite/20_util/any/cons/2.cc: Adjust.
5537         * testsuite/20_util/any/cons/explicit.cc: New.
5538         * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
5539
5540 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5541
5542         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5543         Describe other subdirectories and add markup. Remove outdated
5544         reference to check-script target.
5545         * doc/html/*: Regenerate.
5546
5547         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
5548
5549         * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
5550         with noexcept.
5551
5552         * include/std/functional (_Bind_result::__enable_if_void): Use alias
5553         template instead of class template.
5554         (_Bind_result::__disable_if_void): Likewise.
5555         (_Bind_result::__call): Adjust uses of __enable_if_void and
5556         __disable_if_void.
5557
5558         * doc/xml/manual/intro.xml: Document DR 2296 status.
5559         * doc/xml/manual/status_cxx2017.xml: Update status.
5560         * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
5561         call __builtin_addressof.
5562         (addressof): Add _GLIBCXX17_CONSTEXPR.
5563         * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
5564         * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
5565         * testsuite/20_util/forward/f_neg.cc: Likewise.
5566
5567         * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
5568         * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
5569         is_always_equal.
5570         * testsuite/util/testsuite_allocator.h
5571         (uneq_allocator::is_always_equal): Define as false_type.
5572
5573         * include/experimental/numeric (gcd, lcm): Make bool arguments
5574         ill-formed.
5575         * include/std/numeric (gcd, lcm): Likewise.
5576         * testsuite/26_numerics/gcd/gcd_neg.cc: New test.
5577         * testsuite/26_numerics/lcm/lcm_neg.cc: New test.
5578
5579         * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
5580         Add noexcept.
5581         * include/bits/shared_ptr_base.h
5582         (__enable_shared_from_this::weak_from_this): Likewise.
5583         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
5584         Test exception-specification of weak_from_this.
5585
5586 2016-10-07  Jonathan Wakely  <jwakely@redhat.com>
5587
5588         * doc/xml/manual/status_cxx1998.xml: Improve documentation of
5589         implementation-defined properties.
5590         * doc/xml/manual/status_cxx2011.xml: Likewise.
5591         * doc/xml/manual/status_cxx2017.xml: Likewise.
5592
5593         * doc/xml/manual/status_cxx2017.xml: Update status.
5594         * include/std/type_traits (has_unique_object_representations): Define.
5595         * testsuite/20_util/has_unique_object_representations/value.cc: New.
5596         * testsuite/20_util/has_unique_object_representations/requirements/
5597         explicit_instantiation.cc: New.
5598         * testsuite/20_util/has_unique_object_representations/requirements/
5599         typedefs.cc: New.
5600
5601 2016-10-06  Jonathan Wakely  <jwakely@redhat.com>
5602
5603         * doc/xml/manual/status_cxx2011.xml: Update status.
5604         * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
5605         New helpers for recursive OUTERMOST.
5606         (__outermost): Use __outermost_type::_S_outermost.
5607         (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
5608         (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
5609         __outermost_type helper.
5610         (scoped_allocator_adaptor::_Constructible): New alias template.
5611         (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
5612         Constrain template constructors.
5613         * testsuite/20_util/scoped_allocator/3.cc: New test.
5614         * testsuite/20_util/scoped_allocator/outermost.cc: New test.
5615
5616 2016-10-05  Jonathan Wakely  <jwakely@redhat.com>
5617
5618         PR libstdc++/70564
5619         * testsuite/20_util/not_fn/1.cc: Fix test.
5620         * testsuite/experimental/functional/not_fn.cc: Likewise.
5621
5622         PR libstdc++/70101
5623         * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
5624         constructors.
5625         * testsuite/23_containers/priority_queue/allocator.cc: New test.
5626
5627         PR libstdc++/77864
5628         * include/bits/stl_map.h (map::map()): Use nothrow constructibility
5629         of comparison function in conditional noexcept.
5630         * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
5631         * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
5632         * include/bits/stl_set.h (set::set()): Likewise.
5633         * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
5634         New test.
5635         * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
5636         Likewise.
5637         * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
5638         Likewise.
5639         * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
5640         Likewise.
5641
5642         * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
5643         alias declaration.
5644
5645         PR libstdc++/70564
5646         * include/experimental/functional (_Not_fn): Remove.
5647         (not_fn): Use std::_Not_fn.
5648         * include/std/functional (_Not_fn): Add second parameter to
5649         disambiguate copying from initialization by not_fn. Define for C++14.
5650         (not_fn): Add second argument to initialization.
5651         * testsuite/20_util/not_fn/1.cc: Copy call wrapper using
5652         direct-initialization.
5653
5654 2016-10-03  François Dumont  <fdumont@gcc.gnu.org>
5655
5656         * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
5657         declaration...
5658         * src/c++11/mutex_pool.h: ... here. New.
5659         * src/c++11/debug.cc: Use latter.
5660
5661 2016-10-03  Jonathan Wakely  <jwakely@redhat.com>
5662
5663         * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
5664         * doc/html/*: Regenerate.
5665         * include/experimental/numeric (__abs): Move to <numeric>.
5666         (gcd, lcm): Use __detail::gcd and __detail::lcm.
5667         * include/std/numeric (__detail::__abs_integral)
5668         (__detail::__gcd, __detail::__lcm): Define.
5669         (gcd, lcm): Define for C++17.
5670         * testsuite/26_numerics/gcd/1.cc: New test.
5671         * testsuite/26_numerics/lcm/1.cc: New test.
5672         * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
5673         * testsuite/experimental/numeric/lcd.cc: ... this.
5674
5675         PR libstdc++/68323
5676         PR libstdc++/77794
5677         * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
5678         __cxa_thread_atexit and __gnu_cxx::__freeres.
5679         * include/Makefile.am: Add <experimental/bits/lfts_config.h>
5680         * include/Makefile.in: Regenerate.
5681         * include.bits/basic_string.h: Fix nesting of versioned namespaces.
5682         * include/bits/c++config: Declare versioned namespaces for literals.
5683         * include/bits/regex.h (basic_regex, match_results): Add workarounds
5684         for PR c++/59256.
5685         * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
5686         * include/std/chrono: Likewise.
5687         * include/std/complex: Likewise.
5688         * include/std/string_view: Likewise.
5689         * include/std/variant: Likewise. Add workaround for PR c++/59256.
5690         * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
5691         * include/experimental/bits/lfts_config.h: Declare versioned
5692         namespaces.
5693         * include/experimental/algorithm: Include
5694         <experimental/bits/lfts_config.h>.
5695         * include/experimental/any: Likewise.
5696         * include/experimental/bits/erase_if.h: Likewise.
5697         * include/experimental/chrono: Likewise.
5698         * include/experimental/functional: Likewise.
5699         * include/experimental/memory_resource: Likewise.
5700         * include/experimental/optional: Likewise.
5701         * include/experimental/propagate_const: Likewise.
5702         * include/experimental/random: Likewise.
5703         * include/experimental/ratio: Likewise.
5704         * include/experimental/system_error: Likewise.
5705         * include/experimental/tuple: Likewise.
5706         * include/experimental/type_traits: Likewise.
5707         * include/experimental/utility: Likewise.
5708         * include/experimental/string_view: Likewise. Fix nesting of
5709         versioned namespaces.
5710         * include/experimental/bits/string_view.tcc: Reopen inline namespace
5711         for non-inline function definitions.
5712         * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
5713         * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
5714         * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
5715         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
5716         Likewise.
5717         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
5718         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
5719         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
5720         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
5721         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
5722         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
5723
5724         PR libstdc++/77814
5725         * include/bits/std_abs.h: Use "C++" language linkage.
5726         * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
5727         the end. Add <stdalign.h>.
5728
5729 2016-10-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
5730
5731         PR libstdc++/77802
5732         * testsuite/20_util/tuple/77802.cc: New.
5733
5734         Revert:
5735         2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5736         Implement LWG 2729 for tuple.
5737         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5738         Suppress conditionally.
5739         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5740         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5741         (_Tuple_impl(const _Head&)): Constrain.
5742         (_Tuple_impl(_UHead&&)): Likewise.
5743         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5744         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5745         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5746         (operator=(const tuple&)): Enable conditionally.
5747         (operator=(tuple&&)): Suppress conditionally.
5748         (operator=(const tuple<_UElements...>&)): Constrain.
5749         (operator=(tuple<_UElements...>&&)): Likewise.
5750         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5751         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5752         (operator=(const tuple<_U1, _U2>&)): Constrain.
5753         (operator=(tuple<_U1, _U2>&&)): Likewise.
5754         (operator=(const pair<_U1, _U2>&)): Likewise.
5755         (operator=(pair<_U1, _U2>&&)): Likewise.
5756         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5757         * testsuite/20_util/tuple/tuple_traits.cc: New.
5758
5759 2016-09-30  Jonathan Wakely  <jwakely@redhat.com>
5760
5761         PR libstdc++/77795
5762         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
5763         for gets.
5764         * config.h.in: Regenerate.
5765         * configure: Regenerate.
5766         * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
5767         for C++98 and C++11.
5768         * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
5769         * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
5770
5771         * doc/xml/manual/intro.xml: Document LWG 2192 changes.
5772         * doc/html/*: Regenerate.
5773         * include/Makefile.am: Add bits/std_abs.h.
5774         * include/Makefile.in: Regenerate.
5775         * include/bits/std_abs.h: New header defining all required overloads
5776         of std::abs in one place (LWG 2294).
5777         * include/c_global/cmath (abs(double), abs(float), abs(long double)):
5778         Move to bits/std_abs.h.
5779         (abs<_Tp>(_Tp)): Remove.
5780         * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
5781         Move to bits/std_abs.h.
5782         * testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
5783         * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
5784         * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
5785         * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.
5786
5787         PR libstdc++/77801
5788         * include/experimental/numeric: Include <numeric>.
5789         (__abs): Define.
5790         (gcd, lcm): Use __abs instead of std::abs.
5791         * testsuite/experimental/numeric/77801.cc: New test.
5792         * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
5793         * testsuite/experimental/numeric/lcm.cc: Likewise.
5794
5795 2016-09-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
5796
5797         Make optional::reset noexcept, make optional::value
5798         work in constant expressions.
5799         * include/std/optional (_M_get): Make constexpr.
5800         (reset): Make noexcept.
5801         * testsuite/20_util/optional/assignment/7.cc: New.
5802         * testsuite/20_util/optional/observers/6.cc: New.
5803
5804 2016-09-29  Jonathan Wakely  <jwakely@redhat.com>
5805
5806         * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
5807         outside _GLIBCXX_USE_C99_MATH_TR1 condition.
5808
5809 2016-09-29  Alan Modra  <amodra@gmail.com>
5810
5811         * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
5812         * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
5813         Use LONG_DOUBLE_COMPAT_FLAGS.
5814         * Makefile.in: Regenerate.
5815         * configure: Regenerate.
5816         * doc/Makefile.in: Regenerate.
5817         * include/Makefile.in: Regenerate.
5818         * libsupc++/Makefile.in: Regenerate.
5819         * po/Makefile.in: Regenerate.
5820         * python/Makefile.in: Regenerate.
5821         * src/Makefile.in: Regenerate.
5822         * src/c++11/Makefile.in: Regenerate.
5823         * src/c++98/Makefile.in: Regenerate.
5824         * src/filesystem/Makefile.in: Regenerate.
5825         * testsuite/Makefile.in: Regenerate.
5826
5827 2016-09-28  Jonathan Wakely  <jwakely@redhat.com>
5828
5829         * include/std/chrono (system_clock): Fix typo in comment.
5830
5831         * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
5832         definition.
5833         * src/filesystem/ops.cc (file_time): Take error_code parameter and
5834         check for overflow.
5835         (do_copy_file, last_write_time): Pass error_code in file_time calls.
5836         * testsuite/experimental/filesystem/operations/last_write_time.cc:
5837         New.
5838         * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
5839
5840         PR libstdc++/77686
5841         * include/std/functional (_Any_data): Add may_alias attribute.
5842
5843 2016-09-27  Jonathan Wakely  <jwakely@redhat.com>
5844
5845         * doc/xml/manual/status_cxx2017.xml: Update status.
5846         * doc/html/*: Regenerate.
5847         * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
5848         * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
5849
5850         * doc/xml/manual/status_cxx2017.xml: Update status.
5851         * include/c_global/cmath (hypot): Add three-dimensional overloads.
5852         * testsuite/26_numerics/headers/cmath/hypot.cc: New.
5853
5854 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5855
5856         PR libstdc++/77727
5857         * include/std/optional (optional(const optional<_Up>&)):
5858         Default-initialize the base and use emplace.
5859         (optional(optional<_Up>&&)): Likewise.
5860         * testsuite/20_util/optional/cons/77727.cc: New.
5861
5862 2016-09-26  François Dumont  <fdumont@gcc.gnu.org>
5863
5864         * include/debug/safe_base.h
5865         (_Safe_iterator_base::_M_detach_single): Make public.
5866
5867 2016-09-26  Jonathan Wakely  <jwakely@redhat.com>
5868
5869         * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
5870         redefine macro defined in <bits/stl_iterator.h>.
5871
5872         * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
5873         iterator is not past-the-end.
5874         * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
5875         Likewise.
5876         * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
5877         Likewise.
5878         * include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
5879         * include/bits/unordered_map.h (unordered_map::extract(const_iterator))
5880         (unordered_multimap::extract(const_iterator)): Likewise.
5881         * include/bits/unordered_set.h (unordered_set::extract(const_iterator))
5882         (unordered_multiset::extract(const_iterator)): Likewise.
5883
5884 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5885
5886         PR libstdc++/77717
5887         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
5888         Fix an out-of-bounds access.
5889
5890 2016-09-26  Marek Polacek  <polacek@redhat.com>
5891
5892         PR c/7652
5893         * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
5894
5895 2016-09-25  François Dumont  <fdumont@gcc.gnu.org>
5896
5897         * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
5898         functional.
5899         (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
5900         * testsuite/23_containers/vector/debug/mutex_association.cc: New.
5901
5902         * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
5903         bitset*)): Remove __unused__ attribute.
5904         * include/debug/safe_base.h (_Safe_iterator_base): Make
5905         _Safe_sequence_base a friend.
5906         (_Safe_iterator_base::_M_attach): Make protected.
5907         (_Safe_iterator_base::_M_attach_single): Likewise.
5908         (_Safe_iterator_base::_M_detach): Likewise.
5909         (_Safe_iterator_base::_M_detach_single): Likewise.
5910         (_Safe_sequence_base): Make _Safe_iterator_base a friend.
5911         (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
5912         (_Safe_sequence_base::_M_swap): Make protected.
5913         (_Safe_sequence_base::_M_attach): Make private.
5914         (_Safe_sequence_base::_M_attach_single): Likewise.
5915         (_Safe_sequence_base::_M_detach): Likewise.
5916         (_Safe_sequence_base::_M_detach_single): Likewise.
5917         * include/debug/safe_container.h
5918         (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
5919         * include/debug/safe_iterator.h
5920         (_Safe_iterator::operator++()): Name __scoped_lock instance.
5921         * include/debug/safe_iterator.tcc: Remove trailing line.
5922         * include/debug/safe_unordered_base.h
5923         (_Safe_local_iterator_base::_M_attach): Make protected.
5924         (_Safe_local_iterator_base::_M_attach_single): Likewise.
5925         (_Safe_local_iterator_base::_M_detach): Likewise.
5926         (_Safe_local_iterator_base::_M_detach_single): Likewise.
5927         (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
5928         (_Safe_unordered_container_base::_M_attach_local): Make private.
5929         (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
5930         (_Safe_unordered_container_base::_M_detach_local): Likewise.
5931         (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
5932
5933         * include/parallel/algo.h: Generalize usage of std::__iterator_category.
5934         Adjust whitespaces.
5935
5936 2016-09-23  Jonathan Wakely  <jwakely@redhat.com>
5937
5938         PR libstdc++/56166
5939         PR libstdc++/77582
5940         * include/bits/basic_string.h (basic_string::clear()): Drop reference
5941         and use empty rep.
5942         * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
5943         Likewise.
5944         * testsuite/21_strings/basic_string/56166.cc: New.
5945         * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
5946
5947         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
5948         (basic_string::erase(size_type, size_type)): Add fast path for
5949         truncating the string, by calling _M_set_length directly.
5950         (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
5951         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
5952         (basic_string::resize(size_type, _CharT)): Likewise.
5953
5954 2016-09-22  Jason Merrill  <jason@redhat.com>
5955
5956         * configure.ac: Define HAVE_MEMALIGN for newlib.
5957
5958 2015-09-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5959
5960         * config/cpu/m68k/atomicity.h: Adjust comment.
5961         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
5962         explicit atomicity_dir setup via configure.host.
5963         * configure.host (rtems-*): Set atomicity_dir.
5964         * configure: Regenerate.
5965
5966 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5967
5968         Implement C++17 node extraction and insertion (P0083R5)
5969         * doc/xml/manual/status_cxx2017.xml: Document status.
5970         * doc/html/*: Regenerate.
5971         * include/Makefile.am: Add bits/node_handle.h and reorder.
5972         * include/Makefile.in: Regenerate.
5973         * include/bits/hashtable.h (_Hashtable::node_type)
5974         (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
5975         (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
5976         (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
5977         (_Hash_merge_helper): Define primary template.
5978         * include/bits/node_handle.h: New header.
5979         * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
5980         friend.
5981         (map::node_type, map::insert_return_type, map::extract, map::merge)
5982         (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
5983         Define new members.
5984         (_Rb_tree_merge_helper): Specialize for map.
5985         * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
5986         as friend.
5987         (multimap::node_type, multimap::extract, multimap::merge)
5988         (multimap::insert(node_type&&))
5989         (multimap::insert(const_iterator, node_type&&)): Define.
5990         (_Rb_tree_merge_helper): Specialize for multimap.
5991         * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
5992         as friend.
5993         (multiset::node_type, multiset::extract, multiset::merge)
5994         (multiset::insert(node_type&&))
5995         (multiset::insert(const_iterator, node_type&&)): Define.
5996         * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
5997         friend.
5998         (set::node_type, set::insert_return_type, set::extract, set::merge)
5999         (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
6000         Define.
6001         (_Rb_tree_merge_helper): Specialize for set.
6002         * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
6003         (_Rb_tree::node_type, _Rb_tree::insert_return_type)
6004         (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
6005         (_Rb_tree::_M_reinsert_node_hint_unique)
6006         (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
6007         (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
6008         (_Rb_tree_merge_helper): Specialize for multiset.
6009         * include/bits/unordered_map.h (unordered_map): Declare
6010         unordered_map<> and unordered_multimap<> as friends.
6011         (unordered_map::node_type, unordered_map::insert_return_type)
6012         (unordered_map::extract, unordered_map::merge)
6013         (unordered_map::insert(node_type&&))
6014         (unordered_map::insert(const_iterator, node_type&&))
6015         (unordered_multimap): Declare _Hash_merge_helper as friend.
6016         (unordered_multimap::node_type, unordered_multimap::extract)
6017         (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
6018         (unordered_multimap::insert(const_iterator, node_type&&)): Define.
6019         (_Hash_merge_helper): Specialize for unordered maps and multimaps.
6020         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
6021         Declare _Hash_merge_helper as friend.
6022         (unordered_set::node_type, unordered_set::insert_return_type)
6023         (unordered_set::extract, unordered_set::merge)
6024         (unordered_set::insert(node_type&&))
6025         (unordered_set::insert(const_iterator, node_type&&)): Define.
6026         (unordered_multiset::node_type, unordered_multiset::extract)
6027         (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
6028         (unordered_multiset::insert(const_iterator, node_type&&)): Define.
6029         (_Hash_merge_helper): Specialize for unordered sets and multisets.
6030         * include/debug/map.h (map): Add using declarations or forwarding
6031         functions for new members.
6032         * include/debug/map.h (multimap): Likewise.
6033         * include/debug/map.h (multiset): Likewise.
6034         * include/debug/map.h (set): Likewise.
6035         * include/debug/unordered_map (unordered_map, unordered_multimap):
6036         Likewise.
6037         * include/debug/unordered_set( unordered_set, unordered_multiset):
6038         Likewise.
6039         * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
6040         helper function.
6041         (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
6042         (StdNodeHandlePrinter): Define printer for node handles.
6043         (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
6044         * testsuite/23_containers/map/modifiers/extract.cc: New.
6045         * testsuite/23_containers/map/modifiers/merge.cc: New.
6046         * testsuite/23_containers/multimap/modifiers/extract.cc: New.
6047         * testsuite/23_containers/multimap/modifiers/merge.cc: New.
6048         * testsuite/23_containers/multiset/modifiers/extract.cc: New.
6049         * testsuite/23_containers/multiset/modifiers/merge.cc: New.
6050         * testsuite/23_containers/set/modifiers/extract.cc: New.
6051         * testsuite/23_containers/set/modifiers/merge.cc: New.
6052         * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
6053         * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
6054         * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
6055         New.
6056         * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
6057         * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
6058         New.
6059         * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
6060         * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
6061         * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
6062         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
6063         dg-error lineno.
6064         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
6065
6066 2016-09-22  Ville Voutilainen  <ville.voutilainen@gmail.com>
6067
6068         Fix tests on old arm platforms for optional.
6069         * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
6070
6071 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
6072
6073         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
6074         recent change to _Variant_storage.
6075         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
6076         reference type.
6077
6078         * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
6079         std::forward and ::new. Cast pointer to void*.
6080         * include/std/variant (_Variant_storage, _Union, _Variant_base)
6081         (__access, __visit_invoke, variant, visit): Qualify std::forward.
6082         * testsuite/20_util/variant/compile.cc: Test for ADL problems.
6083
6084 2016-09-22  Tim Shen  <timshen@google.com>
6085
6086         * include/std/variant (variant::operator=): Fix assignment
6087         on references.
6088         * testsuite/20_util/variant/compile.cc: Add test.
6089
6090 2016-09-22  Tim Shen  <timshen@google.com>
6091
6092         PR libstdc++/77641
6093         * include/std/variant (_Variant_storage::_Variant_storage):
6094         Change _Variant_storage's union to be default constructible.
6095         * testsuite/20_util/variant/compile.cc: New test.
6096
6097 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
6098
6099         PR libstdc++/77288
6100         * include/std/optional (__is_optional_impl, __is_optional): Remove.
6101         (__converts_from_optional, __assigns_from_optional): New.
6102         (optional(_Up&&)): Use is_same instead of __is_optional.
6103         (optional(const optional<_Up>&)): Constrain with
6104         __converts_from_optional.
6105         (optional(optional<_Up>&&)): Likewise.
6106         (operator=(_Up&&)): Use is_same instead of __is_optional, check
6107         is_same and is_scalar.
6108         (operator=(const optional<_Up>&)): Constrain with
6109         __converts_from_optional and __assigns_from_optional.
6110         (operator=(optional<_Up>&&)): Likewise.
6111         * testsuite/20_util/optional/77288.cc: New.
6112         * testsuite/20_util/optional/cons/value.cc: Adjust.
6113
6114 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
6115
6116         Implement LWG 2729 for tuple.
6117         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
6118         Suppress conditionally.
6119         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
6120         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
6121         (_Tuple_impl(const _Head&)): Constrain.
6122         (_Tuple_impl(_UHead&&)): Likewise.
6123         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
6124         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
6125         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
6126         (operator=(const tuple&)): Enable conditionally.
6127         (operator=(tuple&&)): Suppress conditionally.
6128         (operator=(const tuple<_UElements...>&)): Constrain.
6129         (operator=(tuple<_UElements...>&&)): Likewise.
6130         (operator=(const tuple&)): Enable conditionally (2-param tuple).
6131         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
6132         (operator=(const tuple<_U1, _U2>&)): Constrain.
6133         (operator=(tuple<_U1, _U2>&&)): Likewise.
6134         (operator=(const pair<_U1, _U2>&)): Likewise.
6135         (operator=(pair<_U1, _U2>&&)): Likewise.
6136         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
6137         * testsuite/20_util/tuple/tuple_traits.cc: New.
6138
6139 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
6140
6141         PR libstdc++/77537
6142         Implement LWG 2729 for pair.
6143         * include/bits/stl_pair.h (_PCC): New.
6144         (_ConstructiblePair, _ImplicitlyConvertiblePair):
6145         Turn into static member functions of _PCC.
6146         (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
6147         (_PCCP): New.
6148         (pair(const _T1&, const _T2&)): Adjust.
6149         (_PCCFP): New.
6150         (pair(const pair<_U1, _U2>&)): Adjust.
6151         (pair(_U1&&, const _T2&)): Likewise.
6152         (pair(const _T1&, _U2&&)): Likewise.
6153         (pair(_U1&&, _U2&&)): Likewise.
6154         (pair(pair<_U1, _U2>&&)): Likewise.
6155         (operator=(const pair&)): Make conditionally deleted.
6156         (operator=(pair&&)): Make conditionally suppressed.
6157         (operator=(const pair<_U1, _U2>&)): Constrain.
6158         (operator=(pair<_U1, _U2>&&): Likewise.
6159         * include/std/type_traits (__nonesuch): New.
6160         * testsuite/20_util/pair/traits.cc: New.
6161
6162 2016-09-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
6163
6164         PR libstdc++/77619
6165         * include/bits/stl_construct.h: (_Construct_novalue): New.
6166         (_Destroy_n_aux, _Destroy_n): New.
6167         * include/bits/stl_uninitialized.h: (type_traits):
6168         New include in C++11 mode.
6169         (__uninitialized_default_novalue_1): New.
6170         (__uninitialized_default_novalue_n_1): Likewise.
6171         (__uninitialized_default_novalue): Likewise.
6172         (__uninitialized_default_novalue_n): Likewise.
6173         (__uninitialized_copy_n_pair): Likewise.
6174         (uninitialized_default_construct):
6175         Use __uninitialized_default_novalue.
6176         (uninitialized_default_construct_n):
6177         Use __uninitialized_default_novalue_n.
6178         (uninitialized_value_construct): Use __uninitialized_default.
6179         (uninitialized_value_construct_n): Use __uninitialized_default_n.
6180         (uninitialized_move): Use uninitialized_copy.
6181         (uninitialized_move_n): Use __uninitialized_copy_n_pair.
6182         (destroy_at): Use _Destroy.
6183         (destroy): Likewise.
6184         (destroy_n): Likewise.
6185         * testsuite/20_util/specialized_algorithms/
6186         memory_management_tools/1.cc: Add tests for exceptions,
6187         add tests for trivial cases for construct and move.
6188
6189 2016-09-20  Jonathan Wakely  <jwakely@redhat.com>
6190
6191         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
6192         (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
6193
6194 2016-09-19  Jonathan Wakely  <jwakely@redhat.com>
6195
6196         PR libstdc++/77645
6197         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
6198         (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
6199         division to int to work with Python 3.
6200
6201         * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
6202
6203         * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
6204         display_hint to be set by subclasses.
6205         (StdVariantPrinter): Use array for display_hint. Adjust output to be
6206         more similar to std::any and std::optional output.
6207         (register_type_printers): Add type printers for basic_string_view
6208         typedefs and experimental::any. Adjust type printers for
6209         fundamentals_v1 templates to match fundamentals_v2 and later.
6210         * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
6211
6212         PR libstdc++/77645
6213         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
6214         argument.
6215         (ListWorkerBase.get_value_from_node): Define new method.
6216         (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
6217
6218 2016-09-17  Jonathan Wakely  <jwakely@redhat.com>
6219
6220         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
6221         (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
6222         Register for C++17 components in namespace std. Strip inline namespace
6223         from typename.
6224
6225 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
6226
6227         * doc/xml/manual/profile_mode.xml: Fix typo.
6228         * doc/html/manual/profile_mode_devel.html: Regenerate.
6229
6230 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
6231             Marc Glisse  <marc.glisse@inria.fr>
6232
6233         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
6234         (operator new(size_t, align_val_t)): Replace modulus operator with
6235         mask.
6236
6237 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
6238
6239         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
6240         Increase alignment if less than sizeof(void*).
6241         [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
6242         Increase size if not a multiple of alignment.
6243
6244 2016-09-15  Jonathan Wakely  <jwakely@redhat.com>
6245
6246         * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
6247         * doc/html/*: Regenerate.
6248
6249         * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
6250         -Wno-deprecated.
6251         * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
6252
6253 2016-09-14  Marek Polacek  <polacek@redhat.com>
6254
6255         * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
6256         -Wno-deprecated.
6257
6258 2016-09-14  Christophe Lyon  <christophe.lyon@linaro.org>
6259
6260         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
6261         Move dg-do directive before dg-skip.
6262         * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
6263         Move dg-do directive before dg-require.
6264         * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
6265         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
6266         * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
6267         * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
6268         * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
6269         * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
6270         * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
6271         * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
6272         * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
6273         * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
6274         * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
6275         * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
6276         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
6277         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
6278         * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
6279         Likewise.
6280         * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
6281         * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
6282         * testsuite/27_io/objects/char/12048-5.cc: Likewise.
6283         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
6284         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
6285
6286 2016-09-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
6287
6288         Implement P0040R3, Extending memory management tools.
6289         * include/bits/stl_uninitialized.h (utility): New include
6290         in C++17 mode.
6291         (uninitialized_default_construct): New.
6292         (uninitialized_default_construct_n): Likewise.
6293         (uninitialized_value_construct): Likewise.
6294         (uninitialized_value_construct_n): Likewise.
6295         (uninitialized_move): Likewise.
6296         (uninitialized_move_n): Likewise.
6297         (destroy_at, destroy, destroy_n): Likewise.
6298         * testsuite/20_util/specialized_algorithms/memory_management_tools/
6299         1.cc: New.
6300
6301 2016-09-12  Jason Merrill  <jason@redhat.com>
6302
6303         * config/abi/pre/gnu.ver: Use [jmy] for size_t.
6304
6305 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
6306
6307         Implement P0253R1, Fixing a design mistake in the searchers
6308         interface in Library Fundamentals.
6309         * include/std/functional: (utility): New include in C++17 mode.
6310         (default_searcher): Use a pair as return type, adjust the definition.
6311         (boyer_moore_searcher): Likewise.
6312         (boyer_moore_horspool_searcher): Likewise.
6313         * testsuite/20_util/function_objects/searchers.cc: Adjust.
6314
6315 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
6316
6317         Implement C++17 string searchers.
6318         * include/std/functional: (unordered_map, vector): New includes
6319         in C++17 mode.
6320         (array, bits/stl_algo.h): Likewise.
6321         (default_searcher, __boyer_moore_map_base): New.
6322         (__boyer_moore_array_base, __is_std_equal_to): Likewise.
6323         (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
6324         (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
6325         (make_boyer_moore_searcher): Likewise.
6326         (make_boyer_moore_horspool_searcher): Likewise.
6327         * testsuite/20_util/function_objects/searchers.cc: New.
6328
6329 2016-09-12  Matthew Wahab  <matthew.wahab@arm.com>
6330
6331         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
6332         Move dg-do directive before dg-require.
6333         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
6334         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
6335         Likewise.
6336         * testsuite/22_locale/codecvt/utf8.cc: Likewise.
6337         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
6338         * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
6339         * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
6340         * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
6341         * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
6342         * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
6343         * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
6344         * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
6345         * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
6346         * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
6347         * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
6348         * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
6349         Likewise.
6350         * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
6351         Likewise.
6352         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
6353         * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
6354         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
6355         Likewise.
6356         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
6357         Likewise.
6358         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
6359         Likewise.
6360         * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
6361         Likewise.
6362         * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
6363         Likewise.
6364         * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
6365         Likewise.
6366         * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
6367         Likewise.
6368         * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
6369         Likewise.
6370         * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
6371         Likewise.
6372         * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
6373         Likewise.
6374         * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
6375         Likewise.
6376         * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
6377         Likewise.
6378         * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
6379         Likewise.
6380         * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
6381         Likewise.
6382         * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
6383         Likewise.
6384         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
6385         Likewise.
6386         * testsuite/23_containers/forward_list/debug/
6387         iterator_self_move_assign_neg.cc: Likewise.
6388         * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
6389         Likewise.
6390         * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
6391         Likewise.
6392         * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
6393         Likewise.
6394         * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
6395         Likewise.
6396         * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
6397         Likewise.
6398         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
6399         Likewise.
6400         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
6401         Likewise.
6402         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
6403         Likewise.
6404         * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
6405         * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
6406         * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
6407         * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
6408         * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
6409         * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
6410         * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
6411         * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
6412         * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
6413         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
6414         * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
6415         Likewise.
6416         * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
6417         * testsuite/23_containers/map/debug/60499.cc: Likewise.
6418         * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
6419         * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
6420         * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
6421         * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
6422         * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
6423         * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
6424         * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
6425         Likewise.
6426         * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
6427         * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
6428         * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
6429         * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
6430         * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
6431         * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
6432         * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
6433         * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
6434         * testsuite/23_containers/multimap/debug/
6435         iterator_self_move_assign_neg.cc: Likewise.
6436         * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
6437         Likewise.
6438         * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
6439         * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
6440         * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
6441         * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
6442         * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
6443         * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
6444         * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
6445         * testsuite/23_containers/multiset/debug/
6446         iterator_self_move_assign_neg.cc: Likewise.
6447         * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
6448         Likewise.
6449         * testsuite/23_containers/set/debug/60499.cc: Likewise.
6450         * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
6451         * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
6452         * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
6453         * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
6454         * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
6455         * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
6456         * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
6457         Likewise.
6458         * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
6459         * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
6460         * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
6461         * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
6462         * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
6463         Likewise.
6464         * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
6465         * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
6466         * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
6467         Likewise.
6468         * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
6469         Likewise.
6470         * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
6471         Likewise.
6472         * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
6473         * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
6474         * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
6475         * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
6476         * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
6477         * testsuite/23_containers/unordered_map/debug/
6478         invalid_local_iterator_compare_neg.cc: Likewise.
6479         * testsuite/23_containers/unordered_map/debug/
6480         invalid_local_iterator_range_neg.cc: Likewise.
6481         * testsuite/23_containers/unordered_map/debug/
6482         iterator_self_move_assign_neg.cc: Likewise.
6483         * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
6484         Likewise.
6485         * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
6486         Likewise.
6487         * testsuite/23_containers/unordered_map/debug/
6488         use_erased_local_iterator_neg.cc: Likewise.
6489         * testsuite/23_containers/unordered_map/debug/
6490         use_invalid_iterator_neg.cc: Likewise.
6491         * testsuite/23_containers/unordered_map/debug/
6492         use_invalid_local_iterator_neg.cc: Likewise.
6493         * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
6494         * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
6495         Likewise.
6496         * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
6497         Likewise.
6498         * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
6499         Likewise.
6500         * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
6501         Likewise.
6502         * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
6503         Likewise.
6504         * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
6505         Likewise.
6506         * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
6507         Likewise.
6508         * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
6509         Likewise.
6510         * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
6511         Likewise.
6512         * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
6513         Likewise.
6514         * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
6515         Likewise.
6516         * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
6517         Likewise.
6518         * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
6519         Likewise.
6520         * testsuite/23_containers/unordered_multimap/debug/
6521         invalid_local_iterator_compare_neg.cc: Likewise.
6522         * testsuite/23_containers/unordered_multimap/debug/
6523         invalid_local_iterator_range_neg.cc: Likewise.
6524         * testsuite/23_containers/unordered_multimap/debug/
6525         iterator_self_move_assign_neg.cc: Likewise.
6526         * testsuite/23_containers/unordered_multimap/debug/
6527         max_load_factor_neg.cc: Likewise.
6528         * testsuite/23_containers/unordered_multimap/debug/
6529         self_move_assign_neg.cc: Likewise.
6530         * testsuite/23_containers/unordered_multimap/debug/
6531         use_erased_local_iterator_neg.cc: Likewise.
6532         * testsuite/23_containers/unordered_multimap/debug/
6533         use_invalid_iterator_neg.cc: Likewise.
6534         * testsuite/23_containers/unordered_multimap/debug/
6535         use_invalid_local_iterator_neg.cc: Likewise.
6536         * testsuite/23_containers/unordered_multiset/debug/60499.cc:
6537         Likewise.
6538         * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
6539         Likewise.
6540         * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
6541         Likewise.
6542         * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
6543         Likewise.
6544         * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
6545         Likewise.
6546         * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
6547         Likewise.
6548         * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
6549         Likewise.
6550         * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
6551         Likewise.
6552         * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
6553         Likewise.
6554         * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
6555         Likewise.
6556         * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
6557         Likewise.
6558         * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
6559         Likewise.
6560         * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
6561         Likewise.
6562         * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
6563         Likewise.
6564         * testsuite/23_containers/unordered_multiset/debug/
6565         invalid_local_iterator_compare_neg.cc: Likewise.
6566         * testsuite/23_containers/unordered_multiset/debug/
6567         invalid_local_iterator_range_neg.cc: Likewise.
6568         * testsuite/23_containers/unordered_multiset/debug/
6569         iterator_self_move_assign_neg.cc: Likewise.
6570         * testsuite/23_containers/unordered_multiset/debug/
6571         max_load_factor_neg.cc: Likewise.
6572         * testsuite/23_containers/unordered_multiset/debug/
6573         self_move_assign_neg.cc: Likewise.
6574         * testsuite/23_containers/unordered_multiset/debug/
6575         use_erased_local_iterator_neg.cc: Likewise.
6576         * testsuite/23_containers/unordered_multiset/debug/
6577         use_invalid_iterator_neg.cc: Likewise.
6578         * testsuite/23_containers/unordered_multiset/debug/
6579         use_invalid_local_iterator_neg.cc: Likewise.
6580         *  testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
6581         * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
6582         * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
6583         * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
6584         Likewise.
6585         * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
6586         * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
6587         * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
6588         Likewise.
6589         * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
6590         Likewise.
6591         * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
6592         Likewise.
6593         * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
6594         * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
6595         * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
6596         * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
6597         * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
6598         * testsuite/23_containers/unordered_set/debug/
6599         invalid_local_iterator_compare_neg.cc: Likewise.
6600         * testsuite/23_containers/unordered_set/debug/
6601         invalid_local_iterator_range_neg.cc: Likewise.
6602         * testsuite/23_containers/unordered_set/debug/
6603         iterator_self_move_assign_neg.cc: Likewise.
6604         * testsuite/23_containers/unordered_set/debug/
6605         max_load_factor_neg.cc: Likewise.
6606         * testsuite/23_containers/unordered_set/debug/
6607         self_move_assign_neg.cc: Likewise.
6608         * testsuite/23_containers/unordered_set/debug/
6609         use_erased_local_iterator_neg.cc: Likewise.
6610         * testsuite/23_containers/unordered_set/debug/
6611         use_invalid_iterator_neg.cc: Likewise.
6612         * testsuite/23_containers/unordered_set/debug/
6613         use_invalid_local_iterator_neg.cc: Likewise.
6614         * testsuite/23_containers/vector/debug/52433.cc: Likewise.
6615         * testsuite/23_containers/vector/debug/60499.cc: Likewise.
6616         * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
6617         * testsuite/23_containers/vector/debug/
6618         iterator_self_move_assign_neg.cc: Likewise.
6619         * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
6620         Likewise.
6621         * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
6622         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
6623         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
6624         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
6625         * testsuite/29_atomics/atomic/60658.cc: Likewise.
6626         * testsuite/29_atomics/atomic/60695.cc: Likewise.
6627         * testsuite/29_atomics/atomic/62259.cc: Likewise.
6628         * testsuite/29_atomics/atomic/64658.cc: Likewise.
6629         * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
6630         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
6631         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
6632         Likewise.
6633
6634 2016-09-11  Jonathan Wakely  <jwakely@redhat.com>
6635
6636         * libsupc++/new_opant.cc: Include exception_defines.h.
6637         * libsupc++/new_opvant.cc: Likewise.
6638
6639 2016-09-09  Jason Merrill  <jason@redhat.com>
6640
6641         Implement P0035R4, C++17 new of over-aligned types.
6642         * libsupc++/new: Declare aligned new/delete operators.
6643         * config/abi/pre/gnu.ver: Export them.
6644         * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
6645         _aligned_malloc.
6646         * libsupc++/new_opa.cc: New.
6647         * libsupc++/new_opant.cc: New.
6648         * libsupc++/new_opva.cc: New.
6649         * libsupc++/new_opva.cc: New.
6650         * libsupc++/del_opa.cc: New.
6651         * libsupc++/del_opant.cc: New.
6652         * libsupc++/del_opsa.cc: New.
6653         * libsupc++/del_opva.cc: New.
6654         * libsupc++/del_opvant.cc: New.
6655         * libsupc++/del_opvsa.cc: New.
6656         * libsupc++/Makefile.am: Build them.
6657
6658 2016-09-05  Tim Shen  <timshen@google.com>
6659
6660         * include/std/variant: include bits/move.h for std::addressof.
6661
6662 2016-09-05  Mikhail Strelnikov  <mikhail.strelnikov@gmail.com>
6663
6664         * include/std/variant (_Variant_storage::_M_storage()): Use
6665         std::addressof instead of operator& to take address.
6666
6667 2016-09-02  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
6668
6669         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
6670         setrlimit on both native and cross targets.
6671         * configure: Regenerate.
6672
6673 2016-08-31  Jonathan Wakely  <jwakely@redhat.com>
6674
6675         * include/bits/shared_ptr.h (_Assignable): New alias template.
6676         (shared_ptr::operator=(const shared_ptr<_Tp1>&))
6677         (shared_ptr::operator=(shared_ptr<_Tp1>&&))
6678         (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6679         _Assignable.
6680         * include/bits/shared_ptr_base.h (_Assignable): New alias template.
6681         (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
6682         (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
6683         (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6684         _Assignable.
6685         (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
6686         (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
6687         _Convertible.
6688         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
6689         match on any line.
6690         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
6691         * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
6692         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
6693         expected errors. Remove unnecessary code.
6694         * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
6695
6696         * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
6697         comparison object.
6698         * testsuite/23_containers/set/move_comparison.cc: New test.
6699
6700         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
6701         New test.
6702
6703 2016-08-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
6704
6705         PR libstdc++/77395
6706         * include/std/type_traits (is_constructible): Forward-declare...
6707         (__is_base_to_derived_ref): ...and use here.
6708         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
6709         * testsuite/20_util/is_constructible/77395.cc: New.
6710         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
6711         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
6712         Likewise.
6713         * testsuite/20_util/tuple/77395.cc: New.
6714
6715 2016-08-30  Uros Bizjak  <ubizjak@gmail.com>
6716
6717         * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
6718         directive above dg-require-namedlocale directive.
6719         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
6720         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
6721         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
6722         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
6723         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
6724
6725 2016-08-27  Tim Shen  <timshen@google.com>
6726
6727         PR libstdc++/77356
6728         * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
6729         _M_expression_term): Modify to support dash literal.
6730         * include/bits/regex_scanner.h: Add dash as a token type to make
6731         a different from the mandated dash literal by escaping.
6732         * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
6733         token in bracket expression parsing.
6734         * testsuite/28_regex/regression.cc: Add new testcases.
6735
6736 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6737
6738         PR libstdc++/51960
6739         * doc/xml/manual/intro.xml: Document DR 2127 change.
6740         * doc/html/*: Regenerate.
6741         * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
6742         (operator++(), operator++(int)): Use injected class name.
6743         * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
6744
6745         * testsuite/*: Use { target c++11 } or { target c++14 } instead of
6746         using -std in dg-options.
6747
6748 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6749             Pedro Alves  <palves@redhat.com>
6750
6751         * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
6752         and restore dg-interpreter-batch-mode.
6753         * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
6754         gdb-dg-runtest instead of dg-runtest.
6755         * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
6756
6757 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6758
6759         * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
6760         precise patterns for basic_string constructors.
6761         (GLIBCXX_3.4.23): Export new constructors.
6762         * doc/xml/manual/intro.xml: Document LWG 2583 status.
6763         * doc/html/*: Regenerate.
6764         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
6765         (basic_string(const basic_string&, size_type, const Alloc&)): Add
6766         new constructor for LWG 2583.
6767         (basic_string(const basic_string&, size_type, size_type)): Remove
6768         default argument.
6769         [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
6770         * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
6771         * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
6772         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
6773
6774 2016-08-24  Aditya Kumar  <hiraditya@msn.com>
6775
6776         * include/bits/algorithmfwd.h: Remove trailing whitespace.
6777         * include/bits/shared_ptr_base.h: Likewise.
6778
6779 2016-08-23  Jonathan Wakely  <jwakely@redhat.com>
6780
6781         * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
6782         * include/profile/array (array): Likewise.
6783         (array::swap): Fix exception specification for zero-sized arrays.
6784
6785         PR libstdc++/77334
6786         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
6787         (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
6788         * testsuite/23_containers/map/77334.cc: New test.
6789
6790         * doc/xml/manual/using.xml: Remove reference to -pthreads option.
6791         * doc/html/*: Regenerate.
6792
6793         * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
6794         * testsuite/experimental/feat-lib-fund.cc: Likewise.
6795
6796         PR libstdc++/71771
6797         * include/bits/stl_iterator.h
6798         (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
6799         define for C++98 mode.
6800         (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
6801         * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
6802         -std=gnu++98.
6803         * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
6804         * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
6805         * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
6806         * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
6807         difference operator.
6808         * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
6809         difference operator for C++98.
6810         * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
6811
6812         * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
6813         * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
6814         (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
6815         * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
6816         (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
6817         Likewise.
6818         * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
6819         _GLIBCXX14_CONSTEXPR.
6820         (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
6821         * include/std/array (array::begin, array::end, array::rbegin)
6822         (array::rend, array::cbegin, array:cend, array::crbegin)
6823         (array::crend, array::operator[], array::at, array::front)
6824         (array::back, array::data): Likewise.
6825         * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
6826         with separate tests for C++11, C++14, and C++17.
6827         * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
6828         * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
6829         * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
6830
6831 2016-08-22  Tim Shen  <timshen@google.com>
6832
6833         Split _M_dfs() into smaller functions.
6834         * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
6835         (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
6836         (_M_handle_line_end_assertion, _M_handle_word_boundary)
6837         (_M_handle_subexpr_lookahead, _M_handle_match)
6838         (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
6839         Add separate function declarations.
6840         * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
6841
6842 2016-08-22  Gleb Natapov  <gleb@scylladb.com>
6843
6844         PR libstdc++/68297
6845         * config/abi/pre/gnu-versioned-namespace.ver: Export
6846         __cxa_init_primary_exception and std::exception_ptr(void*).
6847         * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
6848         export __cxa_init_primary_exception and std::exception_ptr(void*).
6849         * include/Makefile.am: Add new headers.
6850         * include/Makefile.in: Regenerate.
6851         * libsupc++/Makefile.am: Add new headers.
6852         * libsupc++/Makefile.in: Regenerate.
6853         * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
6854         * libsupc++/cxxabi_init_exception.h: New header.
6855         (__cxa_init_primary_exception): Declare.
6856         * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
6857         (__cxa_throw): Use __cxa_init_primary_exception.
6858         * libsupc++/exception (std::exception): Move to ...
6859         * libsupc++/exception.h: New header.
6860         * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
6861         friend declaration.
6862         (__exception_ptr::__dest_thunk): New function template.
6863         (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
6864         Use __cxa_allocate_exception and __cxa_init_primary_exception to
6865         create exception_ptr.
6866         * libsupc++/typeinfo: Include bits/exception.h instead of exception.
6867         * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
6868
6869 2016-08-22  Jonathan Wakely  <jwakely@redhat.com>
6870
6871         * doc/xml/api.xml: Replace hardcoded links for specific versions with
6872         link to docs for all releases.
6873         * doc/html/*: Regenerate.
6874
6875         PR libstdc++/77322
6876         * doc/xml/manual/intro.xml: Document DR 2062 change.
6877         * include/std/functional (function::swap): Add noexcept.
6878         (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
6879         * testsuite/20_util/function/77322.cc: New test.
6880
6881 2016-08-19  Jonathan Wakely  <jwakely@redhat.com>
6882
6883         * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
6884         *-*-solaris* instead of -pthreads.
6885         * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
6886         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
6887         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
6888         * testsuite/23_containers/list/pthread1.cc: Likewise.
6889         * testsuite/23_containers/list/pthread5.cc: Likewise.
6890         * testsuite/23_containers/map/pthread6.cc: Likewise.
6891         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
6892         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
6893         * testsuite/30_threads/shared_mutex/*: Likewise.
6894         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
6895         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6896         default_weaktoshared.cc: Likewise.
6897         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6898         mutex_weaktoshared.cc: Likewise.
6899         * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
6900         dg-require-effective-target instead of using -std option.
6901         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
6902         Likewise.
6903         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
6904         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
6905         Likewise.
6906         * testsuite/30_threads/async/*: Likewise.
6907         * testsuite/30_threads/call_once/*: Likewise.
6908         * testsuite/30_threads/condition_variable/*: Likewise.
6909         * testsuite/30_threads/condition_variable_any/*: Likewise.
6910         * testsuite/30_threads/future/*: Likewise.
6911         * testsuite/30_threads/lock/*: Likewise.
6912         * testsuite/30_threads/mutex/*: Likewise.
6913         * testsuite/30_threads/packaged_task/*: Likewise.
6914         * testsuite/30_threads/promise/*: Likewise.
6915         * testsuite/30_threads/recursive_mutex/*: Likewise.
6916         * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
6917         * testsuite/30_threads/shared_future/*: Likewise.
6918         * testsuite/30_threads/shared_lock/*: Likewise.
6919         * testsuite/30_threads/shared_timed_mutex/*: Likewise.
6920         * testsuite/30_threads/this_thread/*: Likewise.
6921         * testsuite/30_threads/thread/*: Likewise.
6922         * testsuite/30_threads/timed_mutex/*: Likewise.
6923         * testsuite/30_threads/try_lock/*: Likewise.
6924         * testsuite/30_threads/unique_lock/*: Likewise.
6925
6926         * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
6927         * doc/html/*: Regenerate.
6928         * include/experimental/functional (_Not_fn, not_fn): Match C++17
6929         semantics.
6930         * include/std/functional (_Not_fn, not_fn): Define for C++17.
6931         * testsuite/20_util/not_fn/1.cc: New.
6932         * testsuite/experimental/functional/not_fn.cc: Test abstract class.
6933         Remove test for volatile-qualified wrapper.
6934
6935         * include/std/atomic (atomic::is_always_lock_free): Define.
6936         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
6937         * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
6938         * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
6939         * doc/xml/manual/status_cxx2017.xml: Update status.
6940         * doc/html/*: Regenerate.
6941
6942         * include/experimental/tuple (apply): Qualify call to __apply_impl.
6943         * include/std/tuple (apply): Likewise.
6944         * testsuite/experimental/system_error/value.cc: Fix ambiguities in
6945         C++17 mode.
6946         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
6947         * testsuite/experimental/type_traits/value.cc: Likewise.
6948
6949         * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
6950         and variant.
6951         * doc/html/*: Regenerate.
6952
6953 2016-08-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
6954
6955         Implement the latest proposed resolution of LWG 2756.
6956         * include/std/optional (Optional_base(const _Tp&))
6957         (Optional_base(_Tp&&), using _Base::_Base): Remove.
6958         (optional(nullopt_t)): New.
6959         (optional(_Up&&)): Invoke base directly with in_place
6960         rather than creating a temporary, add default template
6961         argument, change constraints.
6962         (optional(const optional<_Up>&)): Invoke base directly
6963         with in_place, remove unnecessary constraints.
6964         (optional(optional<_Up>&& __t)): Likewise.
6965         (optional(in_place_t, _Args&&...)): New.
6966         (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
6967         (operator=(_Up&&)): Add default template argument, change constraints.
6968         (operator=(const optional<_Up>&)): Put is_same first in the
6969         constraints.
6970         (operator=(optional<_Up>&&)): Likewise.
6971         * testsuite/20_util/optional/assignment/5.cc: Add a test to
6972         verify assignment from something that can't be perfect-forwarded.
6973         * testsuite/20_util/optional/cons/value.cc: Add tests to verify
6974         that a nested optional is disengaged when constructed
6975         from a disengaged element type, and to verify that assignments
6976         from an engaged element type engage the optional.
6977
6978 2016-08-18  Tim Shen  <timshen@google.com>
6979
6980         Implement <variant>
6981
6982         * include/Makefile.am: Add new file std/variant.
6983         * include/Makefile.in: Generated from Makefile.am.
6984         * include/bits/enable_special_members.h: Add a tag type to allow
6985         the construction in non-default constructor.
6986         * include/bits/uses_allocator.h: Add convenience traits to
6987         detect constructibility.
6988         * include/std/variant: Implement <variant>.
6989         * testsuite/20_util/variant/compile.cc: Compile-time tests.
6990         * testsuite/20_util/variant/run.cc: Runtime tests.
6991
6992 2016-08-18  Jonathan Wakely  <jwakely@redhat.com>
6993
6994         * doc/xml/manual/test.xml (test.run.permutations): Expand section.
6995         (test.new_tests): Rewrite section.
6996         (tests.dg.directives): New section.
6997         * doc/html/*: Regenerate.
6998
6999         * doc/xml/manual/test.xml: Improve documentation of test targets.
7000         Document new-abi-baseline, check-debug, and check-parallel targets.
7001
7002         * doc/xml/manual/build_hacking.xml: New section on shared library
7003         versioning.
7004
7005         * doc/xml/manual/build_hacking.xml: Improve markup.
7006         * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
7007         to "Testing".
7008         * doc/xml/faq.xml: Change link text to "Testing".
7009
7010         * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
7011         dg-options directive.
7012
7013 2016-08-17  Jonathan Wakely  <jwakely@redhat.com>
7014
7015         * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
7016         directive and use effective target instead of dg-options.
7017
7018         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
7019         instead of -std in dg-options.
7020         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
7021         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
7022         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
7023         * testsuite/20_util/hash/quality.cc: Likewise.
7024         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
7025         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
7026         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
7027         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
7028         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
7029         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
7030
7031         * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
7032         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
7033         * testsuite/27_io/rvalue_streams.cc: Likewise.
7034
7035         * testsuite/26_numerics/complex/literals/types.cc: Add comment.
7036
7037         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
7038         Remove duplicate dg-options directive.
7039
7040         * testsuite/ext/profile/all.cc: Use effective target instead of
7041         -std=gnu++11. Use dg-additional-options instead of repeating options.
7042
7043         * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
7044         -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
7045         instead of dg-excess-errors.
7046
7047         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
7048         test for C++17.
7049         * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
7050         * testsuite/experimental/ratio/value.cc: Likewise.
7051         * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
7052         C++17.
7053         * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
7054         * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
7055         * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
7056         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
7057         * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
7058         * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
7059         * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
7060         * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
7061         * testsuite/tr1/5_numerical_facilities/special_functions/
7062         10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
7063         C++17 compatibility.
7064
7065         * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
7066         expected signatures for C++14 compatibility.
7067
7068         PR libstdc++/77264
7069         * include/bits/basic_string.h (operator=(__sv_type)
7070         (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
7071         (replace(size_type, size_type, __sv_type))
7072         (replace(const_iterator, const_iterator, __sv_type))
7073         (find(__sv_type, size_type), rfind(__sv_type, size_type))
7074         (compare(size_type, size_type, __sv_type)): Reformat.
7075         (_If_sv): Define helper for SFINAE constaints.
7076         (append(const _Tp&, size_type, size_type))
7077         (assign(const _Tp&, size_type, size_type))
7078         (insert(size_type, const _Tp&, size_type, size_type))
7079         (replace(size_type, size_type, const _Tp&, size_type, size_type)):
7080         Use _If_sv.
7081         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
7082         SFINAE constraints.
7083         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
7084         Likewise.
7085         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7086         Likewise.
7087         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
7088         Likewise.
7089         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
7090         Likewise.
7091         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
7092         Likewise.
7093         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
7094         Likewise.
7095         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
7096         Likewise.
7097         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7098         Likewise.
7099         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
7100         Likewise.
7101         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
7102         Likewise.
7103
7104 2016-08-16  Jonathan Wakely  <jwakely@redhat.com>
7105
7106         PR libstdc++/72847
7107         * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
7108         pointers to start and end of storage.
7109         * testsuite/23_containers/vector/bool/72847.cc: New test.
7110         * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
7111         _M_finish after deallocating.
7112         (vector<bool>::_M_fill_insert): Likewise.
7113         (vector<bool>::_M_insert_range): Likewise.
7114         (vector<bool>::_M_insert_aux): Likewise.
7115
7116 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
7117
7118         Implement LWG 2744 and LWG 2754.
7119         * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
7120         (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
7121         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
7122         Likewise.
7123         (emplace(_Args&&...)): Likewise.
7124         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
7125         * include/std/utility: (__is_in_place_type_impl): New.
7126         (__is_in_place_type): Likewise.
7127         * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
7128         emplace.
7129         * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
7130         in_place constructor.
7131         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
7132         * testsuite/20_util/any/requirements.cc: Add a test for
7133         in_place-constructing a non-default-constructible type.
7134
7135 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
7136
7137         Add a feature macro for C++17 make_from_tuple.
7138         * include/std/tuple (__cpp_lib_make_from_tuple): New.
7139         (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
7140         Qualify the call to get<>().
7141         * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
7142
7143 2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
7144
7145         * src/filesystem/ops.cc: Always include ostream and
7146         ext/stdio_filebuf.h.
7147         (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
7148         [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
7149         sendfile fails with ENOSYS or EINVAL.
7150
7151 2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
7152
7153         PR libstdc++/72840
7154         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
7155         syntax.
7156
7157 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
7158
7159         Implement C++17 make_from_tuple.
7160         * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
7161         * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
7162
7163 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
7164
7165         Implement LWG 2758.
7166         * include/bits/basic_string.h
7167         (append(__sv_type, size_type, size_type)): Turn into a template,
7168         change parameter type, constrain, add a conversion to __sv_type
7169         from the dependent parameter type.
7170         (assign(__sv_type, size_type, size_type)): Likewise.
7171         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
7172         (replace(size_type, size_type, __sv_type, size_type, size_type)):
7173         Likewise.
7174         (compare(size_type, size_type,__sv_type, size_type, size_type)):
7175         Likewise.
7176         * testsuite/21_strings/basic_string/lwg2758.cc: New.
7177
7178 2016-08-06  Jonathan Wakely  <jwakely@redhat.com>
7179
7180         * doc/xml/manual/status_cxx2017.xml: Update status table.
7181         * doc/html/manual/status.html: Regenerate.
7182
7183         * testsuite/lib/libstdc++.exp: Fix typo in comment.
7184
7185         PR libstdc++/72820
7186         * include/std/functional (_Function_base::_Base_manager::_M_clone):
7187         Qualify new operator.
7188         * testsuite/20_util/function/cons/72820.cc: New test.
7189
7190         * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
7191         * doc/html/manual/status.html: Regenerate.
7192         * include/Makefile.am: Add new header.
7193         * include/Makefile.in: Regenerate.
7194         * include/bits/invoke.h: New header.
7195         (__invoke): Make constexpr. Add && to types in exception specification.
7196         * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
7197         names. Include <bits/invoke.h> and use std::__invoke.
7198         * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
7199         new header.
7200         (invoke): Add && to types in exception specification.
7201         * include/std/tuple (apply, __apply_impl): Define for C++17.
7202         * testsuite/20_util/tuple/apply/1.cc: New test.
7203         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
7204         lineno.
7205
7206 2016-08-05  Jonathan Wakely  <jwakely@redhat.com>
7207
7208         * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
7209         * doc/html/manual/status.html: Regenerate.
7210
7211         * include/std/chrono (floor, ceil, round, abs): New for C++17.
7212         * testsuite/20_util/duration_cast/rounding.cc: New test.
7213         * testsuite/20_util/time_point_cast/rounding.cc: New test.
7214         * doc/xml/manual/status_cxx2017.xml: Update status table.
7215         * doc/html/manual/status.html: Regenerate.
7216         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
7217         dg-error lineno.
7218         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
7219         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
7220         * testsuite/20_util/duration/literals/range.cc: Likewise.
7221
7222         * include/std/functional (__callable_functor): Remove.
7223         (_Function_handler::_M_invoke): Use __invoke instead of
7224         __callable_functor or mem_fn.
7225         (function::_Callable): Use lvalue in result_of expression.
7226         (function): Remove TODO comments about allocators.
7227         * testsuite/20_util/function/cons/refqual.cc: New test.
7228
7229 2016-08-04  Jonathan Wakely  <jwakely@redhat.com>
7230
7231         * doc/xml/manual/status_cxx2017.xml: Update status table.
7232         * include/std/functional (__inv_unwrap): Move to <type_traits>.
7233         (__invoke_impl): Remove exception specifications.
7234         (__invoke, invoke): Add exception specifications using
7235         __is_nothrow_callable.
7236         * include/std/type_traits (__inv_unwrap): Move from <functional>.
7237         (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
7238         (__is_callable, __is_nothrow_callable): New traits.
7239         (is_callable, is_callable_v): New C++17 traits.
7240         (is_nothrow_callable, is_nothrow_callable_v): Likewise.
7241         * testsuite/20_util/is_callable/requirements/
7242         explicit_instantiation.cc: New test.
7243         * testsuite/20_util/is_callable/requirements/
7244         explicit_instantiation_ext.cc: New test.
7245         * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
7246         * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
7247         test.
7248         * testsuite/20_util/is_callable/value.cc: New test.
7249         * testsuite/20_util/is_callable/value_ext.cc: New test.
7250         * testsuite/20_util/is_nothrow_callable/requirements/
7251         explicit_instantiation.cc: New test.
7252         * testsuite/20_util/is_nothrow_callable/requirements/
7253         explicit_instantiation_ext.cc: New test.
7254         * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
7255         New test.
7256         * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
7257         New test.
7258         * testsuite/20_util/is_nothrow_callable/value.cc: New test.
7259         * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
7260
7261         * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
7262         * doc/html/manual/status.html: Regenerate.
7263
7264         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
7265         effective target not dg-options. Move check for feature-test macro to:
7266         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
7267         New test.
7268
7269         * include/std/functional (_Unwrap): Rename to __inv_unwrap.
7270         (__invfwd): Adjust.
7271         (__invoke_impl): Remove unused template parameters.
7272         * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
7273         parameter.
7274         * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
7275         and test __invoke extension for C++11.
7276
7277 2016-08-03  Jonathan Wakely  <jwakely@redhat.com>
7278
7279         * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
7280         Define feature-test macro.
7281         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
7282         for the macro.
7283
7284         * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
7285         * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
7286         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
7287         * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
7288         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
7289
7290         * include/std/utility (as_const): Define.
7291         * testsuite/20_util/as_const/1.cc: New test.
7292         * testsuite/20_util/as_const/rvalue_neg.cc: New test.
7293
7294         * include/bits/shared_ptr.h (owner_less): Add default template
7295         argument.
7296         * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
7297         specialization.
7298         (owner_less<void>): Define specialization.
7299         * include/bits/stl_function.h (__cpp_lib_transparent_operators):
7300         Update value.
7301         * testsuite/20_util/owner_less/void.cc: New test.
7302         * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
7303
7304         * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
7305         Define feature-test macro.
7306         * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
7307         * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
7308         * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
7309         (__cpp_lib_type_trait_variable_templates): Define.
7310
7311         * include/bits/stl_function.h: Remove commented-out macro.
7312         * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
7313         Define feature-test macro.
7314         * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
7315
7316         * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
7317         C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
7318         true.
7319         * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
7320         do #error for C++17.
7321         * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
7322         of __STDCPP_WANT_MATH_SPEC_FUNCS__.
7323         * include/tr1/bessel_function.tcc: Likewise.
7324         * include/tr1/beta_function.tcc: Likewise.
7325         * include/tr1/cmath: Likewise.
7326         * include/tr1/ell_integral.tcc: Likewise.
7327         * include/tr1/exp_integral.tcc: Likewise.
7328         * include/tr1/gamma.tcc: Likewise.
7329         * include/tr1/hypergeometric.tcc: Likewise.
7330         * include/tr1/legendre_function.tcc: Likewise.
7331         * include/tr1/modified_bessel_func.tcc: Likewise.
7332         * include/tr1/poly_hermite.tcc: Likewise.
7333         * include/tr1/poly_laguerre.tcc: Likewise.
7334         * include/tr1/riemann_zeta.tcc: Likewise.
7335         * include/tr1/special_function_util.h: Likewise.
7336         * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
7337
7338         * include/std/type_traits (has_trivial_default_constructor): Remove.
7339         (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
7340         * testsuite/20_util/has_trivial_copy_assign/requirements/
7341         explicit_instantiation.cc: Remove test.
7342         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
7343         line number.
7344         * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
7345         Likewise.
7346         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
7347         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7348         explicit_instantiation.cc: Likewise.
7349         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7350         typedefs.cc: Likewise.
7351         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
7352         * testsuite/20_util/has_trivial_default_constructor/requirements/
7353         explicit_instantiation.cc: Likewise.
7354         * testsuite/20_util/has_trivial_default_constructor/requirements/
7355         typedefs.cc: Likewise.
7356         * testsuite/20_util/has_trivial_default_constructor/value.cc:
7357         Likewise.
7358         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7359         Check has_trivial_default_constructor, has_trivial_copy_constructor,
7360         and has_trivial_copy_assign are not defined.
7361         * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
7362         tests.
7363         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
7364         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
7365         dg-error line number.
7366         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7367         Likewise.
7368
7369 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7370
7371         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
7372         Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
7373         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
7374         Likewise.
7375         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
7376         Likewise.
7377         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
7378         Likewise.
7379         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
7380         Likewise.
7381         * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
7382         Likewise.
7383         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
7384         Likewise.
7385
7386         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
7387         comments.
7388
7389         * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
7390         dg-error to relevant line.
7391         * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
7392         Likewise.
7393         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
7394
7395         * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
7396
7397         * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
7398         options are present that aren't valid for C.
7399         * testsuite/abi/header_cxxabi.c: Likewise.
7400
7401         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
7402         check_value.cc: Do not add special functions to namespace std in TR1
7403         test.
7404
7405         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
7406         run for C++11 and later.
7407         * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
7408         Likewise.
7409         * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
7410         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
7411         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
7412         * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
7413         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
7414         Likewise.
7415         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
7416         Likewise.
7417         * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
7418         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
7419         Likewise.
7420         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
7421         Likewise.
7422         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
7423         Likewise.
7424         * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
7425         * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
7426         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
7427         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
7428         * testsuite/special_functions/03_beta/compile.cc: Likewise.
7429         * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
7430         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
7431         * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
7432         Likewise.
7433         * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
7434         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
7435         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
7436         * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
7437         Likewise.
7438         * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
7439         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
7440         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
7441         * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
7442         Likewise.
7443         * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
7444         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
7445         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
7446         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
7447         Likewise.
7448         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
7449         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
7450         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
7451         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
7452         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
7453         Likewise.
7454         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
7455         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
7456         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
7457         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
7458         Likewise.
7459         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
7460         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
7461         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
7462         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
7463         * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
7464         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
7465         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
7466         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
7467         * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
7468         * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
7469         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
7470         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
7471         * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
7472         * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
7473         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
7474         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
7475         * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
7476         * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
7477         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
7478         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
7479         * testsuite/special_functions/14_expint/compile.cc: Likewise.
7480         * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
7481         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
7482         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
7483         * testsuite/special_functions/15_hermite/compile.cc: Likewise.
7484         * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
7485         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
7486         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
7487         * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
7488         * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
7489         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
7490         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
7491         * testsuite/special_functions/17_legendre/compile.cc: Likewise.
7492         * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
7493         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
7494         * testsuite/special_functions/18_riemann_zeta/check_value.cc:
7495         Likewise.
7496         * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
7497         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
7498         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
7499         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
7500         * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
7501         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
7502         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
7503         * testsuite/special_functions/20_sph_legendre/check_value.cc:
7504         Likewise.
7505         * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
7506         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
7507         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
7508         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
7509         * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
7510         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
7511
7512         * testsuite/tr1/5_numerical_facilities/special_functions/
7513         08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
7514         of [[gnu::unused]].
7515         * testsuite/tr1/5_numerical_facilities/special_functions/
7516         09_cyl_bessel_j/check_value.cc: Likewise.
7517         * testsuite/tr1/5_numerical_facilities/special_functions/
7518         10_cyl_bessel_k/check_value.cc: Likewise.
7519         * testsuite/tr1/5_numerical_facilities/special_functions/
7520         11_cyl_neumann/check_value.cc: Likewise.
7521         * testsuite/tr1/5_numerical_facilities/special_functions/
7522         21_sph_bessel/check_value.cc: Likewise.
7523         * testsuite/tr1/5_numerical_facilities/special_functions/
7524         23_sph_neumann/check_value.cc: Likewise.
7525
7526 2016-08-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7527
7528         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
7529         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
7530         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
7531         * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
7532         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
7533         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
7534
7535 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7536
7537         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
7538         test if -flto used.
7539
7540         * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
7541         additional flags for compiling libtestc++.a objects.
7542
7543 2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
7544
7545         * include/bits/basic_string.h (data() const): Update comment.
7546         (data()): Add non-const overload for C++17.
7547         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
7548         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
7549
7550         * include/bits/basic_string.tcc: Disable explicit instantiation
7551         declarations for C++17.
7552
7553         * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
7554         ignored "xfail" from { dg-do compile { xfail selector } } directive.
7555         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
7556         Likewise.
7557         * testsuite/26_numerics/headers/cmath/
7558         c99_classification_macros_c++11.cc: Likewise.
7559         * testsuite/26_numerics/headers/cmath/
7560         c99_classification_macros_c++98.cc: Likewise.
7561         * testsuite/26_numerics/headers/cmath/
7562         c99_classification_macros_c.cc: Likewise.
7563
7564         * testsuite/backward/hash_set/check_construct_destroy.cc: Account
7565         for different construct/destroy counts in C++98 mode.
7566
7567         * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
7568
7569         * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
7570         later.
7571         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
7572         Likewise.
7573
7574         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
7575         C++98-compatible initialization for array.
7576
7577         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
7578         unused header and variable from compile-only test.
7579         * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
7580         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
7581         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
7582         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
7583         Likewise.
7584
7585         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
7586         Remove duplicate dg-options directive.
7587
7588         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
7589         808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
7590
7591         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
7592         linker options from compile-only tests.
7593         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7594         Likewise.
7595
7596         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
7597         supported for C++11 and later.
7598         * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
7599         * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
7600
7601 2016-08-01  Uros Bizjak  <ubizjak@gmail.com>
7602
7603         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
7604
7605 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7606
7607         * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
7608         compile-only test.
7609
7610         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7611         Ensure test is compiled with optimization.
7612
7613         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7614         Adjust dg-prune-output pattern for error in C++98 mode.
7615
7616         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
7617         run for C++11 or later.
7618
7619         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
7620         test to not rely on GNU extension (escaped normal characters in POSIX
7621         BRE). Enable tests for other strings which are now supported.
7622
7623         * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
7624         c++11 instead of setting -std=gnu++14.
7625
7626         PR libstdc++/72745
7627         * include/std/array (get): Use positive message for static assertions.
7628         * include/std/functional (_Safe_tuple_element_t): Fix indentation.
7629         * include/std/tuple (tuple_element<I, tuple<>>): Add partial
7630         specialization for invalid indices, with static assertion.
7631         * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
7632
7633         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
7634         dg-error to relevant line.
7635         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7636         Likewise.
7637         * testsuite/23_containers/forward_list/requirements/dr438/
7638         assign_neg.cc: Likewise.
7639         * testsuite/23_containers/forward_list/requirements/dr438/
7640         constructor_1_neg.cc: Likewise.
7641         * testsuite/23_containers/forward_list/requirements/dr438/
7642         constructor_2_neg.cc: Likewise.
7643         * testsuite/23_containers/forward_list/requirements/dr438/
7644         insert_neg.cc: Likewise.
7645         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
7646         Likewise.
7647         * testsuite/26_numerics/random/linear_congruential_engine/
7648         requirements/non_uint_neg.cc: Likewise.
7649         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
7650         Likewise. Also test for std::atomic_address.
7651
7652 2016-07-31  Ville Voutilainen  <ville.voutilainen@gmail.com>
7653
7654         Add missing variable traits, fix testsuite failures.
7655         * include/bits/uses_allocator.h (uses_allocator_v): New.
7656         * include/std/functional (is_bind_expression_v, is_placeholder_v):
7657         Likewise.
7658         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
7659         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
7660         * testsuite/20_util/duration/literals/range.cc: Likewise.
7661         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
7662         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
7663         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
7664         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
7665         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7666         Likewise.
7667         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
7668         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
7669         New.
7670
7671 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7672
7673         * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
7674         not test 128-bit types.
7675         * testsuite/20_util/is_floating_point/value.cc: Likewise.
7676         * testsuite/20_util/is_integral/value.cc: Likewise.
7677         * testsuite/20_util/is_signed/value.cc: Likewise.
7678         * testsuite/20_util/is_unsigned/value.cc: Likewise.
7679         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
7680         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
7681         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
7682         Likewise.
7683         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7684         Likewise.
7685
7686         * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
7687
7688 2016-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
7689
7690         Implement C++17 variable templates for type traits.
7691         * include/std/chrono (treat_as_floating_point_v): New.
7692         * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
7693         (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
7694         (ratio_greater_equal_v): Likewise.
7695         * include/std/system_error (is_error_code_enum_v)
7696         (is_error_condition_enum_v): Likewise.
7697         * include/std/tuple (tuple_size_v): Likewise.
7698         * type_traits (conjunction_v, disjunction_v, negation_v)
7699         (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
7700         (is_array_v, is_pointer_v, is_lvalue_reference_v)
7701         (is_rvalue_reference_v, is_member_object_pointer_v)
7702         (is_member_function_pointer_v, is_enum_v, is_union_v)
7703         (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
7704         (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
7705         (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
7706         (is_trivially_copyable_v, is_standard_layout_v)
7707         (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
7708         (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
7709         (is_constructible_v, is_default_constructible_v)
7710         (is_copy_constructible_v, is_move_constructible_v)
7711         (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
7712         (is_destructible_v, is_trivially_constructible_v)
7713         (is_trivially_default_constructible_v)
7714         (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
7715         (is_trivially_assignable_v, is_trivially_copy_assignable_v)
7716         (is_trivially_move_assignable_v, is_trivially_destructible_v)
7717         (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
7718         (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
7719         (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
7720         (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
7721         (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
7722         (is_same_v, is_base_of_v, is_convertible_v): Likewise.
7723         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
7724         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
7725         Likewise.
7726         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
7727         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
7728         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
7729
7730 2016-07-29  Andreas Schwab  <schwab@linux-m68k.org>
7731
7732         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
7733         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
7734         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
7735
7736 2016-07-29  Jonathan Wakely  <jwakely@redhat.com>
7737
7738         * doc/xml/manual/abi.xml: Document 6.0.22 library version.
7739         * doc/html/manual/abi.html: Regenerate.
7740
7741         * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
7742         * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
7743         symbols.
7744         * configure: Regenerate.
7745         * testsuite/util/testsuite_abi.cc: Add new symbol version.
7746
7747         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
7748         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
7749         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
7750         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
7751         Likewise.
7752         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
7753         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
7754         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
7755
7756 2016-07-28  Jonathan Wakely  <jwakely@redhat.com>
7757
7758         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
7759         Adjust dg-prune-output pattern for error in C++98 mode.
7760         * testsuite/23_containers/deque/requirements/dr438/
7761         constructor_1_neg.cc: Likewise.
7762         * testsuite/23_containers/deque/requirements/dr438/
7763         constructor_2_neg.cc: Likewise.
7764         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
7765         Likewise.
7766         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
7767         Likewise.
7768         * testsuite/23_containers/list/requirements/dr438/
7769         constructor_1_neg.cc: Likewise.
7770         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7771         Likewise.
7772         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
7773         Likewise.
7774         * testsuite/23_containers/vector/requirements/dr438/
7775         constructor_1_neg.cc: Likewise.
7776         * testsuite/23_containers/vector/requirements/dr438/
7777         constructor_2_neg.cc: Likewise.
7778         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
7779         Likewise.
7780
7781         * testsuite/23_containers/vector/check_construct_destroy.cc: Account
7782         for different construct/destroy counts in C++98 mode.
7783
7784         * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
7785         dg-options to dg-additional-options so that default options are used.
7786         * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
7787         Likewise.
7788         * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
7789         * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
7790         Likewise.
7791         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7792         Use dg-additional-options instead of repeating the common options.
7793
7794         * testsuite/22_locale/conversions/string/1.cc: Remove unintended
7795         dg-do compile directive.
7796         * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
7797         dg-do directive.
7798         * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
7799
7800 2016-07-28  Ville Voutilainen  <ville.voutilainen@gmail.com>
7801
7802         Implement std::string_view and P0254r2,
7803         Integrating std::string_view and std::string.
7804         * include/Makefile.am: Add string_view and string_view.tcc
7805         to the exported headers.
7806         * include/Makefile.in: Likewise.
7807         * include/bits/basic_string.h: Include <string_view> in C++17 mode.
7808         (__sv_type): New.
7809         (basic_string(__sv_type, const _Alloc&)): Likewise.
7810         (operator=(__sv_type)): Likewise.
7811         (operator __sv_type()): Likewise.
7812         (operator+=(__sv_type)): Likewise.
7813         (append(__sv_type __sv)): Likewise.
7814         (append(__sv_type, size_type, size_type)): Likewise.
7815         (assign(__sv_type)): Likewise.
7816         (assign(__sv_type, size_type, size_type)): Likewise.
7817         (insert(size_type, __sv_type)): Likewise.
7818         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
7819         (replace(size_type, size_type, __sv_type)): Likewise.
7820         (replace(size_type, size_type, __sv_type, size_type, size_type)):
7821         Likewise.
7822         (replace(const_iterator, const_iterator, __sv_type)): Likewise.
7823         (find(__sv_type, size_type)): Likewise.
7824         (rfind(__sv_type, size_type)): Likewise.
7825         (find_first_of(__sv_type, size_type)): Likewise.
7826         (find_last_of(__sv_type, size_type)): Likewise.
7827         (find_first_not_of(__sv_type, size_type)): Likewise.
7828         (find_last_not_of(__sv_type, size_type)): Likewise.
7829         (compare(__sv_type)): Likewise.
7830         (compare(size_type, size_type, __sv_type)): Likewise.
7831         (compare(size_type, size_type, __sv_type, size_type, size_type)):
7832         Likewise.
7833         * include/bits/string_view.tcc: New.
7834         * include/std/string_view: Likewise.
7835         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
7836         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
7837         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
7838         Likewise.
7839         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
7840         Likewise.
7841         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
7842         Likewise.
7843         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
7844         Likewise.
7845         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
7846         Likewise.
7847         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
7848         Likewise.
7849         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7850         Likewise.
7851         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
7852         Likewise.
7853         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
7854         Likewise.
7855         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
7856         Likewise.
7857         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
7858         Likewise.
7859         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
7860         Likewise.
7861         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
7862         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
7863         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
7864         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
7865         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
7866         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
7867         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
7868         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
7869         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
7870         * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
7871         Likewise.
7872         * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
7873         Likewise.
7874         * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
7875         Likewise.
7876         * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
7877         Likewise.
7878         * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
7879         Likewise.
7880         * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
7881         Likewise.
7882         * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
7883         Likewise.
7884         * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
7885         Likewise.
7886         * testsuite/21_strings/basic_string_view/include.cc: Likewise.
7887         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
7888         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
7889         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
7890         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
7891         Likewise.
7892         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
7893         Likewise.
7894         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
7895         Likewise.
7896         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
7897         Likewise.
7898         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
7899         Likewise.
7900         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
7901         Likewise.
7902         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
7903         Likewise.
7904         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
7905         Likewise.
7906         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
7907         Likewise.
7908         * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
7909         Likewise.
7910         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
7911         Likewise.
7912         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
7913         Likewise.
7914         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
7915         Likewise.
7916         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
7917         Likewise.
7918         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
7919         Likewise.
7920         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
7921         Likewise.
7922         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
7923         Likewise.
7924         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
7925         Likewise.
7926         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
7927         Likewise.
7928         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
7929         Likewise.
7930         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
7931         Likewise.
7932         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
7933         Likewise.
7934         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
7935         Likewise.
7936         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
7937         Likewise.
7938         * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
7939         Likewise.
7940         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
7941         Likewise.
7942         * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
7943         Likewise.
7944         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
7945         Likewise.
7946         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
7947         Likewise.
7948         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
7949         Likewise.
7950         * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
7951         Likewise.
7952         * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
7953         Likewise.
7954         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
7955         Likewise.
7956         * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
7957         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
7958         Likewise.
7959         * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
7960         Likewise.
7961         * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
7962         Likewise.
7963         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
7964         Likewise.
7965         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
7966         Likewise.
7967         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
7968         Likewise.
7969         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
7970         Likewise.
7971         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
7972         Likewise.
7973         * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
7974         Likewise.
7975         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
7976         * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
7977
7978 2016-07-27  Jonathan Wakely  <jwakely@redhat.com>
7979
7980         * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
7981
7982 2016-07-25  Georeth Chow  <georeth2010@gmail.com>
7983
7984         * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
7985         _S_concat enumerator.
7986         * testsuite/ext/rope/6.cc: New test.
7987
7988 2016-07-25  Jonathan Wakely  <jwakely@redhat.com>
7989
7990         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
7991         std::mt19937, std::thread and std::atomic to simplify test.
7992         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
7993
7994 2016-07-22  Jonathan Wakely  <jwakely@redhat.com>
7995
7996         PR libstdc++/71964
7997         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
7998         (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
7999         * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
8000         * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
8001         * testsuite/23_containers/set/allocator/71964.cc: New test.
8002
8003         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
8004         delete[] instead of delete.
8005
8006 2016-07-21  Jonathan Wakely  <jwakely@redhat.com>
8007
8008         * include/experimental/propagate_const (propagate_const::__t): Rename
8009         to _M_t and remove comment. Qualify std::move and std::forward.
8010         * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
8011
8012         * testsuite/23_containers/vector/zero_sized_allocations.cc:
8013         Define sized deallocation function.
8014         * testsuite/util/testsuite_new_operators.h:
8015         (operator delete(void*, const std::nothrow_t&)): Define nothrow
8016         deallocation function.
8017
8018         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
8019         reads past the end of strings.
8020         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
8021         Likewise.
8022         * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
8023         invalid array accesses.
8024         * testsuite/experimental/string_view/operations/compare/char/1.cc:
8025         Fix read past the end of string.
8026         * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
8027
8028         * testsuite/24_iterators/container_access.cc: Fix missing returns.
8029         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
8030
8031         * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
8032         leak) memory for arguments to placement delete.
8033         * testsuite/20_util/addressof/1.cc: Don't leak memory.
8034         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
8035         * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
8036         Likewise.
8037
8038 2016-07-20  Jonathan Wakely  <jwakely@redhat.com>
8039
8040         * doc/xml/manual/intro.xml: Document DR 2684 status.
8041         * doc/html/*: Regenerate.
8042
8043         * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
8044         (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
8045         (atomic_uint64_t): Define (LWG 2441).
8046         * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
8047         lines.
8048         * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
8049         the new types.
8050         * doc/xml/manual/intro.xml: Document DR 2441 status.
8051
8052         * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
8053         to use perfect forwarding (LWG 2328).
8054         * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
8055         * doc/xml/manual/intro.xml: Document DR 2328 status.
8056
8057         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
8058         static objects for catching nullptr as pointer to member types.
8059
8060 2016-07-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
8061
8062         Clean up optional's comments.
8063         * include/std/optional: Remove incorrect section headers
8064         from comments when redundant, replace bare section
8065         headers with more descriptive comments.
8066
8067 2016-07-15  Jonathan Wakely  <jwakely@redhat.com>
8068
8069         * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
8070         * include/bits/move.h: Likewise.
8071         * include/bits/postypes.h: Likewise.
8072         * include/debug/bitset: Likewise.
8073         * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
8074         * include/ext/string_conversions.h: Change C++0x to __cxx11 in
8075         comment.
8076         * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
8077         * testsuite/util/thread/all.h: Likewise.
8078
8079         * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
8080         and adjust comment.
8081
8082         PR c++/58796
8083         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
8084         nullptr match handlers of pointer type.
8085
8086 2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
8087
8088         Implement C++17 P0025 clamp.
8089         * include/bits/algorithmfwd.h: Declare clamp overloads.
8090         * include/bits/stl_algo.h: Implement clamp.  Feature __cpp_lib_clamp.
8091         * testsuite/25_algorithms/clamp/1.cc: New test.
8092         * testsuite/25_algorithms/clamp/2.cc: New test.
8093         * testsuite/25_algorithms/clamp/constexpr.cc: New test.
8094         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
8095         1.cc: New test.
8096         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
8097         pod.cc: New test.
8098
8099 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
8100
8101         Fix the constraints for any's assignment operator template to properly
8102         reject assignment from a non-copyable lvalue.
8103         * include/std/any (operator=(_ValueType&&)): Constrain the decayed
8104         type for is_copy_constructible,
8105         * testsuite/20_util/any/requirements.cc: Add a test for
8106         non-copyable lvalues.
8107
8108 2016-07-14  Jonathan Wakely  <jwakely@redhat.com>
8109
8110         * include/experimental/functional: Include <parallel/algorithm> in
8111         Parallel Mode.
8112
8113         * testsuite/experimental/functional/searchers.cc: Include <algorithm>
8114         for std::search.
8115
8116         PR libstdc++/70716
8117         * include/bits/forward_list.h (forward_list): Update doxygen comments
8118         to reflect allocator propagation semantics. Remove ambiguous
8119         statements about data being lost.
8120         * include/bits/stl_deque.h (deque): Likewise.
8121         * include/bits/stl_list.h (list): Likewise.
8122         * include/bits/stl_map.h (map): Likewise.
8123         * include/bits/stl_multimap.h (multimap): Likewise.
8124         * include/bits/stl_multiset.h (multiset): Likewise.
8125         * include/bits/stl_set.h (set): Likewise.
8126         * include/bits/stl_vector.h (vector): Likewise.
8127         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
8128         Likewise.
8129         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
8130         Likewise.
8131
8132 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
8133
8134         Implement P0032R3, Homogeneous interface for variant, any and optional,
8135         for the parts concerning any and optional.
8136         * include/std/any (_Storage()): Make constexpr and have it
8137         initialize _M_ptr.
8138         (any()): Make constexpr.
8139         (any(const any&)): Adjust.
8140         (any(any&&)): Likewise.
8141         (__any_constructible_t): New.
8142         (any(_ValueType&&)): Constrain.
8143         (any(in_place_type_t<_Tp>, _Args&&...)): New.
8144         (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
8145         Likewise.
8146         (~any()): Adjust.
8147         (operator=(const any&)): Likewise.
8148         (operator=(any&&)): Likewise.
8149         (operator=(_ValueType&&)): Constrain.
8150         (emplace(_Args&&...)): New.
8151         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
8152         (clear()): Remove.
8153         (reset()): New.
8154         (swap(any&)): Adjust.
8155         (empty()): Remove.
8156         (has_value()): New.
8157         (type()): Adjust.
8158         (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
8159         (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
8160         (make_any(_Args&&...)): Likewise.
8161         (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
8162         * include/std/optional (in_place_t, in_place): Remove.
8163         (bad_optional_access): Add a comment referring to LEWG 72.
8164         (emplace(_Args&&...)): Constrain.
8165         (has_value()): New.
8166         (reset()): Likewise.
8167         (make_optional(_Args&&...)): Likewise.
8168         (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
8169         * include/std/utility (in_place_tag): New.
8170         (__in_place, __in_place_type, __in_place_index): Likewise.
8171         (in_place_t, in_place_type_t, in_place_index_t): Likewise.
8172         (in_place(__in_place*)): Likewise.
8173         (in_place(__in_place_type<_Tp>*)): Likewise.
8174         (in_place(__in_place_index<_Idx>*)): Likewise.
8175         * testsuite/20_util/any/assign/1.cc: Adjust.
8176         * testsuite/20_util/any/assign/emplace.cc: New.
8177         * testsuite/20_util/any/assign/self.cc: Adjust.
8178         * testsuite/20_util/any/cons/1.cc: Likewise.
8179         * testsuite/20_util/any/cons/in_place.cc: New.
8180         * testsuite/20_util/any/make_any.cc: Likewise.
8181         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
8182         * testsuite/20_util/any/misc/swap.cc: Likewise.
8183         * testsuite/20_util/any/modifiers/1.cc: Likewise.
8184         * testsuite/20_util/any/requirements.cc: New.
8185         * testsuite/20_util/in_place/requirements.cc: Likewise.
8186         * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
8187         * testsuite/20_util/optional/in_place.cc: Likewise.
8188         * testsuite/20_util/optional/make_optional.cc: Add tests for
8189         the new overloads of make_optional.
8190
8191 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
8192
8193         Implement P0307R2, Making Optional Greater Equal Again.
8194         * include/experimental/optional (_Has_addressof): Fix the comment.
8195         * include/std/optional (_Has_addressof): Likewise.
8196         (operator=(_Up&&)): Constrain.
8197         (operator=(const optional<_Up>&)): Likewise.
8198         (operator=(optional<_Up>&&)): Likewise.
8199         (__optional_relop_t): New.
8200         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8201         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
8202         Constrain and make transparent.
8203         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8204         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
8205         Constrain and make transparent.
8206         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8207         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8208         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
8209         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
8210         (operator!=(const optional<_Tp>&, _Tp const&)):
8211         Constrain and make transparent.
8212         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
8213         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
8214         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
8215         (operator>(const optional<_Tp>&, const _Tp&)):
8216         Constrain and make transparent.
8217         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
8218         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
8219         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
8220         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
8221         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
8222         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
8223         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8224         * testsuite/20_util/optional/relops/1.cc: Likewise.
8225         * testsuite/20_util/optional/relops/2.cc: Likewise.
8226         * testsuite/20_util/optional/relops/3.cc: Likewise.
8227         * testsuite/20_util/optional/relops/4.cc: Likewise.
8228         * testsuite/20_util/optional/requirements.cc: Add tests to verify
8229         that optional's relops are transparent and don't synthesize
8230         operators. Also test that assignment sfinaes.
8231
8232 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8233
8234         PR libstdc++/71856
8235         * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
8236         * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
8237         Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
8238         on _GLIBCXX_ASSERTIONS.
8239         * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
8240         Include <unistd.h> for sleep.
8241         * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
8242         * include/parallel/merge.h: Likewise.
8243         * include/parallel/multiway_merge.h: Likewise.
8244         * include/parallel/partition.h: Likewise.
8245         * include/parallel/queue.h: Likewise.
8246         * include/parallel/sort.h: Likewise.
8247         * testsuite/25_algorithms/headers/algorithm/
8248         parallel_algorithm_assert.cc: New.
8249
8250         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
8251         (replace(__const_iterator, __const_iterator, initializer_list<C>)):
8252         Forward to different overload.
8253
8254         * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
8255         static.
8256
8257 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8258
8259         Revert "Add non-const overload of std::string::data()".
8260
8261 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
8262
8263         Implement P0307R2, Making Optional Greater Equal Again.
8264         * include/experimental/optional (_Has_addressof): Fix the comment.
8265         * include/std/optional (_Has_addressof): Likewise.
8266         (operator=(_Up&&)): Constrain.
8267         (operator=(const optional<_Up>&)): Likewise.
8268         (operator=(optional<_Up>&&)): Likewise.
8269         (__optional_relop_t): New.
8270         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8271         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
8272         Constrain and make transparent.
8273         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8274         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
8275         Constrain and make transparent.
8276         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8277         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8278         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
8279         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
8280         (operator!=(const optional<_Tp>&, _Tp const&)):
8281         Constrain and make transparent.
8282         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
8283         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
8284         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
8285         (operator>(const optional<_Tp>&, const _Tp&)):
8286         Constrain and make transparent.
8287         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
8288         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
8289         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
8290         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
8291         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
8292         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
8293         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8294         * testsuite/20_util/optional/relops/1.cc: Likewise.
8295         * testsuite/20_util/optional/relops/2.cc: Likewise.
8296         * testsuite/20_util/optional/relops/3.cc: Likewise.
8297         * testsuite/20_util/optional/relops/4.cc: Likewise.
8298         * testsuite/20_util/optional/requirements.cc: Add tests to verify
8299         that optional's relops are transparent and don't synthesize
8300         operators. Also test that assignment sfinaes.
8301
8302 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8303
8304         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
8305         New function.
8306         (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
8307         instead of _M_data().
8308         (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
8309         Likewise.
8310         (append(const basic_string&)): Likewise.
8311         (append(const basic_string&, size_type, size_type)): Likewise.
8312         (assign(const basic_string&, size_type, size_type)): Likewise.
8313         (insert(size_type, const basic_string&)): Likewise.
8314         (insert(size_type, const basic_string&, size_type, size_type)):
8315         Likewise.
8316         (replace(size_type, size_type, const basic_string&, size_type,
8317         size_type)): Likewise.
8318         (replace(__const_iterator, __const_iterator, const basic_string&)):
8319         Likewise.
8320         (c_str(), data()): Use c_str() instead of _M_data().
8321         (data()): Add non-const overload as per LWG 2391 and P0272R1.
8322         (compare(const basic_string&)): Use data() instead of _M_data().
8323         [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
8324         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
8325         Pass raw pointers to _S_copy.
8326         (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
8327         _S_assign.
8328         (find(const _CharT*, size_type, size_type)): Use data instead of
8329         _M_data().
8330         * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
8331         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
8332         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
8333
8334 2016-07-12  Jonathan Wakely  <jwakely@redhat.com>
8335
8336         * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
8337         * doc/xml/manual/intro.xml: Document DR 2458 status.
8338         * doc/html*: Regenerate.
8339
8340         * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
8341         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8342         Only include <array>.
8343         * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
8344         Likewise.
8345         * doc/xml/manual/intro.xml: Document LWG 2212 support.
8346         * doc/html*: Regenerate.
8347
8348         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8349         Add testcase from LWG 2164.
8350
8351 2016-07-11  François Dumont  <fdumont@gcc.gnu.org>
8352
8353         * include/bits/stl_vector.h (push_back(const value_type&)): Forward
8354         to _M_realloc_insert.
8355         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8356         (_M_realloc_insert): Declare new function.
8357         (_M_emplace_back_aux): Remove definition.
8358         * include/bits/vector.tcc (emplace_back(_Args...)):
8359         Use _M_realloc_insert.
8360         (insert(const_iterator, const value_type&)): Likewise.
8361         (_M_insert_rval, _M_emplace_aux): Likewise.
8362         (_M_emplace_back_aux): Remove declaration.
8363         (_M_realloc_insert): Define.
8364         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8365         Adjust expected results for emplacing an lvalue with reallocation.
8366
8367 2016-07-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
8368
8369         Implement std::optional.
8370         * include/Makefile.am: Add optional to exported headers.
8371         * include/Makefile.in: Likewise.
8372         * include/std/optional: New.
8373         * testsuite/20_util/optional/typedefs.cc: Likewise.
8374         * testsuite/20_util/optional/relops/2.cc: Likewise.
8375         * testsuite/20_util/optional/relops/3.cc: Likewise.
8376         * testsuite/20_util/optional/relops/4.cc: Likewise.
8377         * testsuite/20_util/optional/relops/5.cc: Likewise.
8378         * testsuite/20_util/optional/relops/1.cc: Likewise.
8379         * testsuite/20_util/optional/relops/6.cc: Likewise.
8380         * testsuite/20_util/optional/nullopt.cc: Likewise.
8381         * testsuite/20_util/optional/in_place.cc: Likewise.
8382         * testsuite/20_util/optional/make_optional.cc: Likewise.
8383         * testsuite/20_util/optional/assignment/2.cc: Likewise.
8384         * testsuite/20_util/optional/assignment/3.cc: Likewise.
8385         * testsuite/20_util/optional/assignment/4.cc: Likewise.
8386         * testsuite/20_util/optional/assignment/5.cc: Likewise.
8387         * testsuite/20_util/optional/assignment/1.cc: Likewise.
8388         * testsuite/20_util/optional/assignment/6.cc: Likewise.
8389         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
8390         * testsuite/20_util/optional/cons/default.cc: Likewise.
8391         * testsuite/20_util/optional/cons/move.cc: Likewise.
8392         * testsuite/20_util/optional/cons/value.cc: Likewise.
8393         * testsuite/20_util/optional/cons/copy.cc: Likewise.
8394         * testsuite/20_util/optional/requirements.cc: Likewise.
8395         * testsuite/20_util/optional/observers/2.cc: Likewise.
8396         * testsuite/20_util/optional/observers/3.cc: Likewise.
8397         * testsuite/20_util/optional/observers/4.cc: Likewise.
8398         * testsuite/20_util/optional/observers/5.cc: Likewise.
8399         * testsuite/20_util/optional/observers/1.cc: Likewise.
8400         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
8401         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
8402         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8403         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
8404         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
8405         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
8406         * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
8407         * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
8408         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
8409         * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
8410         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
8411         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
8412         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
8413         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
8414         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
8415         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
8416         * testsuite/20_util/optional/swap/1.cc: Likewise.
8417
8418 2016-07-08  Jonathan Wakely  <jwakely@redhat.com>
8419
8420         * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
8421
8422 2016-07-07  Jonathan Wakely  <jwakely@redhat.com>
8423
8424         * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
8425         * doc/html/*: Regenerate.
8426
8427 2016-07-07  Ville Voutilainen  <ville.voutilainen@gmail.com>
8428
8429         Implement std::any.
8430         * include/Makefile.am: Add any and c++17_warning.h to exported headers.
8431         * include/Makefile.in: Likewise.
8432         * include/std/any: New.
8433         * testsuite/20_util/any/assign/1.cc: Likewise.
8434         * testsuite/20_util/any/assign/2.cc: Likewise.
8435         * testsuite/20_util/any/assign/self.cc: Likewise.
8436         * testsuite/20_util/any/cons/1.cc: Likewise.
8437         * testsuite/20_util/any/cons/2.cc: Likewise.
8438         * testsuite/20_util/any/cons/aligned.cc: Likewise.
8439         * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
8440         * testsuite/20_util/any/misc/any_cast.cc: Likewise.
8441         * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
8442         * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
8443         * testsuite/20_util/any/misc/swap.cc: Likewise.
8444         * testsuite/20_util/any/modifiers/1.cc: Likewise.
8445         * testsuite/20_util/any/observers/type.cc: Likewise.
8446         * testsuite/20_util/any/typedefs.cc: Likewise.
8447
8448 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8449
8450         Add a new header for diagnosing the use of C++17 facilities
8451         in pre-C++17 modes.
8452         * include/bits/c++17_warning.h: New.
8453
8454 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8455
8456         Implement LWG 2451, optional<T> should 'forward' T's
8457         implicit conversions.
8458         * include/experimental/optional (__is_optional_impl, __is_optional):
8459         New.
8460         (optional()): Make constexpr and default.
8461         (optional(_Up&&), optional(const optional<_Up>&),
8462         optional(optional<_Up>&& __t): New.
8463         (operator=(_Up&&)): Constrain.
8464         (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
8465         * testsuite/experimental/optional/cons/value.cc:
8466         Add tests for the functionality added by LWG 2451.
8467         * testsuite/experimental/optional/cons/value_neg.cc: New.
8468
8469 2016-07-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8470
8471         Implement LWG 2509,
8472         any_cast doesn't work with rvalue reference targets and cannot
8473         move with a value target.
8474         * include/experimental/any (any(_ValueType&&)): Constrain and
8475         add an overload that doesn't forward.
8476         (any_cast(any&&)): Constrain and add an overload that moves.
8477         * testsuite/experimental/any/misc/any_cast.cc: Add tests for
8478         the functionality added by LWG 2509.
8479
8480 2016-07-04  François Dumont  <fdumont@gcc.gnu.org>
8481
8482         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8483         New test.
8484         * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
8485         test.
8486
8487 2016-07-04  Jonathan Wakely  <jwakely@redhat.com>
8488
8489         * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
8490         Define inline. Forward to _M_emplace_aux.
8491         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8492         (_M_insert_rval, _M_emplace_aux): Declare new functions.
8493         (_Temporary_value): New RAII type using allocator to construct/destroy.
8494         (_S_insert_aux_assign): Remove.
8495         (_M_insert_aux): Make non-variadic.
8496         * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
8497         Use _Temporary_value.
8498         (emplace(const_iterator, _Args&&...)): Remove definition.
8499         (_M_insert_rval, _M_emplace_aux): Define.
8500         (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
8501         (_M_fill_insert): Use _Temporary_value.
8502         * testsuite/23_containers/vector/allocator/construction.cc: New test.
8503         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8504         Adjust expected results for emplacing an lvalue with reallocation.
8505         * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
8506         expected results to account for construction/destruction of temporary
8507         using allocator.
8508         * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
8509
8510 2016-07-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
8511
8512         PR libstdc++/71313
8513         * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
8514         Call remove_all for children of a directory.
8515         * testsuite/experimental/filesystem/operations/create_directories.cc:
8516         Adjust.
8517
8518 2016-07-02  François Dumont  <fdumont@gcc.gnu.org>
8519
8520         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
8521         dg-error line numbers.
8522         * testsuite/23_containers/array/tuple_interface/
8523         tuple_element_debug_neg.cc: Likewise.
8524         * testsuite/25_algorithms/lexicographical_compare/debug/
8525         irreflexive_neg.cc: Remove.
8526
8527 2016-06-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8528
8529         * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
8530         than specific target.
8531
8532 2016-06-27  François Dumont  <fdumont@gcc.gnu.org>
8533
8534         PR libstdc++/71640
8535         * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
8536         friend declaration.
8537
8538 2016-06-23  François Dumont  <fdumont@gcc.gnu.org>
8539
8540         * include/debug/array (array<>::swap): Fix noexcept qualificaton for
8541         zero-size array.
8542
8543 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8544
8545         * configure.host: Remove mep-* support.
8546
8547 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8548
8549         * configure: Regenerate.
8550         * configure.host: Remove support for knetbsd.
8551         * crossconfig.m4: Likewise.
8552
8553 2016-06-20  François Dumont  <fdumont@gcc.gnu.org>
8554
8555         PR libstdc++/71181
8556         * include/tr1/hashtable_policy.h
8557         (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
8558         dereferenceable to avoid check on lower_bound result.
8559         (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
8560         (_Prime_rehash_policy::_M_need_rehash): Likewise.
8561         * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
8562         Always return a value greater than input value. Set _M_next_resize to
8563         max value when reaching highest prime number.
8564         * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
8565         being now useless.
8566         * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
8567         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
8568         (test02): New.
8569         * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
8570         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8571         Fix indentation.
8572
8573 2016-06-17  Jonathan Wakely  <jwakely@redhat.com>
8574
8575         PR libstdc++/71545
8576         * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
8577         Remove irreflexive checks.
8578         * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
8579         binary_search): Likewise.
8580         * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
8581         * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
8582         * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
8583         * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
8584         * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
8585         Add constructor from array.
8586
8587 2016-06-16  François Dumont  <fdumont@gcc.gnu.org>
8588
8589         * include/debug/debug.h
8590         (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
8591         (__glibcxx_requires_subscript): Move...
8592         * include/debug/assertions.h: ...here and add __builtin_expect.
8593         (_GLIBCXX_DEBUG_ONLY): Remove ; value.
8594         * include/bits/stl_deque.h
8595         (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
8596         (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
8597         (std::deque<>::back()): Likewise.
8598         (std::deque<>::pop_front()): Likewise.
8599         (std::deque<>::pop_back()): Likewise.
8600         (std::deque<>::swap(deque&)): Add allocator check.
8601         * include/bits/stl_vector.h
8602         (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
8603         (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
8604         (std::vector<>::back()): Likewise.
8605         (std::vector<>::pop_back()): Likewise.
8606         (std::vector<>::swap(vector&)): Add allocator check.
8607
8608 2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>
8609
8610         Provide swappable traits (p0185r1)
8611         * include/std/type_traits (is_swappable, is_nothrow_swappable,
8612         is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
8613         is_nothrow_swappable_v, is_swappable_with_v,
8614         is_nothrow_swappable_with_v): New.
8615         * include/bits/stl_pair.h: Use it as per p0185r1.
8616         * include/bits/stl_queue.h: Likewise.
8617         * include/bits/stl_stack.h: Likewise.
8618         * include/bits/unique_ptr.h: Likewise.
8619         * include/std/tuple: Likewise.
8620         * include/std/array: Likewise. Fix zero-size member swap.
8621         * include/bits/hashtable.h: Use __and_.
8622         * testsuite/20_util/is_nothrow_swappable/requirements/
8623         explicit_instantiation.cc: Change test options to std=gnu++17.
8624         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
8625         Likewise.
8626         * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
8627         * testsuite/20_util/is_swappable/requirements/
8628         explicit_instantiation.cc: Likewise.
8629         * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
8630         * testsuite/20_util/is_swappable/value.cc: Likewise.
8631         * testsuite/20_util/is_nothrow_swappable/requirements/
8632         explicit_instantiation_ext.cc: New.
8633         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
8634         New.
8635         * testsuite/20_util/is_nothrow_swappable/value.h: New.
8636         * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
8637         * testsuite/20_util/is_nothrow_swappable_with/requirements/
8638         explicit_instantiation.cc: New.
8639         * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
8640         New.
8641         * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
8642         * testsuite/20_util/is_swappable/requirements/
8643         explicit_instantiation_ext.cc: New.
8644         * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
8645         * testsuite/20_util/is_swappable/value.h: New.
8646         * testsuite/20_util/is_swappable/value_ext.cc: New.
8647         * testsuite/20_util/is_swappable_with/requirements/
8648         explicit_instantiation.cc: New.
8649         * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
8650         * testsuite/20_util/is_swappable_with/value.cc: New.
8651         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
8652         dg-error line numbers.
8653         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
8654         Likewise.
8655
8656 2016-06-16  Jonathan Wakely  <jwakely@redhat.com>
8657
8658         * include/std/array: Remove trailing whitespace.
8659         * include/std/atomic: Likewise.
8660         * include/std/bitset: Likewise.
8661         * include/std/chrono: Likewise.
8662         * include/std/complex: Likewise.
8663         * include/std/condition_variable: Likewise.
8664         * include/std/fstream: Likewise.
8665         * include/std/functional: Likewise.
8666         * include/std/future: Likewise.
8667         * include/std/iomanip: Likewise.
8668         * include/std/iosfwd: Likewise.
8669         * include/std/istream: Likewise.
8670         * include/std/limits: Likewise.
8671         * include/std/ratio: Likewise.
8672         * include/std/scoped_allocator: Likewise.
8673         * include/std/sstream: Likewise.
8674         * include/std/stdexcept: Likewise.
8675         * include/std/string: Likewise.
8676         * include/std/system_error: Likewise.
8677         * include/std/thread: Likewise.
8678         * include/std/tuple: Likewise.
8679         * include/std/type_traits: Likewise.
8680         * include/std/utility: Likewise.
8681         * include/std/valarray: Likewise.
8682         * include/std/vector: Likewise.
8683
8684         * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
8685         new overloaded functions.
8686         * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
8687         to avoid creating a redundant temporary.
8688         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
8689         test.
8690
8691 2016-06-15  François Dumont  <fdumont@gcc.gnu.org>
8692
8693         * include/bits/stl_deque.h
8694         (std::deque<>::operator=): Call _M_assign_aux.
8695         (std::deque<>::assign(initializer_list<>)): Likewise.
8696         (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8697         (std::deque<>::insert(const_iterator, initializer_list<>)):
8698         Call _M_range_insert_aux.
8699         (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
8700         Likewise.
8701         (std::deque<>::_M_fill_assign): Call _M_fill_insert.
8702         (std::deque<>::_M_move_assign2): Call _M_assign_aux.
8703         * include/bits/deque.tcc
8704         (std::deque<>::operator=): Call _M_range_insert_aux.
8705         (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
8706         Likewise.
8707         * include/bits/stl_vector.h
8708         (std::vector<>::operator=): Call _M_assign_aux.
8709         (std::vector<>::assign(initializer_list<>)): Likewise.
8710         (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8711         (std::vector<>::insert(const_iterator, initializer_list<>)):
8712         Call _M_range_insert.
8713         * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
8714
8715 2016-06-07  François Dumont  <fdumont@gcc.gnu.org>
8716
8717         * include/std/tuple (_Head_base<>): Default specialization condition at
8718         type declaration.
8719
8720 2016-06-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8721
8722         Support allocators in tuples of zero size.
8723         * include/std/tuple (tuple<>::tuple(),
8724         tuple<>::tuple(allocator_arg_t, const _Alloc&),
8725         tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
8726         * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
8727
8728 2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
8729
8730         PR libstdc++/71320
8731         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
8732         Add or remove permissions according to perms argument.
8733         * testsuite/experimental/filesystem/operations/permissions.cc: New
8734         test.
8735
8736 2016-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8737
8738         Protect allocator-overloads of tuple-from-tuple constructors
8739         from cases that would create dangling references.
8740         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8741         const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
8742         tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
8743         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
8744
8745 2016-05-29  Gerald Pfeifer  <gerald@pfeifer.com>
8746
8747         * doc/xml/manual/backwards_compatibility.xml: Adjust
8748         lists.debian.org link to https.
8749         * doc/html/manual/backwards.html: Regenerate.
8750
8751 2016-05-27  Jonathan Wakely  <jwakely@redhat.com>
8752
8753         * doc/xml/manual/abi.xml: Adjust URL to use https.
8754         * doc/html/manual/*: Regenerate.
8755
8756 2016-05-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
8757
8758         PR libstdc++/66338
8759         * include/std/tuple (_TMC): Add a check for _NotSameTuple.
8760         * include/std/tuple (tuple(_UElements&&...)): Remove the separate
8761         check for _NotSameTuple.
8762         * include/std/tuple (_TMCT): New.
8763         * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
8764         * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
8765         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8766               const tuple<_UElements...>&)): Likewise.
8767         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8768               tuple<_UElements...>&&)): Likewise.
8769         * testsuite/20_util/tuple/cons/66338.cc: New.
8770
8771 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
8772
8773         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
8774         * configure: Regenerate.
8775         * config.h.in: Regenerate.
8776
8777         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
8778         * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
8779         Remove const qualification on function. Replace
8780         _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
8781         (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
8782         (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
8783
8784 2016-05-24  François Dumont  <fdumont@gcc.gnu.org>
8785
8786         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
8787         * include/bits/hashtable_policy.h
8788         (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
8789         having load factor management.
8790         (_Mask_range_hashing): New.
8791         (__clp2): New.
8792         (_Power2_rehash_policy): New.
8793         (_Inserts<>): Remove last template parameter, _Unique_keys, so that
8794         partial specializations only depend on whether iterators are constant
8795         or not.
8796         * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
8797         test new hash policy.
8798         * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
8799         Likewise.
8800         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8801         Likewise.
8802         * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
8803         Likewise.
8804         * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
8805         Likewise.
8806         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
8807         New.
8808         * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
8809         using the new hash policy.
8810         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
8811
8812 2016-05-24  Jonathan Wakely  <jwakely@redhat.com>
8813
8814         * include/bits/stl_queue.h (priority_queue::value_compare): Define.
8815
8816 2016-05-23  François Dumont  <fdumont@gcc.gnu.org>
8817
8818         * include/debug/safe_iterator.h
8819         (_Safe_iterator<>::operator->()): Implement using underlying iterator
8820         operator ->.
8821         * include/debug/safe_local_iterator.h
8822         (_Safe_local_iterator<>::operator->()): Likewise.
8823
8824 2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8825
8826         * testsuite/experimental/memory_resource/1.cc: Add required argument
8827         to dg-require-atomic-builtins.
8828
8829 2016-05-13  Jonathan Wakely  <jwakely@redhat.com>
8830
8831         PR libstdc++/71073
8832         * include/debug/bitset: Add #pragma GCC system_header.
8833         * include/debug/deque: Likewise.
8834         * include/debug/list: Likewise.
8835         * include/debug/map: Likewise.
8836         * include/debug/set: Likewise.
8837         * include/debug/string: Likewise.
8838         * include/debug/unordered_map: Likewise.
8839         * include/debug/unordered_set: Likewise.
8840         * include/debug/vector: Likewise.
8841         * include/debug/functions.h: Adjust whitespace.
8842
8843 2016-05-12  Jonathan Wakely  <jwakely@redhat.com>
8844
8845         PR libstdc++/71081
8846         * testsuite/experimental/memory_resource/1.cc: Require atomics.
8847
8848 2016-05-11  Jonathan Wakely  <jwakely@redhat.com>
8849
8850         PR libstdc++/71049
8851         * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
8852         exception constructors with __sso_string parameters.
8853
8854 2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
8855
8856         * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
8857         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8858         Test begin and end functions.
8859         * testsuite/experimental/filesystem/iterators/
8860         recursive_directory_iterator.cc: Likewise.
8861
8862         PR libstdc++/71038
8863         * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
8864         * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
8865
8866         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8867         Overload operator* to move from rvalues.
8868
8869         PR libstdc++/71036
8870         * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
8871         * testsuite/experimental/filesystem/operations/create_directory.cc:
8872         New test.
8873
8874         PR libstdc++/71037
8875         * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
8876         base path to exception.
8877         * testsuite/experimental/filesystem/operations/canonical.cc: Test
8878         paths contained in exception.
8879
8880         * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
8881         using declaration.
8882
8883         PR libstdc++/71005
8884         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8885         New type.
8886         (directory_iterator::operator++(int)): Return proxy.
8887         (recursive_directory_iterator::operator++(int)): Likewise.
8888         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8889         Test post-increment.
8890         * testsuite/experimental/filesystem/iterators/
8891         recursive_directory_iterator.cc: Likewise.
8892
8893 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8894
8895         PR libstdc++/71004
8896         * testsuite/experimental/filesystem/iterators/
8897         recursive_directory_iterator.cc: Fix test02 to not call member
8898         functions on invalid iterator, and use VERIFY not assert.
8899
8900 2016-05-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
8901
8902         Avoid endless run-time recursion for copying single-element
8903         tuples where the element type is by-value constructible
8904         from any type.
8905         * include/std/tuple (_NotSameTuple): New.
8906         * include/std/tuple (tuple(_UElements&&...): Use it.
8907         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
8908
8909 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8910
8911         PR libstdc++/71004
8912         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
8913         Initialize scalar member variables in default constructor.
8914         * testsuite/experimental/filesystem/iterators/
8915         recursive_directory_iterator.cc: Test default construction.
8916
8917 2016-05-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8918
8919         * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
8920
8921 2016-05-05  Jonathan Wakely  <jwakely@redhat.com>
8922
8923         * testsuite/experimental/filesystem/path/native/string.cc: Add
8924         dg-require-filesystem-ts directive.
8925
8926 2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
8927
8928         PR libstdc++/70940
8929         * include/experimental/memory_resource
8930         (__resource_adaptor_imp::do_allocate): Do not default-construct
8931         rebound allocator.
8932         (__resource_adaptor_imp::do_deallocate): Likewise. Use
8933         allocator_traits to get pointer type.
8934         (__null_memory_resource::do_allocate): Remove unused parameters.
8935         (__null_memory_resource::do_deallocate): Likewise.
8936         (__null_memory_resource::do_is_equal): Likewise. Add return statement.
8937         * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
8938         * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
8939         move to ...
8940         * testsuite/experimental/memory_resource/1.cc: Here.
8941         * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
8942         * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
8943
8944 2016-04-29  Chris Gregory  <czipperz@gmail.com>
8945
8946         * config/*: Remove trailing whitespace.
8947         * src/*: Likewise.
8948         * testsuite/tr1/*: Likewise.
8949         * testsuite/util/*: Likewise.
8950
8951 2016-04-28  Jonathan Wakely  <jwakely@redhat.com>
8952
8953         PR libstdc++/70766
8954         * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
8955         __addressof.
8956         * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
8957         Likewise.
8958         * include/std/atomic (atomic<_Tp>): Likewise.
8959         * include/std/shared_mutex (shared_lock): Likewise.
8960         * testsuite/24_iterators/istream_iterator/70766.cc: New test.
8961         * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
8962         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
8963         * testsuite/29_atomics/atomic/70766.cc: New test.
8964         * testsuite/30_threads/shared_lock/70766.cc: New test.
8965
8966         * include/bits/hashtable_policy.h (__detail::_Insert_base,
8967         __detail::_Insert): Improve comments.
8968
8969 2016-04-27  Jonathan Wakely  <jwakely@redhat.com>
8970
8971         PR libstdc++/70767
8972         * include/std/limits: Update comments about DRs.
8973         (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
8974         numeric_limits<const volatile _Tp>): Define unconditionally.
8975
8976 2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
8977
8978         PR libstdc++/70762
8979         * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
8980         static counter to return a different path on every call.
8981
8982 2016-04-22  Tim Shen  <timshen@google.com>
8983
8984         PR libstdc++/70745
8985         * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
8986         Fix the match_not_bow and match_not_eow behavior.
8987         * testsuite/28_regex/regression.cc: Add testcase.
8988
8989 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
8990
8991         PR libstdc++/69703
8992         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
8993         __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
8994
8995 2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
8996
8997         PR libstdc++/69703
8998         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
8999         Override endianness bit in mode.
9000         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
9001         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
9002         that little_endian mode is ignored.
9003         * testsuite/experimental/filesystem/path/native/string.cc: New test.
9004
9005         PR libstdc++/70609
9006         * src/filesystem/ops.cc (close_fd): New function.
9007         (do_copy_file): Set permissions before copying file contents. Check
9008         result of closing file descriptors. Don't copy streambuf when file
9009         is empty.
9010         (copy(const path&, const path&, copy_options, error_code&)): Use
9011         lstat for source file when copy_symlinks is set.
9012         * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
9013
9014         * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
9015         operator~ operator&=, operator|=, operator^=): Add noexcept to
9016         overloaded operators for copy_options, perms and directory_options.
9017         * src/filesystem/ops.cc (make_file_type, make_file_status,
9018         is_not_found_errno, file_time): Add noexcept.
9019
9020 2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>
9021
9022         * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
9023
9024 2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
9025
9026         PR libstdc++/41759
9027         * include/bits/random.h: Reword static assertion messages to state
9028         positive conditions.
9029         * include/bits/random.tcc: Likewise.
9030         * include/bits/uniform_int_dist.h: Likewise.
9031         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
9032         patterns.
9033
9034         * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
9035
9036         * config/cpu/sh/atomicity.h: Fix typo in comment.
9037
9038         PR libstdc++/70294
9039         * include/std/thread (operator<, operator==): Move definitions to
9040         namespace-scope.
9041         * testsuite/30_threads/thread/id/70294.cc: New test.
9042
9043         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
9044         -Wno-pedantic to dg-options.
9045         * testsuite/20_util/align/2.cc: Use type as operand of alignof.
9046         * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
9047         to dg-options.
9048         * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
9049         Remove extra semi-colon.
9050         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
9051         Always supply second argument to static_assert.
9052         * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
9053         semi-colon.
9054         * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
9055         dg-options.
9056         * testsuite/26_numerics/complex/literals/values.cc: Likewise.
9057         * testsuite/29_atomics/atomic/60695.cc: Likewise.
9058         * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
9059         alignof when operand is an object not a type.
9060         * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
9061         * testsuite/decimal/make-decimal.cc: Likewise.
9062         * testsuite/experimental/type_traits/value.cc: Always supply second
9063         argument to static_assert.
9064         * testsuite/util/testsuite_common_types.h: Use __extension__ for
9065         __int128 types.
9066
9067         * testsuite/experimental/type_erased_allocator/1.cc: Don't include
9068         internal header.
9069         * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
9070         * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
9071         * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
9072         Likewise. Add licence and change to compile-only test.
9073
9074         * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
9075         unused parameter.
9076         * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
9077
9078         * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
9079         warnings.
9080
9081 2016-04-17  Edward Smith-Rowland  <3dw4rd@verizon.net>
9082
9083         * include/bits/specfun.h: Trivial comment misspelling.
9084
9085 2016-04-14  Jason Merrill  <jason@redhat.com>
9086
9087         Revert Jonathan's empty ABI change from yesterday.
9088
9089 2016-04-13  Martin Sebor  <msebor@redhat.com>
9090
9091         PR c++/69517
9092         * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
9093         upper bound is positive.
9094
9095 2016-04-13  Jonathan Wakely  <jwakely@redhat.com>
9096
9097         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
9098         _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
9099         * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
9100         of functions taking empty structs by value. Add a template parameter
9101         to overloads without hints. Rename overloads with hints to
9102         _M_emplace_hint.
9103         (_Hashtable::_M_erase(true_type, const_iterator),
9104         _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
9105         by reordering parameters.
9106         * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
9107         _M_emplace_hint instead of _M_emplace.
9108         * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
9109         shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
9110         * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
9111         __shared_ptr): Likewise.
9112         * include/bits/stl_algo.h (replace_if): Likewise.
9113         * include/bits/stl_pair.h (piecewise_construct_t,
9114         piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
9115         * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
9116         __uses_alloc0): Likewise.
9117         * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
9118         * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
9119         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
9120         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
9121         * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
9122         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
9123         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
9124
9125 2016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
9126
9127         Document C++17/TR29124 C++ Special Math Functions.
9128         * include/bits/specfun.h: Add Doxygen markup.
9129
9130 2016-04-07  Jonathan Wakely  <jwakely@redhat.com>
9131
9132         * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
9133
9134 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
9135
9136         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
9137         * src/Makefile.in: Regenerate.
9138
9139 2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
9140
9141         PR libstdc++/70554
9142         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
9143         __atomic_fetch_add for bool.
9144         * configure: Regenerate.
9145
9146         * testsuite/30_threads/thread/70503.cc: Require -static to work.
9147
9148         PR libstdc++/70503
9149         * src/c++11/thread.cc (execute_native_thread_routine,
9150         execute_native_thread_routine_compat): Give internal linkage.
9151         * testsuite/30_threads/thread/70503.cc: New test.
9152
9153 2016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
9154
9155         PR libstdc++/70437
9156         * include/bits/stl_pair.h (_ConstructiblePair,
9157         _ImplicitlyConvertiblePair, _MoveConstructiblePair,
9158         _ImplicitlyMoveConvertiblePair): Add shortcut conditions
9159         for same-type cases.
9160         * testsuite/20_util/pair/70437.cc: New.
9161
9162 2016-03-24  Jonathan Wakely  <jwakely@redhat.com>
9163
9164         PR libstdc++/69945
9165         * config/abi/pre/gnu.ver: Add new symbol.
9166         * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
9167         * testsuite/18_support/free_eh_pool.cc: New test.
9168
9169 2016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9170
9171         * include/Makefile.am (install-freestanding-headers): Add
9172         concept_check.h and move.h to the installed headers.
9173         * include/Makefile.in: Regenerated.
9174         * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
9175         freestanding implementations.
9176         * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
9177         that this macro has no effect for freestanding implementations.
9178         * doc/html/manual/using_macros.html: Likewise.
9179
9180 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
9181
9182         PR libstdc++/69939
9183         * include/experimental/tuple (__apply_impl): Qualify get and forward.
9184
9185 2016-02-23  Jonathan Wakely  <jwakely@redhat.com>
9186
9187         * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
9188         * doc/html/*: Regenerate.
9189
9190         PR libstdc++/69893
9191         * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
9192         exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
9193         llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
9194         nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
9195         trunc) [__cplusplus >= 201103L]: Import from namespace std.
9196         (fabs) [__cplusplus < 201103L]: Import from namespace std.
9197         * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
9198         Likewise.
9199         * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
9200         namespace before including TR1 headers.
9201         * testsuite/tr1/headers/c++200x/math.cc: New test.
9202
9203 2016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9204
9205         PR libstdc++/69881
9206         * include/c_global/cstdarg: Undefine __need___va_list.
9207         * include/c_global/cstddef: Undefine all kinds of __need_*.
9208
9209 2016-02-16  Tim Shen  <timshen@google.com>
9210
9211         PR libstdc++/69794
9212         * include/bits/regex_scanner.h: Add different special character
9213         sets for grep and egrep regex.
9214         * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
9215         * testsuite/28_regex/regression.cc: Add new testcase.
9216
9217 2016-02-08  Jonathan Wakely  <jwakely@redhat.com>
9218
9219         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
9220         added 'constexpr' in previous commit.
9221         * configure: Regenerate.
9222
9223         PR libstdc++/48891
9224         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
9225         checks for all targets except *-*-solaris2.* and ensure we find the
9226         libc math.h header not our own.
9227         * configure: Regenerate.
9228
9229 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
9230
9231         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
9232         New file.  Copied over from s390-linux-gnu.
9233
9234 2016-02-04  Jonathan Wakely  <jwakely@redhat.com>
9235
9236         PR libstdc++/69626
9237         * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
9238         with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
9239         * config.h.in: Regenerate.
9240         * configure: Regenerate.
9241         * testsuite/21_strings/c_strings/char/69626.cc: New.
9242
9243         * doc/html/index.html: Regenerate.
9244
9245         * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
9246         * doc/xml/manual/spine.xml: Update copyright years and author blurb.
9247         * doc/html/*: Regenerate.
9248
9249 2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9250
9251         PR libstdc++/69581
9252         * include/c_compatibility/math.h: Move header guards.
9253         * include/c_compatibility/stdlib.h: Likewise.
9254
9255 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
9256
9257         PR libstdc++/69506
9258         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9259
9260 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
9261
9262         PR libstdc++/69450
9263         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
9264         isinf and isnan functions into two independent checks.  Check on hpux.
9265         * config.h.in: Regenerate.
9266         * configure: Regenerate.
9267         * include/c_global/cmath (isinf(double), isnan(double)): Use
9268         _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
9269         respectively.
9270
9271 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
9272
9273         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
9274
9275 2016-01-27  Jonathan Wakely  <jwakely@redhat.com>
9276
9277         PR libstdc++/69295
9278         * testsuite/ext/special_functions/hyperg/check_value.cc: Use
9279         -ffp-contract=off, and -ffloat-store to disable excess precision.
9280         * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
9281         -ffp-contract=off.
9282
9283 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
9284
9285         PR libstdc++/69478
9286         * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
9287         random_access_iterator_tag>): Check is_move_assignable when moving.
9288         (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
9289         Likewise.
9290         * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
9291         * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
9292         * testsuite/25_algorithms/move/69478.cc: New.
9293         * testsuite/25_algorithms/move_backward/69478.cc: new.
9294
9295 2016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
9296
9297         * include/c_compatibility/stdlib.h: Include wide character related
9298         definitions only when they are available in cstdlib.
9299
9300 2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
9301
9302         PR libstdc++/69464
9303         * include/Makefile.am: Add new header.
9304         * include/Makefile.in: Regenerate.
9305         * include/bits/random.h (uniform_int_distribution): Move to
9306         bits/uniform_int_dist.h.
9307         * include/bits/random.tcc (uniform_int_distribution::operator(),
9308         uniform_int_distribution::__generate_impl): Likewise.
9309         * include/bits/uniform_int_dist.h: New header.
9310         * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
9311         <bits/uniform_int_dist.h> instead of <random>.
9312         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
9313         move_iterators/1.cc: Include correct header for uninitialized_copy.
9314         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
9315         move_iterators/1.cc: Likewise.
9316         * testsuite/25_algorithms/nth_element/58800.cc: Include correct
9317         header for vector.
9318         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
9319
9320 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
9321
9322         PR libstdc++/69446
9323         * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9324
9325 2016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
9326
9327         TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
9328         * include/c_compatibility/math.h: Import the TR29124 functions
9329         into the global namespace.
9330         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
9331         xfail and make compile-only.
9332         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
9333         * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
9334         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
9335         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
9336         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
9337         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
9338         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
9339         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
9340         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
9341         * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
9342         * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
9343         * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
9344         * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
9345         * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
9346         * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
9347         * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
9348         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
9349         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
9350         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
9351         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
9352
9353 2016-01-22  Jonathan Wakely  <jwakely@redhat.com>
9354
9355         PR libstdc++/69116
9356         * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
9357         define result_type for types which can be safely used with valarrays.
9358         * testsuite/26_numerics/valarray/69116.cc: New.
9359
9360         PR libstdc++/69413
9361         * config/os/gnu-linux/os_defines.h: Define
9362         _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
9363         * include/c_global/cmath (isinf, isnan): Check it.
9364         * doc/xml/manual/internals.xml: Document it.
9365         * doc/html/*: Regenerate.
9366
9367 2016-01-21  Jonathan Wakely  <jwakely@redhat.com>
9368
9369         PR libstdc++/69406
9370         * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
9371         * include/ext/type_traits.h: Likewise.
9372         * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
9373         for presence of C headers.
9374         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
9375         dg-error line number.
9376         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
9377         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
9378         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
9379
9380 2016-01-20  Torvald Riegel  <triegel@redhat.com>
9381
9382         PR libstdc++/69310
9383         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9384
9385 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
9386
9387         PR libstdc++/60401
9388         * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
9389         copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
9390         lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
9391         nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
9392         tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
9393         Add using declarations.
9394         * testsuite/26_numerics/headers/cmath/60401.cc: New.
9395
9396         PR libstdc++/69386
9397         * include/c_global/ccomplex: Ensure C++ language linkage.
9398         * include/c_global/cmath: Likewise.
9399         * include/c_global/cstdlib: Likewise.
9400         * include/c_global/ctgmath: Likewise.
9401         * testsuite/17_intro/headers/c++2011/linkage.cc: New.
9402
9403 2016-01-19  Jonathan Wakely  <jwakely@redhat.com>
9404
9405         PR libstdc++/14608
9406         PR libstdc++/60401
9407         * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
9408         --enable-cheaders=c_global configs.
9409         * include/Makefile.in: Regenerate.
9410         * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
9411         test and allow inclusion from C files.
9412         * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
9413         (at_quick_exit, quick_exit): Add using directives.
9414         * include/c_global/cmath: Use #include_next for math.h.
9415         * include/c_global/cstdlib: Use #include_next for stdlib.h.
9416         * testsuite/26_numerics/headers/cmath/14608.cc: New.
9417         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
9418         Remove xfail for most targets.
9419         * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
9420
9421 2016-01-18  Torvald Riegel  <triegel@redhat.com>
9422
9423         * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
9424         (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
9425         and move after its definition.
9426         * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
9427         * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
9428         __GXX_WEAK__, and only provide transactional clones if
9429         _GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
9430         functions.
9431
9432 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
9433
9434         PR libstdc++/60637
9435         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
9436
9437         PR libstdc++/69243
9438         * include/std/functional (_Function_base::_M_not_empty_function):
9439         Change overloads for pointers to take arguments by value.
9440         * testsuite/20_util/function/cons/57465.cc: Add tests for
9441         pointer-to-member cases.
9442
9443         PR libstdc++/69340
9444         * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
9445         Use macros for exception handling and fix unused parameter warning.
9446
9447 2016-01-17  John David Anglin  <danglin@gcc.gnu.org>
9448
9449         PR libstdc++/68734
9450         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
9451
9452 2016-01-17  Torvald Riegel  <triegel@redhat.com>
9453
9454         * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
9455
9456 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
9457
9458         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
9459         __int128 symbols.
9460
9461 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9462
9463         PR libstdc++/69293
9464         * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
9465         static assertion that type is constructible from the arguments.
9466         * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
9467         * testsuite/20_util/uses_allocator/69293_neg.cc: New.
9468         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
9469
9470         PR libstdc++/69294
9471         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9472         and isnan on AIX. Quote variables.
9473         * configure: Regenerate.
9474
9475 2016-01-15  Torvald Riegel  <triegel@redhat.com>
9476
9477         * include/bits/basic_string.h (basic_string): Declare friends.
9478         * include/bits/c++config (_GLIBCXX_TXN_SAFE,
9479         _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
9480         * include/std/stdexcept (logic_error, domain_error, invalid_argument,
9481         length_error, out_of_range, runtime_error, range_error,
9482         underflow_error, overflow_error): Declare members as transaction-safe.
9483         (logic_error, runtime_error): Declare friend functions.
9484         * libsupc++/exception (exception, bad_exception): Declare members as
9485         transaction-safe.
9486         * src/c++11/cow-stdexcept.cc: Define transactional clones for the
9487         transaction-safe members of exceptions and helper functions.
9488         * libsupc++/eh_exception.cc: Adjust and define transactional clones.
9489         * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
9490         (CXXABI_1.3.10): New.
9491         * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
9492         (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
9493         * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
9494         * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
9495         * include/Makefile.in: Regenerate.
9496         * config.h.in: Regenerate.
9497         * configure: Regenerate.
9498         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
9499
9500 2016-01-15  Steve Ellcey  <sellcey@imgtec.com>
9501
9502         * include/ext/random.tcc: Use __builtin_isfinite instead of
9503         std::isfinite.
9504
9505 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9506
9507         * include/bits/std_mutex.h: Fix Doxygen @file name.
9508
9509 2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
9510             Jonathan Wakely  <jwakely@redhat.com>
9511             Florian Goth <CaptainSifff@gmx.de>
9512
9513         Implement TR29124 C++ special Math Functions.
9514         * include/Makefile.am: Add new headers.
9515         * include/Makefile.in: Regenerate.
9516         * include/bits/specfun.h: New.
9517         * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
9518         * include/tr1/bessel_function.tcc: Ditto.
9519         * include/tr1/beta_function.tcc: Ditto.
9520         * include/tr1/cmath: Ditto.
9521         * include/tr1/ell_integral.tcc: Ditto.
9522         * include/tr1/exp_integral.tcc: Ditto.
9523         * include/tr1/gamma.tcc: Ditto.
9524         * include/tr1/hypergeometric.tcc: Ditto.
9525         * include/tr1/legendre_function.tcc: Ditto.
9526         * include/tr1/modified_bessel_func.tcc: Ditto.
9527         * include/tr1/poly_hermite.tcc: Ditto.
9528         * include/tr1/poly_laguerre.tcc: Ditto.
9529         * include/tr1/riemann_zeta.tcc: Ditto.
9530         * include/tr1/special_function_util.h: Ditto.
9531         * testsuite/ext/special_functions/conf_hyperg: New.
9532         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
9533         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
9534         * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
9535         * testsuite/ext/special_functions/hyperg: New.
9536         * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
9537         * testsuite/ext/special_functions/hyperg/check_value.cc: New.
9538         * testsuite/ext/special_functions/hyperg/compile.cc: New.
9539         * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
9540         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
9541         * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
9542         * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
9543         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
9544         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
9545         * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
9546         * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
9547         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
9548         * testsuite/special_functions/03_beta/check_nan.cc: New.
9549         * testsuite/special_functions/03_beta/check_value.cc: New.
9550         * testsuite/special_functions/03_beta/compile.cc: New.
9551         * testsuite/special_functions/03_beta/compile_2.cc: New.
9552         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
9553         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
9554         * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
9555         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
9556         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
9557         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
9558         * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
9559         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
9560         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
9561         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
9562         * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
9563         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
9564         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
9565         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
9566         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
9567         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
9568         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
9569         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
9570         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
9571         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
9572         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
9573         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
9574         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
9575         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
9576         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
9577         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
9578         * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
9579         * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
9580         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
9581         * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
9582         * testsuite/special_functions/11_ellint_1/check_value.cc: New.
9583         * testsuite/special_functions/11_ellint_1/compile.cc: New.
9584         * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
9585         * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
9586         * testsuite/special_functions/12_ellint_2/check_value.cc: New.
9587         * testsuite/special_functions/12_ellint_2/compile.cc: New.
9588         * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
9589         * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
9590         * testsuite/special_functions/13_ellint_3/check_value.cc: New.
9591         * testsuite/special_functions/13_ellint_3/compile.cc: New.
9592         * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
9593         * testsuite/special_functions/14_expint/check_nan.cc: New.
9594         * testsuite/special_functions/14_expint/check_value.cc: New.
9595         * testsuite/special_functions/14_expint/compile.cc: New.
9596         * testsuite/special_functions/14_expint/compile_2.cc: New.
9597         * testsuite/special_functions/15_hermite/check_nan.cc: New.
9598         * testsuite/special_functions/15_hermite/check_value.cc: New.
9599         * testsuite/special_functions/15_hermite/compile.cc: New.
9600         * testsuite/special_functions/15_hermite/compile_2.cc: New.
9601         * testsuite/special_functions/16_laguerre/check_nan.cc: New.
9602         * testsuite/special_functions/16_laguerre/check_value.cc: New.
9603         * testsuite/special_functions/16_laguerre/compile.cc: New.
9604         * testsuite/special_functions/16_laguerre/compile_2.cc: New.
9605         * testsuite/special_functions/17_legendre/check_nan.cc: New.
9606         * testsuite/special_functions/17_legendre/check_value.cc: New.
9607         * testsuite/special_functions/17_legendre/compile.cc: New.
9608         * testsuite/special_functions/17_legendre/compile_2.cc: New.
9609         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
9610         * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
9611         * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
9612         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
9613         * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
9614         * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
9615         * testsuite/special_functions/19_sph_bessel/compile.cc: New.
9616         * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
9617         * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
9618         * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
9619         * testsuite/special_functions/20_sph_legendre/compile.cc: New.
9620         * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
9621         * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
9622         * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
9623         * testsuite/special_functions/21_sph_neumann/compile.cc: New.
9624         * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
9625         * testsuite/util/specfun_testcase.h: New.
9626         * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
9627         * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
9628         * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
9629         * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
9630         * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
9631         * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
9632         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
9633
9634 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
9635
9636         PR libstdc++/48891
9637         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9638         and isnan functions.
9639         * config.h.in: Regenerate.
9640         * configure: Regenerate.
9641         * include/c_global/cmath (isinf(double), isnan(double))
9642         [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
9643         * testsuite/26_numerics/headers/cmath/48891.cc: New.
9644
9645 2016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9646
9647         PR libstdc++/66006
9648         * configure.host (abi_baseline_pair): Use separate baseline for
9649         Solaris 11+ and Solaris 10 with gld.
9650         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
9651         * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
9652         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
9653
9654 2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
9655
9656         PR libstdc++/68877
9657         * include/std/type_traits: Following N4511, reimplement __is_swappable
9658         and __is_nothrow_swappable. Move __is_swappable to namespace std,
9659         adjust callers. Use __is_nothrow_swappable in swap.
9660         * include/bits/move.h: Use __is_nothrow_swappable in swap.
9661         * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
9662         __is_swappable related tests.
9663         * testsuite/20_util/is_swappable/value.cc: New.
9664         * testsuite/20_util/is_swappable/requirements/
9665         explicit_instantiation.cc: New.
9666         * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
9667         * testsuite/25_algorithms/swap/68877.cc: New.
9668
9669 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
9670
9671         * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
9672
9673         PR libstdc++/69005
9674         PR libstdc++/69222
9675         * include/std/functional (function::_Invoke): Remove, use result_of.
9676         (function::_Callable): Replace alias template with class template
9677         and use partial specialization instead of _NotSelf alias template.
9678         (function(_Functor)): Add "not self" constraint so that _Callable is
9679         not used while type is incomplete.
9680         * testsuite/20_util/function/69222.cc: New.
9681
9682 2016-01-11  Jonathan Wakely  <jwakely@redhat.com>
9683
9684         PR libstdc++/60976
9685         * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
9686         Define partial specialization.
9687         * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
9688         destroy members to std::allocator explicit specialization.
9689
9690 2016-01-08  Jonathan Wakely  <jwakely@redhat.com>
9691
9692         * testsuite/26_numerics/headers/cmath/
9693         c99_classification_macros_c++.cc: Rename to ...
9694         * testsuite/26_numerics/headers/cmath/
9695         c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
9696         * testsuite/26_numerics/headers/cmath/
9697         c99_classification_macros_c++0x.cc: Rename to ...
9698         * testsuite/26_numerics/headers/cmath/
9699         c99_classification_macros_c++11.cc: Here.
9700
9701         PR libstdc++/69190
9702         * include/bits/uses_allocator.h: Add missing include.
9703
9704 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
9705
9706         PR libstdc++/69105
9707         PR libstdc++/69106
9708         PR libstdc++/69114
9709         * include/bits/stl_iterator.h (back_insert_iterator,
9710         front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
9711         * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
9712         * include/std/future (__future::base::_State_baseV2::__setter):
9713         Likewise.
9714         * include/std/scoped_allocator (__outermost): Likewise.
9715         * testsuite/20_util/scoped_allocator/69114.cc: New.
9716         * testsuite/20_util/uses_allocator/69114.cc: New.
9717         * testsuite/30_threads/promise/69106.cc: New.
9718
9719 2016-01-06  Jonathan Wakely  <jwakely@redhat.com>
9720
9721         PR libstdc++/69092
9722         * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
9723         Remove _GLIBCXX_NOEXCEPT.
9724         testsuite/21_strings/basic_string/cons/char/69092.cc: New.
9725
9726         * include/Makefile.am: Adjust.
9727         * include/Makefile.in: Regenerate.
9728         * include/bits/mutex.h: Rename to bits/std_mutex.h.
9729         * include/std/condition_variable: Adjust include.
9730         * include/std/mutex: Likewise.
9731
9732 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
9733
9734         Update copyright years.
9735 \f
9736 Copyright (C) 2016 Free Software Foundation, Inc.
9737
9738 Copying and distribution of this file, with or without modification,
9739 are permitted in any medium without royalty provided the copyright
9740 notice and this notice are preserved.