Replace dynamic exception specifications in testsuite
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobc102e607804e154a6f449dc839cb95aa71276d78
1 2016-12-07  Jonathan Wakely  <jwakely@redhat.com>
3         * testsuite/util/testsuite_hooks.h (THROW): Define.
4         * testsuite/util/replacement_memory_operators.h: Include
5         testsuite_hooks.h and use THROW macro.
6         * testsuite/util/testsuite_tr1.h: Likewise.
7         * testsuite/20_util/allocator/1.cc: Use THROW macro.
8         * testsuite/22_locale/locale/cons/12352.cc: Likewise.
9         * testsuite/23_containers/vector/zero_sized_allocations.cc: Likewise.
10         * testsuite/30_threads/lock_guard/cons/1.cc: Replace dynamic exception
11         specification with noexcept-specifier.
12         * testsuite/ext/pool_allocator/allocate_chunk.cc: Include
13         testsuite_hooks.h and use THROW macro.
14         * testsuite/ext/profile/replace_new.cc: Likewise.
16         * include/ext/bitmap_allocator.h (bitmap_allocator::_S_refill_pool)
17         (bitmap_allocator::_M_allocate_single_object)
18         (bitmap_allocator::_M_get): Use _GLIBCXX_THROW macro.
20         * testsuite/18_support/bad_exception/59392.cc: Disable for C++17.
22         * testsuite/18_support/headers/new/synopsis.cc: Add C++14 and C++17
23         declarations.
24         * testsuite/18_support/headers/new/synopsis_cxx98.cc: New test.
26 2016-12-06  Felipe Magno de Almeida  <felipe@expertisesolutions.com.br>
28         * src/c++11/cow-stdexcept.cc: Add special case for 16 bit pointers.
30         * crossconfig.m4: Add avr target for cross-compilation.
31         * configure: Regenerate.
33 2016-12-06  Jonathan Wakely  <jwakely@redhat.com>
35         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Update for new
36         data member name.
37         * testsuite/libstdc++-prettyprinters/cxx17.cc: Remove redundant test.
39         * include/bits/shared_ptr_base.h
40         (__shared_ptr_access<T, L, false, true>::operator->()): Fix assertion.
42 2016-12-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
44         Constrain optional's __constexpr_addressof in its return type
45         and use a constexpr addressof for optional, if available.
46         * include/experimental/optional (__constexpr_addressof):
47         Constrain in the return type instead of in a template parameter.
48         (_Has_addressof_mem)
49         (_Has_addressof_free, _Has_addressof, __constexpr_addressof):
50         Guard with #ifndef __cpp_lib_addressof_constexpr.
51         (operator->()): Use std::__addressof if it's constexpr.
53 2016-12-06  Tim Shen  <timshen@google.com>
55         * include/std/variant (visit): Make visit constexpr. Also cleanup
56         __get_alternative and __storage, since we don't support reference/void
57         alternatives any more.
58         * testsuite/20_util/variant/compile.cc: Add tests.
60 2016-12-06  Tim Shen  <timshen@google.com>
62         * include/bits/enable_special_members.h: Make
63         _Enable_default_constructor constexpr.
64         * include/std/variant (variant::emplace, variant::swap, std::swap,
65         std::hash): Sfinae on emplace and std::swap; handle __poison_hash bases
66         of duplicated types.
68 2016-12-06  Tim Shen  <timshen@google.com>
70         * include/std/variant (std::get, operator==): Implement constexpr
71         comparison and get<>.
72         * testsuite/20_util/variant/compile.cc: Tests.
74 2016-12-06  Tim Shen  <timshen@google.com>
76         * include/std/variant (__erased_use_alloc_ctor,
77         _Variant_base::_Variant_base, variant::variant): Remove uses-allocator
78         related functions.
79         * testsuite/20_util/variant/compile.cc: Remove related tests.
80         * testsuite/20_util/variant/run.cc: Remove related tests.
82 2016-12-06  Aditya Kumar  <hiraditya@msn.com>
84         * src/c++11/shared_ptr.cc (_Sp_locker::_Sp_locker(const void* p)): Add
85         noexcept on constructor.
86         (_Sp_locker::_Sp_locker(const void* p1, const void* p2)): Same.
88 2016-12-06  Jonathan Wakely  <jwakely@redhat.com>
90         * include/bits/basic_string.h (basic_string::find, basic_string::rfind)
91         (basic_string::find_first_of, basic_string::find_last_of)
92         (basic_string::find_first_not_of, basic_string::find_last_not_of):
93         Make all overloads noexcept.
94         (basic_string::compare(const _CharT*)): Make noexcept.
96 2016-12-03  John David Anglin  <danglin@gcc.gnu.org>
98         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Regenerate.
100 2016-12-01  David Edelsohn  <dje.gcc@gmail.com>
102         * testsuite/26_numerics/headers/cmath/hypot.cc: XFAIL on AIX.
104 2016-12-01  Ville Voutilainen  <ville.voutilainen@gmail.com>
106         Implement LWG 2766,
107         Swapping non-swappable types and LWG 2749,
108         swappable traits for variants.
109         * include/bits/move.h (swap(_Tp&, _Tp&)): Constrain
110         with __is_tuple_like.
111         * include/bits/stl_pair.h (swap(pair<_T1, _T2>&, pair<_T1, _T2>&)):
112         Add a deleted overload.
113         * include/bits/unique_ptr.h
114         (swap(unique_ptr<_Tp, _Dp>&, unique_ptr<_Tp, _Dp>&)): Likewise.
115         * include/std/array
116         (swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&)): Likewise.
117         * include/std/optional
118         (swap(optional<_Tp>&, optional<_Tp>&)): Likewise.
119         * include/std/tuple (__is_tuple_like_impl, __is_tuple_like):
120         Move to type_traits.
121         (swap(tuple<_Elements...>&, tuple<_Elements...>&)): Add a deleted
122         overload.
123         * include/std/type_traits (__is_tuple_like_impl, __is_tuple_like):
124         New.
125         (swap(_Tp&, _Tp&)): Constrain with __is_tuple_like.
126         * include/std/utility (__is_tuple_like_impl): Move to type_traits.
127         * include/std/variant
128         (swap(variant<_Types...>&, variant<_Types...>&)):
129         Add a deleted overload.
130         * testsuite/20_util/optional/swap/2.cc: Add tests for disabled
131         swaps.
132         * testsuite/20_util/pair/swap_cxx17.cc: New.
133         * testsuite/20_util/tuple/swap_cxx17.cc: Likewise.
134         * testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc:
135         Likewise.
136         * testsuite/20_util/variant/compile.cc: Add tests for disabled
137         swaps.
138         * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
139         New.
140         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
141         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
142         Likewise.
144 2016-12-01  Ville Voutilainen  <ville.voutilainen@gmail.com>
146         The convertible_to traits need to use a variadic catch-all for the
147         false-cases.
148         * include/std/istream (__is_convertible_to_basic_istream):
149         Change the parameter of the false-case of __check to a variadic.
150         * include/std/ostream (__is_convertible_to_basic_ostream):
151         Likewise.
153 2016-12-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
155         * crossconfig.m4 (*-linux*): Add link-check for memalign.
156         * configure: Regenerated.
158 2016-12-01  Tim Shen  <timshen@google.com>
160         PR libstdc++/71500
161         * include/bits/regex.h (basic_regex::basic_regex): Use ECMAScript
162         when the syntax is not specified.
163         * include/bits/regex_compiler.h (_RegexTranslator,
164         _RegexTranslatorBase): Partially support icase in ranges.
165         * include/bits/regex_compiler.tcc (_BracketMatcher::_M_apply):
166         Refactor _M_apply to make the control flow easier to follow, and
167         call _M_translator._M_match_range as added previously.
168         * testsuite/28_regex/traits/char/icase.cc: Add new tests.
169         * testsuite/28_regex/traits/char/user_defined.cc: Add new tests.
171 2016-11-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
173         Fix testsuite failures caused by the patch implementing LWG 2534.
174         * include/std/istream (__is_convertible_to_basic_istream):
175         Change the return types of __check, introduce istream_type.
176         (operator>>(_Istream&&, _Tp&&)):
177         Use __is_convertible_to_basic_istream::istream_type as the return type.
178         * include/std/ostream (__is_convertible_to_basic_ostream):
179         Change the return types of __check, introduce ostream_type.
180         (operator>>(_Ostream&&, _Tp&&)):
181         Use __is_convertible_to_basic_ostream::ostream_type as the return type.
183 2016-11-30  Tim Shen  <timshen@google.com>
185         * include/bits/shared_ptr_base.h
186         (__shared_ptr_access<T, L, true, false>::operator*()): Fix assertion.
188 2016-11-30  David Edelsohn  <dje.gcc@gmail.com>
190         * testsuite/18_support/50594.cc: XFAIL on AIX.
191         * testsuite/ext/mt_allocator/check_new.cc: Same.
192         * testsuite/ext/pool_allocator/check_new.cc: Same.
193         * testsuite/27_io/ios_base/storage/11584.cc: Same.
195 2016-11-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
197         Implement LWG 2534, Constrain rvalue stream operators.
198         * include/std/istream (__is_convertible_to_basic_istream): New.
199         (__is_extractable): Likewise.
200         (operator>>(basic_istream<_CharT, _Traits>&&, _Tp&&)):
201         Turn the stream parameter into a template parameter
202         and constrain.
203         * include/std/ostream (__is_convertible_to_basic_ostream): New.
204         (__is_insertable): Likewise.
205         (operator<<(basic_ostream<_CharT, _Traits>&&, const _Tp&)):
206         Turn the stream parameter into a template parameter
207         and constrain.
208         * testsuite/27_io/basic_istream/extractors_other/char/4.cc: New.
209         * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
210         Likewise.
211         * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: Likewise.
212         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: Likewise.
214 2016-11-30  Christophe Lyon  <christophe.lyon@linaro.org>
216         * testsuite/experimental/type_erased_allocator/2.cc: Add
217         dg-require-thread-fence.
219 2016-11-29  David Edelsohn  <dje.gcc@gmail.com>
221         PR libstdc++/68838
222         * testsuite/lib/libstdc++.exp (DEFAULT_CXXFLAGS): Add -Wl,-bmaxdata on
223         AIX.
224         * testsuite/23_containers/vector/profile/vector.cc: Remove
225         dg-additional-options.
227 2016-11-26  Tim Shen  <timshen@google.com>
229         PR libstdc++/78441
230         * include/std/variant: Propagate cv qualifications to types returned
231         by variant_alternative.
232         * testsuite/20_util/variant/compile.cc: Tests.
234 2016-11-23  Felix Morgner  <felix.morgner@gmail.com>
235             Jonathan Wakely  <jwakely@redhat.com>
237         PR libstdc++/78490
238         * include/experimental/propagate_const (propagate_const::operator=):
239         Add missing return statements.
240         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
241         Adjust dg-error line numbers.
242         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
244 2016-11-22  Uros Bizjak  <ubizjak@gmail.com>
246         * testsuite/Makefile.am
247         (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection
248         of -j argument.
249         * testsuite/Makefile.in: Regenereate.
251 2016-11-22  Jonathan Wakely  <jwakely@redhat.com>
253         PR libstdc++/78465
254         * testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests
255         with preprocessor conditions.
257 2016-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
259         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Update comments.
260         (__CORRECT_ISO_CPP11_MATH_H_PROTO): Rename to ...
261         (__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): ... this.
262         Add test for C++11 <math.h> integral overloads.
263         * configure: Regenerate.
264         * config.h.in: Regenerate.
266         * include/c_global/cmath [__cplusplus >= 201103L]: Reflect
267         __CORRECT_ISO_CPP11_MATH_H_PROTO to
268         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
269         * include/c_global/cmath [_GLIBCXX_USE_C99_MATH &&
270         !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC && __cplusplus >= 201103L]
271         (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO_INT.
272         (std::isfinite): Likewise.
273         (std::isinf): Likewise.
274         (std::isnan): Likewise.
275         (std::isnormal): Likewise.
276         (std::signbit): Likewise.
277         (std::isgreater): Likewise.
278         (std::isgreaterequal): Likewise.
279         (std::isless): Likewise.
280         (std::islessequal): Likewise.
281         (std::islessgreater): Likewise.
282         (std::isunordered): Likewise.
283         [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]
284         (std::acosh): Likewise.
285         (std::asinh): Likewise.
286         (std::atanh): Likewise.
287         (std::cbrt): Likewise.
288         (std::copysign): Likewise.
289         (std::erf): Likewise.
290         (std::erfc): Likewise.
291         (std::exp2): Likewise.
292         (std::expm1): Likewise.
293         (std::fdim): Likewise.
294         (std::fma): Likewise.
295         (std::fmax): Likewise.
296         (std::fmin): Likewise.
297         (std::hypot): Likewise.
298         (std::ilogb): Likewise.
299         (std::lgamma): Likewise.
300         (std::llrint): Likewise.
301         (std::llround): Likewise.
302         (std::log1p): Likewise.
303         (std::log2): Likewise.
304         (std::logb): Likewise.
305         (std::lrint): Likewise.
306         (std::lround): Likewise.
307         (std::nearbyint): Likewise.
308         (std::nextafter): Likewise.
309         (std::nexttoward): Likewise.
310         (std::remainder): Likewise.
311         (std::remquo): Likewise.
312         (std::rint): Likewise.
313         (std::round): Likewise.
314         (std::scalbln): Likewise.
315         (std::scalbn): Likewise.
316         (std::tgamma): Likewise.
317         (std::trunc): Likewise.
318         * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1 && __cplusplus >=
319         201103L]: Reflect __CORRECT_ISO_CPP11_MATH_H_PROTO to
320         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
322 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
324         PR libstdc++/59406
325         * include/bits/functional_hash.h: Add comment noting difference from
326         FNV-1a.
327         * include/tr1/functional_hash.h: Likewise.
328         * libsupc++/hash_bytes.cc: Likewise.
330         * include/bits/basic_string.h: Reuse _If_sv alias template for new
331         constructor.
333         * doc/xml/manual/intro.xml: Document LWG 2770 status. Remove entries
334         for 2742 and 2748.
335         * doc/html/*: Regenerate.
336         * include/std/utility (__tuple_size_cv_impl): New helper to safely
337         detect tuple_size<T>::value, as per LWG 2770.
338         (tuple_size<cv T>): Adjust partial specializations to derive from
339         __tuple_size_cv_impl.
340         * testsuite/20_util/tuple/cv_tuple_size.cc: Test SFINAE-friendliness.
342         * testsuite/libstdc++-prettyprinters/cxx17.cc: Adjust test for
343         variant<T&>.
345 2016-11-15  Tim Shen  <timshen@google.com>
347         * include/std/variant: Remove variant<T&>, variant<void>, variant<>
348         support to rebase on the post-Issaquah design.
349         * testsuite/20_util/variant/compile.cc: Likewise.
351 2016-11-15  Matthias Klose  <doko@ubuntu.com>
353         * configure: Regenerate.
355 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
357         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Fix license
358         text.
359         * testsuite/20_util/any/assign/emplace.cc: Likewise.
360         * testsuite/20_util/any/cons/in_place.cc: Likewise.
361         * testsuite/20_util/any/make_any.cc: Likewise.
362         * testsuite/20_util/any/requirements.cc: Likewise.
363         * testsuite/20_util/any/typedefs.cc: Likewise.
364         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
365         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
366         Likewise.
367         * testsuite/20_util/in_place/requirements.cc: Likewise.
368         * testsuite/20_util/optional/77288.cc: Likewise.
369         * testsuite/20_util/optional/assignment/1.cc: Likewise.
370         * testsuite/20_util/optional/assignment/2.cc: Likewise.
371         * testsuite/20_util/optional/assignment/3.cc: Likewise.
372         * testsuite/20_util/optional/assignment/4.cc: Likewise.
373         * testsuite/20_util/optional/assignment/5.cc: Likewise.
374         * testsuite/20_util/optional/assignment/6.cc: Likewise.
375         * testsuite/20_util/optional/assignment/7.cc: Likewise.
376         * testsuite/20_util/optional/cons/77727.cc: Likewise.
377         * testsuite/20_util/optional/cons/move.cc: Likewise.
378         * testsuite/20_util/optional/cons/value.cc: Likewise.
379         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
380         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
381         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
382         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
383         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
384         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
385         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
386         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
387         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
388         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
389         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
390         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
391         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
392         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
393         * testsuite/20_util/optional/hash.cc: Likewise.
394         * testsuite/20_util/optional/make_optional.cc: Likewise.
395         * testsuite/20_util/optional/observers/1.cc: Likewise.
396         * testsuite/20_util/optional/observers/2.cc: Likewise.
397         * testsuite/20_util/optional/observers/3.cc: Likewise.
398         * testsuite/20_util/optional/observers/4.cc: Likewise.
399         * testsuite/20_util/optional/observers/5.cc: Likewise.
400         * testsuite/20_util/optional/observers/6.cc: Likewise.
401         * testsuite/20_util/optional/relops/1.cc: Likewise.
402         * testsuite/20_util/optional/relops/2.cc: Likewise.
403         * testsuite/20_util/optional/relops/3.cc: Likewise.
404         * testsuite/20_util/optional/relops/4.cc: Likewise.
405         * testsuite/20_util/optional/relops/5.cc: Likewise.
406         * testsuite/20_util/optional/relops/6.cc: Likewise.
407         * testsuite/20_util/optional/requirements.cc: Likewise.
408         * testsuite/20_util/optional/swap/1.cc: Likewise.
409         * testsuite/20_util/optional/typedefs.cc: Likewise.
410         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
411         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
412         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
413         Likewise.
414         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
415         * testsuite/20_util/variant/hash.cc: Likewise.
416         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
417         * testsuite/experimental/any/typedefs.cc: Likewise.
418         * testsuite/experimental/array/make_array.cc: Likewise.
419         * testsuite/experimental/array/neg.cc: Likewise.
420         * testsuite/experimental/chrono/value.cc: Likewise.
421         * testsuite/experimental/deque/erasure.cc: Likewise.
422         * testsuite/experimental/forward_list/erasure.cc: Likewise.
423         * testsuite/experimental/list/erasure.cc: Likewise.
424         * testsuite/experimental/map/erasure.cc: Likewise.
425         * testsuite/experimental/memory/observer_ptr/assignment/assign.cc:
426         Likewise.
427         * testsuite/experimental/memory/observer_ptr/cons/cons.cc: Likewise.
428         * testsuite/experimental/memory/observer_ptr/hash/hash.cc: Likewise.
429         * testsuite/experimental/memory/observer_ptr/make_observer.cc:
430         Likewise.
431         * testsuite/experimental/memory/observer_ptr/relops/relops.cc:
432         Likewise.
433         * testsuite/experimental/memory/observer_ptr/requirements.cc: Likewise.
434         * testsuite/experimental/memory/observer_ptr/swap/swap.cc: Likewise.
435         * testsuite/experimental/memory/observer_ptr/typedefs.cc: Likewise.
436         * testsuite/experimental/optional/77288.cc: Likewise.
437         * testsuite/experimental/optional/assignment/1.cc: Likewise.
438         * testsuite/experimental/optional/assignment/2.cc: Likewise.
439         * testsuite/experimental/optional/assignment/3.cc: Likewise.
440         * testsuite/experimental/optional/assignment/4.cc: Likewise.
441         * testsuite/experimental/optional/assignment/5.cc: Likewise.
442         * testsuite/experimental/optional/assignment/6.cc: Likewise.
443         * testsuite/experimental/optional/cons/77727.cc: Likewise.
444         * testsuite/experimental/optional/cons/move.cc: Likewise.
445         * testsuite/experimental/optional/cons/value.cc: Likewise.
446         * testsuite/experimental/optional/cons/value_neg.cc: Likewise.
447         * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
448         * testsuite/experimental/optional/constexpr/make_optional.cc: Likewise.
449         * testsuite/experimental/optional/constexpr/observers/1.cc: Likewise.
450         * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
451         * testsuite/experimental/optional/constexpr/observers/3.cc: Likewise.
452         * testsuite/experimental/optional/constexpr/observers/4.cc: Likewise.
453         * testsuite/experimental/optional/constexpr/observers/5.cc: Likewise.
454         * testsuite/experimental/optional/constexpr/relops/1.cc: Likewise.
455         * testsuite/experimental/optional/constexpr/relops/2.cc: Likewise.
456         * testsuite/experimental/optional/constexpr/relops/3.cc: Likewise.
457         * testsuite/experimental/optional/constexpr/relops/4.cc: Likewise.
458         * testsuite/experimental/optional/constexpr/relops/5.cc: Likewise.
459         * testsuite/experimental/optional/constexpr/relops/6.cc: Likewise.
460         * testsuite/experimental/optional/make_optional.cc: Likewise.
461         * testsuite/experimental/optional/observers/1.cc: Likewise.
462         * testsuite/experimental/optional/observers/2.cc: Likewise.
463         * testsuite/experimental/optional/observers/3.cc: Likewise.
464         * testsuite/experimental/optional/observers/4.cc: Likewise.
465         * testsuite/experimental/optional/observers/5.cc: Likewise.
466         * testsuite/experimental/optional/relops/1.cc: Likewise.
467         * testsuite/experimental/optional/relops/2.cc: Likewise.
468         * testsuite/experimental/optional/relops/3.cc: Likewise.
469         * testsuite/experimental/optional/relops/4.cc: Likewise.
470         * testsuite/experimental/optional/relops/5.cc: Likewise.
471         * testsuite/experimental/optional/relops/6.cc: Likewise.
472         * testsuite/experimental/optional/requirements.cc: Likewise.
473         * testsuite/experimental/optional/swap/1.cc: Likewise.
474         * testsuite/experimental/optional/typedefs.cc: Likewise.
475         * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
476         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
477         Likewise.
478         * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
479         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
480         * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
481         * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
482         * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
483         * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
484         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
485         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
486         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
487         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
488         * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
489         * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
490         * testsuite/experimental/random/randint.cc: Likewise.
491         * testsuite/experimental/ratio/value.cc: Likewise.
492         * testsuite/experimental/set/erasure.cc: Likewise.
493         * testsuite/experimental/string/erasure.cc: Likewise.
494         * testsuite/experimental/string_view/typedefs.cc: Likewise.
495         * testsuite/experimental/system_error/value.cc: Likewise.
496         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
497         * testsuite/experimental/type_traits/value.cc: Likewise.
498         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
499         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
500         * testsuite/experimental/vector/erasure.cc: Likewise.
502         * doc/xml/manual/intro.xml: Document LWG 2742 status.
503         * doc/html/*: Regenerate.
504         * include/bits/basic_string.h
505         (basic_string(const T&, size_type, size_type, const Allocator&)): Add
506         constructor for substring of basic_string_view, as per LWG 2742 but
507         with additional constraint to fix ambiguity.
508         * testsuite/21_strings/basic_string/cons/char/9.cc: New test.
509         * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: New test.
511         * doc/xml/manual/intro.xml: Document LWG 2748 status.
512         * include/std/optional (optional<T>::swap): Use is_nothrow_swappable_v
513         for exception specification.
514         (swap(optional<T>&, optional<T>&)): Disable when T is not swappable.
515         * testsuite/20_util/optional/swap/2.cc: New test.
517 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
519         Implement P0513R0, Poisoning the Hash.
520         * include/bits/functional_hash.h (__poison_hash): New.
521         * include/bits/unique_ptr.h
522         (hash<unique_ptr<_Tp, _Dp>>): Derive from __poison_hash.
523         * include/std/optional (hash<optional<_Tp>>): Likewise.
524         * include/std/variant (hash<variant<_Types...>>): Likewise.
525         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
526         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
527         * testsuite/20_util/optional/hash.cc: New.
528         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
529         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Adjust.
530         * testsuite/20_util/unique_ptr/hash/1.cc: Add tests for
531         poisoned fancy pointer hashes.
532         * testsuite/20_util/variant/hash.cc: New.
534 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
536         Implement P0504R0 (Revisiting in-place tag types for
537         any/optional/variant).
538         * include/std/any (any(_ValueType&& __value)): Constrain
539         the __is_in_place_type with the decayed type.
540         (make_any): Adjust to use the new tag type.
541         * include/std/utility (in_place_tag): Remove.
542         (in_place_t): Turn into a non-reference tag type.
543         (__in_place, __in_place_type, __in_place_index): Remove.
544         (in_place): Turn into an inline variable of non-reference
545         tag type.
546         (in_place<_Tp>): Remove.
547         (in_place_index<_Idx>): Remove.
548         (in_place_type_t): New.
549         (in_place_type): Turn into a variable template of non-reference
550         type.
551         (in_place_index_t): New.
552         (in_place_index): Turn into a variable template of non-reference
553         type.
554         * include/std/variant
555         (_Variant_storage(in_place_index_t<_Np>, _Args&&...)): Adjust to
556         use the new tag type.
557         (_Union(in_place_index_t<0>, _Args&&...)): Likewise.
558         (_Union(in_place_index_t<_Np>, _Args&&...)): Likewise.
559         (_Variant_base()): Likewise.
560         (variant(_Tp&&)): Likewise.
561         (variant(in_place_type_t<_Tp>, _Args&&...)): Likewise.
562         (variant(in_place_type_t<_Tp>, initializer_list<_Up>,
563         _Args&&...)): Likewise.
564         (variant(in_place_index_t<_Np>, _Args&&...)): Likewise.
565         (variant(in_place_index_t<_Np>, initializer_list<_Up>,
566         _Args&&...)): Likewise
567         (variant(allocator_arg_t, const _Alloc&)): Likewise.
568         (variant(allocator_arg_t, const _Alloc&, _Tp&&)): Likewise.
569         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
570         _Args&&...)): Likewise.
571         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
572         initializer_list<_Up>, _Args&&...)): Likewise.
573         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
574         _Args&&...)): Likewise.
575         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
576         initializer_list<_Up>, _Args&&...)): Likewise.
577         (emplace(_Args&&...)): Likewise.
578         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
579         * testsuite/20_util/any/cons/explicit.cc: Likewise.
580         * testsuite/20_util/any/cons/in_place.cc: Likewise.
581         * testsuite/20_util/any/requirements.cc: Add tests to
582         check that any is not constructible from the new in_place_type_t
583         of any value category.
584         * testsuite/20_util/in_place/requirements.cc: Adjust to
585         use the new tag type.
586         * testsuite/20_util/variant/compile.cc: Likewise.
587         * testsuite/20_util/variant/run.cc: Likewise.
589 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
591         Use constexpr addressof in optional, SFINAE housekeeping
592         for any, optional and tuple.
593         * include/std/any (__do_emplace(_Args&&...)): New.
594         (__do_emplace(initializer_list<_Up>, _Args&&...)): Likewise.
595         (__any_constructible): Likewise.
596         (__any_constructible_t): Use __any_constructible.
597         (operator=(_ValueType&&)): SFINAE in the return type.
598         (emplace(_Args&&...)): Likewise.
599         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
600         * include/std/optional (_Has_addressof_mem): Remove.
601         (_Has_addressof_free): Likewise.
602         (_Has_addressof): Likewise.
603         (__constexpr_addressof(_Tp&)): Likewise.
604         (operator->): Use std::__addressof.
605         * include/std/tuple (operator=(const tuple<_UElements...>&)):
606         SFINAE in return type.
607         (operator=(tuple<_UElements...>&&)): Likewise.
608         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
610 2016-11-14  Jonathan Wakely  <jwakely@redhat.com>
612         * include/bits/move.h (addressof(const _Tp&&)): Add deleted overload,
613         as per LWG 2598.
615         * include/std/future (future::share(), future<R&>::share())
616         (future<void>::share()): Add noexcept, as per LWG 2556.
618 2016-11-13  Jonathan Wakely  <jwakely@redhat.com>
620         PR libstdc++/78326
621         * include/experimental/memory_resource (memory_resource::_S_max_align):
622         Change access to protected.
624         * doc/xml/manual/status_cxx2017.xml: Update status.
625         * doc/html/manual/status.html: Regenerate.
626         * include/bits/shared_ptr.h (shared_ptr(unique_ptr<_Yp, _Del>)): Add
627         extension constructor to maintain C++14 behaviour.
628         * include/bits/shared_ptr_base.h (__sp_array_delete): Add new struct.
629         (__shared_count(_Ptr, false_type), __shared_count(_Ptr, true_type)):
630         New constructors.
631         (__sp_compatible_with, __sp_is_constructible): Add specializations
632         for array support.
633         (__sp_is_constructible_arr, __sp_is_constructible_arrN): New helpers.
634         (__shared_ptr_access): New base class for observer member functions.
635         (__shared_ptr::element_type): Use remove_extent.
636         (__shared_ptr::_UniqCompatible): Add __sp_compatible_with check.
637         (__shared_ptr(_Yp*)): Use tag dispatching to call new __shared_count
638         constructor.
639         (__shared_ptr(unique_ptr<_Yp, _Del>)): Add extension constructor.
640         (__shared_ptr::operator*, __shared_ptr::operator->): Remove and
641         inherit from __shared_ptr_access base class.
642         (__shared_ptr::__has_esft_base): Return false for array types.
643         (__weak_ptr::element_type): Use remove_extent.
644         * include/experimental/bits/shared_ptr.h (__libfund_v1): Remove.
645         (__shared_ptr<__libfund_v1<_Tp>>): Remove specializations.
646         (__wak_ptr<__libfund_v1<_Tp>>): Likewise.
647         (experimental::__sp_compatible_v): Redefine using
648         __sp_compatible_with.
649         (experimental::__sp_is_constructible_v): Redefine using
650         __sp_is_constructible.
651         (get_deleter, operator<<): Change argument from __shared_ptr to
652         shared_ptr.
653         * testsuite/20_util/shared_ptr/cons/array.cc: New test.
654         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Adjust for
655         new behaviour.
656         * testsuite/20_util/shared_ptr/observers/array.cc: Test observers for
657         arrays.
658         * testsuite/20_util/shared_ptr/observers/array_neg.cc: New test.
660 2016-11-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
662         Implement P0403R1, Literal suffixes for basic_string_view.
663         * include/std/string_view
664         (operator""sv(const char*, size_t)): New.
665         (operator""sv(const wchar_t*, size_t)): Likewise.
666         (operator""sv(const char16_t*, size_t)): Likewise.
667         (operator""sv(const char32_t*, size_t)): Likewise.
668         * testsuite/21_strings/basic_string_view/literals/types.cc: New.
669         * testsuite/21_strings/basic_string_view/literals/values.cc: Likewise.
670         * testsuite/experimental/string_view/literals/values.cc: Add
671         tests for literals with embedded NULs.
673 2016-11-12  Jonathan Wakely  <jwakely@redhat.com>
675         * src/filesystem/ops.cc (is_empty): Fix typo in exception message.
677         * include/std/future (future_error): Fix public typo to private.
679 2016-11-11  Jonathan Wakely  <jwakely@redhat.com>
681         * include/std/future (future_error): Make existing constructor
682         private and add constructor from future_errc.
684         * include/bits/shared_ptr.h (hash<shared_ptr<T>>): Use element_type.
685         * include/bits/shared_ptr_base.h (hash<__shared_ptr<T, L>>): Likewise.
687 2016-11-10  François Dumont  <fdumont@gcc.gnu.org>
689         * src/c++11/debug.cc (format_word): Delete.
690         (print_literal): New. Replace call to print_word for literals.
692 2016-11-09  Tim Shen  <timshen@google.com>
694         * include/bits/regex.h (regex_iterator::regex_iterator()):
695         Define end() as _M_pregex == nullptr.
696         * include/bits/regex.tcc (regex_iterator::operator==(),
697         regex_iterator::operator++()): Fix operator==() and operator++() to
698         look at null-ness of _M_pregex on both sides.
699         * testsuite/28_regex/regression.cc: New testcase.
701 2016-11-07  Jason Merrill  <jason@redhat.com>
703         * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM)
704         (_GLIBCXX_NOEXCEPT_QUAL): New.
705         * include/std/type_traits (is_function): Use them.
706         * libsubc++/new (launder): Likewise.
707         * libsupc++/cxxabi.h (__pbase_type_info::__masks): Add
708         __noexcept_mask.
709         * libsupc++/pbase_type_info.cc (__do_catch): Handle function
710         pointer conversion.
712 2016-11-07  François Dumont  <fdumont@gcc.gnu.org>
714         * config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of
715         over-aligned types symbols.
717 2016-10-28  Jonathan Wakely  <jwakely@redhat.com>
719         * include/experimental/bits/fs_path.h (__is_path_src)
720         (_S_range_begin, _S_range_end): Overload to treat string_view as a
721         Source object.
722         (path::operator+=, path::compare): Overload for basic_string_view.
723         * testsuite/experimental/filesystem/path/construct/string_view.cc:
724         New test.
725         * testsuite/experimental/filesystem/path/construct/
726         string_view_cxx17.cc: New test.
728         * include/experimental/bits/fs_path.h
729         (path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from
730         iterator's value_type.
731         (path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise.
732         Do not use operation not supported by input iterators.
733         (path::__is_path_iter_src): Add partial specialization for const
734         encoded character types.
735         * testsuite/experimental/filesystem/path/construct/range.cc: Test
736         construction from input iterators with const value types.
738         * doc/xml/manual/status_cxx2017.xml: Update status.
739         * doc/html/*: Regenerate.
740         * include/std/type_traits (has_unique_object_representations): Guard
741         with __has_builtin check.
742         * libsupc++/new (launder): Define for C++17.
743         * testsuite/18_support/launder/1.cc: New test.
744         * testsuite/18_support/launder/requirements.cc: New test.
745         * testsuite/18_support/launder/requirements_neg.cc: New test.
747 2016-10-27  Uros Bizjak  <ubizjak@gmail.com>
749         PR libstdc++/70975
750         * src/filesystem/ops.cc (do_copy_file) [_GLIBCXX_USE_SENDFILE]:
751         Pass non-null pointer to sendfile for offset argument.
753 2016-10-27  Jonathan Wakely  <jwakely@redhat.com>
755         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
756         default.cc: Fix effective target selector.
757         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
758         parms.cc: Likewise.
759         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
760         equal.cc: Likewise.
761         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
762         generate.cc: Likewise.
763         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
764         inequal.cc: Likewise.
765         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
766         serialize.cc: Likewise.
768         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
769         Use end() function to get end iterator.
770         * testsuite/experimental/filesystem/iterators/pop.cc: Remove printf
771         statements that were present for debugging.
772         * testsuite/experimental/filesystem/iterators/
773         recursive_directory_iterator.cc: Use end() function to get end
774         iterator.
775         * testsuite/experimental/filesystem/operations/last_write_time.cc:
776         Only require file timestamps to be accurate to one second.
778 2016-10-26  François Dumont  <fdumont@gcc.gnu.org>
780         * include/bits/stl_map.h (map()): Make default.
781         * include/bits/stl_multimap.h (multimap()): Likewise.
782         * include/bits/stl_multiset.h (multiset()): Likewise.
783         * include/bits/stl_set.h (set()): Likewise.
784         * include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept.
785         (_Rb_tree()): Make default.
787 2016-10-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>
789         PR libstdc++/78110
790         * libsupc++/new_opa.cc: Don't include <malloc.h> in a free standing
791         environment.  Declare memalign directly in that case.
793 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
795         * testsuite/experimental/filesystem/iterators/pop.cc: Remove
796         unreliable dependency on directory order.
798 2016-10-26  Edward Smith-Rowland  <3dw4rd@verizon.net>
800         Implement uniform_inside_sphere_distribution extension.
801         * include/ext/random: Implement uniform_inside_sphere_distribution.
802         * include/ext/random.tcc: Ditto.
803         * testsuite/ext/random/uniform_inside_sphere_distribution/
804         cons/default.cc: New.
805         * testsuite/ext/random/uniform_inside_sphere_distribution/
806         cons/parms.cc: New.
807         * testsuite/ext/random/uniform_inside_sphere_distribution/
808         operators/equal.cc: New.
809         * testsuite/ext/random/uniform_inside_sphere_distribution/
810         operators/generate.cc: New.
811         * testsuite/ext/random/uniform_inside_sphere_distribution/
812         operators/inequal.cc: New.
813         * testsuite/ext/random/uniform_inside_sphere_distribution/
814         operators/serialize.cc: New.
816 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
818         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
819         Overload pop (LWG 2706).
820         * src/filesystem/dir.cc (recursive_directory_iterator::pop): Define
821         new overload.
822         * testsuite/experimental/filesystem/iterators/pop.cc: New test.
824         * src/filesystem/dir.cc (recursive_directory_iterator::increment):
825         Reset state on error.
826         * testsuite/experimental/filesystem/iterators/
827         recursive_directory_iterator.cc: Check state after increment error.
829         PR libstdc++/78111
830         * src/filesystem/ops.cc (canonical): Set error for non-existent path.
832 2016-10-26  Uros Bizjak  <ubizjak@gmail.com>
834         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
835         for PATH_MAX in realpath test.
836         * configure: Regenerate.
838 2016-10-25  Jonathan Wakely  <jwakely@redhat.com>
840         * src/filesystem/ops.cc
841         (last_write_time(const path&, file_time_type, error_code&)): Handle
842         negative times correctly.
843         * testsuite/experimental/filesystem/operations/last_write_time.cc:
844         Test writing file times.
846         * src/filesystem/ops.cc (do_copy_file): Report an error if source or
847         destination is not a regular file (LWG 2712).
848         (equivalent): Fix error handling and result when only one file exists.
849         * testsuite/experimental/filesystem/operations/copy.cc: Remove files
850         created by tests. Test copying directories.
851         * testsuite/experimental/filesystem/operations/copy_file.cc: Remove
852         files created by tests.
853         * testsuite/experimental/filesystem/operations/equivalent.cc: New.
854         * testsuite/experimental/filesystem/operations/is_empty.cc: New.
855         * testsuite/experimental/filesystem/operations/read_symlink.cc: Remove
856         file created by test.
857         * testsuite/experimental/filesystem/operations/remove_all.cc: New.
858         * testsuite/util/testsuite_fs.h (~scoped_file): Only try to remove
859         file if path is non-empty, to support removal by other means.
861 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
863         * src/filesystem/ops.cc (is_empty): Fix error handling.
864         * testsuite/experimental/filesystem/operations/is_empty.cc: New test.
866         PR libstdc++/71337
867         * src/filesystem/ops.cc (temp_directory_path): Pass error_code
868         argument to other filesystem operations.
869         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
870         Add testcase for inaccessible directory.
872         * src/filesystem/dir.cc (open_dir): Return same value for errors
873         whether ignored or not.
874         (_Dir::advance(error_code*, directory_options)): Return false on
875         error.
876         (directory_iterator(const path&, directory_options, error_code*)):
877         Create end iterator on error (LWG 2723).
878         (recursive_directory_iterator(const path&, directory_options,
879         error_code*)): Likewise.
880         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
881         Update expected behaviour on error.
882         * testsuite/experimental/filesystem/iterators/
883         recursive_directory_iterator.cc: Likewise.
885         * src/filesystem/ops.cc (close_fd): Remove.
886         (do_copy_file): Just use close(3) instead of close_fd, to prevent
887         retrying on error.
889         * src/filesystem/ops.cc (do_copy_file): Return an error if either
890         source or destination is not a regular file.
891         (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683
892         resolutions.
893         (read_symlink): Add missing ec.clear().
894         * testsuite/experimental/filesystem/operations/copy.cc: Update
895         expected behaviour for copying directories with create_symlinks.
896         Verify that error_code arguments are cleared if there's no error.
897         * testsuite/experimental/filesystem/operations/read_symlink.cc: New.
899 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
901         Cross-port exception-safety and move fixes of std::any to
902         std::experimental::any.
903         * include/experimental/any (operator=(const any&)):
904         Make strongly exception-safe.
905         (operator=(any&&)): clear() unconditionally in the case where
906         rhs has a value.
907         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
908         * testsuite/experimental/any/assign/2.cc: Adjust.
909         * testsuite/experimental/any/assign/exception.cc: New.
910         * testsuite/experimental/any/cons/2.cc: Adjust.
911         * testsuite/experimental/any/misc/any_cast_neg.cc: Ajust.
913 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
915         Cross-port the latest resolution of LWG2756 and some
916         bug-fixes to experimental::optional.
917         PR libstdc++/77288
918         PR libstdc++/77727
919         * include/experimental/optional (_Optional_base):
920         Remove constructors that take a _Tp.
921         (__is_optional_impl, __is_optional): Remove.
922         (__converts_from_optional): New.
923         (optional(_Up&&)): Fix constraints, call base with in_place.
924         (optional(const optional<_Up>&)): Fix constraints, use emplace.
925         (optional(optional<_Up>&&)): Likewise.
926         (operator=(_Up&&)): Fix constraints.
927         (operator=(const optional<_Up>&)): Likewise.
928         (operator=(optional<_Up>&&)): Likewise.
929         (emplace(_Args&&...)): Constrain.
930         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
931         * testsuite/experimental/optional/77288.cc: New.
932         * testsuite/experimental/optional/assignment/5.cc: Adjust.
933         * testsuite/experimental/optional/cons/77727.cc: New.
934         * testsuite/experimental/optional/cons/value.cc: Adjust.
936 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
938         * include/bits/stl_vector.h (vector::_M_data_ptr, vector::data):
939         Change return type of non-standard C++98 extension to match C++11.
941 2016-10-22  François Dumont  <fdumont@gcc.gnu.org>
943         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_ALGO)
944         (_GLIBCXX_END_NAMESPACE_ALGO): Default to respectively
945         _GLIBCXX_BEGIN_NAMESPACE_VERSION and _GLIBCXX_END_NAMESPACE_VERSION.
946         (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER, _GLIBCXX_END_NAMESPACE_CONTAINER):
947         Likewise.
949 2016-10-22  Jonathan Wakely  <jwakely@redhat.com>
951         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
952         Ignore symlink_nofollow flag if file is not a symlink.
953         * testsuite/experimental/filesystem/operations/permissions.cc: Test
954         symlink_nofollow on non-symlinks.
956 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
958         * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks):
959         Replace with symlink_nofollow (LWG 2720).
960         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
961         Handle symlink_nofollow.
962         * testsuite/experimental/filesystem/operations/create_symlink.cc: New
963         test.
964         * testsuite/experimental/filesystem/operations/permissions.cc: Test
965         overload taking error_code.
967         * include/experimental/bits/fs_ops.h
968         (exists(const path&, error_code&)): Clear error if status is known
969         (LWG 2725).
970         (status(const path&, error_code&)): Handle EOVERFLOW.
971         * testsuite/experimental/filesystem/operations/exists.cc: Test
972         overload taking an error_code.
974         * include/experimental/bits/fs_path.h (path::path(string_type&&))
975         (path::operator=(string&&), path::assign(string_type&&)): Define
976         construction and assignment from string_type rvalues (LWG 2707).
978 2016-10-21  Eelis van der Weegen  <eelis@eelis.net>
980         * include/bits/stl_algo.h (__gen_two_uniform_ints): Move logic out
981         of shuffle into new function.
982         (shuffle): Call __gen_two_uniform_ints.
983         (__sample<ForwardIterator, OutputIterator, Cat, Size, URBG>): Use
984         __gen_two_uniform_ints and perform two samples at a time.
986 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
988         * include/Makefile.am: Add <bits/refwrap.h> and <bits/std_function.h>.
989         Order alphabetically.
990         * include/Makefile.in: Regenerate.
991         * include/bits/refwrap.h: New header.
992         (_Maybe_get_result_type,_Weak_result_type_impl, _Weak_result_type)
993         (_Reference_wrapper_base_impl, _Reference_wrapper_base)
994         (reference_wrapper, ref, cref): Move here from <functional>.
995         * include/bits/shared_ptr_base.h: Include <bits/refwrap.h> and
996         <bits/stl_function.h> instead of <functional>.
997         * include/bits/std_function.h: New header.
998         (_Maybe_unary_or_binary_function, bad_function_call)
999         (__is_location_invariant, _Nocopy_types, _Any_data)
1000         (_Simple_type_wrapper, _Function_base, _Function_handler, function):
1001         Move here from <functional>.
1002         * include/bits/unique_ptr.h: Include <bits/stl_function.h>.
1003         * include/std/functional: Include new headers and move components to
1004         them.
1005         * include/std/future: Include <bits/std_function.h> instead of
1006         <functional>.
1007         * include/std/mutex: Likewise.
1008         * include/std/regex: Likewise.
1009         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
1010         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
1011         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
1012         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
1013         lines.
1014         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
1015         * testsuite/30_threads/packaged_task/49668.cc: Include <functional>.
1017         * libsupc++/exception_ptr.h (make_exception_ptr): Qualify new.
1018         * testsuite/18_support/exception_ptr/make_exception_ptr_2.cc: New
1019         test.
1021 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
1023         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&))
1024         (shared_ptr(auto_ptr&&)): Adjust template parameter lists.
1025         * include/bits/shared_ptr.h (__sp_compatible_with)
1026         (__sp_is_constructible): New helper traits for shared_ptr.
1027         (shared_ptr::_Convertible): Replace with _Constructible.
1028         (shared_ptr::_Constructible, shared_ptr::_Assignable): Forward checks
1029         to base class.
1030         (shared_ptr::shared_ptr, shared_ptr::operator=): Constrain template
1031         with _Constructible and _Assignable.
1032         (shared_ptr::shared_ptr(shared_ptr<_Tp1>, _Tp*)): Use element_type
1033         instead of _Tp.
1034         (operator<): Likewise.
1035         (operator>): Define in terms of operator<.
1036         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
1037         element_type instead of _Tp.
1038         (reinterpret_pointer_cast): Define for C++17.
1039         (weak_ptr::_Convertible): Replace with _Constructible.
1040         (weak_ptr::_Constructible, weak_ptr::_Assignable): Forward checks
1041         to base class.
1042         (weak_ptr::weak_ptr, weak_ptr::operator=): Constrain templates
1043         with _Constructible and _Assignable.
1044         * include/bits/shared_ptr_base.h (__shared_ptr::_Convertible): Replace
1045         with _Compatible.
1046         (__shared_ptr::_SafeConv): New constraint for incoming raw pointers.
1047         (__shared_ptr::_Compatible): New constraint for converting from
1048         other types of shared_ptr and weak_ptr.
1049         (__shared_ptr::_Assignable): Define in terms of _Compatible.
1050         (__shared_ptr::_UniqCompatible, __shared_ptr::_UniqAssignable): New
1051         constraints for converting from unique_ptr.
1052         (__shared_ptr::__shared_ptr, __shared_ptr::operator=): Constrain
1053         template with _SaveConf, _Compatible and _Assignable. Remove
1054         __glibcxx_function_requires concept checks. Add static assertion for
1055         deleter expression being well-formed.
1056         (__shared_ptr::__shared_ptr(__shared_ptr<_Tp1>, _Tp*))
1057         (__shared_ptr::operator*, __shared_ptr::operator->)
1058         (__shared_ptr::get, __shared_ptr::_M_ptr): Use element_type instead
1059         of _Tp.
1060         (operator<): Likewise.
1061         (operator>): Define in terms of operator<.
1062         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
1063         element_type instead of _Tp.
1064         (reinterpret_pointer_cast): Define for C++17.
1065         (weak_ptr::_Convertible): Replace with _Compatible.
1066         (weak_ptr::_Compatible, weak_ptr::_Assignable): New constraints for
1067         conversions from other types of weak_ptr and shared_ptr.
1068         (__weak_ptr::__weak_ptr, __weak_ptr::operator=): Constrain templates
1069         with _Constructible and _Assignable.
1070         (__weak_ptr::_M_ptr): Use element_type instead of _Tp.
1071         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Adjust
1072         dg-error pattern.
1073         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Test conversions.
1074         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
1075         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1076         * testsuite/20_util/shared_ptr/casts/reinterpret.cc: New test.
1078 2016-10-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
1080         Do the operator= SFINAE in the return type for optional,
1081         not in the template parameters.
1082         * include/std/optional (operator=(_Up&&)): Move SFINAE
1083         from template parameters to the return type.
1084         (operator=(const optional<_Up>&)): Likewise.
1085         (operator=(optional<_Up>&&)): Likewise.
1087 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
1089         * include/bits/allocator.h: Remove trailing whitespace, tab-indent.
1090         * include/ext/new_allocator.h: Likewise.
1092         PR libstdc++/78052
1093         * include/bits/allocator.h (allocator<void>::construct)
1094         (allocator<void>::destroy): Define.
1095         * testsuite/20_util/allocator/void.cc: New test.
1097         * testsuite/20_util/enable_shared_from_this/56383.cc: Add tests for
1098         additional ambiguous cases.
1100 2016-10-19  Jonathan Wakely  <jwakely@redhat.com>
1102         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&)): Call
1103         _M_enable_shared_from_this_with instead of
1104         __enable_shared_from_this_helper.
1105         * include/bits/shared_ptr.h (__enable_shared_from_this_helper):
1106         Remove overload for std::enable_shared_from_this..
1107         (__enable_shared_from_this_base): Define friend function to select a
1108         std::enable_shared_from_this base class.
1109         * include/bits/shared_ptr_base.h (__enable_shared_from_this_helper):
1110         Remove all overloads.
1111         (__shared_ptr): Change all relevant constructors to call
1112         _M_enable_shared_from_this_with instead of
1113         __enable_shared_from_this_helper.
1114         (__shared_ptr::__efst_base_t, __shared_ptr::__has_efst_base): Helpers
1115         to detect accessible and unambiguous enable_shared_from_this bases.
1116         (__shared_ptr::_M_enable_shared_from_this_with): New function to
1117         replace __enable_shared_from_this_helper overloads.
1118         (__enable_shared_from_this_helper): Remove overload for
1119         std::__enable_shared_from_this.
1120         (__enable_shared_from_this_base): Define friend function to select a
1121         std::__enable_shared_from_this base class.
1122         * include/experimental/bits/shared_ptr.h (experimental::shared_ptr):
1123         Change relevant constructors to call _M_enable_shared_from_this_with.
1124         (experimental::shared_ptr::__efst_base_t)
1125         (experimental::shared_ptr::__has_efst_base): Helpers to detect
1126         accessible and unambiguous enable_shared_from_this bases.
1127         (experimental::shared_ptr::_M_enable_shared_from_this_with): Define.
1128         (experimental::__enable_shared_from_this_helper): Remove overload for
1129         std::experimental::enable_shared_from_this.
1130         (experimental::__expt_enable_shared_from_this_base): Define friend
1131         function to select a std::experimental::enable_shared_from_this base.
1132         * testsuite/experimental/memory/shared_ptr/cons/
1133         enable_shared_from_this.cc: New test.
1134         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
1135         Adjust expected behaviour for shared_ptr<A[]>.
1137         * include/debug/vector (__gnu_debug::vector::emplace_back): Fix return
1138         type.
1140         * include/backward/auto_ptr.h (dauto_ptr): Correct comment about
1141         conversions from auto_ptr<Derived> rvalues to auto_ptr<Base>.
1142         * testsuite/20_util/auto_ptr/assign_neg.cc: Remove redundant dg-error
1143         directives that only match notes, not errors.
1145         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
1146         Add tests for valid and invalid conversions.
1147         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
1148         Likewise.
1150         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests
1151         to new file.
1152         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file.  Fix
1153         test for incompatible deleters to not also use incompatible types.
1154         Add tests for incompatible array types.
1156         * include/experimental/bits/shared_ptr.h
1157         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_Compatible): Just use
1158         is_convertible for non-array specialization.
1159         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_UniqCompatible): New
1160         constraint for conversions from unique_ptr.
1161         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::__shared_ptr): Constrain.
1162         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::reset): Likewise.
1163         (__sp_compatible_v): New variable template for trait.
1164         (__sp_is_constructible): New trait to check shared_ptr constraints.
1165         (__sp_is_constructible_v): New variable template for trait.
1166         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_SafeConv): New
1167         constraint for construction/reset, using __sp_is_constructible_v.
1168         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_UniqCompatible): New
1169         constraint for conversions from unique_ptr.
1170         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::__shared_ptr): Constrain.
1171         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::reset): Likewise.
1172         (shared_ptr::_SafeConv): Constraint for checking constructors.
1173         (shared_ptr(Tp1*), shared_ptr(_Tp1, _Deleter))
1174         (shared_ptr(_Tp1, _Deleter, _Alloc)): Constrain with _SafeConv.
1175         (shared_ptr(const weak_ptr<_Tp1>&)): Constrain with _Compatible.
1176         (shared_ptr(auto_ptr<_Tp1>&&)): Fix, remove TODO.
1177         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
1178         Remove tests using invalid conversions.
1179         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc:
1180         New test.
1181         * testsuite/experimental/memory/shared_ptr/cons/torture.cc: New test.
1182         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Remove
1183         tests using invalid conversions.
1184         * testsuite/experimental/memory/shared_ptr/modifiers/reset_neg.cc: New
1185         test.
1186         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
1187         Remove tests using invalid conversions.
1189         PR libstdc++/77990
1190         * include/bits/unique_ptr.h (__uniq_ptr_impl): New type to
1191         encapsulate implementation details.
1192         (unique_ptr::unique_ptr(_Up)): Don't copy deleter object.
1193         (unique_ptr::get, unique_ptr::get_deleter, unique_ptr::release):
1194         Call member functions of implementation object.
1195         (unique_ptr<T[], D>): Likewise.
1196         * python/libstdcxx/v6/printers.py (UniquePointerPrinter): Adjust for
1197         new implementation.
1198         * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Likewise.
1199         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
1200         lines.
1201         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
1202         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
1203         * testsuite/20_util/unique_ptr/cons/77990.cc: New test.
1205 2016-10-18  Jonathan Wakely  <jwakely@redhat.com>
1207         * include/experimental/bits/shared_ptr.h: Fix indentation.
1209         * include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)):
1210         Remove const from parameter.
1211         (operator<(const shared_ptr<T>&, nullptr_t)): Use correct
1212         specialization of std::less.
1213         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
1214         Test comparison with nullptr and actually call test functions.
1216         * include/bits/uses_allocator.h (__is_uses_allocator_constructible_v)
1217         (__is_nothrow_uses_allocator_constructible_v): Only define for C++14
1218         and later.
1220 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1222         * testsuite/27_io/basic_filebuf/close/12790-1.cc: Remove 'test'
1223         variables.
1224         * testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
1225         * testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Likewise.
1226         * testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Likewise.
1227         * testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
1228         * testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Likewise.
1229         * testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
1230         * testsuite/27_io/basic_filebuf/close/char/3.cc: Likewise.
1231         * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise.
1232         * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise.
1233         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc: Likewise.
1234         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc: Likewise.
1235         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
1236         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc: Likewise.
1237         * testsuite/27_io/basic_filebuf/cons/2020.cc: Likewise.
1238         * testsuite/27_io/basic_filebuf/cons/char/1.cc: Likewise.
1239         * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
1240         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: Likewise.
1241         * testsuite/27_io/basic_filebuf/imbue/12206.cc: Likewise.
1242         * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
1243         * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
1244         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
1245         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
1246         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
1247         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
1248         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
1249         * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
1250         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise.
1251         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
1252         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
1253         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
1254         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
1255         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
1256         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
1257         * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
1258         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
1259         * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Likewise.
1260         * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise.
1261         * testsuite/27_io/basic_filebuf/open/12790-1.cc: Likewise.
1262         * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
1263         * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
1264         * testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise.
1265         * testsuite/27_io/basic_filebuf/open/char/4.cc: Likewise.
1266         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1267         * testsuite/27_io/basic_filebuf/overflow/char/1.cc: Likewise.
1268         * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Likewise.
1269         * testsuite/27_io/basic_filebuf/overflow/char/2.cc: Likewise.
1270         * testsuite/27_io/basic_filebuf/overflow/char/3599.cc: Likewise.
1271         * testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Likewise.
1272         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Likewise.
1273         * testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Likewise.
1274         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
1275         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
1276         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
1277         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
1278         * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Likewise.
1279         * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise.
1280         * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise.
1281         * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise.
1282         * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise.
1283         * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise.
1284         * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise.
1285         * testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Likewise.
1286         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
1287         * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Likewise.
1288         * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Likewise.
1289         * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Likewise.
1290         * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise.
1291         * testsuite/27_io/basic_filebuf/seekoff/45628-2.cc: Likewise.
1292         * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
1293         * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise.
1294         * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
1295         * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Likewise.
1296         * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: Likewise.
1297         * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Likewise.
1298         * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Likewise.
1299         * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Likewise.
1300         * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Likewise.
1301         * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
1302         * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
1303         * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
1304         * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise.
1305         * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise.
1306         * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
1307         * testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Likewise.
1308         * testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: Likewise.
1309         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
1310         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: Likewise.
1311         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc: Likewise.
1312         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc: Likewise.
1313         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc: Likewise.
1314         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc: Likewise.
1315         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise.
1316         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Likewise.
1317         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.
1318         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
1319         Likewise.
1320         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
1321         * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Likewise.
1322         * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Likewise.
1323         * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Likewise.
1324         * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise.
1325         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
1326         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise.
1327         * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Likewise.
1328         * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Likewise.
1329         * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc: Likewise.
1330         * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Likewise.
1331         * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise.
1332         * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
1333         * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise.
1334         * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
1335         * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise.
1336         * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
1337         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Likewise.
1338         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc: Likewise.
1339         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc: Likewise.
1340         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc: Likewise.
1341         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc: Likewise.
1342         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
1343         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
1344         Likewise.
1345         * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
1346         * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Likewise.
1347         * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
1348         * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Likewise.
1349         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1350         * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise.
1351         * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise.
1352         * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise.
1353         * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise.
1354         * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise.
1355         * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise.
1356         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise.
1357         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
1358         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise.
1359         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
1360         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
1361         * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise.
1362         * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise.
1363         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise.
1364         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Likewise.
1365         * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise.
1366         * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise.
1367         * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise.
1368         * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise.
1369         * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise.
1370         * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise.
1371         * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Likewise.
1372         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Likewise.
1373         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
1374         * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Likewise.
1375         * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Likewise.
1376         * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
1377         * testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Likewise.
1378         * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise.
1379         * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise.
1380         * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise.
1381         * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise.
1382         * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise.
1383         * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise.
1384         * testsuite/27_io/basic_filebuf/sputc/char/59427.cc: Likewise.
1385         * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Likewise.
1386         * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise.
1387         * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise.
1388         * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise.
1389         * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Likewise.
1390         * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise.
1391         * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise.
1392         * testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.
1393         * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Likewise.
1394         * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Likewise.
1395         * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise.
1396         * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise.
1397         * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise.
1398         * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise.
1399         * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise.
1400         * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise.
1401         * testsuite/27_io/basic_filebuf/sync/char/1057.cc: Likewise.
1402         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Likewise.
1403         * testsuite/27_io/basic_filebuf/underflow/char/1.cc: Likewise.
1404         * testsuite/27_io/basic_filebuf/underflow/char/2.cc: Likewise.
1405         * testsuite/27_io/basic_filebuf/underflow/char/3.cc: Likewise.
1406         * testsuite/27_io/basic_filebuf/underflow/char/45841.cc: Likewise.
1407         * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: Likewise.
1408         * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
1409         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise.
1410         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise.
1411         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise.
1412         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise.
1413         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: Likewise.
1414         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Likewise.
1415         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise.
1416         * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
1417         * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
1418         * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise.
1419         * testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise.
1420         * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise.
1421         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Likewise.
1422         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
1423         * testsuite/27_io/basic_fstream/cons/1.cc: Likewise.
1424         * testsuite/27_io/basic_fstream/rdbuf/char/2832.cc: Likewise.
1425         * testsuite/27_io/basic_ifstream/cons/2020.cc: Likewise.
1426         * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise.
1427         * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise.
1428         * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise.
1429         * testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
1430         * testsuite/27_io/basic_ios/cons/2020.cc: Likewise.
1431         * testsuite/27_io/basic_ios/cons/char/1.cc: Likewise.
1432         * testsuite/27_io/basic_ios/cons/char/2.cc: Likewise.
1433         * testsuite/27_io/basic_ios/cons/char/3.cc: Likewise.
1434         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
1435         * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
1436         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
1437         * testsuite/27_io/basic_ios/imbue/14072.cc: Likewise.
1438         * testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
1439         * testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
1440         * testsuite/27_io/basic_istream/cons/3.cc: Likewise.
1441         * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Likewise.
1442         * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: Likewise.
1443         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1444         Likewise.
1445         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1446         Likewise.
1447         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1448         Likewise.
1449         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1450         Likewise.
1451         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1452         Likewise.
1453         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1454         Likewise.
1455         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1456         Likewise.
1457         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1458         Likewise.
1459         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1460         Likewise.
1461         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1462         Likewise.
1463         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1464         Likewise.
1465         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
1466         Likewise.
1467         * testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc:
1468         Likewise.
1469         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1470         exceptions_badbit_throw.cc: Likewise.
1471         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1472         exceptions_failbit.cc: Likewise.
1473         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1474         exceptions_failbit_throw.cc: Likewise.
1475         * testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc:
1476         Likewise.
1477         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
1478         Likewise.
1479         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc:
1480         Likewise.
1481         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc:
1482         Likewise.
1483         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc:
1484         Likewise.
1485         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
1486         Likewise.
1487         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc:
1488         Likewise.
1489         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
1490         Likewise.
1491         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
1492         Likewise.
1493         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc:
1494         Likewise.
1495         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1496         Likewise.
1497         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
1498         Likewise.
1499         * testsuite/27_io/basic_istream/extractors_arithmetic/
1500         wchar_t/9555-ia.cc: Likewise.
1501         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1502         dr696.cc: Likewise.
1503         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1504         exceptions_badbit_throw.cc: Likewise.
1505         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1506         exceptions_failbit.cc: Likewise.
1507         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1508         exceptions_failbit_throw.cc: Likewise.
1509         * testsuite/27_io/basic_istream/extractors_character/char/1.cc:
1510         Likewise.
1511         * testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc:
1512         Likewise.
1513         * testsuite/27_io/basic_istream/extractors_character/char/2.cc:
1514         Likewise.
1515         * testsuite/27_io/basic_istream/extractors_character/char/3.cc:
1516         Likewise.
1517         * testsuite/27_io/basic_istream/extractors_character/char/4.cc:
1518         Likewise.
1519         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1520         Likewise.
1521         * testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc:
1522         Likewise.
1523         * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
1524         Likewise.
1525         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1526         11095-i.cc: Likewise.
1527         * testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc:
1528         Likewise.
1529         * testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc:
1530         Likewise.
1531         * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
1532         Likewise.
1533         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1534         9555-ic.cc: Likewise.
1535         * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
1536         * testsuite/27_io/basic_istream/extractors_other/char/2.cc: Likewise.
1537         * testsuite/27_io/basic_istream/extractors_other/char/26181.cc:
1538         Likewise.
1539         * testsuite/27_io/basic_istream/extractors_other/char/3.cc: Likewise.
1540         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1541         Likewise.
1542         * testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc:
1543         Likewise.
1544         * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
1545         Likewise.
1546         * testsuite/27_io/basic_istream/extractors_other/char/
1547         error_failbit.cc: Likewise.
1548         * testsuite/27_io/basic_istream/extractors_other/char/
1549         exceptions_badbit_throw.cc: Likewise.
1550         * testsuite/27_io/basic_istream/extractors_other/char/
1551         exceptions_failbit_throw.cc: Likewise.
1552         * testsuite/27_io/basic_istream/extractors_other/char/
1553         exceptions_null.cc: Likewise.
1554         * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc:
1555         Likewise.
1556         * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc: Likewise.
1557         * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: Likewise.
1558         * testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
1559         Likewise.
1560         * testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc: Likewise.
1561         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc:
1562         Likewise.
1563         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc:
1564         Likewise.
1565         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc:
1566         Likewise.
1567         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1568         error_failbit.cc: Likewise.
1569         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1570         exceptions_badbit_throw.cc: Likewise.
1571         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1572         exceptions_failbit_throw.cc: Likewise.
1573         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1574         exceptions_null.cc: Likewise.
1575         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1576         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1577         * testsuite/27_io/basic_istream/get/char/3.cc: Likewise.
1578         * testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
1579         * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
1580         * testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise.
1581         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1582         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1583         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1584         * testsuite/27_io/basic_istream/getline/char/4.cc: Likewise.
1585         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
1586         * testsuite/27_io/basic_istream/getline/char/6.cc: Likewise.
1587         * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
1588         * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Likewise.
1589         * testsuite/27_io/basic_istream/getline/wchar_t/3.cc: Likewise.
1590         * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise.
1591         * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Likewise.
1592         * testsuite/27_io/basic_istream/getline/wchar_t/6.cc: Likewise.
1593         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1594         * testsuite/27_io/basic_istream/ignore/char/2.cc: Likewise.
1595         * testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise.
1596         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1597         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1598         * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
1599         * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
1600         * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
1601         * testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise.
1602         * testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise.
1603         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1604         * testsuite/27_io/basic_istream/peek/char/12296.cc: Likewise.
1605         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1606         * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
1607         * testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
1608         * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
1609         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1610         * testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
1611         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1612         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1613         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1614         * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
1615         * testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
1616         * testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
1617         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc: Likewise.
1618         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Likewise.
1619         * testsuite/27_io/basic_istream/readsome/char/8258.cc: Likewise.
1620         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
1621         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
1622         * testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
1623         * testsuite/27_io/basic_istream/seekg/char/2.cc: Likewise.
1624         * testsuite/27_io/basic_istream/seekg/char/26211.cc: Likewise.
1625         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1626         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1627         * testsuite/27_io/basic_istream/seekg/char/
1628         exceptions_badbit_throw.cc: Likewise.
1629         * testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise.
1630         * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise.
1631         * testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
1632         * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
1633         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
1634         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
1635         * testsuite/27_io/basic_istream/seekg/wchar_t/
1636         exceptions_badbit_throw.cc: Likewise.
1637         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
1638         * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
1639         * testsuite/27_io/basic_istream/sentry/char/1.cc: Likewise.
1640         * testsuite/27_io/basic_istream/sentry/char/2.cc: Likewise.
1641         * testsuite/27_io/basic_istream/sentry/char/3.cc: Likewise.
1642         * testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise.
1643         * testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
1644         * testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
1645         * testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
1646         * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise.
1647         * testsuite/27_io/basic_istream/tellg/char/2.cc: Likewise.
1648         * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
1649         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1650         * testsuite/27_io/basic_istream/tellg/char/
1651         exceptions_badbit_throw.cc: Likewise.
1652         * testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise.
1653         * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise.
1654         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
1655         * testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
1656         * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
1657         * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
1658         * testsuite/27_io/basic_istream/tellg/wchar_t/
1659         exceptions_badbit_throw.cc: Likewise.
1660         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
1661         * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
1662         * testsuite/27_io/basic_istream/ws/char/1.cc: Likewise.
1663         * testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
1664         * testsuite/27_io/basic_istringstream/cons/2020.cc: Likewise.
1665         * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Likewise.
1666         * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: Likewise.
1667         * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
1668         * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
1669         * testsuite/27_io/basic_ofstream/cons/2020.cc: Likewise.
1670         * testsuite/27_io/basic_ofstream/cons/char/1.cc: Likewise.
1671         * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
1672         * testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Likewise.
1673         * testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
1674         * testsuite/27_io/basic_ostream/cons/char/9827.cc: Likewise.
1675         * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: Likewise.
1676         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1677         * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
1678         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
1679         * testsuite/27_io/basic_ostream/ends/char/2.cc: Likewise.
1680         * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
1681         * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
1682         * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise.
1683         * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
1684         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1685         * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
1686         * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
1687         Likewise.
1688         * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
1689         * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
1690         * testsuite/27_io/basic_ostream/flush/wchar_t/
1691         exceptions_badbit_throw.cc: Likewise.
1692         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1693         Likewise.
1694         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1695         Likewise.
1696         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc:
1697         Likewise.
1698         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc:
1699         Likewise.
1700         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc:
1701         Likewise.
1702         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc:
1703         Likewise.
1704         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc:
1705         Likewise.
1706         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
1707         Likewise.
1708         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
1709         Likewise.
1710         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1711         exceptions_badbit_throw.cc: Likewise.
1712         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1713         exceptions_failbit_throw.cc: Likewise.
1714         * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc:
1715         Likewise.
1716         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1717         Likewise.
1718         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
1719         Likewise.
1720         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc:
1721         Likewise.
1722         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc:
1723         Likewise.
1724         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc:
1725         Likewise.
1726         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc:
1727         Likewise.
1728         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc:
1729         Likewise.
1730         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
1731         Likewise.
1732         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1733         9555-oa.cc: Likewise.
1734         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1735         exceptions_badbit_throw.cc: Likewise.
1736         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1737         exceptions_failbit_throw.cc: Likewise.
1738         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc:
1739         Likewise.
1740         * testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc:
1741         Likewise.
1742         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc:
1743         Likewise.
1744         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc: Likewise.
1745         * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
1746         Likewise.
1747         * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
1748         Likewise.
1749         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc: Likewise.
1750         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc: Likewise.
1751         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc: Likewise.
1752         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc: Likewise.
1753         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc: Likewise.
1754         * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
1755         Likewise.
1756         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1757         11095-od.cc: Likewise.
1758         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1759         11095-oe.cc: Likewise.
1760         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1761         11095-of.cc: Likewise.
1762         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc:
1763         Likewise.
1764         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1765         28277-1.cc: Likewise.
1766         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1767         28277-2.cc: Likewise.
1768         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1769         28277-3.cc: Likewise.
1770         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1771         28277-4.cc: Likewise.
1772         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc:
1773         Likewise.
1774         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc:
1775         Likewise.
1776         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc:
1777         Likewise.
1778         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc:
1779         Likewise.
1780         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1781         Likewise.
1782         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1783         Likewise.
1784         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1785         9555-oc.cc: Likewise.
1786         * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
1787         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Likewise.
1788         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Likewise.
1789         * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: Likewise.
1790         * testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc:
1791         Likewise.
1792         * testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc:
1793         Likewise.
1794         * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
1795         Likewise.
1796         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
1797         Likewise.
1798         * testsuite/27_io/basic_ostream/inserters_other/char/
1799         error_failbit.cc: Likewise.
1800         * testsuite/27_io/basic_ostream/inserters_other/char/
1801         exceptions_badbit_throw.cc: Likewise.
1802         * testsuite/27_io/basic_ostream/inserters_other/char/
1803         exceptions_failbit_throw.cc: Likewise.
1804         * testsuite/27_io/basic_ostream/inserters_other/char/
1805         exceptions_null.cc: Likewise.
1806         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: Likewise.
1807         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc: Likewise.
1808         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc: Likewise.
1809         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc: Likewise.
1810         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1811         9318-out.cc: Likewise.
1812         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1813         9424-out.cc: Likewise.
1814         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1815         9555-oo.cc: Likewise.
1816         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1817         error_code.cc: Likewise.
1818         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1819         error_failbit.cc: Likewise.
1820         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1821         exceptions_badbit_throw.cc: Likewise.
1822         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1823         exceptions_failbit_throw.cc: Likewise.
1824         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1825         exceptions_null.cc: Likewise.
1826         * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
1827         * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
1828         * testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Likewise.
1829         * testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc: Likewise.
1830         * testsuite/27_io/basic_ostream/seekp/char/
1831         exceptions_badbit_throw.cc: Likewise.
1832         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc: Likewise.
1833         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc: Likewise.
1834         * testsuite/27_io/basic_ostream/seekp/wchar_t/
1835         exceptions_badbit_throw.cc: Likewise.
1836         * testsuite/27_io/basic_ostream/sentry/char/1.cc: Likewise.
1837         * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
1838         * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
1839         * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
1840         * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
1841         * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
1842         * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
1843         * testsuite/27_io/basic_ostream/tellp/char/
1844         exceptions_badbit_throw.cc: Likewise.
1845         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
1846         * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
1847         * testsuite/27_io/basic_ostream/tellp/wchar_t/
1848         exceptions_badbit_throw.cc: Likewise.
1849         * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
1850         * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
1851         * testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise.
1852         * testsuite/27_io/basic_ostringstream/cons/char/3.cc: Likewise.
1853         * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
1854         * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: Likewise.
1855         * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
1856         * testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise.
1857         * testsuite/27_io/basic_ostringstream/str/char/2.cc: Likewise.
1858         * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
1859         * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
1860         * testsuite/27_io/basic_streambuf/cons/2020.cc: Likewise.
1861         * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
1862         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Likewise.
1863         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
1864         * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise.
1865         * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
1866         * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
1867         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise.
1868         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
1869         * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
1870         * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: Likewise.
1871         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Likewise.
1872         * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
1873         * testsuite/27_io/basic_streambuf/overflow/char/2.cc: Likewise.
1874         * testsuite/27_io/basic_streambuf/overflow/char/3599.cc: Likewise.
1875         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
1876         * testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc: Likewise.
1877         * testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc: Likewise.
1878         * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
1879         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
1880         * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
1881         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
1882         * testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc: Likewise.
1883         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
1884         * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
1885         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
1886         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
1887         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
1888         * testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise.
1889         * testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise.
1890         * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
1891         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Likewise.
1892         * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
1893         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Likewise.
1894         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
1895         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Likewise.
1896         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
1897         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Likewise.
1898         * testsuite/27_io/basic_stringbuf/overflow/char/2.cc: Likewise.
1899         * testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: Likewise.
1900         * testsuite/27_io/basic_stringbuf/overflow/char/3599.cc: Likewise.
1901         * testsuite/27_io/basic_stringbuf/overflow/char/9988.cc: Likewise.
1902         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc: Likewise.
1903         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc: Likewise.
1904         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Likewise.
1905         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc: Likewise.
1906         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc: Likewise.
1907         * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: Likewise.
1908         * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
1909         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
1910         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
1911         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
1912         * testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc: Likewise.
1913         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
1914         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc: Likewise.
1915         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise.
1916         * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: Likewise.
1917         * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: Likewise.
1918         * testsuite/27_io/basic_stringbuf/seekoff/char/2.cc: Likewise.
1919         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
1920         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
1921         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: Likewise.
1922         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc: Likewise.
1923         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
1924         * testsuite/27_io/basic_stringbuf/seekpos/char/2.cc: Likewise.
1925         * testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: Likewise.
1926         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Likewise.
1927         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
1928         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc: Likewise.
1929         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: Likewise.
1930         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc: Likewise.
1931         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Likewise.
1932         * testsuite/27_io/basic_stringbuf/setbuf/char/2.cc: Likewise.
1933         * testsuite/27_io/basic_stringbuf/setbuf/char/3.cc: Likewise.
1934         * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: Likewise.
1935         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Likewise.
1936         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc: Likewise.
1937         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc: Likewise.
1938         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
1939         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise.
1940         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
1941         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
1942         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
1943         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
1944         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
1945         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise.
1946         * testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc: Likewise.
1947         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise.
1948         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc: Likewise.
1949         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Likewise.
1950         * testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc: Likewise.
1951         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Likewise.
1952         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc: Likewise.
1953         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Likewise.
1954         * testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc: Likewise.
1955         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Likewise.
1956         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc: Likewise.
1957         * testsuite/27_io/basic_stringbuf/str/char/1.cc: Likewise.
1958         * testsuite/27_io/basic_stringbuf/str/char/2.cc: Likewise.
1959         * testsuite/27_io/basic_stringbuf/str/char/3.cc: Likewise.
1960         * testsuite/27_io/basic_stringbuf/str/char/3955.cc: Likewise.
1961         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Likewise.
1962         * testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc: Likewise.
1963         * testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc: Likewise.
1964         * testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc: Likewise.
1965         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
1966         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
1967         * testsuite/27_io/basic_stringbuf/sync/char/1057.cc: Likewise.
1968         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
1969         * testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise.
1970         * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Likewise.
1971         * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: Likewise.
1972         * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
1973         * testsuite/27_io/basic_stringstream/str/char/2.cc: Likewise.
1974         * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
1975         * testsuite/27_io/basic_stringstream/str/char/4.cc: Likewise.
1976         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
1977         * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
1978         * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
1979         * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
1980         * testsuite/27_io/fpos/11450.cc: Likewise.
1981         * testsuite/27_io/fpos/14252.cc: Likewise.
1982         * testsuite/27_io/fpos/14320-1.cc: Likewise.
1983         * testsuite/27_io/fpos/14320-2.cc: Likewise.
1984         * testsuite/27_io/fpos/14320-3.cc: Likewise.
1985         * testsuite/27_io/fpos/14320-4.cc: Likewise.
1986         * testsuite/27_io/fpos/14320-5.cc: Likewise.
1987         * testsuite/27_io/fpos/14775.cc: Likewise.
1988         * testsuite/27_io/fpos/mbstate_t/1.cc: Likewise.
1989         * testsuite/27_io/fpos/mbstate_t/12065.cc: Likewise.
1990         * testsuite/27_io/fpos/mbstate_t/2.cc: Likewise.
1991         * testsuite/27_io/fpos/mbstate_t/3.cc: Likewise.
1992         * testsuite/27_io/ios_base/callbacks/1.cc: Likewise.
1993         * testsuite/27_io/ios_base/failure/what-1.cc: Likewise.
1994         * testsuite/27_io/ios_base/failure/what-2.cc: Likewise.
1995         * testsuite/27_io/ios_base/failure/what-3.cc: Likewise.
1996         * testsuite/27_io/ios_base/failure/what-big.cc: Likewise.
1997         * testsuite/27_io/ios_base/state/1.cc: Likewise.
1998         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
1999         * testsuite/27_io/ios_base/storage/11584.cc: Likewise.
2000         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
2001         * testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise.
2002         * testsuite/27_io/manipulators/adjustfield/char/1.cc: Likewise.
2003         * testsuite/27_io/manipulators/adjustfield/char/2.cc
2004         * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: Likewise.
2005         * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
2006         * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
2007         * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
2008         * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
2009         * testsuite/27_io/manipulators/extended/get_money/char/51288.cc:
2010         Likewise.
2011         * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
2012         Likewise.
2013         * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
2014         Likewise.
2015         * testsuite/27_io/manipulators/extended/get_time/char/1.cc
2016         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
2017         * testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: Likewise.
2018         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Likewise.
2019         * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
2020         * testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
2021         Likewise.
2022         * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
2023         Likewise.
2024         * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
2025         Likewise.
2026         * testsuite/27_io/manipulators/extended/put_time/char/1.cc: Likewise.
2027         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
2028         * testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: Likewise.
2029         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Likewise.
2030         * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
2031         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
2032         * testsuite/27_io/manipulators/standard/char/dr2344.cc: Likewise.
2033         * testsuite/27_io/manipulators/standard/char/quoted.cc: Likewise.
2034         * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
2035         * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
2036         * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: Likewise.
2037         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Likewise.
2038         * testsuite/27_io/objects/char/1.cc: Likewise.
2039         * testsuite/27_io/objects/char/10.cc: Likewise.
2040         * testsuite/27_io/objects/char/3045.cc: Likewise.
2041         * testsuite/27_io/objects/char/41037.cc: Likewise.
2042         * testsuite/27_io/objects/char/5.cc: Likewise.
2043         * testsuite/27_io/objects/char/6.cc: Likewise.
2044         * testsuite/27_io/objects/char/6548_xin.cc: Likewise.
2045         * testsuite/27_io/objects/char/6648-1_xin.cc: Likewise.
2046         * testsuite/27_io/objects/char/6648-2_xin.cc: Likewise.
2047         * testsuite/27_io/objects/char/7744_xin.cc: Likewise.
2048         * testsuite/27_io/objects/char/8.cc: Likewise.
2049         * testsuite/27_io/objects/char/9.cc: Likewise.
2050         * testsuite/27_io/objects/char/9661-2_xin.cc: Likewise.
2051         * testsuite/27_io/objects/char/dr455.cc: Likewise.
2052         * testsuite/27_io/objects/wchar_t/1.cc: Likewise.
2053         * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
2054         * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
2055         * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
2056         * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
2057         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
2058         * testsuite/27_io/objects/wchar_t/3045.cc: Likewise.
2059         * testsuite/27_io/objects/wchar_t/41037.cc: Likewise.
2060         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
2061         * testsuite/27_io/objects/wchar_t/6548_xin.cc: Likewise.
2062         * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: Likewise.
2063         * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: Likewise.
2064         * testsuite/27_io/objects/wchar_t/7744_xin.cc: Likewise.
2065         * testsuite/27_io/objects/wchar_t/8.cc: Likewise.
2066         * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
2067         * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: Likewise.
2068         * testsuite/27_io/objects/wchar_t/9662.cc: Likewise.
2069         * testsuite/27_io/objects/wchar_t/dr455.cc: Likewise.
2070         * testsuite/27_io/types/3.cc: Likewise.
2072 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
2074         PR libstdc++/77994
2075         * include/bits/stl_algo.h (sample): Convert size argument to iterator
2076         difference type.
2077         * include/experimental/algorithm (experimental::sample): Likewise.
2078         * testsuite/25_algorithms/sample/2.cc: New test.
2080 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2082         * testsuite/unordered_map/insert/57619.C: Rename to 57619.cc.
2083         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
2085 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2087         * testsuite/array/capacity/empty.cc: Remove 'test' variables.
2088         * testsuite/array/capacity/max_size.cc: Likewise.
2089         * testsuite/array/capacity/size.cc: Likewise.
2090         * testsuite/array/comparison_operators/equal.cc: Likewise.
2091         * testsuite/array/comparison_operators/greater.cc: Likewise.
2092         * testsuite/array/comparison_operators/greater_or_equal.cc: Likewise.
2093         * testsuite/array/comparison_operators/less.cc: Likewise.
2094         * testsuite/array/comparison_operators/less_or_equal.cc: Likewise.
2095         * testsuite/array/comparison_operators/not_equal.cc: Likewise.
2096         * testsuite/array/element_access/54388.cc: Likewise.
2097         * testsuite/array/element_access/at_out_of_range.cc: Likewise.
2098         * testsuite/array/element_access/back.cc: Likewise.
2099         * testsuite/array/element_access/data.cc: Likewise.
2100         * testsuite/array/element_access/front.cc: Likewise.
2101         * testsuite/array/iterators/end_is_one_past.cc: Likewise.
2102         * testsuite/array/requirements/contiguous.cc: Likewise.
2103         * testsuite/array/requirements/fill.cc: Likewise.
2104         * testsuite/array/requirements/member_swap.cc: Likewise.
2105         * testsuite/array/requirements/zero_sized_arrays.cc: Likewise.
2106         * testsuite/array/specialized_algorithms/swap.cc: Likewise.
2107         * testsuite/array/tuple_interface/tuple_element.cc: Likewise.
2108         * testsuite/array/tuple_interface/tuple_element_cpp14.cc: Likewise.
2109         * testsuite/array/tuple_interface/tuple_size.cc: Likewise.
2110         * testsuite/bitset/all/1.cc: Likewise.
2111         * testsuite/bitset/cons/1.cc: Likewise.
2112         * testsuite/bitset/cons/16020.cc: Likewise.
2113         * testsuite/bitset/cons/2.cc: Likewise.
2114         * testsuite/bitset/cons/3.cc: Likewise.
2115         * testsuite/bitset/cons/50268.cc: Likewise.
2116         * testsuite/bitset/cons/6282.cc: Likewise.
2117         * testsuite/bitset/cons/dr1325-2.cc: Likewise.
2118         * testsuite/bitset/cons/dr396.cc: Likewise.
2119         * testsuite/bitset/ext/15361.cc: Likewise.
2120         * testsuite/bitset/input/1.cc: Likewise.
2121         * testsuite/bitset/operations/1.cc: Likewise.
2122         * testsuite/bitset/operations/13838.cc: Likewise.
2123         * testsuite/bitset/operations/2.cc: Likewise.
2124         * testsuite/bitset/test/1.cc: Likewise.
2125         * testsuite/bitset/to_string/1.cc: Likewise.
2126         * testsuite/bitset/to_string/dr396.cc: Likewise.
2127         * testsuite/bitset/to_ullong/1.cc: Likewise.
2128         * testsuite/bitset/to_ulong/1.cc: Likewise.
2129         * testsuite/deque/allocator/copy.cc: Likewise.
2130         * testsuite/deque/allocator/copy_assign.cc: Likewise.
2131         * testsuite/deque/allocator/ext_ptr.cc: Likewise.
2132         * testsuite/deque/allocator/minimal.cc: Likewise.
2133         * testsuite/deque/allocator/move.cc: Likewise.
2134         * testsuite/deque/allocator/move_assign.cc: Likewise.
2135         * testsuite/deque/allocator/swap.cc: Likewise.
2136         * testsuite/deque/capacity/29134-2.cc: Likewise.
2137         * testsuite/deque/capacity/29134.cc: Likewise.
2138         * testsuite/deque/capacity/moveable.cc: Likewise.
2139         * testsuite/deque/capacity/resize_size.cc: Likewise.
2140         * testsuite/deque/capacity/shrink_to_fit.cc: Likewise.
2141         * testsuite/deque/cons/1.cc: Likewise.
2142         * testsuite/deque/cons/2.cc: Likewise.
2143         * testsuite/deque/cons/assign/1.cc: Likewise.
2144         * testsuite/deque/cons/cons_size.cc: Likewise.
2145         * testsuite/deque/cons/moveable.cc: Likewise.
2146         * testsuite/deque/modifiers/erase/1.cc: Likewise.
2147         * testsuite/deque/modifiers/erase/2.cc: Likewise.
2148         * testsuite/deque/modifiers/erase/3.cc: Likewise.
2149         * testsuite/deque/modifiers/erase/moveable.cc: Likewise.
2150         * testsuite/deque/modifiers/moveable.cc: Likewise.
2151         * testsuite/deque/modifiers/push_back/49836.cc: Likewise.
2152         * testsuite/deque/modifiers/push_front/49836.cc: Likewise.
2153         * testsuite/deque/modifiers/swap/1.cc: Likewise.
2154         * testsuite/deque/modifiers/swap/2.cc: Likewise.
2155         * testsuite/deque/modifiers/swap/3.cc: Likewise.
2156         * testsuite/deque/operators/1.cc: Likewise.
2157         * testsuite/deque/operators/2.cc: Likewise.
2158         * testsuite/forward_list/allocator/copy.cc: Likewise.
2159         * testsuite/forward_list/allocator/copy_assign.cc: Likewise.
2160         * testsuite/forward_list/allocator/ext_ptr.cc: Likewise.
2161         * testsuite/forward_list/allocator/minimal.cc: Likewise.
2162         * testsuite/forward_list/allocator/move.cc: Likewise.
2163         * testsuite/forward_list/allocator/move_assign.cc: Likewise.
2164         * testsuite/forward_list/allocator/swap.cc: Likewise.
2165         * testsuite/forward_list/capacity/1.cc: Likewise.
2166         * testsuite/forward_list/capacity/resize_size.cc: Likewise.
2167         * testsuite/forward_list/comparable.cc: Likewise.
2168         * testsuite/forward_list/cons/1.cc: Likewise.
2169         * testsuite/forward_list/cons/2.cc: Likewise.
2170         * testsuite/forward_list/cons/3.cc: Likewise.
2171         * testsuite/forward_list/cons/4.cc: Likewise.
2172         * testsuite/forward_list/cons/5.cc: Likewise.
2173         * testsuite/forward_list/cons/6.cc: Likewise.
2174         * testsuite/forward_list/cons/7.cc: Likewise.
2175         * testsuite/forward_list/cons/8.cc: Likewise.
2176         * testsuite/forward_list/cons/9.cc: Likewise.
2177         * testsuite/forward_list/cons/cons_size.cc: Likewise.
2178         * testsuite/forward_list/cons/moveable.cc: Likewise.
2179         * testsuite/forward_list/debug/clear.cc: Likewise.
2180         * testsuite/forward_list/debug/construct4_neg.cc: Likewise.
2181         * testsuite/forward_list/debug/erase_after1_neg.cc: Likewise.
2182         * testsuite/forward_list/debug/move_assign_neg.cc: Likewise.
2183         * testsuite/forward_list/debug/move_constructor.cc: Likewise.
2184         * testsuite/forward_list/debug/move_neg.cc: Likewise.
2185         * testsuite/forward_list/debug/splice_after.cc: Likewise.
2186         * testsuite/forward_list/debug/swap.cc: Likewise.
2187         * testsuite/forward_list/modifiers/1.cc: Likewise.
2188         * testsuite/forward_list/modifiers/2.cc: Likewise.
2189         * testsuite/forward_list/modifiers/3.cc: Likewise.
2190         * testsuite/forward_list/modifiers/4.cc: Likewise.
2191         * testsuite/forward_list/modifiers/5.cc: Likewise.
2192         * testsuite/forward_list/modifiers/6.cc: Likewise.
2193         * testsuite/forward_list/operations/1.cc: Likewise.
2194         * testsuite/forward_list/operations/2.cc: Likewise.
2195         * testsuite/forward_list/operations/3.cc: Likewise.
2196         * testsuite/forward_list/operations/4.cc: Likewise.
2197         * testsuite/forward_list/operations/5.cc: Likewise.
2198         * testsuite/forward_list/operations/6.cc: Likewise.
2199         * testsuite/forward_list/operations/7.cc: Likewise.
2200         * testsuite/forward_list/operations/remove_freed.cc: Likewise.
2201         * testsuite/list/61347.cc: Likewise.
2202         * testsuite/list/allocator/copy.cc: Likewise.
2203         * testsuite/list/allocator/copy_assign.cc: Likewise.
2204         * testsuite/list/allocator/minimal.cc: Likewise.
2205         * testsuite/list/allocator/move.cc: Likewise.
2206         * testsuite/list/allocator/move_assign.cc: Likewise.
2207         * testsuite/list/allocator/swap.cc: Likewise.
2208         * testsuite/list/capacity/1.h: Likewise.
2209         * testsuite/list/capacity/29134.cc: Likewise.
2210         * testsuite/list/capacity/resize_size.cc: Likewise.
2211         * testsuite/list/cons/1.h: Likewise.
2212         * testsuite/list/cons/2.h: Likewise.
2213         * testsuite/list/cons/3.h: Likewise.
2214         * testsuite/list/cons/4.h: Likewise.
2215         * testsuite/list/cons/5.h: Likewise.
2216         * testsuite/list/cons/6.h: Likewise.
2217         * testsuite/list/cons/7.h: Likewise.
2218         * testsuite/list/cons/8.h: Likewise.
2219         * testsuite/list/cons/9.h: Likewise.
2220         * testsuite/list/cons/cons_size.cc: Likewise.
2221         * testsuite/list/cons/moveable.h: Likewise.
2222         * testsuite/list/debug/invalidation/1.cc: Likewise.
2223         * testsuite/list/debug/invalidation/2.cc: Likewise.
2224         * testsuite/list/debug/invalidation/3.cc: Likewise.
2225         * testsuite/list/debug/invalidation/4.cc: Likewise.
2226         * testsuite/list/modifiers/1.h: Likewise.
2227         * testsuite/list/modifiers/2.h: Likewise.
2228         * testsuite/list/modifiers/3.h: Likewise.
2229         * testsuite/list/modifiers/insert/25288.h: Likewise.
2230         * testsuite/list/modifiers/swap/1.h: Likewise.
2231         * testsuite/list/modifiers/swap/2.h: Likewise.
2232         * testsuite/list/modifiers/swap/3.h: Likewise.
2233         * testsuite/list/operations/1.h: Likewise.
2234         * testsuite/list/operations/2.h: Likewise.
2235         * testsuite/list/operations/3.h: Likewise.
2236         * testsuite/list/operations/4.h: Likewise.
2237         * testsuite/list/operations/42352.cc: Likewise.
2238         * testsuite/map/allocator/copy.cc: Likewise.
2239         * testsuite/map/allocator/copy_assign.cc: Likewise.
2240         * testsuite/map/allocator/init-list.cc: Likewise.
2241         * testsuite/map/allocator/minimal.cc: Likewise.
2242         * testsuite/map/allocator/move.cc: Likewise.
2243         * testsuite/map/allocator/move_assign.cc: Likewise.
2244         * testsuite/map/allocator/swap.cc: Likewise.
2245         * testsuite/map/capacity/29134.cc: Likewise.
2246         * testsuite/map/cons/moveable.cc: Likewise.
2247         * testsuite/map/debug/construct5_neg.cc: Likewise.
2248         * testsuite/map/debug/move_assign_neg.cc: Likewise.
2249         * testsuite/map/debug/move_neg.cc: Likewise.
2250         * testsuite/map/element_access/1.cc: Likewise.
2251         * testsuite/map/element_access/2.cc: Likewise.
2252         * testsuite/map/element_access/39901.cc: Likewise.
2253         * testsuite/map/init-list.cc: Likewise.
2254         * testsuite/map/modifiers/dr130.cc: Likewise.
2255         * testsuite/map/modifiers/emplace/1.cc: Likewise.
2256         * testsuite/map/modifiers/extract.cc: Likewise.
2257         * testsuite/map/modifiers/insert/1.cc: Likewise.
2258         * testsuite/map/modifiers/insert/16813.cc: Likewise.
2259         * testsuite/map/modifiers/insert/2.cc: Likewise.
2260         * testsuite/map/modifiers/insert/3.cc: Likewise.
2261         * testsuite/map/modifiers/insert/4.cc: Likewise.
2262         * testsuite/map/modifiers/insert/5.cc: Likewise.
2263         * testsuite/map/modifiers/insert_or_assign/1.cc: Likewise.
2264         * testsuite/map/modifiers/merge.cc: Likewise.
2265         * testsuite/map/modifiers/swap/1.cc: Likewise.
2266         * testsuite/map/modifiers/swap/2.cc: Likewise.
2267         * testsuite/map/modifiers/swap/3.cc: Likewise.
2268         * testsuite/map/modifiers/try_emplace/1.cc: Likewise.
2269         * testsuite/map/operations/1.cc: Likewise.
2270         * testsuite/map/operations/count.cc: Likewise.
2271         * testsuite/map/operators/1_neg.cc: Likewise.
2272         * testsuite/map/operators/2.cc: Likewise.
2273         * testsuite/multimap/allocator/copy.cc: Likewise.
2274         * testsuite/multimap/allocator/copy_assign.cc: Likewise.
2275         * testsuite/multimap/allocator/init-list.cc: Likewise.
2276         * testsuite/multimap/allocator/minimal.cc: Likewise.
2277         * testsuite/multimap/allocator/move.cc: Likewise.
2278         * testsuite/multimap/allocator/move_assign.cc: Likewise.
2279         * testsuite/multimap/allocator/swap.cc: Likewise.
2280         * testsuite/multimap/capacity/29134.cc: Likewise.
2281         * testsuite/multimap/cons/moveable.cc: Likewise.
2282         * testsuite/multimap/debug/construct5_neg.cc: Likewise.
2283         * testsuite/multimap/debug/move_assign_neg.cc: Likewise.
2284         * testsuite/multimap/debug/move_neg.cc: Likewise.
2285         * testsuite/multimap/init-list.cc: Likewise.
2286         * testsuite/multimap/modifiers/dr130.cc: Likewise.
2287         * testsuite/multimap/modifiers/emplace/1.cc: Likewise.
2288         * testsuite/multimap/modifiers/extract.cc: Likewise.
2289         * testsuite/multimap/modifiers/insert/1.cc: Likewise.
2290         * testsuite/multimap/modifiers/insert/2.cc: Likewise.
2291         * testsuite/multimap/modifiers/insert/22102.cc: Likewise.
2292         * testsuite/multimap/modifiers/insert/3.cc: Likewise.
2293         * testsuite/multimap/modifiers/insert/4.cc: Likewise.
2294         * testsuite/multimap/modifiers/merge.cc: Likewise.
2295         * testsuite/multimap/modifiers/swap/1.cc: Likewise.
2296         * testsuite/multimap/modifiers/swap/2.cc: Likewise.
2297         * testsuite/multimap/modifiers/swap/3.cc: Likewise.
2298         * testsuite/multimap/operations/1.cc: Likewise.
2299         * testsuite/multimap/operations/count.cc: Likewise.
2300         * testsuite/multiset/allocator/copy.cc: Likewise.
2301         * testsuite/multiset/allocator/copy_assign.cc: Likewise.
2302         * testsuite/multiset/allocator/init-list.cc: Likewise.
2303         * testsuite/multiset/allocator/minimal.cc: Likewise.
2304         * testsuite/multiset/allocator/move.cc: Likewise.
2305         * testsuite/multiset/allocator/move_assign.cc: Likewise.
2306         * testsuite/multiset/allocator/swap.cc: Likewise.
2307         * testsuite/multiset/capacity/29134.cc: Likewise.
2308         * testsuite/multiset/cons/moveable.cc: Likewise.
2309         * testsuite/multiset/debug/construct5_neg.cc: Likewise.
2310         * testsuite/multiset/debug/invalidation/2.cc: Likewise.
2311         * testsuite/multiset/debug/move_assign_neg.cc: Likewise.
2312         * testsuite/multiset/debug/move_neg.cc: Likewise.
2313         * testsuite/multiset/init-list.cc: Likewise.
2314         * testsuite/multiset/modifiers/dr130.cc: Likewise.
2315         * testsuite/multiset/modifiers/emplace/1.cc: Likewise.
2316         * testsuite/multiset/modifiers/extract.cc: Likewise.
2317         * testsuite/multiset/modifiers/insert/1.cc: Likewise.
2318         * testsuite/multiset/modifiers/insert/2.cc: Likewise.
2319         * testsuite/multiset/modifiers/insert/22102.cc: Likewise.
2320         * testsuite/multiset/modifiers/insert/3.cc: Likewise.
2321         * testsuite/multiset/modifiers/insert/4.cc: Likewise.
2322         * testsuite/multiset/modifiers/merge.cc: Likewise.
2323         * testsuite/multiset/modifiers/swap/1.cc: Likewise.
2324         * testsuite/multiset/modifiers/swap/2.cc: Likewise.
2325         * testsuite/multiset/modifiers/swap/3.cc: Likewise.
2326         * testsuite/multiset/operations/1.cc: Likewise.
2327         * testsuite/multiset/operations/count.cc: Likewise.
2328         * testsuite/priority_queue/moveable.cc: Likewise.
2329         * testsuite/queue/moveable.cc: Likewise.
2330         * testsuite/set/allocator/copy.cc: Likewise.
2331         * testsuite/set/allocator/copy_assign.cc: Likewise.
2332         * testsuite/set/allocator/init-list.cc: Likewise.
2333         * testsuite/set/allocator/minimal.cc: Likewise.
2334         * testsuite/set/allocator/move.cc: Likewise.
2335         * testsuite/set/allocator/move_assign.cc: Likewise.
2336         * testsuite/set/allocator/swap.cc: Likewise.
2337         * testsuite/set/capacity/29134.cc: Likewise.
2338         * testsuite/set/cons/moveable.cc: Likewise.
2339         * testsuite/set/debug/construct5_neg.cc: Likewise.
2340         * testsuite/set/debug/invalidation/2.cc: Likewise.
2341         * testsuite/set/debug/move_assign_neg.cc: Likewise.
2342         * testsuite/set/debug/move_neg.cc: Likewise.
2343         * testsuite/set/init-list.cc: Likewise.
2344         * testsuite/set/modifiers/17948.cc: Likewise.
2345         * testsuite/set/modifiers/dr130.cc: Likewise.
2346         * testsuite/set/modifiers/emplace/1.cc: Likewise.
2347         * testsuite/set/modifiers/extract.cc: Likewise.
2348         * testsuite/set/modifiers/insert/1.cc: Likewise.
2349         * testsuite/set/modifiers/insert/2.cc: Likewise.
2350         * testsuite/set/modifiers/insert/3.cc: Likewise.
2351         * testsuite/set/modifiers/merge.cc: Likewise.
2352         * testsuite/set/modifiers/swap/1.cc: Likewise.
2353         * testsuite/set/modifiers/swap/2.cc: Likewise.
2354         * testsuite/set/modifiers/swap/3.cc: Likewise.
2355         * testsuite/set/operations/1.cc: Likewise.
2356         * testsuite/set/operations/count.cc: Likewise.
2357         * testsuite/set/operators/1_neg.cc: Likewise.
2358         * testsuite/unordered_map/allocator/copy.cc: Likewise.
2359         * testsuite/unordered_map/allocator/copy_assign.cc: Likewise.
2360         * testsuite/unordered_map/allocator/minimal.cc: Likewise.
2361         * testsuite/unordered_map/allocator/move.cc: Likewise.
2362         * testsuite/unordered_map/allocator/move_assign.cc: Likewise.
2363         * testsuite/unordered_map/allocator/swap.cc: Likewise.
2364         * testsuite/unordered_map/cons/moveable.cc: Likewise.
2365         * testsuite/unordered_map/debug/construct5_neg.cc: Likewise.
2366         * testsuite/unordered_map/debug/move_assign_neg.cc: Likewise.
2367         * testsuite/unordered_map/debug/move_neg.cc: Likewise.
2368         * testsuite/unordered_map/dr761.cc: Likewise.
2369         * testsuite/unordered_map/erase/1.cc: Likewise.
2370         * testsuite/unordered_map/erase/24061-map.cc: Likewise.
2371         * testsuite/unordered_map/erase/54276.cc: Likewise.
2372         * testsuite/unordered_map/hash_policy/dr1189.cc: Likewise.
2373         * testsuite/unordered_map/init-list.cc: Likewise.
2374         * testsuite/unordered_map/insert/24061-map.cc: Likewise.
2375         * testsuite/unordered_map/insert/57619.C: Likewise.
2376         * testsuite/unordered_map/insert/array_syntax.cc: Likewise.
2377         * testsuite/unordered_map/insert/array_syntax_move.cc: Likewise.
2378         * testsuite/unordered_map/insert/map_range.cc: Likewise.
2379         * testsuite/unordered_map/insert/map_single.cc: Likewise.
2380         * testsuite/unordered_map/insert/map_single_move-1.cc: Likewise.
2381         * testsuite/unordered_map/insert/map_single_move-2.cc: Likewise.
2382         * testsuite/unordered_map/modifiers/61667.cc: Likewise.
2383         * testsuite/unordered_map/modifiers/emplace.cc: Likewise.
2384         * testsuite/unordered_map/modifiers/extract.cc: Likewise.
2385         * testsuite/unordered_map/modifiers/insert_or_assign.cc: Likewise.
2386         * testsuite/unordered_map/modifiers/merge.cc: Likewise.
2387         * testsuite/unordered_map/modifiers/reserve.cc: Likewise.
2388         * testsuite/unordered_map/modifiers/try_emplace.cc: Likewise.
2389         * testsuite/unordered_map/operations/count.cc: Likewise.
2390         * testsuite/unordered_map/operators/1.cc: Likewise.
2391         * testsuite/unordered_map/operators/2.cc: Likewise.
2392         * testsuite/unordered_multimap/allocator/copy.cc: Likewise.
2393         * testsuite/unordered_multimap/allocator/copy_assign.cc: Likewise.
2394         * testsuite/unordered_multimap/allocator/minimal.cc: Likewise.
2395         * testsuite/unordered_multimap/allocator/move.cc: Likewise.
2396         * testsuite/unordered_multimap/allocator/move_assign.cc: Likewise.
2397         * testsuite/unordered_multimap/allocator/swap.cc: Likewise.
2398         * testsuite/unordered_multimap/cons/moveable.cc: Likewise.
2399         * testsuite/unordered_multimap/debug/construct5_neg.cc: Likewise.
2400         * testsuite/unordered_multimap/debug/move_assign_neg.cc: Likewise.
2401         * testsuite/unordered_multimap/debug/move_neg.cc: Likewise.
2402         * testsuite/unordered_multimap/erase/1.cc: Likewise.
2403         * testsuite/unordered_multimap/erase/2.cc: Likewise.
2404         * testsuite/unordered_multimap/erase/24061-multimap.cc: Likewise.
2405         * testsuite/unordered_multimap/erase/51845-multimap.cc: Likewise.
2406         * testsuite/unordered_multimap/erase/54276.cc: Likewise.
2407         * testsuite/unordered_multimap/hash_policy/dr1189.cc: Likewise.
2408         * testsuite/unordered_multimap/init-list.cc: Likewise.
2409         * testsuite/unordered_multimap/insert/24061-multimap.cc: Likewise.
2410         * testsuite/unordered_multimap/insert/51866.cc: Likewise.
2411         * testsuite/unordered_multimap/insert/52476.cc: Likewise.
2412         * testsuite/unordered_multimap/insert/53115.cc: Likewise.
2413         * testsuite/unordered_multimap/insert/57619.C: Likewise.
2414         * testsuite/unordered_multimap/insert/hint.cc: Likewise.
2415         * testsuite/unordered_multimap/insert/multimap_range.cc: Likewise.
2416         * testsuite/unordered_multimap/insert/multimap_single.cc: Likewise.
2417         * testsuite/unordered_multimap/insert/multimap_single_move-1.cc:
2418         Likewise.
2419         * testsuite/unordered_multimap/insert/multimap_single_move-2.cc:
2420         Likewise.
2421         * testsuite/unordered_multimap/modifiers/emplace.cc: Likewise.
2422         * testsuite/unordered_multimap/modifiers/extract.cc: Likewise.
2423         * testsuite/unordered_multimap/modifiers/merge.cc: Likewise.
2424         * testsuite/unordered_multimap/modifiers/reserve.cc: Likewise.
2425         * testsuite/unordered_multimap/operations/count.cc: Likewise.
2426         * testsuite/unordered_multimap/operators/1.cc: Likewise.
2427         * testsuite/unordered_multimap/operators/2.cc: Likewise.
2428         * testsuite/unordered_multiset/allocator/copy.cc: Likewise.
2429         * testsuite/unordered_multiset/allocator/copy_assign.cc: Likewise.
2430         * testsuite/unordered_multiset/allocator/minimal.cc: Likewise.
2431         * testsuite/unordered_multiset/allocator/move.cc: Likewise.
2432         * testsuite/unordered_multiset/allocator/move_assign.cc: Likewise.
2433         * testsuite/unordered_multiset/allocator/swap.cc: Likewise.
2434         * testsuite/unordered_multiset/cons/copy.cc: Likewise.
2435         * testsuite/unordered_multiset/cons/moveable.cc: Likewise.
2436         * testsuite/unordered_multiset/debug/construct5_neg.cc: Likewise.
2437         * testsuite/unordered_multiset/debug/move_assign_neg.cc: Likewise.
2438         * testsuite/unordered_multiset/debug/move_neg.cc: Likewise.
2439         * testsuite/unordered_multiset/erase/1.cc: Likewise.
2440         * testsuite/unordered_multiset/erase/2.cc: Likewise.
2441         * testsuite/unordered_multiset/erase/24061-multiset.cc: Likewise.
2442         * testsuite/unordered_multiset/hash_policy/dr1189.cc: Likewise.
2443         * testsuite/unordered_multiset/init-list.cc: Likewise.
2444         * testsuite/unordered_multiset/insert/24061-multiset.cc: Likewise.
2445         * testsuite/unordered_multiset/insert/51866.cc: Likewise.
2446         * testsuite/unordered_multiset/insert/52476.cc: Likewise.
2447         * testsuite/unordered_multiset/insert/53115.cc: Likewise.
2448         * testsuite/unordered_multiset/insert/hash_policy.cc: Likewise.
2449         * testsuite/unordered_multiset/insert/multiset_range.cc: Likewise.
2450         * testsuite/unordered_multiset/insert/multiset_single.cc: Likewise.
2451         * testsuite/unordered_multiset/insert/multiset_single_move.cc: Likewise.
2452         * testsuite/unordered_multiset/modifiers/emplace.cc: Likewise.
2453         * testsuite/unordered_multiset/modifiers/extract.cc: Likewise.
2454         * testsuite/unordered_multiset/modifiers/merge.cc: Likewise.
2455         * testsuite/unordered_multiset/modifiers/reserve.cc: Likewise.
2456         * testsuite/unordered_multiset/operations/count.cc: Likewise.
2457         * testsuite/unordered_multiset/operators/1.cc: Likewise.
2458         * testsuite/unordered_set/allocator/copy.cc: Likewise.
2459         * testsuite/unordered_set/allocator/copy_assign.cc: Likewise.
2460         * testsuite/unordered_set/allocator/ext_ptr.cc: Likewise.
2461         * testsuite/unordered_set/allocator/minimal.cc: Likewise.
2462         * testsuite/unordered_set/allocator/move.cc: Likewise.
2463         * testsuite/unordered_set/allocator/move_assign.cc: Likewise.
2464         * testsuite/unordered_set/allocator/swap.cc: Likewise.
2465         * testsuite/unordered_set/buckets/swap.cc: Likewise.
2466         * testsuite/unordered_set/cons/moveable.cc: Likewise.
2467         * testsuite/unordered_set/debug/construct5_neg.cc: Likewise.
2468         * testsuite/unordered_set/debug/debug_functions.cc: Likewise.
2469         * testsuite/unordered_set/debug/move_assign_neg.cc: Likewise.
2470         * testsuite/unordered_set/debug/move_neg.cc: Likewise.
2471         * testsuite/unordered_set/erase/1.cc: Likewise.
2472         * testsuite/unordered_set/erase/24061-set.cc: Likewise.
2473         * testsuite/unordered_set/hash_policy/26132.cc: Likewise.
2474         * testsuite/unordered_set/hash_policy/71181.cc: Likewise.
2475         * testsuite/unordered_set/hash_policy/dr1189.cc: Likewise.
2476         * testsuite/unordered_set/hash_policy/load_factor.cc: Likewise.
2477         * testsuite/unordered_set/hash_policy/power2_rehash.cc: Likewise.
2478         * testsuite/unordered_set/hash_policy/prime_rehash.cc: Likewise.
2479         * testsuite/unordered_set/hash_policy/rehash.cc: Likewise.
2480         * testsuite/unordered_set/init-list.cc: Likewise.
2481         * testsuite/unordered_set/insert/24061-set.cc: Likewise.
2482         * testsuite/unordered_set/insert/hash_policy.cc: Likewise.
2483         * testsuite/unordered_set/insert/move_range.cc: Likewise.
2484         * testsuite/unordered_set/insert/set_range.cc: Likewise.
2485         * testsuite/unordered_set/insert/set_single.cc: Likewise.
2486         * testsuite/unordered_set/insert/set_single_move.cc: Likewise.
2487         * testsuite/unordered_set/max_load_factor/robustness.cc: Likewise.
2488         * testsuite/unordered_set/modifiers/emplace.cc: Likewise.
2489         * testsuite/unordered_set/modifiers/extract.cc: Likewise.
2490         * testsuite/unordered_set/modifiers/merge.cc: Likewise.
2491         * testsuite/unordered_set/modifiers/reserve.cc: Likewise.
2492         * testsuite/unordered_set/modifiers/swap.cc: Likewise.
2493         * testsuite/unordered_set/operations/count.cc: Likewise.
2494         * testsuite/unordered_set/operators/1.cc: Likewise.
2495         * testsuite/vector/allocator/copy.cc: Likewise.
2496         * testsuite/vector/allocator/copy_assign.cc: Likewise.
2497         * testsuite/vector/allocator/ext_ptr.cc: Likewise.
2498         * testsuite/vector/allocator/minimal.cc: Likewise.
2499         * testsuite/vector/allocator/move.cc: Likewise.
2500         * testsuite/vector/allocator/move_assign.cc: Likewise.
2501         * testsuite/vector/allocator/swap.cc: Likewise.
2502         * testsuite/vector/bool/6886.cc: Likewise.
2503         * testsuite/vector/bool/72847.cc: Likewise.
2504         * testsuite/vector/bool/allocator/copy.cc: Likewise.
2505         * testsuite/vector/bool/allocator/copy_assign.cc: Likewise.
2506         * testsuite/vector/bool/allocator/ext_ptr.cc: Likewise.
2507         * testsuite/vector/bool/allocator/move.cc: Likewise.
2508         * testsuite/vector/bool/allocator/move_assign.cc: Likewise.
2509         * testsuite/vector/bool/allocator/swap.cc: Likewise.
2510         * testsuite/vector/bool/capacity/1.cc: Likewise.
2511         * testsuite/vector/bool/capacity/29134.cc: Likewise.
2512         * testsuite/vector/bool/capacity/shrink_to_fit.cc: Likewise.
2513         * testsuite/vector/bool/cons/1.cc: Likewise.
2514         * testsuite/vector/bool/cons/2.cc: Likewise.
2515         * testsuite/vector/bool/modifiers/erase/1.cc: Likewise.
2516         * testsuite/vector/bool/modifiers/insert/1.cc: Likewise.
2517         * testsuite/vector/bool/modifiers/insert/31370.cc: Likewise.
2518         * testsuite/vector/bool/modifiers/swap/1.cc: Likewise.
2519         * testsuite/vector/bool/modifiers/swap/2.cc: Likewise.
2520         * testsuite/vector/bool/swap.cc: Likewise.
2521         * testsuite/vector/capacity/1.cc: Likewise.
2522         * testsuite/vector/capacity/2.cc: Likewise.
2523         * testsuite/vector/capacity/29134-2.cc: Likewise.
2524         * testsuite/vector/capacity/29134.cc: Likewise.
2525         * testsuite/vector/capacity/44190.cc: Likewise.
2526         * testsuite/vector/capacity/8230.cc: Likewise.
2527         * testsuite/vector/capacity/reserve/moveable.cc: Likewise.
2528         * testsuite/vector/capacity/reserve/moveable2.cc: Likewise.
2529         * testsuite/vector/capacity/resize/1.cc: Likewise.
2530         * testsuite/vector/capacity/resize/moveable.cc: Likewise.
2531         * testsuite/vector/capacity/resize/moveable2.cc: Likewise.
2532         * testsuite/vector/capacity/resize/resize_size.cc: Likewise.
2533         * testsuite/vector/capacity/shrink_to_fit.cc: Likewise.
2534         * testsuite/vector/capacity/shrink_to_fit2.cc: Likewise.
2535         * testsuite/vector/cons/3.cc: Likewise.
2536         * testsuite/vector/cons/4.cc: Likewise.
2537         * testsuite/vector/cons/cons_size.cc: Likewise.
2538         * testsuite/vector/cons/moveable.cc: Likewise.
2539         * testsuite/vector/data_access/1.cc: Likewise.
2540         * testsuite/vector/debug/debug_functions.cc: Likewise.
2541         * testsuite/vector/debug/move_assign_neg.cc: Likewise.
2542         * testsuite/vector/debug/move_neg.cc: Likewise.
2543         * testsuite/vector/debug/multithreaded_swap.cc: Likewise.
2544         * testsuite/vector/element_access/1.cc: Likewise.
2545         * testsuite/vector/ext_pointer/citerators.cc: Likewise.
2546         * testsuite/vector/ext_pointer/data_access.cc: Likewise.
2547         * testsuite/vector/ext_pointer/modifiers/element.cc: Likewise.
2548         * testsuite/vector/ext_pointer/modifiers/erase.cc: Likewise.
2549         * testsuite/vector/ext_pointer/modifiers/insert.cc: Likewise.
2550         * testsuite/vector/ext_pointer/resize.cc: Likewise.
2551         * testsuite/vector/modifiers/1.cc: Likewise.
2552         * testsuite/vector/modifiers/2.cc: Likewise.
2553         * testsuite/vector/modifiers/emplace/self_emplace.cc: Likewise.
2554         * testsuite/vector/modifiers/erase/1.cc: Likewise.
2555         * testsuite/vector/modifiers/erase/moveable.cc: Likewise.
2556         * testsuite/vector/modifiers/insert/1.cc: Likewise.
2557         * testsuite/vector/modifiers/insert/self_insert.cc: Likewise.
2558         * testsuite/vector/modifiers/moveable.cc: Likewise.
2559         * testsuite/vector/modifiers/moveable2.cc: Likewise.
2560         * testsuite/vector/modifiers/push_back/49836.cc: Likewise.
2561         * testsuite/vector/modifiers/swap/1.cc: Likewise.
2562         * testsuite/vector/modifiers/swap/2.cc: Likewise.
2563         * testsuite/vector/modifiers/swap/3.cc: Likewise.
2564         * testsuite/vector/zero_sized_allocations.cc: Likewise.
2566 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
2568         PR libstdc++/77998
2569         * include/std/future (__future_base::_Deferred_state)
2570         (__future_base::_Async_state_impl): Use decltype to deduce return
2571         type, instead of _Invoker::result_type.
2572         * include/std/thread (thread::_Invoker::operator()): Likewise.
2573         (thread::_Invoker::result_type): Remove.
2575         PR libstdc++/77987
2576         * include/bits/unique_ptr.h (unique_ptr<T[], D>::reset<U>(U)): Copy
2577         value to pointer of the correct type to swap, to support conversions
2578         allowed by LWG 2118 / N4089.
2579         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for
2580         incompatible deleters from ...
2581         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here.
2582         * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for
2583         incompatible pointers to ...
2584         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move
2585         destructor definition to base class. Test for invalid derived-to-base
2586         conversion.
2588         * doc/xml/manual/status_cxx2017.xml: Update status.
2589         * doc/html/*: Regenerate.
2590         * include/bits/deque.tcc (deque::emplace_front, deque::emplace_back):
2591         Return a reference in C++17 mode.
2592         * include/bits/forward_list.h (forward_list::emplace_front): Likewise.
2593         * include/bits/stl_bvector.h (vector<bool>::emplace_back): Likewise.
2594         * include/bits/stl_deque.h (deque::emplace_front, deque::emplace_back):
2595         Likewise.
2596         * include/bits/stl_list.h (list::emplace_front, list::emplace_back):
2597         Likewise.
2598         * include/bits/stl_queue.h (queue::emplace): Likewise.
2599         * include/bits/stl_stack.h (stack::emplace): Likewise.
2600         * include/bits/stl_vector.h (vector::emplace_back): Likewise.
2601         * include/bits/vector.tcc (vector::emplace_back): Likewise.
2602         * include/debug/deque (__gnu_debug::deque::emplace_front)
2603         (__gnu_debug::deque::emplace_back): Likewise.
2604         * include/debug/vector (__gnu_debug::vector::emplace_back): Likewise.
2605         * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
2606         New.
2607         * testsuite/23_containers/forward_list/modifiers/
2608         emplace_cxx17_return.cc: New.
2609         * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: New.
2610         * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: New.
2611         * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: New.
2612         * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: New.
2613         * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
2614         New.
2616 2016-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
2618         * testsuite/22_locale/classification/isblank.cc: Remove 'test'
2619         variables.
2620         * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
2621         * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Likewise.
2622         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
2623         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
2624         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise.
2625         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Likewise.
2626         * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
2627         * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Likewise.
2628         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
2629         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
2630         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise.
2631         * testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
2632         * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Likewise.
2633         * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
2634         * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise.
2635         * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise.
2636         * testsuite/22_locale/codecvt/in/wchar_t/5.cc: Likewise.
2637         * testsuite/22_locale/codecvt/in/wchar_t/6.cc: Likewise.
2638         * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise.
2639         * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
2640         * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
2641         * testsuite/22_locale/codecvt/length/char/1.cc: Likewise.
2642         * testsuite/22_locale/codecvt/length/char/2.cc: Likewise.
2643         * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Likewise.
2644         * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
2645         * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
2646         * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
2647         * testsuite/22_locale/codecvt/length/wchar_t/5.cc: Likewise.
2648         * testsuite/22_locale/codecvt/length/wchar_t/6.cc: Likewise.
2649         * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise.
2650         * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
2651         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Likewise.
2652         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
2653         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
2654         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise.
2655         * testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
2656         * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Likewise.
2657         * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
2658         * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise.
2659         * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
2660         * testsuite/22_locale/codecvt/out/wchar_t/5.cc: Likewise.
2661         * testsuite/22_locale/codecvt/out/wchar_t/6.cc: Likewise.
2662         * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
2663         * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
2664         * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Likewise.
2665         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
2666         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
2667         * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
2668         * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
2669         * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
2670         * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
2671         * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
2672         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
2673         * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
2674         * testsuite/22_locale/collate/hash/char/1.cc: Likewise.
2675         * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
2676         * testsuite/22_locale/collate/hash/wchar_t/1.cc: Likewise.
2677         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
2678         * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
2679         * testsuite/22_locale/collate/transform/char/28277.cc: Likewise.
2680         * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
2681         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
2682         * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise.
2683         * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
2684         * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
2685         * testsuite/22_locale/ctype/cons/char/1.cc: Likewise.
2686         * testsuite/22_locale/ctype/is/char/1.cc: Likewise.
2687         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
2688         * testsuite/22_locale/ctype/is/char/3.cc: Likewise.
2689         * testsuite/22_locale/ctype/is/char/9858.cc: Likewise.
2690         * testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
2691         * testsuite/22_locale/ctype/is/wchar_t/11740.cc: Likewise.
2692         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
2693         * testsuite/22_locale/ctype/narrow/char/1.cc: Likewise.
2694         * testsuite/22_locale/ctype/narrow/char/19955.cc: Likewise.
2695         * testsuite/22_locale/ctype/narrow/char/2.cc: Likewise.
2696         * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Likewise.
2697         * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Likewise.
2698         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise.
2699         * testsuite/22_locale/ctype/scan/char/1.cc: Likewise.
2700         * testsuite/22_locale/ctype/scan/wchar_t/1.cc: Likewise.
2701         * testsuite/22_locale/ctype/to/char/1.cc: Likewise.
2702         * testsuite/22_locale/ctype/to/wchar_t/1.cc: Likewise.
2703         * testsuite/22_locale/ctype/widen/char/1.cc: Likewise.
2704         * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Likewise.
2705         * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
2706         * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise.
2707         * testsuite/22_locale/ctype_base/11844.cc: Likewise.
2708         * testsuite/22_locale/facet/1.cc: Likewise.
2709         * testsuite/22_locale/facet/2.cc: Likewise.
2710         * testsuite/22_locale/facet/25421.cc: Likewise.
2711         * testsuite/22_locale/global_templates/1.cc: Likewise.
2712         * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
2713         Likewise.
2714         * testsuite/22_locale/global_templates/user_facet_hierarchies.cc:
2715         Likewise.
2716         * testsuite/22_locale/locale/13630.cc: Likewise.
2717         * testsuite/22_locale/locale/cons/12352.cc: Likewise.
2718         * testsuite/22_locale/locale/cons/12438.cc: Likewise.
2719         * testsuite/22_locale/locale/cons/2.cc: Likewise.
2720         * testsuite/22_locale/locale/cons/29217.cc: Likewise.
2721         * testsuite/22_locale/locale/cons/38365.cc: Likewise.
2722         * testsuite/22_locale/locale/cons/38368.cc: Likewise.
2723         * testsuite/22_locale/locale/cons/4.cc: Likewise.
2724         * testsuite/22_locale/locale/cons/40184.cc: Likewise.
2725         * testsuite/22_locale/locale/cons/5.cc: Likewise.
2726         * testsuite/22_locale/locale/cons/6.cc: Likewise.
2727         * testsuite/22_locale/locale/cons/7.cc: Likewise.
2728         * testsuite/22_locale/locale/cons/7222-c.cc: Likewise.
2729         * testsuite/22_locale/locale/cons/7222-env.cc: Likewise.
2730         * testsuite/22_locale/locale/cons/8.cc: Likewise.
2731         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
2732         * testsuite/22_locale/locale/global_locale_objects/1.cc: Likewise.
2733         * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
2734         * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
2735         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
2736         * testsuite/22_locale/locale/operations/1.cc: Likewise.
2737         * testsuite/22_locale/locale/operations/2.cc: Likewise.
2738         * testsuite/22_locale/messages/13631.cc: Likewise.
2739         * testsuite/22_locale/messages/members/char/1.cc: Likewise.
2740         * testsuite/22_locale/messages/members/char/2.cc: Likewise.
2741         * testsuite/22_locale/messages/members/char/3.cc: Likewise.
2742         * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
2743         * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
2744         * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
2745         * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
2746         * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
2747         * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
2748         * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
2749         * testsuite/22_locale/money_get/get/char/14.cc: Likewise.
2750         * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
2751         * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
2752         * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
2753         * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
2754         * testsuite/22_locale/money_get/get/char/19.cc: Likewise.
2755         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2756         * testsuite/22_locale/money_get/get/char/22131.cc: Likewise.
2757         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2758         * testsuite/22_locale/money_get/get/char/38399.cc: Likewise.
2759         * testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
2760         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2761         * testsuite/22_locale/money_get/get/char/5.cc: Likewise.
2762         * testsuite/22_locale/money_get/get/char/6.cc: Likewise.
2763         * testsuite/22_locale/money_get/get/char/7.cc: Likewise.
2764         * testsuite/22_locale/money_get/get/char/8.cc: Likewise.
2765         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2766         * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
2767         * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
2768         * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
2769         * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
2770         * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
2771         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Likewise.
2772         * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
2773         * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
2774         * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
2775         * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
2776         * testsuite/22_locale/money_get/get/wchar_t/19.cc: Likewise.
2777         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2778         * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
2779         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2780         * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
2781         * testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
2782         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2783         * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
2784         * testsuite/22_locale/money_get/get/wchar_t/6.cc: Likewise.
2785         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
2786         * testsuite/22_locale/money_get/get/wchar_t/8.cc: Likewise.
2787         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
2788         * testsuite/22_locale/money_put/put/char/12971.cc: Likewise.
2789         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
2790         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
2791         * testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
2792         * testsuite/22_locale/money_put/put/char/4.cc: Likewise.
2793         * testsuite/22_locale/money_put/put/char/5.cc: Likewise.
2794         * testsuite/22_locale/money_put/put/char/6.cc: Likewise.
2795         * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
2796         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
2797         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
2798         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2799         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2800         * testsuite/22_locale/money_put/put/wchar_t/39168.cc: Likewise.
2801         * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
2802         * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
2803         * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
2804         * testsuite/22_locale/moneypunct/40712.cc: Likewise.
2805         * testsuite/22_locale/moneypunct/members/char/1.cc: Likewise.
2806         * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
2807         * testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise.
2808         * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
2809         * testsuite/22_locale/moneypunct/requirements/false/intl.cc: Likewise.
2810         * testsuite/22_locale/moneypunct/requirements/true/intl.cc: Likewise.
2811         * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
2812         * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
2813         * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
2814         * testsuite/22_locale/num_get/get/char/11.cc: Likewise.
2815         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
2816         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
2817         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
2818         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
2819         * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
2820         * testsuite/22_locale/num_get/get/char/2.cc: Likewise.
2821         * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
2822         * testsuite/22_locale/num_get/get/char/23953.cc: Likewise.
2823         * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
2824         * testsuite/22_locale/num_get/get/char/37958.cc: Likewise.
2825         * testsuite/22_locale/num_get/get/char/39168.cc: Likewise.
2826         * testsuite/22_locale/num_get/get/char/39802.cc: Likewise.
2827         * testsuite/22_locale/num_get/get/char/4.cc: Likewise.
2828         * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
2829         * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
2830         * testsuite/22_locale/num_get/get/char/7.cc: Likewise.
2831         * testsuite/22_locale/num_get/get/char/8.cc: Likewise.
2832         * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
2833         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
2834         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
2835         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
2836         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
2837         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
2838         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
2839         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
2840         * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
2841         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Likewise.
2842         * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
2843         * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
2844         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
2845         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
2846         * testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
2847         * testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.
2848         * testsuite/22_locale/num_get/get/wchar_t/4.cc: Likewise.
2849         * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
2850         * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
2851         * testsuite/22_locale/num_get/get/wchar_t/7.cc: Likewise.
2852         * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
2853         * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
2854         * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
2855         * testsuite/22_locale/num_put/put/char/10.cc: Likewise.
2856         * testsuite/22_locale/num_put/put/char/11.cc: Likewise.
2857         * testsuite/22_locale/num_put/put/char/12.cc: Likewise.
2858         * testsuite/22_locale/num_put/put/char/14220.cc: Likewise.
2859         * testsuite/22_locale/num_put/put/char/15565.cc: Likewise.
2860         * testsuite/22_locale/num_put/put/char/2.cc: Likewise.
2861         * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
2862         * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
2863         * testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
2864         * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
2865         * testsuite/22_locale/num_put/put/char/38196.cc: Likewise.
2866         * testsuite/22_locale/num_put/put/char/38210.cc: Likewise.
2867         * testsuite/22_locale/num_put/put/char/4.cc: Likewise.
2868         * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
2869         * testsuite/22_locale/num_put/put/char/6.cc: Likewise.
2870         * testsuite/22_locale/num_put/put/char/7.cc: Likewise.
2871         * testsuite/22_locale/num_put/put/char/8.cc: Likewise.
2872         * testsuite/22_locale/num_put/put/char/9.cc: Likewise.
2873         * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
2874         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
2875         * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
2876         * testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise.
2877         * testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise.
2878         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2879         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: Likewise.
2880         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
2881         * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
2882         * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
2883         * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
2884         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
2885         * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
2886         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
2887         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
2888         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
2889         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
2890         * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
2891         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
2892         * testsuite/22_locale/num_put/put/wchar_t/9.cc: Likewise.
2893         * testsuite/22_locale/numpunct/members/char/1.cc: Likewise.
2894         * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
2895         * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
2896         * testsuite/22_locale/numpunct/members/char/cache_1.cc: Likewise.
2897         * testsuite/22_locale/numpunct/members/char/cache_2.cc: Likewise.
2898         * testsuite/22_locale/numpunct/members/pod/1.cc: Likewise.
2899         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Likewise.
2900         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
2901         * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: Likewise.
2902         * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: Likewise.
2903         * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
2904         * testsuite/22_locale/time_get/date_order/char/1.cc: Likewise.
2905         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Likewise.
2906         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
2907         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
2908         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
2909         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
2910         * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
2911         * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
2912         * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
2913         * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
2914         * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
2915         * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
2916         * testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
2917         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
2918         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
2919         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
2920         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
2921         * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
2922         * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
2923         * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
2924         * testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
2925         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
2926         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
2927         * testsuite/22_locale/time_get/get_monthname/char/3.cc: Likewise.
2928         * testsuite/22_locale/time_get/get_monthname/char/4.cc: Likewise.
2929         * testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
2930         * testsuite/22_locale/time_get/get_monthname/char/6.cc: Likewise.
2931         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
2932         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
2933         * testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc: Likewise.
2934         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: Likewise.
2935         * testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
2936         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
2937         * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
2938         * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
2939         * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
2940         * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
2941         * testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
2942         * testsuite/22_locale/time_get/get_time/char/6.cc: Likewise.
2943         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
2944         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
2945         * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
2946         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
2947         * testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
2948         * testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise.
2949         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
2950         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
2951         * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
2952         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
2953         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
2954         * testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
2955         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
2956         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
2957         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
2958         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
2959         * testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
2960         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
2961         * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
2962         * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
2963         * testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
2964         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
2965         * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
2966         * testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise.
2967         * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
2968         * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
2969         * testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
2970         * testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
2971         * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
2972         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
2973         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
2974         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
2975         * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
2976         * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
2977         * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
2978         * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
2979         * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
2980         * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
2981         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
2982         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
2983         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
2984         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
2985         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
2986         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
2987         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
2988         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
2989         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
2990         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
2991         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
2992         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
2993         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
2994         * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
2995         * testsuite/30_threads/async/42819.cc: Likewise.
2996         * testsuite/30_threads/async/any.cc: Likewise.
2997         * testsuite/30_threads/async/async.cc: Likewise.
2998         * testsuite/30_threads/async/except.cc: Likewise.
2999         * testsuite/30_threads/async/launch.cc: Likewise.
3000         * testsuite/30_threads/async/sync.cc: Likewise.
3001         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
3002         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
3003         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
3004         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
3005         * testsuite/30_threads/condition_variable/members/3.cc: Likewise.
3006         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
3007         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
3008         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
3009         * testsuite/30_threads/future/members/45133.cc: Likewise.
3010         * testsuite/30_threads/future/members/get.cc: Likewise.
3011         * testsuite/30_threads/future/members/get2.cc: Likewise.
3012         * testsuite/30_threads/future/members/share.cc: Likewise.
3013         * testsuite/30_threads/future/members/valid.cc: Likewise.
3014         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
3015         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
3016         * testsuite/30_threads/lock/1.cc: Likewise.
3017         * testsuite/30_threads/lock/2.cc: Likewise.
3018         * testsuite/30_threads/lock/3.cc: Likewise.
3019         * testsuite/30_threads/lock/4.cc: Likewise.
3020         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
3021         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
3022         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
3023         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
3024         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
3025         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
3026         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
3027         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
3028         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
3029         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
3030         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
3031         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
3032         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
3033         * testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
3034         Likewise.
3035         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
3036         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
3037         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
3038         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
3039         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
3040         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
3041         * testsuite/30_threads/promise/cons/move.cc: Likewise.
3042         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
3043         * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
3044         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
3045         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
3046         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
3047         * testsuite/30_threads/promise/members/swap.cc: Likewise.
3048         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
3049         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
3050         Likewise.
3051         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
3052         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
3053         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
3054         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
3055         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
3056         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
3057         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
3058         Likewise.
3059         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
3060         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
3061         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
3062         Likewise.
3063         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
3064         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
3065         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
3066         Likewise.
3067         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
3068         Likewise.
3069         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
3070         Likewise.
3071         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
3072         Likewise.
3073         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
3074         Likewise.
3075         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
3076         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
3077         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
3078         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
3079         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
3080         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
3081         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
3082         * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
3083         * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
3084         * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
3085         * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
3086         * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
3087         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
3088         * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
3089         * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
3090         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
3091         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
3092         * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
3093         * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
3094         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
3095         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
3096         * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
3097         * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
3098         * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
3099         * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
3100         * testsuite/30_threads/this_thread/1.cc: Likewise.
3101         * testsuite/30_threads/this_thread/2.cc: Likewise.
3102         * testsuite/30_threads/this_thread/3.cc: Likewise.
3103         * testsuite/30_threads/this_thread/4.cc: Likewise.
3104         * testsuite/30_threads/this_thread/60421.cc: Likewise.
3105         * testsuite/30_threads/thread/cons/1.cc: Likewise.
3106         * testsuite/30_threads/thread/cons/2.cc: Likewise.
3107         * testsuite/30_threads/thread/cons/3.cc: Likewise.
3108         * testsuite/30_threads/thread/cons/4.cc: Likewise.
3109         * testsuite/30_threads/thread/cons/5.cc: Likewise.
3110         * testsuite/30_threads/thread/cons/6.cc: Likewise.
3111         * testsuite/30_threads/thread/cons/7.cc: Likewise.
3112         * testsuite/30_threads/thread/cons/8.cc: Likewise.
3113         * testsuite/30_threads/thread/cons/9.cc: Likewise.
3114         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
3115         * testsuite/30_threads/thread/members/1.cc: Likewise.
3116         * testsuite/30_threads/thread/members/2.cc: Likewise.
3117         * testsuite/30_threads/thread/members/3.cc: Likewise.
3118         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
3119         * testsuite/30_threads/thread/swap/1.cc: Likewise.
3120         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
3121         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
3122         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
3123         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
3124         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
3125         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
3126         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
3127         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
3128         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
3129         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
3130         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
3131         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
3132         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
3133         * testsuite/30_threads/try_lock/1.cc: Likewise.
3134         * testsuite/30_threads/try_lock/2.cc: Likewise.
3135         * testsuite/30_threads/try_lock/3.cc: Likewise.
3136         * testsuite/30_threads/try_lock/4.cc: Likewise.
3137         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
3138         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
3139         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
3140         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
3141         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
3142         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
3143         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
3144         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
3145         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
3146         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
3147         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
3148         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3149         not_shared.cc: Likewise.
3150         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3151         not_shared2.cc: Likewise.
3152         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3153         not_shared3.cc: Likewise.
3154         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3155         shared.cc: Likewise.
3156         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3157         still_shared.cc: Likewise.
3158         * testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc:
3159         Likewise.
3160         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
3161         Likewise.
3162         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
3163         Likewise.
3164         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
3165         auto_ptr_rvalue_neg.cc: Likewise.
3166         * testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc:
3167         Likewise.
3168         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
3169         shared_ptr_neg.cc: Likewise.
3170         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
3171         Likewise.
3172         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
3173         Likewise.
3174         * testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc: Likewise.
3175         * testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc:
3176         Likewise.
3177         * testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc:
3178         Likewise.
3179         * testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc:
3180         Likewise.
3181         * testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc: Likewise.
3182         * testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc: Likewise.
3183         * testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc: Likewise.
3184         * testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc: Likewise.
3185         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc:
3186         Likewise.
3187         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
3188         Likewise.
3189         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc:
3190         Likewise.
3191         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc:
3192         Likewise.
3193         * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
3194         Likewise.
3195         * testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc:
3196         Likewise.
3197         * testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc:
3198         Likewise.
3199         * testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc:
3200         Likewise.
3201         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3202         default_weaktoshared.cc: Likewise.
3203         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3204         mutex_weaktoshared.cc: Likewise.
3205         * testsuite/tr1/3_function_objects/bind/all_bound.cc: Likewise.
3206         * testsuite/tr1/3_function_objects/bind/mixed.cc: Likewise.
3207         * testsuite/tr1/3_function_objects/bind/nested.cc: Likewise.
3208         * testsuite/tr1/3_function_objects/bind/placeholders.cc: Likewise.
3209         * testsuite/tr1/3_function_objects/bind/ref.cc: Likewise.
3210         * testsuite/tr1/3_function_objects/function/1.cc: Likewise.
3211         * testsuite/tr1/3_function_objects/function/2.cc: Likewise.
3212         * testsuite/tr1/3_function_objects/function/3.cc: Likewise.
3213         * testsuite/tr1/3_function_objects/function/4.cc: Likewise.
3214         * testsuite/tr1/3_function_objects/function/5.cc: Likewise.
3215         * testsuite/tr1/3_function_objects/function/6.cc: Likewise.
3216         * testsuite/tr1/3_function_objects/function/7.cc: Likewise.
3217         * testsuite/tr1/3_function_objects/function/8.cc: Likewise.
3218         * testsuite/tr1/3_function_objects/function/9.cc: Likewise.
3219         * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
3220         Likewise.
3221         * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
3222         Likewise.
3223         * testsuite/tr1/3_function_objects/result_of.cc: Likewise.
3224         * testsuite/tr1/4_metaprogramming/add_const/value.cc: Likewise.
3225         * testsuite/tr1/4_metaprogramming/add_cv/value.cc: Likewise.
3226         * testsuite/tr1/4_metaprogramming/add_pointer/value.cc: Likewise.
3227         * testsuite/tr1/4_metaprogramming/add_reference/value.cc: Likewise.
3228         * testsuite/tr1/4_metaprogramming/add_volatile/value.cc: Likewise.
3229         * testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: Likewise.
3230         * testsuite/tr1/4_metaprogramming/alignment_of/value.cc: Likewise.
3231         * testsuite/tr1/4_metaprogramming/extent/value.cc: Likewise.
3232         * testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc: Likewise.
3233         * testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc:
3234         Likewise.
3235         * testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc: Likewise.
3236         * testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc: Likewise.
3237         * testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc:
3238         Likewise.
3239         * testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc: Likewise.
3240         * testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc:
3241         Likewise.
3242         * testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc:
3243         Likewise.
3244         * testsuite/tr1/4_metaprogramming/integral_constant/
3245         static_definition.cc: Likewise.
3246         * testsuite/tr1/4_metaprogramming/integral_constant/
3247         true_false_value.cc: Likewise.
3248         * testsuite/tr1/4_metaprogramming/is_abstract/value.cc: Likewise.
3249         * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc: Likewise.
3250         * testsuite/tr1/4_metaprogramming/is_array/value.cc: Likewise.
3251         * testsuite/tr1/4_metaprogramming/is_base_of/value.cc: Likewise.
3252         * testsuite/tr1/4_metaprogramming/is_class/value.cc: Likewise.
3253         * testsuite/tr1/4_metaprogramming/is_compound/value.cc: Likewise.
3254         * testsuite/tr1/4_metaprogramming/is_const/value.cc: Likewise.
3255         * testsuite/tr1/4_metaprogramming/is_convertible/value.cc: Likewise.
3256         * testsuite/tr1/4_metaprogramming/is_empty/value.cc: Likewise.
3257         * testsuite/tr1/4_metaprogramming/is_enum/24808.cc: Likewise.
3258         * testsuite/tr1/4_metaprogramming/is_enum/value.cc: Likewise.
3259         * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc: Likewise.
3260         * testsuite/tr1/4_metaprogramming/is_function/24808.cc: Likewise.
3261         * testsuite/tr1/4_metaprogramming/is_function/value.cc: Likewise.
3262         * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc: Likewise.
3263         * testsuite/tr1/4_metaprogramming/is_integral/value.cc: Likewise.
3264         * testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc:
3265         Likewise.
3266         * testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc:
3267         Likewise.
3268         * testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc: Likewise.
3269         * testsuite/tr1/4_metaprogramming/is_object/24808.cc: Likewise.
3270         * testsuite/tr1/4_metaprogramming/is_object/value.cc: Likewise.
3271         * testsuite/tr1/4_metaprogramming/is_pod/value.cc: Likewise.
3272         * testsuite/tr1/4_metaprogramming/is_pointer/value.cc: Likewise.
3273         * testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc: Likewise.
3274         * testsuite/tr1/4_metaprogramming/is_reference/value.cc: Likewise.
3275         * testsuite/tr1/4_metaprogramming/is_same/value.cc: Likewise.
3276         * testsuite/tr1/4_metaprogramming/is_scalar/value.cc: Likewise.
3277         * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise.
3278         * testsuite/tr1/4_metaprogramming/is_union/value.cc: Likewise.
3279         * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc: Likewise.
3280         * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise.
3281         * testsuite/tr1/4_metaprogramming/is_volatile/value.cc: Likewise.
3282         * testsuite/tr1/4_metaprogramming/rank/value.cc: Likewise.
3283         * testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc: Likewise.
3284         * testsuite/tr1/4_metaprogramming/remove_const/value.cc: Likewise.
3285         * testsuite/tr1/4_metaprogramming/remove_cv/value.cc: Likewise.
3286         * testsuite/tr1/4_metaprogramming/remove_extent/value.cc: Likewise.
3287         * testsuite/tr1/4_metaprogramming/remove_pointer/value.cc: Likewise.
3288         * testsuite/tr1/4_metaprogramming/remove_reference/value.cc: Likewise.
3289         * testsuite/tr1/4_metaprogramming/remove_volatile/value.cc: Likewise.
3290         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3291         equal.cc: Likewise.
3292         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3293         not_equal.cc: Likewise.
3294         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3295         serialize.cc: Likewise.
3296         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3297         cons/default.cc: Likewise.
3298         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3299         cons/gen1.cc: Likewise.
3300         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3301         operators/equal.cc: Likewise.
3302         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3303         operators/not_equal.cc: Likewise.
3304         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3305         operators/serialize.cc: Likewise.
3306         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3307         cons/default.cc: Likewise.
3308         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3309         cons/gen1.cc: Likewise.
3310         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3311         operators/equal.cc: Likewise.
3312         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3313         operators/not_equal.cc: Likewise.
3314         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3315         operators/serialize.cc: Likewise.
3316         * testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc: Likewise.
3317         * testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc: Likewise.
3318         * testsuite/tr1/5_numerical_facilities/random/mt19937.cc: Likewise.
3319         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3320         default.cc: Likewise.
3321         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3322         token.cc: Likewise.
3323         * testsuite/tr1/5_numerical_facilities/random/ranlux3.cc: Likewise.
3324         * testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc: Likewise.
3325         * testsuite/tr1/5_numerical_facilities/random/ranlux4.cc: Likewise.
3326         * testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc
3327         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3328         cons/default.cc: Likewise.
3329         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3330         cons/gen1.cc: Likewise.
3331         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3332         operators/equal.cc: Likewise.
3333         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3334         operators/not_equal.cc: Likewise.
3335         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3336         operators/serialize.cc: Likewise.
3337         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3338         cons/default.cc: Likewise.
3339         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3340         cons/gen1.cc: Likewise.
3341         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3342         operators/equal.cc: Likewise.
3343         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3344         operators/not_equal.cc: Likewise.
3345         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3346         operators/serialize.cc: Likewise.
3347         * testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
3348         Likewise.
3349         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3350         default.cc: Likewise.
3351         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3352         range.cc: Likewise.
3353         * testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/
3354         default.cc: Likewise.
3355         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3356         equal.cc: Likewise.
3357         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3358         not_equal.cc: Likewise.
3359         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3360         serialize.cc: Likewise.
3361         * testsuite/tr1/5_numerical_facilities/special_functions/
3362         08_cyl_bessel_i/check_value.cc: Likewise.
3363         * testsuite/tr1/5_numerical_facilities/special_functions/
3364         08_cyl_bessel_i/pr56216.cc: Likewise.
3365         * testsuite/tr1/5_numerical_facilities/special_functions/
3366         09_cyl_bessel_j/check_value.cc: Likewise.
3367         * testsuite/tr1/5_numerical_facilities/special_functions/
3368         10_cyl_bessel_k/check_value.cc: Likewise.
3369         * testsuite/tr1/5_numerical_facilities/special_functions/
3370         11_cyl_neumann/check_value.cc: Likewise.
3371         * testsuite/tr1/5_numerical_facilities/special_functions/
3372         16_hermite/check_value.cc: Likewise.
3373         * testsuite/tr1/5_numerical_facilities/special_functions/
3374         21_sph_bessel/check_value.cc: Likewise.
3375         * testsuite/tr1/5_numerical_facilities/special_functions/
3376         23_sph_neumann/check_value.cc: Likewise.
3377         * testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise.
3378         * testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise.
3379         * testsuite/tr1/6_containers/array/capacity/size.cc: Likewise.
3380         * testsuite/tr1/6_containers/array/comparison_operators/equal.cc:
3381         Likewise.
3382         * testsuite/tr1/6_containers/array/comparison_operators/greater.cc:
3383         Likewise.
3384         * testsuite/tr1/6_containers/array/comparison_operators/
3385         greater_or_equal.cc: Likewise.
3386         * testsuite/tr1/6_containers/array/comparison_operators/less.cc:
3387         Likewise.
3388         * testsuite/tr1/6_containers/array/comparison_operators/
3389         less_or_equal.cc: Likewise.
3390         * testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc:
3391         Likewise.
3392         * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
3393         Likewise.
3394         * testsuite/tr1/6_containers/array/element_access/back.cc: Likewise.
3395         * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
3396         * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
3397         * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc:
3398         Likewise.
3399         * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
3400         * testsuite/tr1/6_containers/array/requirements/contiguous.cc: Likewise.
3401         * testsuite/tr1/6_containers/array/requirements/member_swap.cc:
3402         Likewise.
3403         * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
3404         Likewise.
3405         * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
3406         Likewise.
3407         * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
3408         * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
3409         Likewise.
3410         * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
3411         Likewise.
3412         * testsuite/tr1/6_containers/hash/24799.cc: Likewise.
3413         * testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise.
3414         *
3415         testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
3416         Likewise.
3417         * testsuite/tr1/6_containers/tuple/cons/assignment.cc: Likewise.
3418         * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise.
3419         * testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise.
3420         * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc:
3421         Likewise.
3422         * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
3423         Likewise.
3424         * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: Likewise.
3425         * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Likewise.
3426         * testsuite/tr1/6_containers/tuple/element_access/get.cc: Likewise.
3427         * testsuite/tr1/6_containers/tuple/tuple_size.cc: Likewise.
3428         * testsuite/tr1/6_containers/unordered_map/24064.cc: Likewise.
3429         * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
3430         Likewise.
3431         * testsuite/tr1/6_containers/unordered_map/erase/1.cc: Likewise.
3432         * testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc: Likewise.
3433         * testsuite/tr1/6_containers/unordered_map/find/map1.cc: Likewise.
3434         * testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc:
3435         Likewise.
3436         * testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc:
3437         Likewise.
3438         * testsuite/tr1/6_containers/unordered_map/insert/map_range.cc:
3439         Likewise.
3440         * testsuite/tr1/6_containers/unordered_map/insert/map_single.cc:
3441         Likewise.
3442         * testsuite/tr1/6_containers/unordered_map/swap/1.cc: Likewise.
3443         * testsuite/tr1/6_containers/unordered_map/swap/2.cc: Likewise.
3444         * testsuite/tr1/6_containers/unordered_multimap/capacity/
3445         29134-multimap.cc: Likewise.
3446         * testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise.
3447         * testsuite/tr1/6_containers/unordered_multimap/erase/
3448         24061-multimap.cc: Likewise.
3449         * testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc:
3450         Likewise.
3451         * testsuite/tr1/6_containers/unordered_multimap/insert/
3452         24061-multimap.cc: Likewise.
3453         * testsuite/tr1/6_containers/unordered_multimap/insert/
3454         multimap_range.cc: Likewise.
3455         * testsuite/tr1/6_containers/unordered_multimap/insert/
3456         multimap_single.cc: Likewise.
3457         * testsuite/tr1/6_containers/unordered_multimap/swap/1.cc: Likewise.
3458         * testsuite/tr1/6_containers/unordered_multimap/swap/2.cc: Likewise.
3459         * testsuite/tr1/6_containers/unordered_multiset/24054.cc: Likewise.
3460         * testsuite/tr1/6_containers/unordered_multiset/capacity/
3461         29134-multiset.cc: Likewise.
3462         * testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise.
3463         * testsuite/tr1/6_containers/unordered_multiset/erase/
3464         24061-multiset.cc: Likewise.
3465         * testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc:
3466         Likewise.
3467         * testsuite/tr1/6_containers/unordered_multiset/insert/
3468         24061-multiset.cc: Likewise.
3469         * testsuite/tr1/6_containers/unordered_multiset/insert/
3470         multiset_range.cc: Likewise.
3471         * testsuite/tr1/6_containers/unordered_multiset/insert/
3472         multiset_single.cc: Likewise.
3473         * testsuite/tr1/6_containers/unordered_multiset/swap/1.cc: Likewise.
3474         * testsuite/tr1/6_containers/unordered_multiset/swap/2.cc: Likewise.
3475         * testsuite/tr1/6_containers/unordered_set/23465.cc: Likewise.
3476         * testsuite/tr1/6_containers/unordered_set/26132.cc: Likewise.
3477         * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
3478         Likewise.
3479         * testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise.
3480         * testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc: Likewise.
3481         * testsuite/tr1/6_containers/unordered_set/find/set1.cc: Likewise.
3482         * testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc:
3483         Likewise.
3484         * testsuite/tr1/6_containers/unordered_set/insert/set_range.cc:
3485         Likewise.
3486         * testsuite/tr1/6_containers/unordered_set/insert/set_single.cc:
3487         Likewise.
3488         * testsuite/tr1/6_containers/unordered_set/swap/1.cc: Likewise.
3489         * testsuite/tr1/6_containers/unordered_set/swap/2.cc: Likewise.
3490         * testsuite/tr1/6_containers/utility/pair.cc: Likewise.
3491         * testsuite/tr1/7_regular_expressions/match_results/ctors/char/
3492         default.cc: Likewise.
3493         * testsuite/tr1/7_regular_expressions/regex_traits/char/
3494         translate_nocase.cc: Likewise.
3495         * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc:
3496         Likewise.
3497         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
3498         translate_nocase.cc: Likewise.
3499         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc:
3500         Likewise.
3501         * testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.
3502         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise.
3504 2016-10-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
3506         Make sure the return value of malloc_allocator::allocate
3507         is zero-initialized so that checking it for non-zero works
3508         later.
3509         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
3510         Initialize the return value.
3511         * testsuite/ext/malloc_allocator/sanity.cc: New.
3513 2016-10-14  Eelis van der Weegen  <eelis@eelis.net>
3515         * include/bits/stl_algo.h (shuffle): Extract two random numbers from
3516         each generator invocation when its range is large enough.
3518 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3520         * testsuite/experimental/algorithm/sample.cc: Qualify calls to
3521         resolve ambiguity between std::sample and std::experimental::sample.
3523         * include/std/functional (_Mu<A, false, true>, _Mu<A, true, false>):
3524         Simplify forwarding from tuple of references.
3525         (_Maybe_wrap_member_pointer): Remove.
3526         (_Bind::__call, _Bind::__call_c, _Bind::__call_v, _Bind::__call_c_v):
3527         Use std::__invoke.
3528         (_Bind::_Mu_type, _Bind::_Res_type_impl, _Bind::_Res_type)
3529         (_Bind::__dependent, _Bind::_Res_type_cv): New helpers to simplify
3530         return type deduction.
3531         (_Bind::operator(), _Bind::operator() const): Use new helpers.
3532         (_Bind::operator() volatile, _Bind::operator() const volatile):
3533         Likewise. Add deprecated attribute for C++17 mode.
3534         (_Bind_result::__call): Use std::__invoke.
3535         (_Bind_result::operator() volatile)
3536         (_Bind_result::operator() const volatile): Add deprecated attribute.
3537         (_Bind_helper::__maybe_type, _Bindres_helper::__maybe_type): Remove.
3538         (_Bind_helper, _Bindres_helper): Don't use _Maybe_wrap_member_pointer.
3539         (bind, bind<R>): Don't use __maybe_type.
3540         * src/c++11/compatibility-thread-c++0x.cc
3541         (_Maybe_wrap_member_pointer): Define here for compatibility symbols.
3542         * testsuite/20_util/bind/68912.cc: Don't test volatile-qualification
3543         in C++17 mode.
3544         * testsuite/20_util/bind/cv_quals.cc: Likewise.
3545         * testsuite/20_util/bind/cv_quals_2.cc: Likewise.
3547         * include/std/scoped_allocator (scoped_allocator_adaptor): Forward
3548         piecewise construction arguments as tuples of references, to avoid
3549         copies (related to LWG 2511).
3550         * testsuite/20_util/scoped_allocator/construct_pair.cc: New test.
3552 2016-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
3554         * testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables.
3555         * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
3556         * testsuite/26_numerics/complex/13450.cc: Likewise.
3557         * testsuite/26_numerics/complex/50880.cc: Likewise.
3558         * testsuite/26_numerics/complex/c99.cc: Likewise.
3559         * testsuite/26_numerics/complex/cons/48760.cc: Likewise.
3560         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
3561         * testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise.
3562         * testsuite/26_numerics/complex/dr844.cc: Likewise.
3563         * testsuite/26_numerics/complex/inserters_extractors/char/1.cc:
3564         Likewise.
3565         * testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc:
3566         Likewise.
3567         * testsuite/26_numerics/complex/value_operations/1.cc: Likewise.
3568         * testsuite/26_numerics/complex/value_operations/dr387.cc: Likewise.
3569         * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
3570         * testsuite/26_numerics/headers/cmath/
3571         c99_classification_macros_c++11.c: Likewise.c
3572         * testsuite/26_numerics/headers/cmath/
3573         c99_classification_macros_c++98.cc: Likewise.
3574         * testsuite/26_numerics/headers/cmath/c_math.cc: Likewise.
3575         * testsuite/26_numerics/headers/cmath/dr550.cc: Likewise.
3576         * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
3577         * testsuite/26_numerics/headers/cmath/powi.cc: Likewise.
3578         * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
3579         * testsuite/26_numerics/inner_product/1.cc: Likewise.
3580         * testsuite/26_numerics/iota/1.cc: Likewise.
3581         * testsuite/26_numerics/partial_sum/1.cc: Likewise.
3582         * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
3583         Likewise.
3584         * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
3585         Likewise.
3586         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3587         equal.cc: Likewise.
3588         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3589         inequal.cc: Likewise.
3590         * testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
3591         Likewise.
3592         * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
3593         Likewise.
3594         * testsuite/26_numerics/random/binomial_distribution/operators/
3595         equal.cc: Likewise.
3596         * testsuite/26_numerics/random/binomial_distribution/operators/
3597         inequal.cc: Likewise.
3598         * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
3599         Likewise.
3600         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
3601         Likewise.
3602         * testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc:
3603         Likewise.
3604         * testsuite/26_numerics/random/cauchy_distribution/operators/
3605         inequal.cc: Likewise.
3606         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3607         default.cc: Likewise.
3608         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3609         parms.cc: Likewise.
3610         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3611         equal.cc: Likewise.
3612         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3613         inequal.cc: Likewise.
3614         * testsuite/26_numerics/random/default_random_engine.cc: Likewise.
3615         * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
3616         Likewise.
3617         * testsuite/26_numerics/random/discard_block_engine/operators/equal.cc:
3618         Likewise.
3619         * testsuite/26_numerics/random/discard_block_engine/operators/
3620         inequal.cc: Likewise.
3621         * testsuite/26_numerics/random/discard_block_engine/operators/
3622         serialize.cc: Likewise.
3623         * testsuite/26_numerics/random/discrete_distribution/cons/
3624         default.cc: Likewise.
3625         * testsuite/26_numerics/random/discrete_distribution/cons/
3626         initlist.cc: Likewise.
3627         * testsuite/26_numerics/random/discrete_distribution/cons/
3628         num_xbound_fun.cc: Likewise.
3629         * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
3630         Likewise.
3631         * testsuite/26_numerics/random/discrete_distribution/operators/
3632         equal.cc: Likewise.
3633         * testsuite/26_numerics/random/discrete_distribution/operators/
3634         inequal.cc: Likewise.
3635         * testsuite/26_numerics/random/exponential_distribution/cons/
3636         default.cc: Likewise.
3637         * testsuite/26_numerics/random/exponential_distribution/cons/
3638         parms.cc: Likewise.
3639         * testsuite/26_numerics/random/exponential_distribution/operators/
3640         equal.cc: Likewise.
3641         * testsuite/26_numerics/random/exponential_distribution/operators/
3642         inequal.cc: Likewise.
3643         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3644         default.cc: Likewise.
3645         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3646         parms.cc: Likewise.
3647         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3648         equal.cc: Likewise.
3649         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3650         inequal.cc: Likewise.
3651         * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
3652         Likewise.
3653         * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
3654         Likewise.
3655         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3656         equal.cc: Likewise.
3657         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3658         inequal.cc: Likewise.
3659         * testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
3660         Likewise.
3661         * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
3662         Likewise.
3663         * testsuite/26_numerics/random/gamma_distribution/operators/equal.cc:
3664         Likewise.
3665         * testsuite/26_numerics/random/gamma_distribution/operators/
3666         inequal.cc: Likewise.
3667         * testsuite/26_numerics/random/geometric_distribution/cons/
3668         default.cc: Likewise.
3669         * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
3670         Likewise.
3671         * testsuite/26_numerics/random/geometric_distribution/operators/
3672         equal.cc: Likewise.
3673         * testsuite/26_numerics/random/geometric_distribution/operators/
3674         inequal.cc: Likewise.
3675         * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
3676         Likewise.
3677         * testsuite/26_numerics/random/independent_bits_engine/operators/
3678         equal.cc: Likewise.
3679         * testsuite/26_numerics/random/independent_bits_engine/operators/
3680         inequal.cc: Likewise.
3681         * testsuite/26_numerics/random/independent_bits_engine/operators/
3682         serialize.cc: Likewise.
3683         * testsuite/26_numerics/random/knuth_b.cc: Likewise.
3684         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3685         55215.cc: Likewise.
3686         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3687         default.cc: Likewise.
3688         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3689         51795.cc: Likewise.
3690         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3691         equal.cc: Likewise.
3692         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3693         inequal.cc: Likewise.
3694         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3695         serialize.cc: Likewise.
3696         * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
3697         Likewise.
3698         * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
3699         Likewise.
3700         * testsuite/26_numerics/random/lognormal_distribution/operators/
3701         equal.cc: Likewise.
3702         * testsuite/26_numerics/random/lognormal_distribution/operators/
3703         inequal.cc: Likewise.
3704         * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
3705         Likewise.
3706         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
3707         default.cc: Likewise.
3708         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3709         equal.cc: Likewise.
3710         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3711         inequal.cc: Likewise.
3712         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3713         serialize.cc: Likewise.
3714         * testsuite/26_numerics/random/minstd_rand.cc: Likewise.
3715         * testsuite/26_numerics/random/minstd_rand0.cc: Likewise.
3716         * testsuite/26_numerics/random/mt19937.cc: Likewise.
3717         * testsuite/26_numerics/random/mt19937_64.cc: Likewise.
3718         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3719         default.cc: Likewise.
3720         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3721         parms.cc: Likewise.
3722         * testsuite/26_numerics/random/negative_binomial_distribution/
3723         operators/equal.cc: Likewise.
3724         * testsuite/26_numerics/random/negative_binomial_distribution/
3725         operators/inequal.cc: Likewise.
3726         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
3727         Likewise.
3728         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
3729         Likewise.
3730         * testsuite/26_numerics/random/normal_distribution/operators/
3731         equal.cc: Likewise.
3732         * testsuite/26_numerics/random/normal_distribution/operators/
3733         inequal.cc: Likewise.
3734         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3735         default.cc: Likewise.
3736         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3737         initlist_fun.cc: Likewise.
3738         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3739         num_xbound_fun.cc: Likewise.
3740         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3741         range.cc: Likewise.
3742         * testsuite/26_numerics/random/piecewise_constant_distribution/
3743         operators/equal.cc: Likewise.
3744         * testsuite/26_numerics/random/piecewise_constant_distribution/
3745         operators/inequal.cc: Likewise.
3746         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3747         default.cc: Likewise.
3748         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3749         initlist_fun.cc: Likewise.
3750         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3751         num_xbound_fun.cc: Likewise.
3752         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3753         range.cc: Likewise.
3754         * testsuite/26_numerics/random/piecewise_linear_distribution/
3755         operators/equal.cc: Likewise.
3756         * testsuite/26_numerics/random/piecewise_linear_distribution/
3757         operators/inequal.cc: Likewise.
3758         * testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
3759         Likewise.
3760         * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
3761         Likewise.
3762         * testsuite/26_numerics/random/poisson_distribution/operators/
3763         equal.cc: Likewise.
3764         * testsuite/26_numerics/random/poisson_distribution/operators/
3765         inequal.cc: Likewise.
3766         * testsuite/26_numerics/random/random_device/cons/default.cc: Likewise.
3767         * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
3768         * testsuite/26_numerics/random/ranlux24.cc: Likewise.
3769         * testsuite/26_numerics/random/ranlux24_base.cc: Likewise.
3770         * testsuite/26_numerics/random/ranlux48.cc: Likewise.
3771         * testsuite/26_numerics/random/ranlux48_base.cc: Likewise.
3772         * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Likewise.
3773         * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
3774         Likewise.
3775         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3776         equal.cc: Likewise.
3777         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3778         inequal.cc: Likewise.
3779         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3780         serialize.cc: Likewise.
3781         * testsuite/26_numerics/random/student_t_distribution/cons/
3782         default.cc: Likewise.
3783         * testsuite/26_numerics/random/student_t_distribution/cons/
3784         parms.cc: Likewise.
3785         * testsuite/26_numerics/random/student_t_distribution/operators/
3786         equal.cc: Likewise.
3787         * testsuite/26_numerics/random/student_t_distribution/operators/
3788         inequal.cc: Likewise.
3789         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3790         55215.cc: Likewise.
3791         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3792         default.cc: Likewise.
3793         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3794         equal.cc: Likewise.
3795         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3796         inequal.cc: Likewise.
3797         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3798         serialize.cc: Likewise.
3799         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3800         default.cc: Likewise.
3801         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3802         parms.cc: Likewise.
3803         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3804         equal.cc: Likewise.
3805         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3806         inequal.cc: Likewise.
3807         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3808         default.cc: Likewise.
3809         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3810         parms.cc: Likewise.
3811         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3812         equal.cc: Likewise.
3813         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3814         inequal.cc: Likewise.
3815         * testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
3816         Likewise.
3817         * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
3818         Likewise.
3819         * testsuite/26_numerics/random/weibull_distribution/operators/
3820         equal.cc: Likewise.
3821         * testsuite/26_numerics/random/weibull_distribution/operators/
3822         inequal.cc: Likewise.
3823         * testsuite/26_numerics/slice/1.cc: Likewise.
3824         * testsuite/26_numerics/slice_array/array_assignment.cc: Likewise.
3825         * testsuite/26_numerics/valarray/27867.cc: Likewise.
3826         * testsuite/26_numerics/valarray/28277.cc: Likewise.
3827         * testsuite/26_numerics/valarray/30416.cc: Likewise.
3828         * testsuite/26_numerics/valarray/dr543.cc: Likewise.
3829         * testsuite/26_numerics/valarray/dr630-1.cc: Likewise.
3830         * testsuite/26_numerics/valarray/dr630-2.cc: Likewise.
3831         * testsuite/26_numerics/valarray/dr630-3.C: Likewise.
3832         * testsuite/26_numerics/valarray/init-list.cc: Likewise.
3833         * testsuite/26_numerics/valarray/moveable.cc: Likewise.
3834         * testsuite/26_numerics/valarray/operators.cc: Likewise.
3835         * testsuite/26_numerics/valarray/swap.cc: Likewise.
3836         * testsuite/experimental/deque/erasure.cc: Likewise.
3837         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
3838         Likewise.
3839         * testsuite/experimental/filesystem/iterators/
3840         recursive_directory_iterator.cc: Likewise.
3841         * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
3842         * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
3843         * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
3844         * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
3845         * testsuite/experimental/filesystem/operations/create_directories.cc:
3846         Likewise.
3847         * testsuite/experimental/filesystem/operations/create_directory.cc:
3848         Likewise.
3849         * testsuite/experimental/filesystem/operations/current_path.cc:
3850         Likewise.
3851         * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
3852         * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
3853         * testsuite/experimental/filesystem/operations/last_write_time.cc:
3854         Likewise.
3855         * testsuite/experimental/filesystem/operations/permissions.cc: Likewise.
3856         * testsuite/experimental/filesystem/operations/status.cc: Likewise.
3857         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
3858         Likewise.
3859         * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
3860         * testsuite/experimental/forward_list/erasure.cc: Likewise.
3861         * testsuite/experimental/list/erasure.cc: Likewise.
3862         * testsuite/experimental/map/erasure.cc: Likewise.
3863         * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Likewise.
3864         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
3865         Likewise.
3866         * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: Likewise.
3867         * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: Likewise.
3868         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: Likewise.
3869         * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
3870         Likewise.
3871         * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: Likewise.
3872         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
3873         Likewise.
3874         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
3875         Likewise.
3876         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
3877         Likewise.
3878         * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
3879         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Likewise.
3880         * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: Likewise.
3881         * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
3882         Likewise.
3883         * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
3884         Likewise.
3885         * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
3886         Likewise.
3887         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
3888         Likewise.
3889         * testsuite/experimental/memory_resource/1.cc: Likewise.
3890         * testsuite/experimental/memory_resource/null_memory_resource.cc:
3891         Likewise.
3892         * testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise.
3893         * testsuite/experimental/set/erasure.cc: Likewise.
3894         * testsuite/experimental/string/erasure.cc: Likewise.
3895         * testsuite/experimental/string_view/capacity/1.cc: Likewise.
3896         * testsuite/experimental/string_view/cons/char/1.cc: Likewise.
3897         * testsuite/experimental/string_view/cons/char/2.cc: Likewise.
3898         * testsuite/experimental/string_view/cons/char/3.cc: Likewise.
3899         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
3900         * testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise.
3901         * testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise.
3902         * testsuite/experimental/string_view/element_access/char/1.cc: Likewise.
3903         * testsuite/experimental/string_view/element_access/char/empty.cc:
3904         Likewise.
3905         * testsuite/experimental/string_view/element_access/char/
3906         front_back.cc: Likewise.
3907         * testsuite/experimental/string_view/element_access/wchar_t/1.cc:
3908         Likewise.
3909         * testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
3910         Likewise.
3911         * testsuite/experimental/string_view/element_access/wchar_t/
3912         front_back.cc: Likewise.
3913         * testsuite/experimental/string_view/inserters/char/1.cc: Likewise.
3914         * testsuite/experimental/string_view/inserters/char/2.cc: Likewise.
3915         * testsuite/experimental/string_view/inserters/char/3.cc: Likewise.
3916         * testsuite/experimental/string_view/inserters/pod/10081-out.cc:
3917         Likewise.
3918         * testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise.
3919         * testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise.
3920         * testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise.
3921         * testsuite/experimental/string_view/modifiers/remove_prefix/char/
3922         1.cc: Likewise.
3923         * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
3924         1.cc: Likewise.
3925         * testsuite/experimental/string_view/modifiers/remove_suffix/char/
3926         1.cc: Likewise.
3927         * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
3928         1.cc: Likewise.
3929         * testsuite/experimental/string_view/operations/compare/char/1.cc:
3930         Likewise.
3931         * testsuite/experimental/string_view/operations/compare/char/
3932         13650.cc: Likewise.
3933         * testsuite/experimental/string_view/operations/compare/wchar_t/
3934         1.cc: Likewise.
3935         * testsuite/experimental/string_view/operations/compare/wchar_t/
3936         13650.cc: Likewise.
3937         * testsuite/experimental/string_view/operations/copy/char/1.cc:
3938         Likewise.
3939         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
3940         Likewise.
3941         * testsuite/experimental/string_view/operations/data/char/1.cc:
3942         Likewise.
3943         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
3944         Likewise.
3945         * testsuite/experimental/string_view/operations/find/char/1.cc:
3946         Likewise.
3947         * testsuite/experimental/string_view/operations/find/char/2.cc:
3948         Likewise.
3949         * testsuite/experimental/string_view/operations/find/char/3.cc:
3950         Likewise.
3951         * testsuite/experimental/string_view/operations/find/char/4.cc:
3952         Likewise.
3953         * testsuite/experimental/string_view/operations/find/wchar_t/1.cc:
3954         Likewise.
3955         * testsuite/experimental/string_view/operations/find/wchar_t/2.cc:
3956         Likewise.
3957         * testsuite/experimental/string_view/operations/find/wchar_t/3.cc:
3958         Likewise.
3959         * testsuite/experimental/string_view/operations/find/wchar_t/4.cc:
3960         Likewise.
3961         * testsuite/experimental/string_view/operations/rfind/char/1.cc:
3962         Likewise.
3963         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
3964         Likewise.
3965         * testsuite/experimental/string_view/operations/rfind/char/3.cc:
3966         Likewise.
3967         * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc:
3968         Likewise.
3969         * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc:
3970         Likewise.
3971         * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc:
3972         Likewise.
3973         * testsuite/experimental/string_view/operations/substr/char/1.cc:
3974         Likewise.
3975         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
3976         Likewise.
3977         * testsuite/experimental/string_view/operations/to_string/1.cc:
3978         Likewise.
3979         * testsuite/experimental/string_view/operators/char/2.cc: Likewise.
3980         * testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise.
3981         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
3982         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
3983         * testsuite/experimental/vector/erasure.cc: Likewise.
3984         * testsuite/ext/array_allocator/1.cc: Likewise.
3985         * testsuite/ext/array_allocator/2.cc: Likewise.
3986         * testsuite/ext/array_allocator/3.cc: Likewise.
3987         * testsuite/ext/array_allocator/variadic_construct.cc: Likewise.
3988         * testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
3989         * testsuite/ext/codecvt/1.cc: Likewise.
3990         * testsuite/ext/codecvt/char-1.cc: Likewise.
3991         * testsuite/ext/codecvt/char-2.cc: Likewise.
3992         * testsuite/ext/codecvt/wchar_t.cc: Likewise.
3993         * testsuite/ext/enc_filebuf/char/13189.cc: Likewise.
3994         * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
3995         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
3996         * testsuite/ext/ext_pointer/1.cc: Likewise.
3997         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
3998         * testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
3999         * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: Likewise.
4000         * testsuite/ext/mt_allocator/tune-1.cc: Likewise.
4001         * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
4002         * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
4003         * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
4004         * testsuite/ext/mt_allocator/variadic_construct.cc: Likewise.
4005         * testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
4006         * testsuite/ext/pod_char_traits.cc: Likewise.
4007         * testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
4008         * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
4009         * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
4010         * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
4011         Likewise.
4012         * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
4013         Likewise.
4014         * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
4015         Likewise.
4016         * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
4017         * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
4018         * testsuite/ext/random/beta_distribution/operators/equal.cc: Likewise.
4019         * testsuite/ext/random/beta_distribution/operators/inequal.cc: Likewise.
4020         * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
4021         * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
4022         * testsuite/ext/random/hoyt_distribution/operators/equal.cc: Likewise.
4023         * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: Likewise.
4024         * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
4025         Likewise.
4026         * testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
4027         Likewise.
4028         * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
4029         Likewise.
4030         * testsuite/ext/random/hypergeometric_distribution/operators/
4031         equal.cc: Likewise.
4032         * testsuite/ext/random/hypergeometric_distribution/operators/
4033         inequal.cc: Likewise.
4034         * testsuite/ext/random/hypergeometric_distribution/operators/
4035         serialize.cc: Likewise.
4036         * testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
4037         * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
4038         * testsuite/ext/random/k_distribution/operators/equal.cc: Likewise.
4039         * testsuite/ext/random/k_distribution/operators/inequal.cc: Likewise.
4040         * testsuite/ext/random/k_distribution/operators/serialize.cc: Likewise.
4041         * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
4042         * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
4043         * testsuite/ext/random/logistic_distribution/operators/equal.cc:
4044         Likewise.
4045         * testsuite/ext/random/logistic_distribution/operators/inequal.cc:
4046         Likewise.
4047         * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
4048         Likewise.
4049         * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
4050         * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
4051         * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
4052         Likewise.
4053         * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
4054         Likewise.
4055         * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
4056         Likewise.
4057         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
4058         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
4059         * testsuite/ext/random/normal_mv_distribution/operators/equal.cc:
4060         Likewise.
4061         * testsuite/ext/random/normal_mv_distribution/operators/inequal.cc:
4062         Likewise.
4063         * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
4064         * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
4065         * testsuite/ext/random/pareto_distribution/operators/equal.cc: Likewise.
4066         * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
4067         Likewise.
4068         * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
4069         Likewise.
4070         * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
4071         * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
4072         * testsuite/ext/random/rice_distribution/operators/equal.cc: Likewise.
4073         * testsuite/ext/random/rice_distribution/operators/inequal.cc: Likewise.
4074         * testsuite/ext/random/rice_distribution/operators/serialize.cc:
4075         Likewise.
4076         * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
4077         default.cc: Likewise.
4078         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
4079         equal.cc: Likewise.
4080         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
4081         inequal.cc: Likewise.
4082         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
4083         serialize.cc: Likewise.
4084         * testsuite/ext/random/triangular_distribution/cons/default.cc:
4085         Likewise.
4086         * testsuite/ext/random/triangular_distribution/cons/parms.cc: Likewise.
4087         * testsuite/ext/random/triangular_distribution/operators/equal.cc:
4088         Likewise.
4089         * testsuite/ext/random/triangular_distribution/operators/inequal.cc:
4090         Likewise.
4091         * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
4092         Likewise.
4093         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4094         equal.cc: Likewise.
4095         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4096         generate.cc: Likewise.
4097         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4098         inequal.cc: Likewise.
4099         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4100         serialize.cc: Likewise.
4101         * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise.
4102         * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
4103         * testsuite/ext/random/von_mises_distribution/operators/equal.cc:
4104         Likewise.
4105         * testsuite/ext/random/von_mises_distribution/operators/inequal.cc:
4106         Likewise.
4107         * testsuite/ext/rope/2.cc: Likewise.
4108         * testsuite/ext/rope/3.cc: Likewise.
4109         * testsuite/ext/rope/4.cc: Likewise.
4110         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
4111         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
4112         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise.
4113         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
4114         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
4115         * testsuite/ext/stdio_filebuf/char/10063-1.cc: Likewise.
4116         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
4117         * testsuite/ext/stdio_filebuf/char/10063-3.cc: Likewise.
4118         * testsuite/ext/stdio_filebuf/char/2.cc: Likewise.
4119         * testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.
4120         * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise.
4121         * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise.
4122         * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise.
4123         * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise.
4124         * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
4125         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
4126         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise.
4127         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise.
4128         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise.
4129         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise.
4130         * testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
4131         * testsuite/ext/type_traits/add_unsigned.cc: Likewise.
4132         * testsuite/ext/type_traits/remove_unsigned.cc: Likewise.
4133         * testsuite/ext/vstring/capacity/29134.cc: Likewise.
4134         * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
4135         * testsuite/ext/vstring/cons/58415-1.cc: Likewise.
4136         * testsuite/ext/vstring/cons/moveable.cc: Likewise.
4137         * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
4138         * testsuite/ext/vstring/element_access/char/front_back.cc: Likewise.
4139         * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
4140         * testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise.
4141         * testsuite/ext/vstring/hash/char/1.cc: Likewise.
4142         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
4143         * testsuite/ext/vstring/init-list.cc: Likewise.
4144         * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
4145         * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise.
4146         * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Likewise.
4147         * testsuite/ext/vstring/modifiers/pop_back/char/1.cc: Likewise.
4148         * testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc: Likewise.
4149         * testsuite/ext/vstring/operators/1.cc: Likewise.
4150         * testsuite/ext/vstring/operators/2.cc: Likewise.
4152 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
4154         PR libstdc++/65122
4155         * include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
4156         aligned_alloc for types with extended alignment if available,
4157         otherwise throw bad_alloc if malloc doesn't return a suitable value.
4158         * include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
4159         (bitmap_allocator::deallocate): Use aligned new/delete for types with
4160         extended alignment.
4161         * include/ext/mt_allocator.h (__mt_alloc::allocate)
4162         (__mt_alloc::deallocate): Likewise.
4163         * include/ext/new_allocator.h (new_allocator::allocate)
4164         (new_allocator::deallocate): Likewise.
4165         * include/ext/pool_allocator.h (__pool_alloc::allocate)
4166         (__pool_alloc::deallocate): Likewise.
4167         * testsuite/20_util/allocator/overaligned.cc: New test.
4168         * testsuite/ext/bitmap_allocator/overaligned.cc: New test.
4169         * testsuite/ext/malloc_allocator/overaligned.cc: New test.
4170         * testsuite/ext/mt_allocator/overaligned.cc: New test.
4171         * testsuite/ext/new_allocator/overaligned.cc: New test.
4172         * testsuite/ext/pool_allocator/overaligned.cc: New test.
4174 2016-10-14  Tim Shen  <timshen@google.com>
4176         PR libstdc++/77944
4177         * include/std/variant: Include <bits/funcexcept.h> for __try and
4178         __catch.
4180 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
4182         * include/std/functional (_Reference_wrapper_base_impl): Remove.
4183         (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
4184         (_Reference_wrapper_base): Inherit from new helpers.
4186 2016-10-13  Paolo Carlini  <paolo.carlini@oracle.com>
4188         * testsuite/24_iterators/container_access.cc: Remove 'test' variables.
4189         * testsuite/24_iterators/istream_iterator/2.cc: Likewise.
4190         * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
4191         * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
4192         * testsuite/24_iterators/operations/next.cc: Likewise.
4193         * testsuite/24_iterators/operations/prev.cc: Likewise.
4194         * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
4195         * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
4196         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
4197         * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
4198         * testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
4199         * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
4200         * testsuite/25_algorithms/all_of/1.cc: Likewise.
4201         * testsuite/25_algorithms/any_of/1.cc: Likewise.
4202         * testsuite/25_algorithms/binary_search/2.cc: Likewise.
4203         * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
4204         * testsuite/25_algorithms/clamp/1.cc: Likewise.
4205         * testsuite/25_algorithms/clamp/2.cc: Likewise.
4206         * testsuite/25_algorithms/copy/1.cc: Likewise.
4207         * testsuite/25_algorithms/copy/2.cc: Likewise.
4208         * testsuite/25_algorithms/copy/3.cc: Likewise.
4209         * testsuite/25_algorithms/copy/34595.cc: Likewise.
4210         * testsuite/25_algorithms/copy/4.cc: Likewise.
4211         * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
4212         * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
4213         * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
4214         * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
4215         * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
4216         * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
4217         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
4218         Likewise.
4219         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
4220         Likewise.
4221         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
4222         Likewise.
4223         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
4224         Likewise.
4225         * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
4226         * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
4227         * testsuite/25_algorithms/copy_n/1.cc: Likewise.
4228         * testsuite/25_algorithms/copy_n/2.cc: Likewise.
4229         * testsuite/25_algorithms/copy_n/3.cc: Likewise.
4230         * testsuite/25_algorithms/copy_n/4.cc: Likewise.
4231         * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
4232         * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
4233         * testsuite/25_algorithms/equal_range/2.cc: Likewise.
4234         * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
4235         * testsuite/25_algorithms/fill/1.cc: Likewise.
4236         * testsuite/25_algorithms/fill/2.cc: Likewise.
4237         * testsuite/25_algorithms/fill/3.cc: Likewise.
4238         * testsuite/25_algorithms/fill/4.cc: Likewise.
4239         * testsuite/25_algorithms/fill_n/1.cc: Likewise.
4240         * testsuite/25_algorithms/find/39546.cc: Likewise.
4241         * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
4242         * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
4243         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
4244         Likewise.
4245         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
4246         Likewise.
4247         * testsuite/25_algorithms/find_if/1.cc: Likewise.
4248         * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
4249         * testsuite/25_algorithms/for_each/1.cc: Likewise.
4250         * testsuite/25_algorithms/heap/1.cc: Likewise.
4251         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
4252         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
4253         * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
4254         * testsuite/25_algorithms/includes/1.cc: Likewise.
4255         * testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
4256         * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
4257         * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
4258         * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
4259         * testsuite/25_algorithms/is_heap/1.cc: Likewise.
4260         * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
4261         * testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
4262         * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
4263         * testsuite/25_algorithms/is_permutation/2.cc: Likewise.
4264         * testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
4265         * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
4266         * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
4267         * testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
4268         * testsuite/25_algorithms/lower_bound/2.cc: Likewise.
4269         * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
4270         * testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
4271         * testsuite/25_algorithms/max/1.cc: Likewise.
4272         * testsuite/25_algorithms/max/2.cc: Likewise.
4273         * testsuite/25_algorithms/max/3.cc: Likewise.
4274         * testsuite/25_algorithms/max/37547.cc: Likewise.
4275         * testsuite/25_algorithms/max/4.cc: Likewise.
4276         * testsuite/25_algorithms/min/1.cc: Likewise.
4277         * testsuite/25_algorithms/min/2.cc: Likewise.
4278         * testsuite/25_algorithms/min/3.cc: Likewise.
4279         * testsuite/25_algorithms/min/37547.cc: Likewise.
4280         * testsuite/25_algorithms/min/4.cc: Likewise.
4281         * testsuite/25_algorithms/minmax/1.cc: Likewise.
4282         * testsuite/25_algorithms/minmax/2.cc: Likewise.
4283         * testsuite/25_algorithms/minmax/3.cc: Likewise.
4284         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
4285         * testsuite/25_algorithms/minmax_element/1.cc: Likewise.
4286         * testsuite/25_algorithms/move/1.cc: Likewise.
4287         * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
4288         * testsuite/25_algorithms/move_backward/1.cc: Likewise.
4289         * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
4290         * testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
4291         * testsuite/25_algorithms/none_of/1.cc: Likewise.
4292         * testsuite/25_algorithms/nth_element/1.cc: Likewise.
4293         * testsuite/25_algorithms/nth_element/2.cc: Likewise.
4294         * testsuite/25_algorithms/nth_element/3.cc: Likewise.
4295         * testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
4296         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
4297         * testsuite/25_algorithms/partial_sort/2.cc: Likewise.
4298         * testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
4299         Likewise.
4300         * testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
4301         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
4302         * testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
4303         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
4304         * testsuite/25_algorithms/partition/1.cc: Likewise.
4305         * testsuite/25_algorithms/partition/moveable.cc: Likewise.
4306         * testsuite/25_algorithms/partition_copy/1.cc: Likewise.
4307         * testsuite/25_algorithms/partition_point/1.cc: Likewise.
4308         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
4309         * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
4310         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
4311         * testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
4312         * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
4313         * testsuite/25_algorithms/rotate/1.cc: Likewise.
4314         * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
4315         * testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
4316         * testsuite/25_algorithms/rotate/rotate.cc: Likewise.
4317         * testsuite/25_algorithms/search/1.cc: Likewise.
4318         * testsuite/25_algorithms/search_n/58358.cc: Likewise.
4319         * testsuite/25_algorithms/shuffle/1.cc: Likewise.
4320         * testsuite/25_algorithms/sort/1.cc: Likewise.
4321         * testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
4322         * testsuite/25_algorithms/sort/moveable.cc: Likewise.
4323         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
4324         * testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
4325         * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
4326         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
4327         * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
4328         * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
4329         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
4330         * testsuite/25_algorithms/stable_sort/2.cc: Likewise.
4331         * testsuite/25_algorithms/stable_sort/3.cc: Likewise.
4332         * testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
4333         * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
4334         Likewise.
4335         * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
4336         * testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
4337         * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
4338         * testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
4339         * testsuite/25_algorithms/unique/11480.cc: Likewise.
4340         * testsuite/25_algorithms/unique/2.cc: Likewise.
4341         * testsuite/25_algorithms/unique/moveable.cc: Likewise.
4342         * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
4343         * testsuite/25_algorithms/unique_copy/2.cc: Likewise.
4344         * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
4345         * testsuite/25_algorithms/upper_bound/2.cc: Likewise.
4346         * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
4347         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
4348         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
4349         Likewise.
4350         * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
4351         Likewise.
4352         * testsuite/28_regex/algorithms/regex_match/basic/
4353         string_range_00_03.cc: Likewise.
4354         * testsuite/28_regex/algorithms/regex_match/basic/
4355         string_range_01_03.cc: Likewise.
4356         * testsuite/28_regex/algorithms/regex_match/basic/
4357         string_range_02_03.cc: Likewise.
4358         * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
4359         Likewise.
4360         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
4361         Likewise.
4362         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
4363         Likewise.
4364         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
4365         Likewise.
4366         * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
4367         Likewise.
4368         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
4369         Likewise.
4370         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
4371         Likewise.
4372         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
4373         Likewise.
4374         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
4375         Likewise.
4376         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
4377         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
4378         Likewise.
4379         * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
4380         Likewise.
4381         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
4382         Likewise.
4383         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
4384         anymatcher.cc: Likewise.
4385         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
4386         Likewise.
4387         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
4388         Likewise.
4389         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
4390         Likewise.
4391         * testsuite/28_regex/algorithms/regex_match/extended/
4392         cstring_questionmark.cc: Likewise.
4393         * testsuite/28_regex/algorithms/regex_match/extended/
4394         cstring_range.cc: Likewise.
4395         * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
4396         Likewise.
4397         * testsuite/28_regex/algorithms/regex_match/extended/
4398         string_range_00_03.cc: Likewise.
4399         * testsuite/28_regex/algorithms/regex_match/extended/
4400         string_range_01_03.cc: Likewise.
4401         * testsuite/28_regex/algorithms/regex_match/extended/
4402         string_range_02_03.cc: Likewise.
4403         * testsuite/28_regex/algorithms/regex_match/extended/
4404         wstring_locale.cc: Likewise.
4405         * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
4406         Likewise.
4407         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
4408         * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
4409         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
4410         Likewise.
4411         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
4412         Likewise.
4413         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
4414         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
4415         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
4416         Likewise.
4417         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
4418         * testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
4419         * testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
4420         * testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
4421         * testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
4422         * testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
4423         * testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
4424         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
4425         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
4426         * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
4427         * testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
4428         * testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
4429         * testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
4430         * testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
4431         Likewise.
4432         * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
4433         Likewise.
4434         * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
4435         * testsuite/28_regex/basic_regex/ctors/extended/
4436         string_range_01_02_03.cc: Likewise.
4437         * testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
4438         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
4439         * testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
4440         * testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
4441         * testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
4442         * testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
4443         * testsuite/28_regex/constants/error_type.cc: Likewise.
4444         * testsuite/28_regex/constants/match_flag_type.cc: Likewise.
4445         * testsuite/28_regex/init-list.cc: Likewise.
4446         * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
4447         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
4448         Likewise.
4449         * testsuite/28_regex/iterators/regex_iterator/char/
4450         string_position_01.cc
4451         * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
4452         Likewise.
4453         * testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
4454         default.cc: Likewise.
4455         * testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
4456         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
4457         Likewise.
4458         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
4459         Likewise.
4460         * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
4461         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
4462         Likewise.
4463         * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
4464         default.cc: Likewise.
4465         * testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
4466         default.cc: Likewise.
4467         * testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
4468         Likewise.
4469         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4470         string_01.cc: Likewise.
4471         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4472         wstring_02.cc: Likewise.
4473         * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
4474         * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
4475         * testsuite/28_regex/match_results/format.cc: Likewise.
4476         * testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
4477         * testsuite/28_regex/match_results/swap.cc: Likewise.
4478         * testsuite/28_regex/match_results/typedefs.cc: Likewise.
4479         * testsuite/28_regex/regex_error/regex_error.cc: Likewise.
4480         * testsuite/28_regex/regression.cc: Likewise.
4481         * testsuite/28_regex/sub_match/cast_char.cc: Likewise.
4482         * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
4483         * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
4484         * testsuite/28_regex/sub_match/length.cc: Likewise.
4485         * testsuite/28_regex/traits/char/ctor.cc: Likewise.
4486         * testsuite/28_regex/traits/char/isctype.cc: Likewise.
4487         * testsuite/28_regex/traits/char/length.cc: Likewise.
4488         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
4489         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
4490         * testsuite/28_regex/traits/char/transform.cc: Likewise.
4491         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
4492         * testsuite/28_regex/traits/char/translate.cc: Likewise.
4493         * testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
4494         * testsuite/28_regex/traits/char/user_defined.cc: Likewise.
4495         * testsuite/28_regex/traits/char/value.cc: Likewise.
4496         * testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
4497         * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
4498         * testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
4499         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
4500         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
4501         * testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
4502         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
4503         * testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
4504         * testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
4505         * testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
4506         * testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
4507         * testsuite/29_atomics/atomic/60658.cc: Likewise.
4508         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
4509         * testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
4510         * testsuite/backward/11460.cc: Likewise.
4511         * testsuite/backward/hash_map/1.cc: Likewise.
4512         * testsuite/backward/hash_map/25896.cc: Likewise.
4513         * testsuite/backward/hash_set/1.cc: Likewise.
4514         * testsuite/backward/hash_set/25896.cc: Likewise.
4515         * testsuite/decimal/binary-arith.cc: Likewise.
4516         * testsuite/decimal/comparison.cc: Likewise.
4517         * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
4518         * testsuite/decimal/compound-assignment.cc: Likewise.
4519         * testsuite/decimal/conversion-from-float.cc: Likewise.
4520         * testsuite/decimal/conversion-from-integral.cc: Likewise.
4521         * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
4522         * testsuite/decimal/conversion-to-integral.cc: Likewise.
4523         * testsuite/decimal/ctor.cc: Likewise.
4524         * testsuite/decimal/incdec-memfunc.cc: Likewise.
4525         * testsuite/decimal/incdec.cc: Likewise.
4526         * testsuite/decimal/make-decimal.cc: Likewise.
4527         * testsuite/decimal/pr54036-1.cc: Likewise.
4528         * testsuite/decimal/pr54036-2.cc: Likewise.
4529         * testsuite/decimal/pr54036-3.cc: Likewise.
4530         * testsuite/decimal/unary-arith.cc: Likewise.
4531         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
4532         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
4533         Likewise.
4534         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
4535         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
4536         Likewise.
4537         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
4538         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
4539         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
4540         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
4541         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
4542         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
4543         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
4544         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
4545         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
4546         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
4547         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
4548         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
4549         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
4550         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
4551         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
4552         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
4553         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
4554         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
4555         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
4556         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
4557         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
4558         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
4559         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
4560         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
4561         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
4562         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
4563         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
4564         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
4565         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
4566         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
4567         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
4568         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
4569         * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
4570         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
4571         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
4572         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
4573         * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
4574         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
4575         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
4576         * testsuite/tr2/bases/value.cc: Likewise.
4577         * testsuite/tr2/direct_bases/value.cc: Likewise.
4578         * testsuite/util/debug/checks.h: Likewise.
4579         * testsuite/util/debug/unordered_checks.h: Likewise.
4580         * testsuite/util/testsuite_allocator.h: Likewise.
4581         * testsuite/util/testsuite_api.h: Likewise.
4582         * testsuite/util/testsuite_common_types.h: Likewise.
4583         * testsuite/util/testsuite_random.h: Likewise.
4584         * testsuite/util/testsuite_rvalref.h: Likewise.
4586 2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
4588         * include/bits/shared_ptr_base.h: Include <functional>.
4589         [!__cpp_rtti]: Do not include <typeinfo>.
4590         * include/experimental/array: Do not include <functional>.
4591         * include/experimental/memory: Include <bits/functional_hash.h>
4592         instead of <functional>.
4593         * include/experimental/propagate_const: Include <bits/stl_function.h>,
4594         <bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
4595         * include/experimental/tuple: Do not include <functional>.
4596         * include/std/future: Include <functional>.
4597         * include/std/memory: Do not include <functional>.
4598         * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
4599         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
4600         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
4601         missing includes.
4602         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4603         * testsuite/20_util/specialized_algorithms/memory_management_tools/
4604         1.cc: Likewise.
4605         * testsuite/30_threads/call_once/60497.cc: Likewise.
4606         * testsuite/30_threads/lock/2.cc: Likewise.
4607         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
4608         * testsuite/experimental/algorithm/sample.cc: Likewise.
4609         * testsuite/experimental/array/make_array.cc: Likewise.
4610         * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
4611         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
4612         Adjust dg-error lines.
4613         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
4614         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
4615         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
4616         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
4617         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
4619         * testsuite/experimental/algorithm/sample.cc: Add missing header.
4621         * include/experimental/propagate_const (element_type): Qualify
4622         declval.
4624         * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
4625         instead of assert.
4627         * include/experiumental/functional (boyer_moore_searcher)
4628         (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
4629         with _GLIBCXX_STD_C.
4630         * include/std/functional: Likewise.
4632         * include/std/chrono (floor): Replace non-constexpr operation.
4633         * testsuite/20_util/duration_cast/rounding.cc: Test conversion to
4634         durations with floating pointer representations.
4636         * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
4637         (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
4639         * include/std/functional (_Bind_simple, _Bind_simple_helper)
4640         (__bind_simple): Remove.
4641         * include/std/future: Include <bits/invoke.h> instead of <functional>.
4642         (__future_base::_Task_state::_M_run)
4643         (__future_base::_Task_state::_M_run_delayed): Use lambda expressions
4644         instead of __bind_simple.
4645         (__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
4646         (async): Use thread::__make_invoker instead of __bind_simple.
4647         * include/std/thread: Include <tuple> and <bits/invoke.h> instead of
4648         <functional>.
4649         (thread::_Invoker, thread::__make_invoker): Define helpers to do
4650         INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
4652         * include/std/functional (_Not_fn): Make exception specifications
4653         depend on whether negating the result can throw.
4654         * testsuite/20_util/not_fn/1.cc: Move to ...
4655         * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
4656         for types that can throw when negated and that cannot be negated.
4658         * include/bits/invoke.h (__invoke): Fix exception-specification.
4659         * include/std/functional (invoke): Likewise.
4660         * testsuite/20_util/function_objects/invoke/1.cc: New test.
4662 2016-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
4664         * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
4665         __builtin_printf and __builtin_abort.
4666         * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
4667         * scripts/testsuite_flags.in: Likewise.
4668         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
4669         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
4670         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
4671         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
4672         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
4673         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
4674         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
4675         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
4676         * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
4677         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
4678         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
4679         Likewise.
4680         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
4681         Likewise.
4682         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
4683         Likewise.
4684         * testsuite/27_io/objects/char/7.cc: Likewise.
4685         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
4686         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
4687         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
4688         * testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
4689         * testsuite/18_support/bad_alloc/what.cc: Likewise.
4690         * testsuite/18_support/bad_cast/what.cc: Likewise.
4691         * testsuite/18_support/bad_exception/what.cc: Likewise.
4692         * testsuite/18_support/bad_typeid/what.cc: Likewise.
4693         * testsuite/18_support/exception/38732.cc: Likewise.
4694         * testsuite/18_support/exception/what.cc: Likewise.
4695         * testsuite/18_support/exception_ptr/64241.cc: Likewise.
4696         * testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
4697         * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
4698         * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
4699         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
4700         * testsuite/18_support/nested_exception/cons.cc: Likewise.
4701         * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
4702         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
4703         * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
4704         * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
4705         * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
4706         * testsuite/18_support/numeric_limits/digits10.cc: Likewise.
4707         * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
4708         * testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
4709         * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
4710         * testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
4711         * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
4712         * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
4713         * testsuite/18_support/numeric_limits/min_max.cc: Likewise.
4714         * testsuite/18_support/numeric_limits/specialization_default_values.cc:
4715         Likewise.
4716         * testsuite/18_support/type_info/hash_code.cc: Likewise.
4717         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
4718         * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
4719         * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
4720         * testsuite/19_diagnostics/error_category/operators/
4721         not_equal.cc: Likewise.
4722         * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
4723         * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
4724         * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
4725         * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
4726         * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
4727         * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
4728         * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
4729         * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
4730         * testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
4731         Likewise.
4732         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
4733         * testsuite/19_diagnostics/error_condition/operators/equal.cc:
4734         Likewise.
4735         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
4736         Likewise.
4737         * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
4738         * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
4739         * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
4740         * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
4741         * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
4742         * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
4743         * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
4744         * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
4745         * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
4746         * testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
4747         * testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
4748         * testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
4749         * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
4750         * testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
4751         * testsuite/20_util/addressof/1.cc: Likewise.
4752         * testsuite/20_util/align/1.cc: Likewise.
4753         * testsuite/20_util/align/2.cc: Likewise.
4754         * testsuite/20_util/allocator/1.cc: Likewise.
4755         * testsuite/20_util/allocator/10378.cc: Likewise.
4756         * testsuite/20_util/allocator/8230.cc: Likewise.
4757         * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
4758         Likewise.
4759         * testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
4760         * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
4761         * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
4762         * testsuite/20_util/any/assign/exception.cc: Likewise.
4763         * testsuite/20_util/auto_ptr/1.cc: Likewise.
4764         * testsuite/20_util/auto_ptr/2.cc: Likewise.
4765         * testsuite/20_util/auto_ptr/3.cc: Likewise.
4766         * testsuite/20_util/auto_ptr/4.cc: Likewise.
4767         * testsuite/20_util/auto_ptr/5.cc: Likewise.
4768         * testsuite/20_util/auto_ptr/6.cc: Likewise.
4769         * testsuite/20_util/auto_ptr/7.cc: Likewise.
4770         * testsuite/20_util/bind/all_bound.cc: Likewise.
4771         * testsuite/20_util/bind/conv_result.cc: Likewise.
4772         * testsuite/20_util/bind/cv_quals.cc: Likewise.
4773         * testsuite/20_util/bind/cv_quals_2.cc
4774         * testsuite/20_util/bind/nested.cc: Likewise.
4775         * testsuite/20_util/bind/placeholders.cc: Likewise.
4776         * testsuite/20_util/bind/ref.cc: Likewise.
4777         * testsuite/20_util/bind/ref2.cc: Likewise.
4778         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
4779         * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
4780         * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
4781         * testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
4782         * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
4783         * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
4784         * testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
4785         * testsuite/20_util/duration/cons/1.cc: Likewise.
4786         * testsuite/20_util/duration/cons/2.cc: Likewise.
4787         * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
4788         * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
4789         * testsuite/20_util/enable_shared_from_this/members/assign.cc:
4790         Likewise.
4791         * testsuite/20_util/exchange/1.cc: Likewise.
4792         * testsuite/20_util/forward/a.cc: Likewise.
4793         * testsuite/20_util/forward/b.cc: Likewise.
4794         * testsuite/20_util/forward/d.cc: Likewise.
4795         * testsuite/20_util/function/1.cc: Likewise.
4796         * testsuite/20_util/function/2.cc: Likewise.
4797         * testsuite/20_util/function/3.cc: Likewise.
4798         * testsuite/20_util/function/4.cc: Likewise.
4799         * testsuite/20_util/function/43397.cc: Likewise.
4800         * testsuite/20_util/function/5.cc: Likewise.
4801         * testsuite/20_util/function/6.cc: Likewise.
4802         * testsuite/20_util/function/7.cc: Likewise.
4803         * testsuite/20_util/function/8.cc: Likewise.
4804         * testsuite/20_util/function/9.cc: Likewise.
4805         * testsuite/20_util/function/assign/move.cc: Likewise.
4806         * testsuite/20_util/function/cons/move.cc: Likewise.
4807         * testsuite/20_util/function_objects/dr660.cc: Likewise.
4808         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
4809         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
4810         * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
4811         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
4812         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
4813         * testsuite/20_util/hash/operators/size_t.cc: Likewise.
4814         * testsuite/20_util/hash/quality.cc: Likewise.
4815         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
4816         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
4817         * testsuite/20_util/is_function/24808.cc: Likewise.
4818         * testsuite/20_util/is_object/24808.cc: Likewise.
4819         * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
4820         * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
4821         * testsuite/20_util/owner_less/cmp.cc: Likewise.
4822         * testsuite/20_util/pair/1.cc: Likewise.
4823         * testsuite/20_util/pair/2.cc: Likewise.
4824         * testsuite/20_util/pair/3.cc: Likewise.
4825         * testsuite/20_util/pair/4.cc: Likewise.
4826         * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
4827         * testsuite/20_util/pair/moveable.cc: Likewise.
4828         * testsuite/20_util/pair/piecewise.cc: Likewise.
4829         * testsuite/20_util/pair/swap.cc: Likewise.
4830         * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
4831         * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
4832         * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
4833         * testsuite/20_util/ratio/cons/cons1.cc: Likewise.
4834         * testsuite/20_util/ratio/operations/45866.cc: Likewise.
4835         * testsuite/20_util/ratio/operations/47913.cc: Likewise.
4836         * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
4837         * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
4838         * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
4839         * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
4840         * testsuite/20_util/scoped_allocator/1.cc: Likewise.
4841         * testsuite/20_util/scoped_allocator/2.cc: Likewise.
4842         * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
4843         * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
4844         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
4845         * testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
4846         * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
4847         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
4848         Likewise.
4849         * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
4850         * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
4851         * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
4852         * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
4853         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
4854         * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
4855         * testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
4856         * testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
4857         * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
4858         * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
4859         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
4860         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
4861         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
4862         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
4863         Likewise.
4864         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
4865         Likewise.
4866         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
4867         * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
4868         * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
4869         * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
4870         * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
4871         * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
4872         * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
4873         * testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
4874         * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
4875         * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
4876         * testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
4877         * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
4878         * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
4879         * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
4880         * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
4881         * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
4882         * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
4883         * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
4884         * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
4885         * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
4886         * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
4887         * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
4888         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
4889         Likewise.
4890         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4891         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
4892         move_iterators/1.cc: Likewise.
4893         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
4894         move_iterators/1.cc: Likewise.
4895         * testsuite/20_util/temporary_buffer.cc: Likewise.
4896         * testsuite/20_util/time_point/1.cc: Likewise.
4897         * testsuite/20_util/time_point/2.cc: Likewise.
4898         * testsuite/20_util/time_point/3.cc: Likewise.
4899         * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
4900         * testsuite/20_util/tuple/48476.cc: Likewise.
4901         * testsuite/20_util/tuple/comparison_operators/comparisons.cc:
4902         Likewise.
4903         * testsuite/20_util/tuple/cons/allocators.cc: Likewise.
4904         * testsuite/20_util/tuple/cons/assignment.cc: Likewise.
4905         * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
4906         * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
4907         * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
4908         * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
4909         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
4910         * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
4911         Likewise.
4912         * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
4913         * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
4914         * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
4915         * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
4916         * testsuite/20_util/tuple/element_access/get.cc: Likewise.
4917         * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
4918         * testsuite/20_util/tuple/moveable.cc: Likewise.
4919         * testsuite/20_util/tuple/swap.cc: Likewise.
4920         * testsuite/20_util/tuple/tuple_size.cc: Likewise.
4921         * testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
4922         * testsuite/20_util/typeindex/hash.cc: Likewise.
4923         * testsuite/20_util/typeindex/hash_code.cc: Likewise.
4924         * testsuite/20_util/typeindex/name.cc: Likewise.
4925         * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
4926         * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
4927         * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
4928         * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
4929         * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
4930         * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
4931         * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
4932         * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
4933         * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
4934         * testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
4935         * testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
4936         * testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
4937         * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
4938         * testsuite/20_util/unique_ptr/specialized_algorithms/
4939         comparisons.cc: Likewise.
4940         * testsuite/20_util/unique_ptr/specialized_algorithms/
4941         comparisons_array.cc: Likewise.
4942         * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
4943         Likewise.
4944         * testsuite/20_util/uses_allocator/construction.cc: Likewise.
4945         * testsuite/20_util/uses_allocator/value.cc: Likewise.
4946         * testsuite/20_util/variant/run.cc: Likewise.
4947         * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
4948         * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
4949         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
4950         Likewise.
4951         * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
4952         * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
4953         Likewise.
4954         * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
4955         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
4956         Likewise.
4957         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
4958         Likewise.
4959         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
4960         Likewise.
4961         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
4962         Likewise.
4963         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
4964         Likewise.
4965         * testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
4966         * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
4967         * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
4968         * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
4969         * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
4970         Likewise.
4971         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
4972         * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
4973         Likewise.
4974         * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
4975         * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
4976         Likewise.
4977         * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
4978         * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
4979         * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
4980         * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
4981         * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
4982         * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
4983         * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
4984         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
4985         * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
4986         * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
4987         * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
4988         * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
4989         * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
4990         * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
4991         * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
4992         * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
4993         * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
4994         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
4995         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
4996         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
4997         * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
4998         * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
4999         Likewise.
5000         * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
5001         * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
5002         * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
5003         * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
5004         * testsuite/21_strings/basic_string/element_access/char/58163.cc:
5005         Likewise.
5006         * testsuite/21_strings/basic_string/element_access/char/empty.cc:
5007         Likewise.
5008         * testsuite/21_strings/basic_string/element_access/char/front_back.cc:
5009         Likewise.
5010         * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
5011         Likewise.
5012         * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
5013         Likewise.
5014         * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
5015         Likewise.
5016         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
5017         Likewise.
5018         * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
5019         Likewise.
5020         * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
5021         Likewise.
5022         * testsuite/21_strings/basic_string/element_access/wchar_t/
5023         front_back.cc: Likewise.
5024         * testsuite/21_strings/basic_string/init-list.cc: Likewise.
5025         * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
5026         Likewise.
5027         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
5028         Likewise.
5029         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
5030         Likewise.
5031         * testsuite/21_strings/basic_string/inserters_extractors/char/
5032         28277.cc: Likewise.
5033         * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
5034         Likewise.
5035         * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
5036         Likewise.
5037         * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
5038         Likewise.
5039         * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
5040         Likewise.
5041         * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
5042         Likewise.
5043         * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
5044         Likewise.
5045         * testsuite/21_strings/basic_string/inserters_extractors/pod/
5046         10081-in.cc: Likewise.
5047         * testsuite/21_strings/basic_string/inserters_extractors/pod/
5048         10081-out.cc: Likewise.
5049         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
5050         Likewise.
5051         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
5052         10.cc: Likewise.
5053         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
5054         11.cc: Likewise.
5055         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
5056         28277.cc: Likewise.
5057         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
5058         Likewise.
5059         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
5060         Likewise.
5061         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
5062         Likewise.
5063         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
5064         Likewise.
5065         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
5066         Likewise.
5067         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
5068         Likewise.
5069         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
5070         Likewise.
5071         * testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
5072         Likewise.
5073         * testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
5074         Likewise.
5075         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
5076         Likewise.
5077         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
5078         Likewise.
5079         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
5080         Likewise.
5081         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
5082         Likewise.
5083         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
5084         Likewise.
5085         * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
5086         Likewise.
5087         * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
5088         Likewise.
5089         * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
5090         Likewise.
5091         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
5092         Likewise.
5093         * testsuite/21_strings/basic_string/modifiers/assign/char/
5094         move_assign.cc: Likewise.
5095         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
5096         Likewise.
5097         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
5098         Likewise.
5099         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
5100         Likewise.
5101         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
5102         Likewise.
5103         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
5104         move_assign.cc: Likewise.
5105         * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
5106         Likewise.
5107         * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
5108         Likewise.
5109         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
5110         Likewise.
5111         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
5112         Likewise.
5113         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
5114         Likewise.
5115         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
5116         Likewise.
5117         * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
5118         Likewise.
5119         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
5120         Likewise.
5121         * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
5122         Likewise.
5123         * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
5124         Likewise.
5125         * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
5126         Likewise.
5127         * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
5128         Likewise.
5129         * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
5130         Likewise.
5131         * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
5132         Likewise.
5133         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
5134         Likewise.
5135         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
5136         Likewise.
5137         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
5138         Likewise.
5139         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
5140         Likewise.
5141         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
5142         Likewise.
5143         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
5144         Likewise.
5145         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
5146         Likewise.
5147         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
5148         Likewise.
5149         * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
5150         Likewise.
5151         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
5152         Likewise.
5153         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
5154         Likewise.
5155         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
5156         Likewise.
5157         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
5158         Likewise.
5159         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
5160         Likewise.
5161         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
5162         Likewise.
5163         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
5164         Likewise.
5165         * testsuite/21_strings/basic_string/numeric_conversions/char/
5166         stoull.cc: Likewise.
5167         * testsuite/21_strings/basic_string/numeric_conversions/char/
5168         to_string.cc: Likewise.
5169         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5170         dr1261.cc: Likewise.
5171         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5172         stod.cc: Likewise.
5173         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5174         stof.cc: Likewise.
5175         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5176         stoi.cc: Likewise.
5177         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5178         stol.cc: Likewise.
5179         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5180         stold.cc: Likewise.
5181         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5182         stoll.cc: Likewise.
5183         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5184         stoul.cc: Likewise.
5185         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5186         stoull.cc: Likewise.
5187         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5188         to_wstring.cc: Likewise.
5189         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
5190         Likewise.
5191         * testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
5192         Likewise.
5193         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
5194         Likewise.
5195         * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
5196         Likewise.
5197         * testsuite/21_strings/basic_string/operations/compare/wchar_t/
5198         13650.cc: Likewise.
5199         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
5200         Likewise.
5201         * testsuite/21_strings/basic_string/operations/data/char/1.cc:
5202         Likewise.
5203         * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
5204         Likewise.
5205         * testsuite/21_strings/basic_string/operations/find/char/1.cc:
5206         Likewise.
5207         * testsuite/21_strings/basic_string/operations/find/char/2.cc:
5208         Likewise.
5209         * testsuite/21_strings/basic_string/operations/find/char/3.cc:
5210         Likewise.
5211         * testsuite/21_strings/basic_string/operations/find/char/4.cc:
5212         Likewise.
5213         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
5214         Likewise.
5215         * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
5216         Likewise.
5217         * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
5218         Likewise.
5219         * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
5220         Likewise.
5221         * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
5222         Likewise.
5223         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
5224         Likewise.
5225         * testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
5226         Likewise.
5227         * testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
5228         Likewise.
5229         * testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
5230         Likewise.
5231         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
5232         Likewise.
5233         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
5234         Likewise.
5235         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
5236         Likewise.
5237         * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
5238         Likewise.
5239         * testsuite/21_strings/basic_string/operations/substr/wchar_t/
5240         1.cc: Likewise.
5241         * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
5242         * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
5243         * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
5244         * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
5245         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
5246         * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
5247         * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
5248         * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
5249         * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
5250         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
5251         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
5252         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
5253         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
5254         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
5255         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
5256         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
5257         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
5258         * testsuite/21_strings/basic_string_view/element_access/char/
5259         1.cc: Likewise.
5260         * testsuite/21_strings/basic_string_view/element_access/char/
5261         empty.cc: Likewise.
5262         * testsuite/21_strings/basic_string_view/element_access/char/
5263         front_back.cc: Likewise.
5264         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5265         1.cc: Likewise.
5266         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5267         empty.cc: Likewise.
5268         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5269         front_back.cc: Likewise.
5270         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
5271         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
5272         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
5273         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
5274         Likewise.
5275         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
5276         Likewise.
5277         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
5278         Likewise.
5279         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
5280         Likewise.
5281         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5282         char/1.cc: Likewise.
5283         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5284         wchar_t/1.cc: Likewise.
5285         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5286         char/1.cc: Likewise.
5287         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5288         wchar_t/1.cc: Likewise.
5289         * testsuite/21_strings/basic_string_view/operations/compare/char/
5290         1.cc: Likewise.
5291         * testsuite/21_strings/basic_string_view/operations/compare/char/
5292         13650.cc: Likewise.
5293         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5294         1.cc: Likewise.
5295         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5296         13650.cc: Likewise.
5297         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
5298         Likewise.
5299         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
5300         Likewise.
5301         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
5302         Likewise.
5303         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
5304         Likewise.
5305         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
5306         Likewise.
5307         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
5308         Likewise.
5309         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
5310         Likewise.
5311         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
5312         Likewise.
5313         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5314         1.cc: Likewise.
5315         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5316         2.cc: Likewise.
5317         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5318         3.cc: Likewise.
5319         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5320         4.cc: Likewise.
5321         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5322         1.cc: Likewise.
5323         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5324         2.cc: Likewise.
5325         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5326         3.cc: Likewise.
5327         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5328         1.cc: Likewise.
5329         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5330         2.cc: Likewise.
5331         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5332         3.cc: Likewise.
5333         * testsuite/21_strings/basic_string_view/operations/string_conversion/
5334         1.cc: Likewise.
5335         * testsuite/21_strings/basic_string_view/operations/substr/char/
5336         1.cc: Likewise.
5337         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
5338         1.cc: Likewise.
5339         * testsuite/21_strings/basic_string_view/operators/char/2.cc:
5340         Likewise.
5341         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
5342         Likewise.
5343         * testsuite/21_strings/c_strings/char/1.cc: Likewise.
5344         * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
5345         * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
5346         * testsuite/21_strings/char_traits/requirements/char/57704.cc:
5347         Likewise.
5348         * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
5349         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
5351         * doc/xml/manual/test.xml: Fix typo.
5353 2016-10-12  Jonathan Wakely  <jwakely@redhat.com>
5355         * doc/xml/manual/status_cxx2017.xml: Add std::sample status.
5356         * doc/html/*: Regenerate.
5357         * include/experimental/algorithm (__sample): Move to bits/stl_algo.h
5358         and into namespace std.
5359         * include/bits/stl_algo.h (__sample): Define here. Fix invalid use
5360         of input iterator. Defend against overloaded comma operator.
5361         (sample): Define for C++17.
5362         * testsuite/25_algorithms/sample/1.cc: New test.
5364         * testsuite/util/testsuite_common_types.h
5365         (bitwise_assignment_operators): Use direct-initialization for C++11
5366         and later, to avoid CopyConstructible requirement.
5367         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
5368         line numbers.
5369         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
5370         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
5371         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
5372         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
5373         Adjust expected errors and line numbers.
5375         * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
5376         (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
5378         * include/bits/stl_uninitialized.h
5379         (__uninitialized_default_novalue_n_1<true>): Add missing return.
5380         * testsuite/20_util/specialized_algorithms/memory_management_tools/
5381         1.cc: Check return values of uninitialized_xxx_n algorithms.
5383         * libsupc++/nested_exception.h (throw_with_nested): Remove return.
5385         * doc/xml/manual/intro.xml: Document LWG 2442 status.
5386         * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
5387         [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
5388         partial specialization to unpack args and forward to std::invoke.
5389         (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
5390         instead of __bind_simple and __once_call_impl.
5391         (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
5392         __bind_simple.
5393         * testsuite/30_threads/call_once/dr2442.cc: New test.
5395 2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
5397         * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
5398         _M_assign_dispatch directly with correct tag.
5400         * doc/xml/manual/intro.xml: Document LWG 2484 status.
5401         * libsupc++/nested_exception.h (_Throw_with_nested_impl)
5402         (_Throw_with_nested_helper): Remove.
5403         (__throw_with_nested_impl): New overloaded functions to implement
5404         throw_with_nested logic.
5405         (throw_with_nested): Call __throw_with_nested_impl.
5406         (_Rethrow_if_nested_impl): Remove
5407         (__rethrow_if_nested_impl): New overloaded functions to implement
5408         rethrow_if_nested logic.
5409         (rethrow_if_nested): Call __rethrow_if_nested_impl.
5410         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
5411         problem cases from LWG 2484.
5413         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
5414         Register printer for std::__cxx11::list.
5415         * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
5416         std::__cxx11::list as well as std::list.
5418         * include/experimental/string_view (basic_string_view::_S_compare):
5419         Remove redundant const from return type.
5420         * include/std/string_view (basic_string_view:_S_compare): Likewise.
5422         * include/bits/std_mutex.h (mutex::native_handle)
5423         (lock_guard(mutex_type&, adopt_lock_t)
5424         (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
5425         * include/std/mutex (recursive_mutex, timed_mutex)
5426         (recursive_timed_mutex): Likewise.
5428 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5430         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5431         Replace <literallayout> with nested <variablelist> elements. Update
5432         some more outdated text.
5433         * doc/html/*: Regenerate.
5435 2016-10-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
5437         Make any's copy assignment operator exception-safe,
5438         don't copy the underlying value when any is moved,
5439         make in_place constructors explicit.
5440         * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
5441         Make explicit.
5442         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
5443         Likewise.
5444         (operator=(const any&)): Make strongly exception-safe.
5445         (operator=(any&&)): reset() unconditionally in the case where
5446         rhs has a value.
5447         (operator=(_ValueType&&)): Indent the return type.
5448         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
5449         * testsuite/20_util/any/assign/2.cc: Adjust.
5450         * testsuite/20_util/any/assign/exception.cc: New.
5451         * testsuite/20_util/any/cons/2.cc: Adjust.
5452         * testsuite/20_util/any/cons/explicit.cc: New.
5453         * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
5455 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5457         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5458         Describe other subdirectories and add markup. Remove outdated
5459         reference to check-script target.
5460         * doc/html/*: Regenerate.
5462         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
5464         * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
5465         with noexcept.
5467         * include/std/functional (_Bind_result::__enable_if_void): Use alias
5468         template instead of class template.
5469         (_Bind_result::__disable_if_void): Likewise.
5470         (_Bind_result::__call): Adjust uses of __enable_if_void and
5471         __disable_if_void.
5473         * doc/xml/manual/intro.xml: Document DR 2296 status.
5474         * doc/xml/manual/status_cxx2017.xml: Update status.
5475         * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
5476         call __builtin_addressof.
5477         (addressof): Add _GLIBCXX17_CONSTEXPR.
5478         * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
5479         * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
5480         * testsuite/20_util/forward/f_neg.cc: Likewise.
5482         * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
5483         * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
5484         is_always_equal.
5485         * testsuite/util/testsuite_allocator.h
5486         (uneq_allocator::is_always_equal): Define as false_type.
5488         * include/experimental/numeric (gcd, lcm): Make bool arguments
5489         ill-formed.
5490         * include/std/numeric (gcd, lcm): Likewise.
5491         * testsuite/26_numerics/gcd/gcd_neg.cc: New test.
5492         * testsuite/26_numerics/lcm/lcm_neg.cc: New test.
5494         * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
5495         Add noexcept.
5496         * include/bits/shared_ptr_base.h
5497         (__enable_shared_from_this::weak_from_this): Likewise.
5498         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
5499         Test exception-specification of weak_from_this.
5501 2016-10-07  Jonathan Wakely  <jwakely@redhat.com>
5503         * doc/xml/manual/status_cxx1998.xml: Improve documentation of
5504         implementation-defined properties.
5505         * doc/xml/manual/status_cxx2011.xml: Likewise.
5506         * doc/xml/manual/status_cxx2017.xml: Likewise.
5508         * doc/xml/manual/status_cxx2017.xml: Update status.
5509         * include/std/type_traits (has_unique_object_representations): Define.
5510         * testsuite/20_util/has_unique_object_representations/value.cc: New.
5511         * testsuite/20_util/has_unique_object_representations/requirements/
5512         explicit_instantiation.cc: New.
5513         * testsuite/20_util/has_unique_object_representations/requirements/
5514         typedefs.cc: New.
5516 2016-10-06  Jonathan Wakely  <jwakely@redhat.com>
5518         * doc/xml/manual/status_cxx2011.xml: Update status.
5519         * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
5520         New helpers for recursive OUTERMOST.
5521         (__outermost): Use __outermost_type::_S_outermost.
5522         (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
5523         (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
5524         __outermost_type helper.
5525         (scoped_allocator_adaptor::_Constructible): New alias template.
5526         (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
5527         Constrain template constructors.
5528         * testsuite/20_util/scoped_allocator/3.cc: New test.
5529         * testsuite/20_util/scoped_allocator/outermost.cc: New test.
5531 2016-10-05  Jonathan Wakely  <jwakely@redhat.com>
5533         PR libstdc++/70564
5534         * testsuite/20_util/not_fn/1.cc: Fix test.
5535         * testsuite/experimental/functional/not_fn.cc: Likewise.
5537         PR libstdc++/70101
5538         * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
5539         constructors.
5540         * testsuite/23_containers/priority_queue/allocator.cc: New test.
5542         PR libstdc++/77864
5543         * include/bits/stl_map.h (map::map()): Use nothrow constructibility
5544         of comparison function in conditional noexcept.
5545         * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
5546         * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
5547         * include/bits/stl_set.h (set::set()): Likewise.
5548         * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
5549         New test.
5550         * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
5551         Likewise.
5552         * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
5553         Likewise.
5554         * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
5555         Likewise.
5557         * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
5558         alias declaration.
5560         PR libstdc++/70564
5561         * include/experimental/functional (_Not_fn): Remove.
5562         (not_fn): Use std::_Not_fn.
5563         * include/std/functional (_Not_fn): Add second parameter to
5564         disambiguate copying from initialization by not_fn. Define for C++14.
5565         (not_fn): Add second argument to initialization.
5566         * testsuite/20_util/not_fn/1.cc: Copy call wrapper using
5567         direct-initialization.
5569 2016-10-03  François Dumont  <fdumont@gcc.gnu.org>
5571         * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
5572         declaration...
5573         * src/c++11/mutex_pool.h: ... here. New.
5574         * src/c++11/debug.cc: Use latter.
5576 2016-10-03  Jonathan Wakely  <jwakely@redhat.com>
5578         * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
5579         * doc/html/*: Regenerate.
5580         * include/experimental/numeric (__abs): Move to <numeric>.
5581         (gcd, lcm): Use __detail::gcd and __detail::lcm.
5582         * include/std/numeric (__detail::__abs_integral)
5583         (__detail::__gcd, __detail::__lcm): Define.
5584         (gcd, lcm): Define for C++17.
5585         * testsuite/26_numerics/gcd/1.cc: New test.
5586         * testsuite/26_numerics/lcm/1.cc: New test.
5587         * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
5588         * testsuite/experimental/numeric/lcd.cc: ... this.
5590         PR libstdc++/68323
5591         PR libstdc++/77794
5592         * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
5593         __cxa_thread_atexit and __gnu_cxx::__freeres.
5594         * include/Makefile.am: Add <experimental/bits/lfts_config.h>
5595         * include/Makefile.in: Regenerate.
5596         * include.bits/basic_string.h: Fix nesting of versioned namespaces.
5597         * include/bits/c++config: Declare versioned namespaces for literals.
5598         * include/bits/regex.h (basic_regex, match_results): Add workarounds
5599         for PR c++/59256.
5600         * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
5601         * include/std/chrono: Likewise.
5602         * include/std/complex: Likewise.
5603         * include/std/string_view: Likewise.
5604         * include/std/variant: Likewise. Add workaround for PR c++/59256.
5605         * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
5606         * include/experimental/bits/lfts_config.h: Declare versioned
5607         namespaces.
5608         * include/experimental/algorithm: Include
5609         <experimental/bits/lfts_config.h>.
5610         * include/experimental/any: Likewise.
5611         * include/experimental/bits/erase_if.h: Likewise.
5612         * include/experimental/chrono: Likewise.
5613         * include/experimental/functional: Likewise.
5614         * include/experimental/memory_resource: Likewise.
5615         * include/experimental/optional: Likewise.
5616         * include/experimental/propagate_const: Likewise.
5617         * include/experimental/random: Likewise.
5618         * include/experimental/ratio: Likewise.
5619         * include/experimental/system_error: Likewise.
5620         * include/experimental/tuple: Likewise.
5621         * include/experimental/type_traits: Likewise.
5622         * include/experimental/utility: Likewise.
5623         * include/experimental/string_view: Likewise. Fix nesting of
5624         versioned namespaces.
5625         * include/experimental/bits/string_view.tcc: Reopen inline namespace
5626         for non-inline function definitions.
5627         * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
5628         * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
5629         * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
5630         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
5631         Likewise.
5632         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
5633         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
5634         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
5635         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
5636         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
5637         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
5639         PR libstdc++/77814
5640         * include/bits/std_abs.h: Use "C++" language linkage.
5641         * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
5642         the end. Add <stdalign.h>.
5644 2016-10-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
5646         PR libstdc++/77802
5647         * testsuite/20_util/tuple/77802.cc: New.
5649         Revert:
5650         2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5651         Implement LWG 2729 for tuple.
5652         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5653         Suppress conditionally.
5654         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5655         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5656         (_Tuple_impl(const _Head&)): Constrain.
5657         (_Tuple_impl(_UHead&&)): Likewise.
5658         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5659         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5660         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5661         (operator=(const tuple&)): Enable conditionally.
5662         (operator=(tuple&&)): Suppress conditionally.
5663         (operator=(const tuple<_UElements...>&)): Constrain.
5664         (operator=(tuple<_UElements...>&&)): Likewise.
5665         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5666         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5667         (operator=(const tuple<_U1, _U2>&)): Constrain.
5668         (operator=(tuple<_U1, _U2>&&)): Likewise.
5669         (operator=(const pair<_U1, _U2>&)): Likewise.
5670         (operator=(pair<_U1, _U2>&&)): Likewise.
5671         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5672         * testsuite/20_util/tuple/tuple_traits.cc: New.
5674 2016-09-30  Jonathan Wakely  <jwakely@redhat.com>
5676         PR libstdc++/77795
5677         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
5678         for gets.
5679         * config.h.in: Regenerate.
5680         * configure: Regenerate.
5681         * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
5682         for C++98 and C++11.
5683         * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
5684         * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
5686         * doc/xml/manual/intro.xml: Document LWG 2192 changes.
5687         * doc/html/*: Regenerate.
5688         * include/Makefile.am: Add bits/std_abs.h.
5689         * include/Makefile.in: Regenerate.
5690         * include/bits/std_abs.h: New header defining all required overloads
5691         of std::abs in one place (LWG 2294).
5692         * include/c_global/cmath (abs(double), abs(float), abs(long double)):
5693         Move to bits/std_abs.h.
5694         (abs<_Tp>(_Tp)): Remove.
5695         * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
5696         Move to bits/std_abs.h.
5697         * testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
5698         * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
5699         * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
5700         * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.
5702         PR libstdc++/77801
5703         * include/experimental/numeric: Include <numeric>.
5704         (__abs): Define.
5705         (gcd, lcm): Use __abs instead of std::abs.
5706         * testsuite/experimental/numeric/77801.cc: New test.
5707         * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
5708         * testsuite/experimental/numeric/lcm.cc: Likewise.
5710 2016-09-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
5712         Make optional::reset noexcept, make optional::value
5713         work in constant expressions.
5714         * include/std/optional (_M_get): Make constexpr.
5715         (reset): Make noexcept.
5716         * testsuite/20_util/optional/assignment/7.cc: New.
5717         * testsuite/20_util/optional/observers/6.cc: New.
5719 2016-09-29  Jonathan Wakely  <jwakely@redhat.com>
5721         * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
5722         outside _GLIBCXX_USE_C99_MATH_TR1 condition.
5724 2016-09-29  Alan Modra  <amodra@gmail.com>
5726         * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
5727         * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
5728         Use LONG_DOUBLE_COMPAT_FLAGS.
5729         * Makefile.in: Regenerate.
5730         * configure: Regenerate.
5731         * doc/Makefile.in: Regenerate.
5732         * include/Makefile.in: Regenerate.
5733         * libsupc++/Makefile.in: Regenerate.
5734         * po/Makefile.in: Regenerate.
5735         * python/Makefile.in: Regenerate.
5736         * src/Makefile.in: Regenerate.
5737         * src/c++11/Makefile.in: Regenerate.
5738         * src/c++98/Makefile.in: Regenerate.
5739         * src/filesystem/Makefile.in: Regenerate.
5740         * testsuite/Makefile.in: Regenerate.
5742 2016-09-28  Jonathan Wakely  <jwakely@redhat.com>
5744         * include/std/chrono (system_clock): Fix typo in comment.
5746         * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
5747         definition.
5748         * src/filesystem/ops.cc (file_time): Take error_code parameter and
5749         check for overflow.
5750         (do_copy_file, last_write_time): Pass error_code in file_time calls.
5751         * testsuite/experimental/filesystem/operations/last_write_time.cc:
5752         New.
5753         * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
5755         PR libstdc++/77686
5756         * include/std/functional (_Any_data): Add may_alias attribute.
5758 2016-09-27  Jonathan Wakely  <jwakely@redhat.com>
5760         * doc/xml/manual/status_cxx2017.xml: Update status.
5761         * doc/html/*: Regenerate.
5762         * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
5763         * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
5765         * doc/xml/manual/status_cxx2017.xml: Update status.
5766         * include/c_global/cmath (hypot): Add three-dimensional overloads.
5767         * testsuite/26_numerics/headers/cmath/hypot.cc: New.
5769 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5771         PR libstdc++/77727
5772         * include/std/optional (optional(const optional<_Up>&)):
5773         Default-initialize the base and use emplace.
5774         (optional(optional<_Up>&&)): Likewise.
5775         * testsuite/20_util/optional/cons/77727.cc: New.
5777 2016-09-26  François Dumont  <fdumont@gcc.gnu.org>
5779         * include/debug/safe_base.h
5780         (_Safe_iterator_base::_M_detach_single): Make public.
5782 2016-09-26  Jonathan Wakely  <jwakely@redhat.com>
5784         * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
5785         redefine macro defined in <bits/stl_iterator.h>.
5787         * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
5788         iterator is not past-the-end.
5789         * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
5790         Likewise.
5791         * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
5792         Likewise.
5793         * include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
5794         * include/bits/unordered_map.h (unordered_map::extract(const_iterator))
5795         (unordered_multimap::extract(const_iterator)): Likewise.
5796         * include/bits/unordered_set.h (unordered_set::extract(const_iterator))
5797         (unordered_multiset::extract(const_iterator)): Likewise.
5799 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5801         PR libstdc++/77717
5802         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
5803         Fix an out-of-bounds access.
5805 2016-09-26  Marek Polacek  <polacek@redhat.com>
5807         PR c/7652
5808         * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
5810 2016-09-25  François Dumont  <fdumont@gcc.gnu.org>
5812         * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
5813         functional.
5814         (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
5815         * testsuite/23_containers/vector/debug/mutex_association.cc: New.
5817         * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
5818         bitset*)): Remove __unused__ attribute.
5819         * include/debug/safe_base.h (_Safe_iterator_base): Make
5820         _Safe_sequence_base a friend.
5821         (_Safe_iterator_base::_M_attach): Make protected.
5822         (_Safe_iterator_base::_M_attach_single): Likewise.
5823         (_Safe_iterator_base::_M_detach): Likewise.
5824         (_Safe_iterator_base::_M_detach_single): Likewise.
5825         (_Safe_sequence_base): Make _Safe_iterator_base a friend.
5826         (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
5827         (_Safe_sequence_base::_M_swap): Make protected.
5828         (_Safe_sequence_base::_M_attach): Make private.
5829         (_Safe_sequence_base::_M_attach_single): Likewise.
5830         (_Safe_sequence_base::_M_detach): Likewise.
5831         (_Safe_sequence_base::_M_detach_single): Likewise.
5832         * include/debug/safe_container.h
5833         (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
5834         * include/debug/safe_iterator.h
5835         (_Safe_iterator::operator++()): Name __scoped_lock instance.
5836         * include/debug/safe_iterator.tcc: Remove trailing line.
5837         * include/debug/safe_unordered_base.h
5838         (_Safe_local_iterator_base::_M_attach): Make protected.
5839         (_Safe_local_iterator_base::_M_attach_single): Likewise.
5840         (_Safe_local_iterator_base::_M_detach): Likewise.
5841         (_Safe_local_iterator_base::_M_detach_single): Likewise.
5842         (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
5843         (_Safe_unordered_container_base::_M_attach_local): Make private.
5844         (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
5845         (_Safe_unordered_container_base::_M_detach_local): Likewise.
5846         (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
5848         * include/parallel/algo.h: Generalize usage of std::__iterator_category.
5849         Adjust whitespaces.
5851 2016-09-23  Jonathan Wakely  <jwakely@redhat.com>
5853         PR libstdc++/56166
5854         PR libstdc++/77582
5855         * include/bits/basic_string.h (basic_string::clear()): Drop reference
5856         and use empty rep.
5857         * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
5858         Likewise.
5859         * testsuite/21_strings/basic_string/56166.cc: New.
5860         * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
5862         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
5863         (basic_string::erase(size_type, size_type)): Add fast path for
5864         truncating the string, by calling _M_set_length directly.
5865         (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
5866         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
5867         (basic_string::resize(size_type, _CharT)): Likewise.
5869 2016-09-22  Jason Merrill  <jason@redhat.com>
5871         * configure.ac: Define HAVE_MEMALIGN for newlib.
5873 2015-09-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5875         * config/cpu/m68k/atomicity.h: Adjust comment.
5876         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
5877         explicit atomicity_dir setup via configure.host.
5878         * configure.host (rtems-*): Set atomicity_dir.
5879         * configure: Regenerate.
5881 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5883         Implement C++17 node extraction and insertion (P0083R5)
5884         * doc/xml/manual/status_cxx2017.xml: Document status.
5885         * doc/html/*: Regenerate.
5886         * include/Makefile.am: Add bits/node_handle.h and reorder.
5887         * include/Makefile.in: Regenerate.
5888         * include/bits/hashtable.h (_Hashtable::node_type)
5889         (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
5890         (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
5891         (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
5892         (_Hash_merge_helper): Define primary template.
5893         * include/bits/node_handle.h: New header.
5894         * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
5895         friend.
5896         (map::node_type, map::insert_return_type, map::extract, map::merge)
5897         (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
5898         Define new members.
5899         (_Rb_tree_merge_helper): Specialize for map.
5900         * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
5901         as friend.
5902         (multimap::node_type, multimap::extract, multimap::merge)
5903         (multimap::insert(node_type&&))
5904         (multimap::insert(const_iterator, node_type&&)): Define.
5905         (_Rb_tree_merge_helper): Specialize for multimap.
5906         * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
5907         as friend.
5908         (multiset::node_type, multiset::extract, multiset::merge)
5909         (multiset::insert(node_type&&))
5910         (multiset::insert(const_iterator, node_type&&)): Define.
5911         * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
5912         friend.
5913         (set::node_type, set::insert_return_type, set::extract, set::merge)
5914         (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
5915         Define.
5916         (_Rb_tree_merge_helper): Specialize for set.
5917         * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
5918         (_Rb_tree::node_type, _Rb_tree::insert_return_type)
5919         (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
5920         (_Rb_tree::_M_reinsert_node_hint_unique)
5921         (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
5922         (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
5923         (_Rb_tree_merge_helper): Specialize for multiset.
5924         * include/bits/unordered_map.h (unordered_map): Declare
5925         unordered_map<> and unordered_multimap<> as friends.
5926         (unordered_map::node_type, unordered_map::insert_return_type)
5927         (unordered_map::extract, unordered_map::merge)
5928         (unordered_map::insert(node_type&&))
5929         (unordered_map::insert(const_iterator, node_type&&))
5930         (unordered_multimap): Declare _Hash_merge_helper as friend.
5931         (unordered_multimap::node_type, unordered_multimap::extract)
5932         (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
5933         (unordered_multimap::insert(const_iterator, node_type&&)): Define.
5934         (_Hash_merge_helper): Specialize for unordered maps and multimaps.
5935         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
5936         Declare _Hash_merge_helper as friend.
5937         (unordered_set::node_type, unordered_set::insert_return_type)
5938         (unordered_set::extract, unordered_set::merge)
5939         (unordered_set::insert(node_type&&))
5940         (unordered_set::insert(const_iterator, node_type&&)): Define.
5941         (unordered_multiset::node_type, unordered_multiset::extract)
5942         (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
5943         (unordered_multiset::insert(const_iterator, node_type&&)): Define.
5944         (_Hash_merge_helper): Specialize for unordered sets and multisets.
5945         * include/debug/map.h (map): Add using declarations or forwarding
5946         functions for new members.
5947         * include/debug/map.h (multimap): Likewise.
5948         * include/debug/map.h (multiset): Likewise.
5949         * include/debug/map.h (set): Likewise.
5950         * include/debug/unordered_map (unordered_map, unordered_multimap):
5951         Likewise.
5952         * include/debug/unordered_set( unordered_set, unordered_multiset):
5953         Likewise.
5954         * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
5955         helper function.
5956         (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
5957         (StdNodeHandlePrinter): Define printer for node handles.
5958         (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
5959         * testsuite/23_containers/map/modifiers/extract.cc: New.
5960         * testsuite/23_containers/map/modifiers/merge.cc: New.
5961         * testsuite/23_containers/multimap/modifiers/extract.cc: New.
5962         * testsuite/23_containers/multimap/modifiers/merge.cc: New.
5963         * testsuite/23_containers/multiset/modifiers/extract.cc: New.
5964         * testsuite/23_containers/multiset/modifiers/merge.cc: New.
5965         * testsuite/23_containers/set/modifiers/extract.cc: New.
5966         * testsuite/23_containers/set/modifiers/merge.cc: New.
5967         * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
5968         * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
5969         * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
5970         New.
5971         * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
5972         * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
5973         New.
5974         * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
5975         * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
5976         * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
5977         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
5978         dg-error lineno.
5979         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
5981 2016-09-22  Ville Voutilainen  <ville.voutilainen@gmail.com>
5983         Fix tests on old arm platforms for optional.
5984         * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
5986 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5988         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
5989         recent change to _Variant_storage.
5990         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
5991         reference type.
5993         * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
5994         std::forward and ::new. Cast pointer to void*.
5995         * include/std/variant (_Variant_storage, _Union, _Variant_base)
5996         (__access, __visit_invoke, variant, visit): Qualify std::forward.
5997         * testsuite/20_util/variant/compile.cc: Test for ADL problems.
5999 2016-09-22  Tim Shen  <timshen@google.com>
6001         * include/std/variant (variant::operator=): Fix assignment
6002         on references.
6003         * testsuite/20_util/variant/compile.cc: Add test.
6005 2016-09-22  Tim Shen  <timshen@google.com>
6007         PR libstdc++/77641
6008         * include/std/variant (_Variant_storage::_Variant_storage):
6009         Change _Variant_storage's union to be default constructible.
6010         * testsuite/20_util/variant/compile.cc: New test.
6012 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
6014         PR libstdc++/77288
6015         * include/std/optional (__is_optional_impl, __is_optional): Remove.
6016         (__converts_from_optional, __assigns_from_optional): New.
6017         (optional(_Up&&)): Use is_same instead of __is_optional.
6018         (optional(const optional<_Up>&)): Constrain with
6019         __converts_from_optional.
6020         (optional(optional<_Up>&&)): Likewise.
6021         (operator=(_Up&&)): Use is_same instead of __is_optional, check
6022         is_same and is_scalar.
6023         (operator=(const optional<_Up>&)): Constrain with
6024         __converts_from_optional and __assigns_from_optional.
6025         (operator=(optional<_Up>&&)): Likewise.
6026         * testsuite/20_util/optional/77288.cc: New.
6027         * testsuite/20_util/optional/cons/value.cc: Adjust.
6029 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
6031         Implement LWG 2729 for tuple.
6032         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
6033         Suppress conditionally.
6034         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
6035         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
6036         (_Tuple_impl(const _Head&)): Constrain.
6037         (_Tuple_impl(_UHead&&)): Likewise.
6038         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
6039         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
6040         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
6041         (operator=(const tuple&)): Enable conditionally.
6042         (operator=(tuple&&)): Suppress conditionally.
6043         (operator=(const tuple<_UElements...>&)): Constrain.
6044         (operator=(tuple<_UElements...>&&)): Likewise.
6045         (operator=(const tuple&)): Enable conditionally (2-param tuple).
6046         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
6047         (operator=(const tuple<_U1, _U2>&)): Constrain.
6048         (operator=(tuple<_U1, _U2>&&)): Likewise.
6049         (operator=(const pair<_U1, _U2>&)): Likewise.
6050         (operator=(pair<_U1, _U2>&&)): Likewise.
6051         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
6052         * testsuite/20_util/tuple/tuple_traits.cc: New.
6054 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
6056         PR libstdc++/77537
6057         Implement LWG 2729 for pair.
6058         * include/bits/stl_pair.h (_PCC): New.
6059         (_ConstructiblePair, _ImplicitlyConvertiblePair):
6060         Turn into static member functions of _PCC.
6061         (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
6062         (_PCCP): New.
6063         (pair(const _T1&, const _T2&)): Adjust.
6064         (_PCCFP): New.
6065         (pair(const pair<_U1, _U2>&)): Adjust.
6066         (pair(_U1&&, const _T2&)): Likewise.
6067         (pair(const _T1&, _U2&&)): Likewise.
6068         (pair(_U1&&, _U2&&)): Likewise.
6069         (pair(pair<_U1, _U2>&&)): Likewise.
6070         (operator=(const pair&)): Make conditionally deleted.
6071         (operator=(pair&&)): Make conditionally suppressed.
6072         (operator=(const pair<_U1, _U2>&)): Constrain.
6073         (operator=(pair<_U1, _U2>&&): Likewise.
6074         * include/std/type_traits (__nonesuch): New.
6075         * testsuite/20_util/pair/traits.cc: New.
6077 2016-09-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
6079         PR libstdc++/77619
6080         * include/bits/stl_construct.h: (_Construct_novalue): New.
6081         (_Destroy_n_aux, _Destroy_n): New.
6082         * include/bits/stl_uninitialized.h: (type_traits):
6083         New include in C++11 mode.
6084         (__uninitialized_default_novalue_1): New.
6085         (__uninitialized_default_novalue_n_1): Likewise.
6086         (__uninitialized_default_novalue): Likewise.
6087         (__uninitialized_default_novalue_n): Likewise.
6088         (__uninitialized_copy_n_pair): Likewise.
6089         (uninitialized_default_construct):
6090         Use __uninitialized_default_novalue.
6091         (uninitialized_default_construct_n):
6092         Use __uninitialized_default_novalue_n.
6093         (uninitialized_value_construct): Use __uninitialized_default.
6094         (uninitialized_value_construct_n): Use __uninitialized_default_n.
6095         (uninitialized_move): Use uninitialized_copy.
6096         (uninitialized_move_n): Use __uninitialized_copy_n_pair.
6097         (destroy_at): Use _Destroy.
6098         (destroy): Likewise.
6099         (destroy_n): Likewise.
6100         * testsuite/20_util/specialized_algorithms/
6101         memory_management_tools/1.cc: Add tests for exceptions,
6102         add tests for trivial cases for construct and move.
6104 2016-09-20  Jonathan Wakely  <jwakely@redhat.com>
6106         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
6107         (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
6109 2016-09-19  Jonathan Wakely  <jwakely@redhat.com>
6111         PR libstdc++/77645
6112         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
6113         (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
6114         division to int to work with Python 3.
6116         * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
6118         * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
6119         display_hint to be set by subclasses.
6120         (StdVariantPrinter): Use array for display_hint. Adjust output to be
6121         more similar to std::any and std::optional output.
6122         (register_type_printers): Add type printers for basic_string_view
6123         typedefs and experimental::any. Adjust type printers for
6124         fundamentals_v1 templates to match fundamentals_v2 and later.
6125         * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
6127         PR libstdc++/77645
6128         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
6129         argument.
6130         (ListWorkerBase.get_value_from_node): Define new method.
6131         (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
6133 2016-09-17  Jonathan Wakely  <jwakely@redhat.com>
6135         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
6136         (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
6137         Register for C++17 components in namespace std. Strip inline namespace
6138         from typename.
6140 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
6142         * doc/xml/manual/profile_mode.xml: Fix typo.
6143         * doc/html/manual/profile_mode_devel.html: Regenerate.
6145 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
6146             Marc Glisse  <marc.glisse@inria.fr>
6148         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
6149         (operator new(size_t, align_val_t)): Replace modulus operator with
6150         mask.
6152 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
6154         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
6155         Increase alignment if less than sizeof(void*).
6156         [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
6157         Increase size if not a multiple of alignment.
6159 2016-09-15  Jonathan Wakely  <jwakely@redhat.com>
6161         * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
6162         * doc/html/*: Regenerate.
6164         * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
6165         -Wno-deprecated.
6166         * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
6168 2016-09-14  Marek Polacek  <polacek@redhat.com>
6170         * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
6171         -Wno-deprecated.
6173 2016-09-14  Christophe Lyon  <christophe.lyon@linaro.org>
6175         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
6176         Move dg-do directive before dg-skip.
6177         * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
6178         Move dg-do directive before dg-require.
6179         * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
6180         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
6181         * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
6182         * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
6183         * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
6184         * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
6185         * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
6186         * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
6187         * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
6188         * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
6189         * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
6190         * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
6191         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
6192         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
6193         * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
6194         Likewise.
6195         * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
6196         * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
6197         * testsuite/27_io/objects/char/12048-5.cc: Likewise.
6198         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
6199         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
6201 2016-09-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
6203         Implement P0040R3, Extending memory management tools.
6204         * include/bits/stl_uninitialized.h (utility): New include
6205         in C++17 mode.
6206         (uninitialized_default_construct): New.
6207         (uninitialized_default_construct_n): Likewise.
6208         (uninitialized_value_construct): Likewise.
6209         (uninitialized_value_construct_n): Likewise.
6210         (uninitialized_move): Likewise.
6211         (uninitialized_move_n): Likewise.
6212         (destroy_at, destroy, destroy_n): Likewise.
6213         * testsuite/20_util/specialized_algorithms/memory_management_tools/
6214         1.cc: New.
6216 2016-09-12  Jason Merrill  <jason@redhat.com>
6218         * config/abi/pre/gnu.ver: Use [jmy] for size_t.
6220 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
6222         Implement P0253R1, Fixing a design mistake in the searchers
6223         interface in Library Fundamentals.
6224         * include/std/functional: (utility): New include in C++17 mode.
6225         (default_searcher): Use a pair as return type, adjust the definition.
6226         (boyer_moore_searcher): Likewise.
6227         (boyer_moore_horspool_searcher): Likewise.
6228         * testsuite/20_util/function_objects/searchers.cc: Adjust.
6230 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
6232         Implement C++17 string searchers.
6233         * include/std/functional: (unordered_map, vector): New includes
6234         in C++17 mode.
6235         (array, bits/stl_algo.h): Likewise.
6236         (default_searcher, __boyer_moore_map_base): New.
6237         (__boyer_moore_array_base, __is_std_equal_to): Likewise.
6238         (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
6239         (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
6240         (make_boyer_moore_searcher): Likewise.
6241         (make_boyer_moore_horspool_searcher): Likewise.
6242         * testsuite/20_util/function_objects/searchers.cc: New.
6244 2016-09-12  Matthew Wahab  <matthew.wahab@arm.com>
6246         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
6247         Move dg-do directive before dg-require.
6248         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
6249         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
6250         Likewise.
6251         * testsuite/22_locale/codecvt/utf8.cc: Likewise.
6252         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
6253         * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
6254         * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
6255         * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
6256         * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
6257         * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
6258         * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
6259         * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
6260         * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
6261         * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
6262         * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
6263         * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
6264         Likewise.
6265         * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
6266         Likewise.
6267         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
6268         * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
6269         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
6270         Likewise.
6271         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
6272         Likewise.
6273         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
6274         Likewise.
6275         * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
6276         Likewise.
6277         * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
6278         Likewise.
6279         * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
6280         Likewise.
6281         * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
6282         Likewise.
6283         * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
6284         Likewise.
6285         * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
6286         Likewise.
6287         * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
6288         Likewise.
6289         * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
6290         Likewise.
6291         * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
6292         Likewise.
6293         * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
6294         Likewise.
6295         * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
6296         Likewise.
6297         * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
6298         Likewise.
6299         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
6300         Likewise.
6301         * testsuite/23_containers/forward_list/debug/
6302         iterator_self_move_assign_neg.cc: Likewise.
6303         * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
6304         Likewise.
6305         * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
6306         Likewise.
6307         * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
6308         Likewise.
6309         * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
6310         Likewise.
6311         * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
6312         Likewise.
6313         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
6314         Likewise.
6315         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
6316         Likewise.
6317         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
6318         Likewise.
6319         * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
6320         * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
6321         * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
6322         * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
6323         * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
6324         * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
6325         * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
6326         * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
6327         * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
6328         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
6329         * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
6330         Likewise.
6331         * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
6332         * testsuite/23_containers/map/debug/60499.cc: Likewise.
6333         * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
6334         * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
6335         * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
6336         * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
6337         * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
6338         * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
6339         * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
6340         Likewise.
6341         * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
6342         * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
6343         * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
6344         * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
6345         * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
6346         * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
6347         * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
6348         * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
6349         * testsuite/23_containers/multimap/debug/
6350         iterator_self_move_assign_neg.cc: Likewise.
6351         * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
6352         Likewise.
6353         * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
6354         * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
6355         * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
6356         * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
6357         * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
6358         * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
6359         * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
6360         * testsuite/23_containers/multiset/debug/
6361         iterator_self_move_assign_neg.cc: Likewise.
6362         * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
6363         Likewise.
6364         * testsuite/23_containers/set/debug/60499.cc: Likewise.
6365         * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
6366         * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
6367         * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
6368         * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
6369         * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
6370         * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
6371         * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
6372         Likewise.
6373         * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
6374         * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
6375         * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
6376         * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
6377         * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
6378         Likewise.
6379         * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
6380         * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
6381         * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
6382         Likewise.
6383         * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
6384         Likewise.
6385         * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
6386         Likewise.
6387         * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
6388         * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
6389         * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
6390         * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
6391         * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
6392         * testsuite/23_containers/unordered_map/debug/
6393         invalid_local_iterator_compare_neg.cc: Likewise.
6394         * testsuite/23_containers/unordered_map/debug/
6395         invalid_local_iterator_range_neg.cc: Likewise.
6396         * testsuite/23_containers/unordered_map/debug/
6397         iterator_self_move_assign_neg.cc: Likewise.
6398         * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
6399         Likewise.
6400         * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
6401         Likewise.
6402         * testsuite/23_containers/unordered_map/debug/
6403         use_erased_local_iterator_neg.cc: Likewise.
6404         * testsuite/23_containers/unordered_map/debug/
6405         use_invalid_iterator_neg.cc: Likewise.
6406         * testsuite/23_containers/unordered_map/debug/
6407         use_invalid_local_iterator_neg.cc: Likewise.
6408         * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
6409         * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
6410         Likewise.
6411         * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
6412         Likewise.
6413         * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
6414         Likewise.
6415         * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
6416         Likewise.
6417         * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
6418         Likewise.
6419         * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
6420         Likewise.
6421         * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
6422         Likewise.
6423         * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
6424         Likewise.
6425         * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
6426         Likewise.
6427         * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
6428         Likewise.
6429         * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
6430         Likewise.
6431         * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
6432         Likewise.
6433         * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
6434         Likewise.
6435         * testsuite/23_containers/unordered_multimap/debug/
6436         invalid_local_iterator_compare_neg.cc: Likewise.
6437         * testsuite/23_containers/unordered_multimap/debug/
6438         invalid_local_iterator_range_neg.cc: Likewise.
6439         * testsuite/23_containers/unordered_multimap/debug/
6440         iterator_self_move_assign_neg.cc: Likewise.
6441         * testsuite/23_containers/unordered_multimap/debug/
6442         max_load_factor_neg.cc: Likewise.
6443         * testsuite/23_containers/unordered_multimap/debug/
6444         self_move_assign_neg.cc: Likewise.
6445         * testsuite/23_containers/unordered_multimap/debug/
6446         use_erased_local_iterator_neg.cc: Likewise.
6447         * testsuite/23_containers/unordered_multimap/debug/
6448         use_invalid_iterator_neg.cc: Likewise.
6449         * testsuite/23_containers/unordered_multimap/debug/
6450         use_invalid_local_iterator_neg.cc: Likewise.
6451         * testsuite/23_containers/unordered_multiset/debug/60499.cc:
6452         Likewise.
6453         * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
6454         Likewise.
6455         * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
6456         Likewise.
6457         * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
6458         Likewise.
6459         * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
6460         Likewise.
6461         * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
6462         Likewise.
6463         * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
6464         Likewise.
6465         * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
6466         Likewise.
6467         * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
6468         Likewise.
6469         * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
6470         Likewise.
6471         * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
6472         Likewise.
6473         * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
6474         Likewise.
6475         * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
6476         Likewise.
6477         * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
6478         Likewise.
6479         * testsuite/23_containers/unordered_multiset/debug/
6480         invalid_local_iterator_compare_neg.cc: Likewise.
6481         * testsuite/23_containers/unordered_multiset/debug/
6482         invalid_local_iterator_range_neg.cc: Likewise.
6483         * testsuite/23_containers/unordered_multiset/debug/
6484         iterator_self_move_assign_neg.cc: Likewise.
6485         * testsuite/23_containers/unordered_multiset/debug/
6486         max_load_factor_neg.cc: Likewise.
6487         * testsuite/23_containers/unordered_multiset/debug/
6488         self_move_assign_neg.cc: Likewise.
6489         * testsuite/23_containers/unordered_multiset/debug/
6490         use_erased_local_iterator_neg.cc: Likewise.
6491         * testsuite/23_containers/unordered_multiset/debug/
6492         use_invalid_iterator_neg.cc: Likewise.
6493         * testsuite/23_containers/unordered_multiset/debug/
6494         use_invalid_local_iterator_neg.cc: Likewise.
6495         *  testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
6496         * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
6497         * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
6498         * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
6499         Likewise.
6500         * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
6501         * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
6502         * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
6503         Likewise.
6504         * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
6505         Likewise.
6506         * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
6507         Likewise.
6508         * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
6509         * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
6510         * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
6511         * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
6512         * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
6513         * testsuite/23_containers/unordered_set/debug/
6514         invalid_local_iterator_compare_neg.cc: Likewise.
6515         * testsuite/23_containers/unordered_set/debug/
6516         invalid_local_iterator_range_neg.cc: Likewise.
6517         * testsuite/23_containers/unordered_set/debug/
6518         iterator_self_move_assign_neg.cc: Likewise.
6519         * testsuite/23_containers/unordered_set/debug/
6520         max_load_factor_neg.cc: Likewise.
6521         * testsuite/23_containers/unordered_set/debug/
6522         self_move_assign_neg.cc: Likewise.
6523         * testsuite/23_containers/unordered_set/debug/
6524         use_erased_local_iterator_neg.cc: Likewise.
6525         * testsuite/23_containers/unordered_set/debug/
6526         use_invalid_iterator_neg.cc: Likewise.
6527         * testsuite/23_containers/unordered_set/debug/
6528         use_invalid_local_iterator_neg.cc: Likewise.
6529         * testsuite/23_containers/vector/debug/52433.cc: Likewise.
6530         * testsuite/23_containers/vector/debug/60499.cc: Likewise.
6531         * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
6532         * testsuite/23_containers/vector/debug/
6533         iterator_self_move_assign_neg.cc: Likewise.
6534         * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
6535         Likewise.
6536         * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
6537         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
6538         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
6539         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
6540         * testsuite/29_atomics/atomic/60658.cc: Likewise.
6541         * testsuite/29_atomics/atomic/60695.cc: Likewise.
6542         * testsuite/29_atomics/atomic/62259.cc: Likewise.
6543         * testsuite/29_atomics/atomic/64658.cc: Likewise.
6544         * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
6545         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
6546         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
6547         Likewise.
6549 2016-09-11  Jonathan Wakely  <jwakely@redhat.com>
6551         * libsupc++/new_opant.cc: Include exception_defines.h.
6552         * libsupc++/new_opvant.cc: Likewise.
6554 2016-09-09  Jason Merrill  <jason@redhat.com>
6556         Implement P0035R4, C++17 new of over-aligned types.
6557         * libsupc++/new: Declare aligned new/delete operators.
6558         * config/abi/pre/gnu.ver: Export them.
6559         * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
6560         _aligned_malloc.
6561         * libsupc++/new_opa.cc: New.
6562         * libsupc++/new_opant.cc: New.
6563         * libsupc++/new_opva.cc: New.
6564         * libsupc++/new_opva.cc: New.
6565         * libsupc++/del_opa.cc: New.
6566         * libsupc++/del_opant.cc: New.
6567         * libsupc++/del_opsa.cc: New.
6568         * libsupc++/del_opva.cc: New.
6569         * libsupc++/del_opvant.cc: New.
6570         * libsupc++/del_opvsa.cc: New.
6571         * libsupc++/Makefile.am: Build them.
6573 2016-09-05  Tim Shen  <timshen@google.com>
6575         * include/std/variant: include bits/move.h for std::addressof.
6577 2016-09-05  Mikhail Strelnikov  <mikhail.strelnikov@gmail.com>
6579         * include/std/variant (_Variant_storage::_M_storage()): Use
6580         std::addressof instead of operator& to take address.
6582 2016-09-02  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
6584         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
6585         setrlimit on both native and cross targets.
6586         * configure: Regenerate.
6588 2016-08-31  Jonathan Wakely  <jwakely@redhat.com>
6590         * include/bits/shared_ptr.h (_Assignable): New alias template.
6591         (shared_ptr::operator=(const shared_ptr<_Tp1>&))
6592         (shared_ptr::operator=(shared_ptr<_Tp1>&&))
6593         (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6594         _Assignable.
6595         * include/bits/shared_ptr_base.h (_Assignable): New alias template.
6596         (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
6597         (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
6598         (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6599         _Assignable.
6600         (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
6601         (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
6602         _Convertible.
6603         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
6604         match on any line.
6605         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
6606         * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
6607         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
6608         expected errors. Remove unnecessary code.
6609         * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
6611         * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
6612         comparison object.
6613         * testsuite/23_containers/set/move_comparison.cc: New test.
6615         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
6616         New test.
6618 2016-08-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
6620         PR libstdc++/77395
6621         * include/std/type_traits (is_constructible): Forward-declare...
6622         (__is_base_to_derived_ref): ...and use here.
6623         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
6624         * testsuite/20_util/is_constructible/77395.cc: New.
6625         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
6626         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
6627         Likewise.
6628         * testsuite/20_util/tuple/77395.cc: New.
6630 2016-08-30  Uros Bizjak  <ubizjak@gmail.com>
6632         * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
6633         directive above dg-require-namedlocale directive.
6634         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
6635         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
6636         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
6637         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
6638         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
6640 2016-08-27  Tim Shen  <timshen@google.com>
6642         PR libstdc++/77356
6643         * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
6644         _M_expression_term): Modify to support dash literal.
6645         * include/bits/regex_scanner.h: Add dash as a token type to make
6646         a different from the mandated dash literal by escaping.
6647         * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
6648         token in bracket expression parsing.
6649         * testsuite/28_regex/regression.cc: Add new testcases.
6651 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6653         PR libstdc++/51960
6654         * doc/xml/manual/intro.xml: Document DR 2127 change.
6655         * doc/html/*: Regenerate.
6656         * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
6657         (operator++(), operator++(int)): Use injected class name.
6658         * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
6660         * testsuite/*: Use { target c++11 } or { target c++14 } instead of
6661         using -std in dg-options.
6663 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6664             Pedro Alves  <palves@redhat.com>
6666         * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
6667         and restore dg-interpreter-batch-mode.
6668         * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
6669         gdb-dg-runtest instead of dg-runtest.
6670         * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
6672 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6674         * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
6675         precise patterns for basic_string constructors.
6676         (GLIBCXX_3.4.23): Export new constructors.
6677         * doc/xml/manual/intro.xml: Document LWG 2583 status.
6678         * doc/html/*: Regenerate.
6679         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
6680         (basic_string(const basic_string&, size_type, const Alloc&)): Add
6681         new constructor for LWG 2583.
6682         (basic_string(const basic_string&, size_type, size_type)): Remove
6683         default argument.
6684         [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
6685         * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
6686         * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
6687         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
6689 2016-08-24  Aditya Kumar  <hiraditya@msn.com>
6691         * include/bits/algorithmfwd.h: Remove trailing whitespace.
6692         * include/bits/shared_ptr_base.h: Likewise.
6694 2016-08-23  Jonathan Wakely  <jwakely@redhat.com>
6696         * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
6697         * include/profile/array (array): Likewise.
6698         (array::swap): Fix exception specification for zero-sized arrays.
6700         PR libstdc++/77334
6701         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
6702         (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
6703         * testsuite/23_containers/map/77334.cc: New test.
6705         * doc/xml/manual/using.xml: Remove reference to -pthreads option.
6706         * doc/html/*: Regenerate.
6708         * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
6709         * testsuite/experimental/feat-lib-fund.cc: Likewise.
6711         PR libstdc++/71771
6712         * include/bits/stl_iterator.h
6713         (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
6714         define for C++98 mode.
6715         (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
6716         * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
6717         -std=gnu++98.
6718         * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
6719         * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
6720         * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
6721         * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
6722         difference operator.
6723         * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
6724         difference operator for C++98.
6725         * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
6727         * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
6728         * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
6729         (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
6730         * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
6731         (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
6732         Likewise.
6733         * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
6734         _GLIBCXX14_CONSTEXPR.
6735         (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
6736         * include/std/array (array::begin, array::end, array::rbegin)
6737         (array::rend, array::cbegin, array:cend, array::crbegin)
6738         (array::crend, array::operator[], array::at, array::front)
6739         (array::back, array::data): Likewise.
6740         * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
6741         with separate tests for C++11, C++14, and C++17.
6742         * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
6743         * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
6744         * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
6746 2016-08-22  Tim Shen  <timshen@google.com>
6748         Split _M_dfs() into smaller functions.
6749         * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
6750         (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
6751         (_M_handle_line_end_assertion, _M_handle_word_boundary)
6752         (_M_handle_subexpr_lookahead, _M_handle_match)
6753         (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
6754         Add separate function declarations.
6755         * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
6757 2016-08-22  Gleb Natapov  <gleb@scylladb.com>
6759         PR libstdc++/68297
6760         * config/abi/pre/gnu-versioned-namespace.ver: Export
6761         __cxa_init_primary_exception and std::exception_ptr(void*).
6762         * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
6763         export __cxa_init_primary_exception and std::exception_ptr(void*).
6764         * include/Makefile.am: Add new headers.
6765         * include/Makefile.in: Regenerate.
6766         * libsupc++/Makefile.am: Add new headers.
6767         * libsupc++/Makefile.in: Regenerate.
6768         * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
6769         * libsupc++/cxxabi_init_exception.h: New header.
6770         (__cxa_init_primary_exception): Declare.
6771         * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
6772         (__cxa_throw): Use __cxa_init_primary_exception.
6773         * libsupc++/exception (std::exception): Move to ...
6774         * libsupc++/exception.h: New header.
6775         * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
6776         friend declaration.
6777         (__exception_ptr::__dest_thunk): New function template.
6778         (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
6779         Use __cxa_allocate_exception and __cxa_init_primary_exception to
6780         create exception_ptr.
6781         * libsupc++/typeinfo: Include bits/exception.h instead of exception.
6782         * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
6784 2016-08-22  Jonathan Wakely  <jwakely@redhat.com>
6786         * doc/xml/api.xml: Replace hardcoded links for specific versions with
6787         link to docs for all releases.
6788         * doc/html/*: Regenerate.
6790         PR libstdc++/77322
6791         * doc/xml/manual/intro.xml: Document DR 2062 change.
6792         * include/std/functional (function::swap): Add noexcept.
6793         (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
6794         * testsuite/20_util/function/77322.cc: New test.
6796 2016-08-19  Jonathan Wakely  <jwakely@redhat.com>
6798         * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
6799         *-*-solaris* instead of -pthreads.
6800         * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
6801         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
6802         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
6803         * testsuite/23_containers/list/pthread1.cc: Likewise.
6804         * testsuite/23_containers/list/pthread5.cc: Likewise.
6805         * testsuite/23_containers/map/pthread6.cc: Likewise.
6806         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
6807         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
6808         * testsuite/30_threads/shared_mutex/*: Likewise.
6809         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
6810         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6811         default_weaktoshared.cc: Likewise.
6812         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6813         mutex_weaktoshared.cc: Likewise.
6814         * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
6815         dg-require-effective-target instead of using -std option.
6816         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
6817         Likewise.
6818         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
6819         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
6820         Likewise.
6821         * testsuite/30_threads/async/*: Likewise.
6822         * testsuite/30_threads/call_once/*: Likewise.
6823         * testsuite/30_threads/condition_variable/*: Likewise.
6824         * testsuite/30_threads/condition_variable_any/*: Likewise.
6825         * testsuite/30_threads/future/*: Likewise.
6826         * testsuite/30_threads/lock/*: Likewise.
6827         * testsuite/30_threads/mutex/*: Likewise.
6828         * testsuite/30_threads/packaged_task/*: Likewise.
6829         * testsuite/30_threads/promise/*: Likewise.
6830         * testsuite/30_threads/recursive_mutex/*: Likewise.
6831         * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
6832         * testsuite/30_threads/shared_future/*: Likewise.
6833         * testsuite/30_threads/shared_lock/*: Likewise.
6834         * testsuite/30_threads/shared_timed_mutex/*: Likewise.
6835         * testsuite/30_threads/this_thread/*: Likewise.
6836         * testsuite/30_threads/thread/*: Likewise.
6837         * testsuite/30_threads/timed_mutex/*: Likewise.
6838         * testsuite/30_threads/try_lock/*: Likewise.
6839         * testsuite/30_threads/unique_lock/*: Likewise.
6841         * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
6842         * doc/html/*: Regenerate.
6843         * include/experimental/functional (_Not_fn, not_fn): Match C++17
6844         semantics.
6845         * include/std/functional (_Not_fn, not_fn): Define for C++17.
6846         * testsuite/20_util/not_fn/1.cc: New.
6847         * testsuite/experimental/functional/not_fn.cc: Test abstract class.
6848         Remove test for volatile-qualified wrapper.
6850         * include/std/atomic (atomic::is_always_lock_free): Define.
6851         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
6852         * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
6853         * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
6854         * doc/xml/manual/status_cxx2017.xml: Update status.
6855         * doc/html/*: Regenerate.
6857         * include/experimental/tuple (apply): Qualify call to __apply_impl.
6858         * include/std/tuple (apply): Likewise.
6859         * testsuite/experimental/system_error/value.cc: Fix ambiguities in
6860         C++17 mode.
6861         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
6862         * testsuite/experimental/type_traits/value.cc: Likewise.
6864         * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
6865         and variant.
6866         * doc/html/*: Regenerate.
6868 2016-08-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
6870         Implement the latest proposed resolution of LWG 2756.
6871         * include/std/optional (Optional_base(const _Tp&))
6872         (Optional_base(_Tp&&), using _Base::_Base): Remove.
6873         (optional(nullopt_t)): New.
6874         (optional(_Up&&)): Invoke base directly with in_place
6875         rather than creating a temporary, add default template
6876         argument, change constraints.
6877         (optional(const optional<_Up>&)): Invoke base directly
6878         with in_place, remove unnecessary constraints.
6879         (optional(optional<_Up>&& __t)): Likewise.
6880         (optional(in_place_t, _Args&&...)): New.
6881         (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
6882         (operator=(_Up&&)): Add default template argument, change constraints.
6883         (operator=(const optional<_Up>&)): Put is_same first in the
6884         constraints.
6885         (operator=(optional<_Up>&&)): Likewise.
6886         * testsuite/20_util/optional/assignment/5.cc: Add a test to
6887         verify assignment from something that can't be perfect-forwarded.
6888         * testsuite/20_util/optional/cons/value.cc: Add tests to verify
6889         that a nested optional is disengaged when constructed
6890         from a disengaged element type, and to verify that assignments
6891         from an engaged element type engage the optional.
6893 2016-08-18  Tim Shen  <timshen@google.com>
6895         Implement <variant>
6897         * include/Makefile.am: Add new file std/variant.
6898         * include/Makefile.in: Generated from Makefile.am.
6899         * include/bits/enable_special_members.h: Add a tag type to allow
6900         the construction in non-default constructor.
6901         * include/bits/uses_allocator.h: Add convenience traits to
6902         detect constructibility.
6903         * include/std/variant: Implement <variant>.
6904         * testsuite/20_util/variant/compile.cc: Compile-time tests.
6905         * testsuite/20_util/variant/run.cc: Runtime tests.
6907 2016-08-18  Jonathan Wakely  <jwakely@redhat.com>
6909         * doc/xml/manual/test.xml (test.run.permutations): Expand section.
6910         (test.new_tests): Rewrite section.
6911         (tests.dg.directives): New section.
6912         * doc/html/*: Regenerate.
6914         * doc/xml/manual/test.xml: Improve documentation of test targets.
6915         Document new-abi-baseline, check-debug, and check-parallel targets.
6917         * doc/xml/manual/build_hacking.xml: New section on shared library
6918         versioning.
6920         * doc/xml/manual/build_hacking.xml: Improve markup.
6921         * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
6922         to "Testing".
6923         * doc/xml/faq.xml: Change link text to "Testing".
6925         * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
6926         dg-options directive.
6928 2016-08-17  Jonathan Wakely  <jwakely@redhat.com>
6930         * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
6931         directive and use effective target instead of dg-options.
6933         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
6934         instead of -std in dg-options.
6935         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
6936         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
6937         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
6938         * testsuite/20_util/hash/quality.cc: Likewise.
6939         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
6940         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
6941         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
6942         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
6943         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
6944         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
6946         * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
6947         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
6948         * testsuite/27_io/rvalue_streams.cc: Likewise.
6950         * testsuite/26_numerics/complex/literals/types.cc: Add comment.
6952         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
6953         Remove duplicate dg-options directive.
6955         * testsuite/ext/profile/all.cc: Use effective target instead of
6956         -std=gnu++11. Use dg-additional-options instead of repeating options.
6958         * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
6959         -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
6960         instead of dg-excess-errors.
6962         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
6963         test for C++17.
6964         * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
6965         * testsuite/experimental/ratio/value.cc: Likewise.
6966         * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
6967         C++17.
6968         * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
6969         * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
6970         * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
6971         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
6972         * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
6973         * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
6974         * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
6975         * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
6976         * testsuite/tr1/5_numerical_facilities/special_functions/
6977         10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
6978         C++17 compatibility.
6980         * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
6981         expected signatures for C++14 compatibility.
6983         PR libstdc++/77264
6984         * include/bits/basic_string.h (operator=(__sv_type)
6985         (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
6986         (replace(size_type, size_type, __sv_type))
6987         (replace(const_iterator, const_iterator, __sv_type))
6988         (find(__sv_type, size_type), rfind(__sv_type, size_type))
6989         (compare(size_type, size_type, __sv_type)): Reformat.
6990         (_If_sv): Define helper for SFINAE constaints.
6991         (append(const _Tp&, size_type, size_type))
6992         (assign(const _Tp&, size_type, size_type))
6993         (insert(size_type, const _Tp&, size_type, size_type))
6994         (replace(size_type, size_type, const _Tp&, size_type, size_type)):
6995         Use _If_sv.
6996         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
6997         SFINAE constraints.
6998         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
6999         Likewise.
7000         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7001         Likewise.
7002         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
7003         Likewise.
7004         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
7005         Likewise.
7006         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
7007         Likewise.
7008         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
7009         Likewise.
7010         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
7011         Likewise.
7012         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7013         Likewise.
7014         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
7015         Likewise.
7016         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
7017         Likewise.
7019 2016-08-16  Jonathan Wakely  <jwakely@redhat.com>
7021         PR libstdc++/72847
7022         * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
7023         pointers to start and end of storage.
7024         * testsuite/23_containers/vector/bool/72847.cc: New test.
7025         * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
7026         _M_finish after deallocating.
7027         (vector<bool>::_M_fill_insert): Likewise.
7028         (vector<bool>::_M_insert_range): Likewise.
7029         (vector<bool>::_M_insert_aux): Likewise.
7031 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
7033         Implement LWG 2744 and LWG 2754.
7034         * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
7035         (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
7036         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
7037         Likewise.
7038         (emplace(_Args&&...)): Likewise.
7039         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
7040         * include/std/utility: (__is_in_place_type_impl): New.
7041         (__is_in_place_type): Likewise.
7042         * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
7043         emplace.
7044         * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
7045         in_place constructor.
7046         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
7047         * testsuite/20_util/any/requirements.cc: Add a test for
7048         in_place-constructing a non-default-constructible type.
7050 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
7052         Add a feature macro for C++17 make_from_tuple.
7053         * include/std/tuple (__cpp_lib_make_from_tuple): New.
7054         (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
7055         Qualify the call to get<>().
7056         * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
7058 2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
7060         * src/filesystem/ops.cc: Always include ostream and
7061         ext/stdio_filebuf.h.
7062         (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
7063         [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
7064         sendfile fails with ENOSYS or EINVAL.
7066 2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
7068         PR libstdc++/72840
7069         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
7070         syntax.
7072 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
7074         Implement C++17 make_from_tuple.
7075         * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
7076         * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
7078 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
7080         Implement LWG 2758.
7081         * include/bits/basic_string.h
7082         (append(__sv_type, size_type, size_type)): Turn into a template,
7083         change parameter type, constrain, add a conversion to __sv_type
7084         from the dependent parameter type.
7085         (assign(__sv_type, size_type, size_type)): Likewise.
7086         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
7087         (replace(size_type, size_type, __sv_type, size_type, size_type)):
7088         Likewise.
7089         (compare(size_type, size_type,__sv_type, size_type, size_type)):
7090         Likewise.
7091         * testsuite/21_strings/basic_string/lwg2758.cc: New.
7093 2016-08-06  Jonathan Wakely  <jwakely@redhat.com>
7095         * doc/xml/manual/status_cxx2017.xml: Update status table.
7096         * doc/html/manual/status.html: Regenerate.
7098         * testsuite/lib/libstdc++.exp: Fix typo in comment.
7100         PR libstdc++/72820
7101         * include/std/functional (_Function_base::_Base_manager::_M_clone):
7102         Qualify new operator.
7103         * testsuite/20_util/function/cons/72820.cc: New test.
7105         * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
7106         * doc/html/manual/status.html: Regenerate.
7107         * include/Makefile.am: Add new header.
7108         * include/Makefile.in: Regenerate.
7109         * include/bits/invoke.h: New header.
7110         (__invoke): Make constexpr. Add && to types in exception specification.
7111         * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
7112         names. Include <bits/invoke.h> and use std::__invoke.
7113         * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
7114         new header.
7115         (invoke): Add && to types in exception specification.
7116         * include/std/tuple (apply, __apply_impl): Define for C++17.
7117         * testsuite/20_util/tuple/apply/1.cc: New test.
7118         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
7119         lineno.
7121 2016-08-05  Jonathan Wakely  <jwakely@redhat.com>
7123         * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
7124         * doc/html/manual/status.html: Regenerate.
7126         * include/std/chrono (floor, ceil, round, abs): New for C++17.
7127         * testsuite/20_util/duration_cast/rounding.cc: New test.
7128         * testsuite/20_util/time_point_cast/rounding.cc: New test.
7129         * doc/xml/manual/status_cxx2017.xml: Update status table.
7130         * doc/html/manual/status.html: Regenerate.
7131         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
7132         dg-error lineno.
7133         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
7134         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
7135         * testsuite/20_util/duration/literals/range.cc: Likewise.
7137         * include/std/functional (__callable_functor): Remove.
7138         (_Function_handler::_M_invoke): Use __invoke instead of
7139         __callable_functor or mem_fn.
7140         (function::_Callable): Use lvalue in result_of expression.
7141         (function): Remove TODO comments about allocators.
7142         * testsuite/20_util/function/cons/refqual.cc: New test.
7144 2016-08-04  Jonathan Wakely  <jwakely@redhat.com>
7146         * doc/xml/manual/status_cxx2017.xml: Update status table.
7147         * include/std/functional (__inv_unwrap): Move to <type_traits>.
7148         (__invoke_impl): Remove exception specifications.
7149         (__invoke, invoke): Add exception specifications using
7150         __is_nothrow_callable.
7151         * include/std/type_traits (__inv_unwrap): Move from <functional>.
7152         (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
7153         (__is_callable, __is_nothrow_callable): New traits.
7154         (is_callable, is_callable_v): New C++17 traits.
7155         (is_nothrow_callable, is_nothrow_callable_v): Likewise.
7156         * testsuite/20_util/is_callable/requirements/
7157         explicit_instantiation.cc: New test.
7158         * testsuite/20_util/is_callable/requirements/
7159         explicit_instantiation_ext.cc: New test.
7160         * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
7161         * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
7162         test.
7163         * testsuite/20_util/is_callable/value.cc: New test.
7164         * testsuite/20_util/is_callable/value_ext.cc: New test.
7165         * testsuite/20_util/is_nothrow_callable/requirements/
7166         explicit_instantiation.cc: New test.
7167         * testsuite/20_util/is_nothrow_callable/requirements/
7168         explicit_instantiation_ext.cc: New test.
7169         * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
7170         New test.
7171         * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
7172         New test.
7173         * testsuite/20_util/is_nothrow_callable/value.cc: New test.
7174         * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
7176         * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
7177         * doc/html/manual/status.html: Regenerate.
7179         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
7180         effective target not dg-options. Move check for feature-test macro to:
7181         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
7182         New test.
7184         * include/std/functional (_Unwrap): Rename to __inv_unwrap.
7185         (__invfwd): Adjust.
7186         (__invoke_impl): Remove unused template parameters.
7187         * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
7188         parameter.
7189         * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
7190         and test __invoke extension for C++11.
7192 2016-08-03  Jonathan Wakely  <jwakely@redhat.com>
7194         * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
7195         Define feature-test macro.
7196         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
7197         for the macro.
7199         * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
7200         * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
7201         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
7202         * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
7203         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
7205         * include/std/utility (as_const): Define.
7206         * testsuite/20_util/as_const/1.cc: New test.
7207         * testsuite/20_util/as_const/rvalue_neg.cc: New test.
7209         * include/bits/shared_ptr.h (owner_less): Add default template
7210         argument.
7211         * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
7212         specialization.
7213         (owner_less<void>): Define specialization.
7214         * include/bits/stl_function.h (__cpp_lib_transparent_operators):
7215         Update value.
7216         * testsuite/20_util/owner_less/void.cc: New test.
7217         * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
7219         * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
7220         Define feature-test macro.
7221         * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
7222         * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
7223         * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
7224         (__cpp_lib_type_trait_variable_templates): Define.
7226         * include/bits/stl_function.h: Remove commented-out macro.
7227         * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
7228         Define feature-test macro.
7229         * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
7231         * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
7232         C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
7233         true.
7234         * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
7235         do #error for C++17.
7236         * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
7237         of __STDCPP_WANT_MATH_SPEC_FUNCS__.
7238         * include/tr1/bessel_function.tcc: Likewise.
7239         * include/tr1/beta_function.tcc: Likewise.
7240         * include/tr1/cmath: Likewise.
7241         * include/tr1/ell_integral.tcc: Likewise.
7242         * include/tr1/exp_integral.tcc: Likewise.
7243         * include/tr1/gamma.tcc: Likewise.
7244         * include/tr1/hypergeometric.tcc: Likewise.
7245         * include/tr1/legendre_function.tcc: Likewise.
7246         * include/tr1/modified_bessel_func.tcc: Likewise.
7247         * include/tr1/poly_hermite.tcc: Likewise.
7248         * include/tr1/poly_laguerre.tcc: Likewise.
7249         * include/tr1/riemann_zeta.tcc: Likewise.
7250         * include/tr1/special_function_util.h: Likewise.
7251         * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
7253         * include/std/type_traits (has_trivial_default_constructor): Remove.
7254         (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
7255         * testsuite/20_util/has_trivial_copy_assign/requirements/
7256         explicit_instantiation.cc: Remove test.
7257         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
7258         line number.
7259         * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
7260         Likewise.
7261         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
7262         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7263         explicit_instantiation.cc: Likewise.
7264         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7265         typedefs.cc: Likewise.
7266         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
7267         * testsuite/20_util/has_trivial_default_constructor/requirements/
7268         explicit_instantiation.cc: Likewise.
7269         * testsuite/20_util/has_trivial_default_constructor/requirements/
7270         typedefs.cc: Likewise.
7271         * testsuite/20_util/has_trivial_default_constructor/value.cc:
7272         Likewise.
7273         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7274         Check has_trivial_default_constructor, has_trivial_copy_constructor,
7275         and has_trivial_copy_assign are not defined.
7276         * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
7277         tests.
7278         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
7279         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
7280         dg-error line number.
7281         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7282         Likewise.
7284 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7286         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
7287         Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
7288         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
7289         Likewise.
7290         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
7291         Likewise.
7292         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
7293         Likewise.
7294         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
7295         Likewise.
7296         * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
7297         Likewise.
7298         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
7299         Likewise.
7301         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
7302         comments.
7304         * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
7305         dg-error to relevant line.
7306         * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
7307         Likewise.
7308         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
7310         * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
7312         * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
7313         options are present that aren't valid for C.
7314         * testsuite/abi/header_cxxabi.c: Likewise.
7316         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
7317         check_value.cc: Do not add special functions to namespace std in TR1
7318         test.
7320         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
7321         run for C++11 and later.
7322         * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
7323         Likewise.
7324         * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
7325         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
7326         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
7327         * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
7328         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
7329         Likewise.
7330         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
7331         Likewise.
7332         * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
7333         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
7334         Likewise.
7335         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
7336         Likewise.
7337         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
7338         Likewise.
7339         * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
7340         * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
7341         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
7342         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
7343         * testsuite/special_functions/03_beta/compile.cc: Likewise.
7344         * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
7345         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
7346         * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
7347         Likewise.
7348         * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
7349         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
7350         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
7351         * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
7352         Likewise.
7353         * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
7354         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
7355         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
7356         * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
7357         Likewise.
7358         * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
7359         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
7360         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
7361         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
7362         Likewise.
7363         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
7364         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
7365         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
7366         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
7367         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
7368         Likewise.
7369         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
7370         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
7371         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
7372         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
7373         Likewise.
7374         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
7375         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
7376         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
7377         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
7378         * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
7379         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
7380         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
7381         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
7382         * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
7383         * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
7384         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
7385         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
7386         * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
7387         * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
7388         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
7389         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
7390         * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
7391         * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
7392         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
7393         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
7394         * testsuite/special_functions/14_expint/compile.cc: Likewise.
7395         * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
7396         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
7397         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
7398         * testsuite/special_functions/15_hermite/compile.cc: Likewise.
7399         * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
7400         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
7401         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
7402         * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
7403         * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
7404         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
7405         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
7406         * testsuite/special_functions/17_legendre/compile.cc: Likewise.
7407         * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
7408         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
7409         * testsuite/special_functions/18_riemann_zeta/check_value.cc:
7410         Likewise.
7411         * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
7412         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
7413         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
7414         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
7415         * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
7416         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
7417         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
7418         * testsuite/special_functions/20_sph_legendre/check_value.cc:
7419         Likewise.
7420         * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
7421         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
7422         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
7423         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
7424         * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
7425         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
7427         * testsuite/tr1/5_numerical_facilities/special_functions/
7428         08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
7429         of [[gnu::unused]].
7430         * testsuite/tr1/5_numerical_facilities/special_functions/
7431         09_cyl_bessel_j/check_value.cc: Likewise.
7432         * testsuite/tr1/5_numerical_facilities/special_functions/
7433         10_cyl_bessel_k/check_value.cc: Likewise.
7434         * testsuite/tr1/5_numerical_facilities/special_functions/
7435         11_cyl_neumann/check_value.cc: Likewise.
7436         * testsuite/tr1/5_numerical_facilities/special_functions/
7437         21_sph_bessel/check_value.cc: Likewise.
7438         * testsuite/tr1/5_numerical_facilities/special_functions/
7439         23_sph_neumann/check_value.cc: Likewise.
7441 2016-08-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7443         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
7444         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
7445         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
7446         * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
7447         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
7448         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
7450 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7452         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
7453         test if -flto used.
7455         * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
7456         additional flags for compiling libtestc++.a objects.
7458 2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
7460         * include/bits/basic_string.h (data() const): Update comment.
7461         (data()): Add non-const overload for C++17.
7462         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
7463         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
7465         * include/bits/basic_string.tcc: Disable explicit instantiation
7466         declarations for C++17.
7468         * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
7469         ignored "xfail" from { dg-do compile { xfail selector } } directive.
7470         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
7471         Likewise.
7472         * testsuite/26_numerics/headers/cmath/
7473         c99_classification_macros_c++11.cc: Likewise.
7474         * testsuite/26_numerics/headers/cmath/
7475         c99_classification_macros_c++98.cc: Likewise.
7476         * testsuite/26_numerics/headers/cmath/
7477         c99_classification_macros_c.cc: Likewise.
7479         * testsuite/backward/hash_set/check_construct_destroy.cc: Account
7480         for different construct/destroy counts in C++98 mode.
7482         * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
7484         * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
7485         later.
7486         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
7487         Likewise.
7489         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
7490         C++98-compatible initialization for array.
7492         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
7493         unused header and variable from compile-only test.
7494         * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
7495         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
7496         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
7497         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
7498         Likewise.
7500         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
7501         Remove duplicate dg-options directive.
7503         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
7504         808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
7506         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
7507         linker options from compile-only tests.
7508         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7509         Likewise.
7511         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
7512         supported for C++11 and later.
7513         * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
7514         * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
7516 2016-08-01  Uros Bizjak  <ubizjak@gmail.com>
7518         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
7520 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7522         * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
7523         compile-only test.
7525         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7526         Ensure test is compiled with optimization.
7528         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7529         Adjust dg-prune-output pattern for error in C++98 mode.
7531         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
7532         run for C++11 or later.
7534         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
7535         test to not rely on GNU extension (escaped normal characters in POSIX
7536         BRE). Enable tests for other strings which are now supported.
7538         * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
7539         c++11 instead of setting -std=gnu++14.
7541         PR libstdc++/72745
7542         * include/std/array (get): Use positive message for static assertions.
7543         * include/std/functional (_Safe_tuple_element_t): Fix indentation.
7544         * include/std/tuple (tuple_element<I, tuple<>>): Add partial
7545         specialization for invalid indices, with static assertion.
7546         * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
7548         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
7549         dg-error to relevant line.
7550         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7551         Likewise.
7552         * testsuite/23_containers/forward_list/requirements/dr438/
7553         assign_neg.cc: Likewise.
7554         * testsuite/23_containers/forward_list/requirements/dr438/
7555         constructor_1_neg.cc: Likewise.
7556         * testsuite/23_containers/forward_list/requirements/dr438/
7557         constructor_2_neg.cc: Likewise.
7558         * testsuite/23_containers/forward_list/requirements/dr438/
7559         insert_neg.cc: Likewise.
7560         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
7561         Likewise.
7562         * testsuite/26_numerics/random/linear_congruential_engine/
7563         requirements/non_uint_neg.cc: Likewise.
7564         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
7565         Likewise. Also test for std::atomic_address.
7567 2016-07-31  Ville Voutilainen  <ville.voutilainen@gmail.com>
7569         Add missing variable traits, fix testsuite failures.
7570         * include/bits/uses_allocator.h (uses_allocator_v): New.
7571         * include/std/functional (is_bind_expression_v, is_placeholder_v):
7572         Likewise.
7573         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
7574         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
7575         * testsuite/20_util/duration/literals/range.cc: Likewise.
7576         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
7577         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
7578         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
7579         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
7580         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7581         Likewise.
7582         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
7583         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
7584         New.
7586 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7588         * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
7589         not test 128-bit types.
7590         * testsuite/20_util/is_floating_point/value.cc: Likewise.
7591         * testsuite/20_util/is_integral/value.cc: Likewise.
7592         * testsuite/20_util/is_signed/value.cc: Likewise.
7593         * testsuite/20_util/is_unsigned/value.cc: Likewise.
7594         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
7595         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
7596         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
7597         Likewise.
7598         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7599         Likewise.
7601         * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
7603 2016-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
7605         Implement C++17 variable templates for type traits.
7606         * include/std/chrono (treat_as_floating_point_v): New.
7607         * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
7608         (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
7609         (ratio_greater_equal_v): Likewise.
7610         * include/std/system_error (is_error_code_enum_v)
7611         (is_error_condition_enum_v): Likewise.
7612         * include/std/tuple (tuple_size_v): Likewise.
7613         * type_traits (conjunction_v, disjunction_v, negation_v)
7614         (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
7615         (is_array_v, is_pointer_v, is_lvalue_reference_v)
7616         (is_rvalue_reference_v, is_member_object_pointer_v)
7617         (is_member_function_pointer_v, is_enum_v, is_union_v)
7618         (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
7619         (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
7620         (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
7621         (is_trivially_copyable_v, is_standard_layout_v)
7622         (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
7623         (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
7624         (is_constructible_v, is_default_constructible_v)
7625         (is_copy_constructible_v, is_move_constructible_v)
7626         (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
7627         (is_destructible_v, is_trivially_constructible_v)
7628         (is_trivially_default_constructible_v)
7629         (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
7630         (is_trivially_assignable_v, is_trivially_copy_assignable_v)
7631         (is_trivially_move_assignable_v, is_trivially_destructible_v)
7632         (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
7633         (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
7634         (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
7635         (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
7636         (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
7637         (is_same_v, is_base_of_v, is_convertible_v): Likewise.
7638         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
7639         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
7640         Likewise.
7641         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
7642         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
7643         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
7645 2016-07-29  Andreas Schwab  <schwab@linux-m68k.org>
7647         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
7648         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
7649         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
7651 2016-07-29  Jonathan Wakely  <jwakely@redhat.com>
7653         * doc/xml/manual/abi.xml: Document 6.0.22 library version.
7654         * doc/html/manual/abi.html: Regenerate.
7656         * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
7657         * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
7658         symbols.
7659         * configure: Regenerate.
7660         * testsuite/util/testsuite_abi.cc: Add new symbol version.
7662         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
7663         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
7664         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
7665         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
7666         Likewise.
7667         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
7668         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
7669         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
7671 2016-07-28  Jonathan Wakely  <jwakely@redhat.com>
7673         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
7674         Adjust dg-prune-output pattern for error in C++98 mode.
7675         * testsuite/23_containers/deque/requirements/dr438/
7676         constructor_1_neg.cc: Likewise.
7677         * testsuite/23_containers/deque/requirements/dr438/
7678         constructor_2_neg.cc: Likewise.
7679         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
7680         Likewise.
7681         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
7682         Likewise.
7683         * testsuite/23_containers/list/requirements/dr438/
7684         constructor_1_neg.cc: Likewise.
7685         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7686         Likewise.
7687         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
7688         Likewise.
7689         * testsuite/23_containers/vector/requirements/dr438/
7690         constructor_1_neg.cc: Likewise.
7691         * testsuite/23_containers/vector/requirements/dr438/
7692         constructor_2_neg.cc: Likewise.
7693         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
7694         Likewise.
7696         * testsuite/23_containers/vector/check_construct_destroy.cc: Account
7697         for different construct/destroy counts in C++98 mode.
7699         * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
7700         dg-options to dg-additional-options so that default options are used.
7701         * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
7702         Likewise.
7703         * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
7704         * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
7705         Likewise.
7706         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7707         Use dg-additional-options instead of repeating the common options.
7709         * testsuite/22_locale/conversions/string/1.cc: Remove unintended
7710         dg-do compile directive.
7711         * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
7712         dg-do directive.
7713         * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
7715 2016-07-28  Ville Voutilainen  <ville.voutilainen@gmail.com>
7717         Implement std::string_view and P0254r2,
7718         Integrating std::string_view and std::string.
7719         * include/Makefile.am: Add string_view and string_view.tcc
7720         to the exported headers.
7721         * include/Makefile.in: Likewise.
7722         * include/bits/basic_string.h: Include <string_view> in C++17 mode.
7723         (__sv_type): New.
7724         (basic_string(__sv_type, const _Alloc&)): Likewise.
7725         (operator=(__sv_type)): Likewise.
7726         (operator __sv_type()): Likewise.
7727         (operator+=(__sv_type)): Likewise.
7728         (append(__sv_type __sv)): Likewise.
7729         (append(__sv_type, size_type, size_type)): Likewise.
7730         (assign(__sv_type)): Likewise.
7731         (assign(__sv_type, size_type, size_type)): Likewise.
7732         (insert(size_type, __sv_type)): Likewise.
7733         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
7734         (replace(size_type, size_type, __sv_type)): Likewise.
7735         (replace(size_type, size_type, __sv_type, size_type, size_type)):
7736         Likewise.
7737         (replace(const_iterator, const_iterator, __sv_type)): Likewise.
7738         (find(__sv_type, size_type)): Likewise.
7739         (rfind(__sv_type, size_type)): Likewise.
7740         (find_first_of(__sv_type, size_type)): Likewise.
7741         (find_last_of(__sv_type, size_type)): Likewise.
7742         (find_first_not_of(__sv_type, size_type)): Likewise.
7743         (find_last_not_of(__sv_type, size_type)): Likewise.
7744         (compare(__sv_type)): Likewise.
7745         (compare(size_type, size_type, __sv_type)): Likewise.
7746         (compare(size_type, size_type, __sv_type, size_type, size_type)):
7747         Likewise.
7748         * include/bits/string_view.tcc: New.
7749         * include/std/string_view: Likewise.
7750         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
7751         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
7752         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
7753         Likewise.
7754         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
7755         Likewise.
7756         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
7757         Likewise.
7758         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
7759         Likewise.
7760         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
7761         Likewise.
7762         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
7763         Likewise.
7764         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7765         Likewise.
7766         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
7767         Likewise.
7768         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
7769         Likewise.
7770         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
7771         Likewise.
7772         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
7773         Likewise.
7774         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
7775         Likewise.
7776         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
7777         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
7778         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
7779         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
7780         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
7781         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
7782         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
7783         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
7784         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
7785         * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
7786         Likewise.
7787         * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
7788         Likewise.
7789         * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
7790         Likewise.
7791         * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
7792         Likewise.
7793         * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
7794         Likewise.
7795         * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
7796         Likewise.
7797         * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
7798         Likewise.
7799         * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
7800         Likewise.
7801         * testsuite/21_strings/basic_string_view/include.cc: Likewise.
7802         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
7803         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
7804         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
7805         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
7806         Likewise.
7807         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
7808         Likewise.
7809         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
7810         Likewise.
7811         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
7812         Likewise.
7813         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
7814         Likewise.
7815         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
7816         Likewise.
7817         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
7818         Likewise.
7819         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
7820         Likewise.
7821         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
7822         Likewise.
7823         * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
7824         Likewise.
7825         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
7826         Likewise.
7827         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
7828         Likewise.
7829         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
7830         Likewise.
7831         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
7832         Likewise.
7833         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
7834         Likewise.
7835         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
7836         Likewise.
7837         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
7838         Likewise.
7839         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
7840         Likewise.
7841         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
7842         Likewise.
7843         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
7844         Likewise.
7845         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
7846         Likewise.
7847         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
7848         Likewise.
7849         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
7850         Likewise.
7851         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
7852         Likewise.
7853         * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
7854         Likewise.
7855         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
7856         Likewise.
7857         * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
7858         Likewise.
7859         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
7860         Likewise.
7861         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
7862         Likewise.
7863         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
7864         Likewise.
7865         * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
7866         Likewise.
7867         * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
7868         Likewise.
7869         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
7870         Likewise.
7871         * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
7872         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
7873         Likewise.
7874         * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
7875         Likewise.
7876         * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
7877         Likewise.
7878         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
7879         Likewise.
7880         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
7881         Likewise.
7882         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
7883         Likewise.
7884         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
7885         Likewise.
7886         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
7887         Likewise.
7888         * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
7889         Likewise.
7890         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
7891         * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
7893 2016-07-27  Jonathan Wakely  <jwakely@redhat.com>
7895         * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
7897 2016-07-25  Georeth Chow  <georeth2010@gmail.com>
7899         * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
7900         _S_concat enumerator.
7901         * testsuite/ext/rope/6.cc: New test.
7903 2016-07-25  Jonathan Wakely  <jwakely@redhat.com>
7905         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
7906         std::mt19937, std::thread and std::atomic to simplify test.
7907         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
7909 2016-07-22  Jonathan Wakely  <jwakely@redhat.com>
7911         PR libstdc++/71964
7912         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
7913         (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
7914         * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
7915         * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
7916         * testsuite/23_containers/set/allocator/71964.cc: New test.
7918         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
7919         delete[] instead of delete.
7921 2016-07-21  Jonathan Wakely  <jwakely@redhat.com>
7923         * include/experimental/propagate_const (propagate_const::__t): Rename
7924         to _M_t and remove comment. Qualify std::move and std::forward.
7925         * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
7927         * testsuite/23_containers/vector/zero_sized_allocations.cc:
7928         Define sized deallocation function.
7929         * testsuite/util/testsuite_new_operators.h:
7930         (operator delete(void*, const std::nothrow_t&)): Define nothrow
7931         deallocation function.
7933         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
7934         reads past the end of strings.
7935         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
7936         Likewise.
7937         * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
7938         invalid array accesses.
7939         * testsuite/experimental/string_view/operations/compare/char/1.cc:
7940         Fix read past the end of string.
7941         * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
7943         * testsuite/24_iterators/container_access.cc: Fix missing returns.
7944         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
7946         * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
7947         leak) memory for arguments to placement delete.
7948         * testsuite/20_util/addressof/1.cc: Don't leak memory.
7949         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
7950         * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
7951         Likewise.
7953 2016-07-20  Jonathan Wakely  <jwakely@redhat.com>
7955         * doc/xml/manual/intro.xml: Document DR 2684 status.
7956         * doc/html/*: Regenerate.
7958         * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
7959         (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
7960         (atomic_uint64_t): Define (LWG 2441).
7961         * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
7962         lines.
7963         * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
7964         the new types.
7965         * doc/xml/manual/intro.xml: Document DR 2441 status.
7967         * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
7968         to use perfect forwarding (LWG 2328).
7969         * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
7970         * doc/xml/manual/intro.xml: Document DR 2328 status.
7972         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
7973         static objects for catching nullptr as pointer to member types.
7975 2016-07-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
7977         Clean up optional's comments.
7978         * include/std/optional: Remove incorrect section headers
7979         from comments when redundant, replace bare section
7980         headers with more descriptive comments.
7982 2016-07-15  Jonathan Wakely  <jwakely@redhat.com>
7984         * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
7985         * include/bits/move.h: Likewise.
7986         * include/bits/postypes.h: Likewise.
7987         * include/debug/bitset: Likewise.
7988         * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
7989         * include/ext/string_conversions.h: Change C++0x to __cxx11 in
7990         comment.
7991         * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
7992         * testsuite/util/thread/all.h: Likewise.
7994         * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
7995         and adjust comment.
7997         PR c++/58796
7998         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
7999         nullptr match handlers of pointer type.
8001 2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
8003         Implement C++17 P0025 clamp.
8004         * include/bits/algorithmfwd.h: Declare clamp overloads.
8005         * include/bits/stl_algo.h: Implement clamp.  Feature __cpp_lib_clamp.
8006         * testsuite/25_algorithms/clamp/1.cc: New test.
8007         * testsuite/25_algorithms/clamp/2.cc: New test.
8008         * testsuite/25_algorithms/clamp/constexpr.cc: New test.
8009         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
8010         1.cc: New test.
8011         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
8012         pod.cc: New test.
8014 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
8016         Fix the constraints for any's assignment operator template to properly
8017         reject assignment from a non-copyable lvalue.
8018         * include/std/any (operator=(_ValueType&&)): Constrain the decayed
8019         type for is_copy_constructible,
8020         * testsuite/20_util/any/requirements.cc: Add a test for
8021         non-copyable lvalues.
8023 2016-07-14  Jonathan Wakely  <jwakely@redhat.com>
8025         * include/experimental/functional: Include <parallel/algorithm> in
8026         Parallel Mode.
8028         * testsuite/experimental/functional/searchers.cc: Include <algorithm>
8029         for std::search.
8031         PR libstdc++/70716
8032         * include/bits/forward_list.h (forward_list): Update doxygen comments
8033         to reflect allocator propagation semantics. Remove ambiguous
8034         statements about data being lost.
8035         * include/bits/stl_deque.h (deque): Likewise.
8036         * include/bits/stl_list.h (list): Likewise.
8037         * include/bits/stl_map.h (map): Likewise.
8038         * include/bits/stl_multimap.h (multimap): Likewise.
8039         * include/bits/stl_multiset.h (multiset): Likewise.
8040         * include/bits/stl_set.h (set): Likewise.
8041         * include/bits/stl_vector.h (vector): Likewise.
8042         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
8043         Likewise.
8044         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
8045         Likewise.
8047 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
8049         Implement P0032R3, Homogeneous interface for variant, any and optional,
8050         for the parts concerning any and optional.
8051         * include/std/any (_Storage()): Make constexpr and have it
8052         initialize _M_ptr.
8053         (any()): Make constexpr.
8054         (any(const any&)): Adjust.
8055         (any(any&&)): Likewise.
8056         (__any_constructible_t): New.
8057         (any(_ValueType&&)): Constrain.
8058         (any(in_place_type_t<_Tp>, _Args&&...)): New.
8059         (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
8060         Likewise.
8061         (~any()): Adjust.
8062         (operator=(const any&)): Likewise.
8063         (operator=(any&&)): Likewise.
8064         (operator=(_ValueType&&)): Constrain.
8065         (emplace(_Args&&...)): New.
8066         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
8067         (clear()): Remove.
8068         (reset()): New.
8069         (swap(any&)): Adjust.
8070         (empty()): Remove.
8071         (has_value()): New.
8072         (type()): Adjust.
8073         (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
8074         (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
8075         (make_any(_Args&&...)): Likewise.
8076         (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
8077         * include/std/optional (in_place_t, in_place): Remove.
8078         (bad_optional_access): Add a comment referring to LEWG 72.
8079         (emplace(_Args&&...)): Constrain.
8080         (has_value()): New.
8081         (reset()): Likewise.
8082         (make_optional(_Args&&...)): Likewise.
8083         (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
8084         * include/std/utility (in_place_tag): New.
8085         (__in_place, __in_place_type, __in_place_index): Likewise.
8086         (in_place_t, in_place_type_t, in_place_index_t): Likewise.
8087         (in_place(__in_place*)): Likewise.
8088         (in_place(__in_place_type<_Tp>*)): Likewise.
8089         (in_place(__in_place_index<_Idx>*)): Likewise.
8090         * testsuite/20_util/any/assign/1.cc: Adjust.
8091         * testsuite/20_util/any/assign/emplace.cc: New.
8092         * testsuite/20_util/any/assign/self.cc: Adjust.
8093         * testsuite/20_util/any/cons/1.cc: Likewise.
8094         * testsuite/20_util/any/cons/in_place.cc: New.
8095         * testsuite/20_util/any/make_any.cc: Likewise.
8096         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
8097         * testsuite/20_util/any/misc/swap.cc: Likewise.
8098         * testsuite/20_util/any/modifiers/1.cc: Likewise.
8099         * testsuite/20_util/any/requirements.cc: New.
8100         * testsuite/20_util/in_place/requirements.cc: Likewise.
8101         * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
8102         * testsuite/20_util/optional/in_place.cc: Likewise.
8103         * testsuite/20_util/optional/make_optional.cc: Add tests for
8104         the new overloads of make_optional.
8106 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
8108         Implement P0307R2, Making Optional Greater Equal Again.
8109         * include/experimental/optional (_Has_addressof): Fix the comment.
8110         * include/std/optional (_Has_addressof): Likewise.
8111         (operator=(_Up&&)): Constrain.
8112         (operator=(const optional<_Up>&)): Likewise.
8113         (operator=(optional<_Up>&&)): Likewise.
8114         (__optional_relop_t): New.
8115         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8116         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
8117         Constrain and make transparent.
8118         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8119         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
8120         Constrain and make transparent.
8121         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8122         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8123         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
8124         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
8125         (operator!=(const optional<_Tp>&, _Tp const&)):
8126         Constrain and make transparent.
8127         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
8128         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
8129         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
8130         (operator>(const optional<_Tp>&, const _Tp&)):
8131         Constrain and make transparent.
8132         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
8133         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
8134         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
8135         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
8136         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
8137         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
8138         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8139         * testsuite/20_util/optional/relops/1.cc: Likewise.
8140         * testsuite/20_util/optional/relops/2.cc: Likewise.
8141         * testsuite/20_util/optional/relops/3.cc: Likewise.
8142         * testsuite/20_util/optional/relops/4.cc: Likewise.
8143         * testsuite/20_util/optional/requirements.cc: Add tests to verify
8144         that optional's relops are transparent and don't synthesize
8145         operators. Also test that assignment sfinaes.
8147 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8149         PR libstdc++/71856
8150         * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
8151         * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
8152         Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
8153         on _GLIBCXX_ASSERTIONS.
8154         * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
8155         Include <unistd.h> for sleep.
8156         * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
8157         * include/parallel/merge.h: Likewise.
8158         * include/parallel/multiway_merge.h: Likewise.
8159         * include/parallel/partition.h: Likewise.
8160         * include/parallel/queue.h: Likewise.
8161         * include/parallel/sort.h: Likewise.
8162         * testsuite/25_algorithms/headers/algorithm/
8163         parallel_algorithm_assert.cc: New.
8165         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
8166         (replace(__const_iterator, __const_iterator, initializer_list<C>)):
8167         Forward to different overload.
8169         * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
8170         static.
8172 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8174         Revert "Add non-const overload of std::string::data()".
8176 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
8178         Implement P0307R2, Making Optional Greater Equal Again.
8179         * include/experimental/optional (_Has_addressof): Fix the comment.
8180         * include/std/optional (_Has_addressof): Likewise.
8181         (operator=(_Up&&)): Constrain.
8182         (operator=(const optional<_Up>&)): Likewise.
8183         (operator=(optional<_Up>&&)): Likewise.
8184         (__optional_relop_t): New.
8185         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8186         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
8187         Constrain and make transparent.
8188         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8189         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
8190         Constrain and make transparent.
8191         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8192         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8193         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
8194         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
8195         (operator!=(const optional<_Tp>&, _Tp const&)):
8196         Constrain and make transparent.
8197         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
8198         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
8199         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
8200         (operator>(const optional<_Tp>&, const _Tp&)):
8201         Constrain and make transparent.
8202         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
8203         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
8204         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
8205         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
8206         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
8207         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
8208         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8209         * testsuite/20_util/optional/relops/1.cc: Likewise.
8210         * testsuite/20_util/optional/relops/2.cc: Likewise.
8211         * testsuite/20_util/optional/relops/3.cc: Likewise.
8212         * testsuite/20_util/optional/relops/4.cc: Likewise.
8213         * testsuite/20_util/optional/requirements.cc: Add tests to verify
8214         that optional's relops are transparent and don't synthesize
8215         operators. Also test that assignment sfinaes.
8217 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8219         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
8220         New function.
8221         (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
8222         instead of _M_data().
8223         (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
8224         Likewise.
8225         (append(const basic_string&)): Likewise.
8226         (append(const basic_string&, size_type, size_type)): Likewise.
8227         (assign(const basic_string&, size_type, size_type)): Likewise.
8228         (insert(size_type, const basic_string&)): Likewise.
8229         (insert(size_type, const basic_string&, size_type, size_type)):
8230         Likewise.
8231         (replace(size_type, size_type, const basic_string&, size_type,
8232         size_type)): Likewise.
8233         (replace(__const_iterator, __const_iterator, const basic_string&)):
8234         Likewise.
8235         (c_str(), data()): Use c_str() instead of _M_data().
8236         (data()): Add non-const overload as per LWG 2391 and P0272R1.
8237         (compare(const basic_string&)): Use data() instead of _M_data().
8238         [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
8239         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
8240         Pass raw pointers to _S_copy.
8241         (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
8242         _S_assign.
8243         (find(const _CharT*, size_type, size_type)): Use data instead of
8244         _M_data().
8245         * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
8246         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
8247         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
8249 2016-07-12  Jonathan Wakely  <jwakely@redhat.com>
8251         * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
8252         * doc/xml/manual/intro.xml: Document DR 2458 status.
8253         * doc/html*: Regenerate.
8255         * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
8256         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8257         Only include <array>.
8258         * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
8259         Likewise.
8260         * doc/xml/manual/intro.xml: Document LWG 2212 support.
8261         * doc/html*: Regenerate.
8263         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8264         Add testcase from LWG 2164.
8266 2016-07-11  François Dumont  <fdumont@gcc.gnu.org>
8268         * include/bits/stl_vector.h (push_back(const value_type&)): Forward
8269         to _M_realloc_insert.
8270         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8271         (_M_realloc_insert): Declare new function.
8272         (_M_emplace_back_aux): Remove definition.
8273         * include/bits/vector.tcc (emplace_back(_Args...)):
8274         Use _M_realloc_insert.
8275         (insert(const_iterator, const value_type&)): Likewise.
8276         (_M_insert_rval, _M_emplace_aux): Likewise.
8277         (_M_emplace_back_aux): Remove declaration.
8278         (_M_realloc_insert): Define.
8279         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8280         Adjust expected results for emplacing an lvalue with reallocation.
8282 2016-07-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
8284         Implement std::optional.
8285         * include/Makefile.am: Add optional to exported headers.
8286         * include/Makefile.in: Likewise.
8287         * include/std/optional: New.
8288         * testsuite/20_util/optional/typedefs.cc: Likewise.
8289         * testsuite/20_util/optional/relops/2.cc: Likewise.
8290         * testsuite/20_util/optional/relops/3.cc: Likewise.
8291         * testsuite/20_util/optional/relops/4.cc: Likewise.
8292         * testsuite/20_util/optional/relops/5.cc: Likewise.
8293         * testsuite/20_util/optional/relops/1.cc: Likewise.
8294         * testsuite/20_util/optional/relops/6.cc: Likewise.
8295         * testsuite/20_util/optional/nullopt.cc: Likewise.
8296         * testsuite/20_util/optional/in_place.cc: Likewise.
8297         * testsuite/20_util/optional/make_optional.cc: Likewise.
8298         * testsuite/20_util/optional/assignment/2.cc: Likewise.
8299         * testsuite/20_util/optional/assignment/3.cc: Likewise.
8300         * testsuite/20_util/optional/assignment/4.cc: Likewise.
8301         * testsuite/20_util/optional/assignment/5.cc: Likewise.
8302         * testsuite/20_util/optional/assignment/1.cc: Likewise.
8303         * testsuite/20_util/optional/assignment/6.cc: Likewise.
8304         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
8305         * testsuite/20_util/optional/cons/default.cc: Likewise.
8306         * testsuite/20_util/optional/cons/move.cc: Likewise.
8307         * testsuite/20_util/optional/cons/value.cc: Likewise.
8308         * testsuite/20_util/optional/cons/copy.cc: Likewise.
8309         * testsuite/20_util/optional/requirements.cc: Likewise.
8310         * testsuite/20_util/optional/observers/2.cc: Likewise.
8311         * testsuite/20_util/optional/observers/3.cc: Likewise.
8312         * testsuite/20_util/optional/observers/4.cc: Likewise.
8313         * testsuite/20_util/optional/observers/5.cc: Likewise.
8314         * testsuite/20_util/optional/observers/1.cc: Likewise.
8315         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
8316         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
8317         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8318         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
8319         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
8320         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
8321         * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
8322         * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
8323         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
8324         * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
8325         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
8326         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
8327         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
8328         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
8329         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
8330         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
8331         * testsuite/20_util/optional/swap/1.cc: Likewise.
8333 2016-07-08  Jonathan Wakely  <jwakely@redhat.com>
8335         * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
8337 2016-07-07  Jonathan Wakely  <jwakely@redhat.com>
8339         * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
8340         * doc/html/*: Regenerate.
8342 2016-07-07  Ville Voutilainen  <ville.voutilainen@gmail.com>
8344         Implement std::any.
8345         * include/Makefile.am: Add any and c++17_warning.h to exported headers.
8346         * include/Makefile.in: Likewise.
8347         * include/std/any: New.
8348         * testsuite/20_util/any/assign/1.cc: Likewise.
8349         * testsuite/20_util/any/assign/2.cc: Likewise.
8350         * testsuite/20_util/any/assign/self.cc: Likewise.
8351         * testsuite/20_util/any/cons/1.cc: Likewise.
8352         * testsuite/20_util/any/cons/2.cc: Likewise.
8353         * testsuite/20_util/any/cons/aligned.cc: Likewise.
8354         * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
8355         * testsuite/20_util/any/misc/any_cast.cc: Likewise.
8356         * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
8357         * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
8358         * testsuite/20_util/any/misc/swap.cc: Likewise.
8359         * testsuite/20_util/any/modifiers/1.cc: Likewise.
8360         * testsuite/20_util/any/observers/type.cc: Likewise.
8361         * testsuite/20_util/any/typedefs.cc: Likewise.
8363 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8365         Add a new header for diagnosing the use of C++17 facilities
8366         in pre-C++17 modes.
8367         * include/bits/c++17_warning.h: New.
8369 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8371         Implement LWG 2451, optional<T> should 'forward' T's
8372         implicit conversions.
8373         * include/experimental/optional (__is_optional_impl, __is_optional):
8374         New.
8375         (optional()): Make constexpr and default.
8376         (optional(_Up&&), optional(const optional<_Up>&),
8377         optional(optional<_Up>&& __t): New.
8378         (operator=(_Up&&)): Constrain.
8379         (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
8380         * testsuite/experimental/optional/cons/value.cc:
8381         Add tests for the functionality added by LWG 2451.
8382         * testsuite/experimental/optional/cons/value_neg.cc: New.
8384 2016-07-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8386         Implement LWG 2509,
8387         any_cast doesn't work with rvalue reference targets and cannot
8388         move with a value target.
8389         * include/experimental/any (any(_ValueType&&)): Constrain and
8390         add an overload that doesn't forward.
8391         (any_cast(any&&)): Constrain and add an overload that moves.
8392         * testsuite/experimental/any/misc/any_cast.cc: Add tests for
8393         the functionality added by LWG 2509.
8395 2016-07-04  François Dumont  <fdumont@gcc.gnu.org>
8397         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8398         New test.
8399         * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
8400         test.
8402 2016-07-04  Jonathan Wakely  <jwakely@redhat.com>
8404         * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
8405         Define inline. Forward to _M_emplace_aux.
8406         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8407         (_M_insert_rval, _M_emplace_aux): Declare new functions.
8408         (_Temporary_value): New RAII type using allocator to construct/destroy.
8409         (_S_insert_aux_assign): Remove.
8410         (_M_insert_aux): Make non-variadic.
8411         * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
8412         Use _Temporary_value.
8413         (emplace(const_iterator, _Args&&...)): Remove definition.
8414         (_M_insert_rval, _M_emplace_aux): Define.
8415         (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
8416         (_M_fill_insert): Use _Temporary_value.
8417         * testsuite/23_containers/vector/allocator/construction.cc: New test.
8418         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8419         Adjust expected results for emplacing an lvalue with reallocation.
8420         * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
8421         expected results to account for construction/destruction of temporary
8422         using allocator.
8423         * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
8425 2016-07-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
8427         PR libstdc++/71313
8428         * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
8429         Call remove_all for children of a directory.
8430         * testsuite/experimental/filesystem/operations/create_directories.cc:
8431         Adjust.
8433 2016-07-02  François Dumont  <fdumont@gcc.gnu.org>
8435         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
8436         dg-error line numbers.
8437         * testsuite/23_containers/array/tuple_interface/
8438         tuple_element_debug_neg.cc: Likewise.
8439         * testsuite/25_algorithms/lexicographical_compare/debug/
8440         irreflexive_neg.cc: Remove.
8442 2016-06-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8444         * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
8445         than specific target.
8447 2016-06-27  François Dumont  <fdumont@gcc.gnu.org>
8449         PR libstdc++/71640
8450         * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
8451         friend declaration.
8453 2016-06-23  François Dumont  <fdumont@gcc.gnu.org>
8455         * include/debug/array (array<>::swap): Fix noexcept qualificaton for
8456         zero-size array.
8458 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8460         * configure.host: Remove mep-* support.
8462 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8464         * configure: Regenerate.
8465         * configure.host: Remove support for knetbsd.
8466         * crossconfig.m4: Likewise.
8468 2016-06-20  François Dumont  <fdumont@gcc.gnu.org>
8470         PR libstdc++/71181
8471         * include/tr1/hashtable_policy.h
8472         (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
8473         dereferenceable to avoid check on lower_bound result.
8474         (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
8475         (_Prime_rehash_policy::_M_need_rehash): Likewise.
8476         * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
8477         Always return a value greater than input value. Set _M_next_resize to
8478         max value when reaching highest prime number.
8479         * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
8480         being now useless.
8481         * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
8482         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
8483         (test02): New.
8484         * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
8485         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8486         Fix indentation.
8488 2016-06-17  Jonathan Wakely  <jwakely@redhat.com>
8490         PR libstdc++/71545
8491         * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
8492         Remove irreflexive checks.
8493         * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
8494         binary_search): Likewise.
8495         * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
8496         * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
8497         * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
8498         * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
8499         * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
8500         Add constructor from array.
8502 2016-06-16  François Dumont  <fdumont@gcc.gnu.org>
8504         * include/debug/debug.h
8505         (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
8506         (__glibcxx_requires_subscript): Move...
8507         * include/debug/assertions.h: ...here and add __builtin_expect.
8508         (_GLIBCXX_DEBUG_ONLY): Remove ; value.
8509         * include/bits/stl_deque.h
8510         (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
8511         (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
8512         (std::deque<>::back()): Likewise.
8513         (std::deque<>::pop_front()): Likewise.
8514         (std::deque<>::pop_back()): Likewise.
8515         (std::deque<>::swap(deque&)): Add allocator check.
8516         * include/bits/stl_vector.h
8517         (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
8518         (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
8519         (std::vector<>::back()): Likewise.
8520         (std::vector<>::pop_back()): Likewise.
8521         (std::vector<>::swap(vector&)): Add allocator check.
8523 2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>
8525         Provide swappable traits (p0185r1)
8526         * include/std/type_traits (is_swappable, is_nothrow_swappable,
8527         is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
8528         is_nothrow_swappable_v, is_swappable_with_v,
8529         is_nothrow_swappable_with_v): New.
8530         * include/bits/stl_pair.h: Use it as per p0185r1.
8531         * include/bits/stl_queue.h: Likewise.
8532         * include/bits/stl_stack.h: Likewise.
8533         * include/bits/unique_ptr.h: Likewise.
8534         * include/std/tuple: Likewise.
8535         * include/std/array: Likewise. Fix zero-size member swap.
8536         * include/bits/hashtable.h: Use __and_.
8537         * testsuite/20_util/is_nothrow_swappable/requirements/
8538         explicit_instantiation.cc: Change test options to std=gnu++17.
8539         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
8540         Likewise.
8541         * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
8542         * testsuite/20_util/is_swappable/requirements/
8543         explicit_instantiation.cc: Likewise.
8544         * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
8545         * testsuite/20_util/is_swappable/value.cc: Likewise.
8546         * testsuite/20_util/is_nothrow_swappable/requirements/
8547         explicit_instantiation_ext.cc: New.
8548         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
8549         New.
8550         * testsuite/20_util/is_nothrow_swappable/value.h: New.
8551         * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
8552         * testsuite/20_util/is_nothrow_swappable_with/requirements/
8553         explicit_instantiation.cc: New.
8554         * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
8555         New.
8556         * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
8557         * testsuite/20_util/is_swappable/requirements/
8558         explicit_instantiation_ext.cc: New.
8559         * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
8560         * testsuite/20_util/is_swappable/value.h: New.
8561         * testsuite/20_util/is_swappable/value_ext.cc: New.
8562         * testsuite/20_util/is_swappable_with/requirements/
8563         explicit_instantiation.cc: New.
8564         * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
8565         * testsuite/20_util/is_swappable_with/value.cc: New.
8566         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
8567         dg-error line numbers.
8568         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
8569         Likewise.
8571 2016-06-16  Jonathan Wakely  <jwakely@redhat.com>
8573         * include/std/array: Remove trailing whitespace.
8574         * include/std/atomic: Likewise.
8575         * include/std/bitset: Likewise.
8576         * include/std/chrono: Likewise.
8577         * include/std/complex: Likewise.
8578         * include/std/condition_variable: Likewise.
8579         * include/std/fstream: Likewise.
8580         * include/std/functional: Likewise.
8581         * include/std/future: Likewise.
8582         * include/std/iomanip: Likewise.
8583         * include/std/iosfwd: Likewise.
8584         * include/std/istream: Likewise.
8585         * include/std/limits: Likewise.
8586         * include/std/ratio: Likewise.
8587         * include/std/scoped_allocator: Likewise.
8588         * include/std/sstream: Likewise.
8589         * include/std/stdexcept: Likewise.
8590         * include/std/string: Likewise.
8591         * include/std/system_error: Likewise.
8592         * include/std/thread: Likewise.
8593         * include/std/tuple: Likewise.
8594         * include/std/type_traits: Likewise.
8595         * include/std/utility: Likewise.
8596         * include/std/valarray: Likewise.
8597         * include/std/vector: Likewise.
8599         * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
8600         new overloaded functions.
8601         * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
8602         to avoid creating a redundant temporary.
8603         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
8604         test.
8606 2016-06-15  François Dumont  <fdumont@gcc.gnu.org>
8608         * include/bits/stl_deque.h
8609         (std::deque<>::operator=): Call _M_assign_aux.
8610         (std::deque<>::assign(initializer_list<>)): Likewise.
8611         (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8612         (std::deque<>::insert(const_iterator, initializer_list<>)):
8613         Call _M_range_insert_aux.
8614         (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
8615         Likewise.
8616         (std::deque<>::_M_fill_assign): Call _M_fill_insert.
8617         (std::deque<>::_M_move_assign2): Call _M_assign_aux.
8618         * include/bits/deque.tcc
8619         (std::deque<>::operator=): Call _M_range_insert_aux.
8620         (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
8621         Likewise.
8622         * include/bits/stl_vector.h
8623         (std::vector<>::operator=): Call _M_assign_aux.
8624         (std::vector<>::assign(initializer_list<>)): Likewise.
8625         (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8626         (std::vector<>::insert(const_iterator, initializer_list<>)):
8627         Call _M_range_insert.
8628         * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
8630 2016-06-07  François Dumont  <fdumont@gcc.gnu.org>
8632         * include/std/tuple (_Head_base<>): Default specialization condition at
8633         type declaration.
8635 2016-06-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8637         Support allocators in tuples of zero size.
8638         * include/std/tuple (tuple<>::tuple(),
8639         tuple<>::tuple(allocator_arg_t, const _Alloc&),
8640         tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
8641         * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
8643 2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
8645         PR libstdc++/71320
8646         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
8647         Add or remove permissions according to perms argument.
8648         * testsuite/experimental/filesystem/operations/permissions.cc: New
8649         test.
8651 2016-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8653         Protect allocator-overloads of tuple-from-tuple constructors
8654         from cases that would create dangling references.
8655         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8656         const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
8657         tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
8658         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
8660 2016-05-29  Gerald Pfeifer  <gerald@pfeifer.com>
8662         * doc/xml/manual/backwards_compatibility.xml: Adjust
8663         lists.debian.org link to https.
8664         * doc/html/manual/backwards.html: Regenerate.
8666 2016-05-27  Jonathan Wakely  <jwakely@redhat.com>
8668         * doc/xml/manual/abi.xml: Adjust URL to use https.
8669         * doc/html/manual/*: Regenerate.
8671 2016-05-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
8673         PR libstdc++/66338
8674         * include/std/tuple (_TMC): Add a check for _NotSameTuple.
8675         * include/std/tuple (tuple(_UElements&&...)): Remove the separate
8676         check for _NotSameTuple.
8677         * include/std/tuple (_TMCT): New.
8678         * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
8679         * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
8680         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8681               const tuple<_UElements...>&)): Likewise.
8682         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8683               tuple<_UElements...>&&)): Likewise.
8684         * testsuite/20_util/tuple/cons/66338.cc: New.
8686 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
8688         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
8689         * configure: Regenerate.
8690         * config.h.in: Regenerate.
8692         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
8693         * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
8694         Remove const qualification on function. Replace
8695         _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
8696         (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
8697         (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
8699 2016-05-24  François Dumont  <fdumont@gcc.gnu.org>
8701         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
8702         * include/bits/hashtable_policy.h
8703         (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
8704         having load factor management.
8705         (_Mask_range_hashing): New.
8706         (__clp2): New.
8707         (_Power2_rehash_policy): New.
8708         (_Inserts<>): Remove last template parameter, _Unique_keys, so that
8709         partial specializations only depend on whether iterators are constant
8710         or not.
8711         * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
8712         test new hash policy.
8713         * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
8714         Likewise.
8715         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8716         Likewise.
8717         * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
8718         Likewise.
8719         * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
8720         Likewise.
8721         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
8722         New.
8723         * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
8724         using the new hash policy.
8725         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
8727 2016-05-24  Jonathan Wakely  <jwakely@redhat.com>
8729         * include/bits/stl_queue.h (priority_queue::value_compare): Define.
8731 2016-05-23  François Dumont  <fdumont@gcc.gnu.org>
8733         * include/debug/safe_iterator.h
8734         (_Safe_iterator<>::operator->()): Implement using underlying iterator
8735         operator ->.
8736         * include/debug/safe_local_iterator.h
8737         (_Safe_local_iterator<>::operator->()): Likewise.
8739 2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8741         * testsuite/experimental/memory_resource/1.cc: Add required argument
8742         to dg-require-atomic-builtins.
8744 2016-05-13  Jonathan Wakely  <jwakely@redhat.com>
8746         PR libstdc++/71073
8747         * include/debug/bitset: Add #pragma GCC system_header.
8748         * include/debug/deque: Likewise.
8749         * include/debug/list: Likewise.
8750         * include/debug/map: Likewise.
8751         * include/debug/set: Likewise.
8752         * include/debug/string: Likewise.
8753         * include/debug/unordered_map: Likewise.
8754         * include/debug/unordered_set: Likewise.
8755         * include/debug/vector: Likewise.
8756         * include/debug/functions.h: Adjust whitespace.
8758 2016-05-12  Jonathan Wakely  <jwakely@redhat.com>
8760         PR libstdc++/71081
8761         * testsuite/experimental/memory_resource/1.cc: Require atomics.
8763 2016-05-11  Jonathan Wakely  <jwakely@redhat.com>
8765         PR libstdc++/71049
8766         * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
8767         exception constructors with __sso_string parameters.
8769 2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
8771         * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
8772         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8773         Test begin and end functions.
8774         * testsuite/experimental/filesystem/iterators/
8775         recursive_directory_iterator.cc: Likewise.
8777         PR libstdc++/71038
8778         * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
8779         * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
8781         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8782         Overload operator* to move from rvalues.
8784         PR libstdc++/71036
8785         * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
8786         * testsuite/experimental/filesystem/operations/create_directory.cc:
8787         New test.
8789         PR libstdc++/71037
8790         * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
8791         base path to exception.
8792         * testsuite/experimental/filesystem/operations/canonical.cc: Test
8793         paths contained in exception.
8795         * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
8796         using declaration.
8798         PR libstdc++/71005
8799         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8800         New type.
8801         (directory_iterator::operator++(int)): Return proxy.
8802         (recursive_directory_iterator::operator++(int)): Likewise.
8803         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8804         Test post-increment.
8805         * testsuite/experimental/filesystem/iterators/
8806         recursive_directory_iterator.cc: Likewise.
8808 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8810         PR libstdc++/71004
8811         * testsuite/experimental/filesystem/iterators/
8812         recursive_directory_iterator.cc: Fix test02 to not call member
8813         functions on invalid iterator, and use VERIFY not assert.
8815 2016-05-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
8817         Avoid endless run-time recursion for copying single-element
8818         tuples where the element type is by-value constructible
8819         from any type.
8820         * include/std/tuple (_NotSameTuple): New.
8821         * include/std/tuple (tuple(_UElements&&...): Use it.
8822         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
8824 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8826         PR libstdc++/71004
8827         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
8828         Initialize scalar member variables in default constructor.
8829         * testsuite/experimental/filesystem/iterators/
8830         recursive_directory_iterator.cc: Test default construction.
8832 2016-05-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8834         * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
8836 2016-05-05  Jonathan Wakely  <jwakely@redhat.com>
8838         * testsuite/experimental/filesystem/path/native/string.cc: Add
8839         dg-require-filesystem-ts directive.
8841 2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
8843         PR libstdc++/70940
8844         * include/experimental/memory_resource
8845         (__resource_adaptor_imp::do_allocate): Do not default-construct
8846         rebound allocator.
8847         (__resource_adaptor_imp::do_deallocate): Likewise. Use
8848         allocator_traits to get pointer type.
8849         (__null_memory_resource::do_allocate): Remove unused parameters.
8850         (__null_memory_resource::do_deallocate): Likewise.
8851         (__null_memory_resource::do_is_equal): Likewise. Add return statement.
8852         * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
8853         * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
8854         move to ...
8855         * testsuite/experimental/memory_resource/1.cc: Here.
8856         * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
8857         * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
8859 2016-04-29  Chris Gregory  <czipperz@gmail.com>
8861         * config/*: Remove trailing whitespace.
8862         * src/*: Likewise.
8863         * testsuite/tr1/*: Likewise.
8864         * testsuite/util/*: Likewise.
8866 2016-04-28  Jonathan Wakely  <jwakely@redhat.com>
8868         PR libstdc++/70766
8869         * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
8870         __addressof.
8871         * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
8872         Likewise.
8873         * include/std/atomic (atomic<_Tp>): Likewise.
8874         * include/std/shared_mutex (shared_lock): Likewise.
8875         * testsuite/24_iterators/istream_iterator/70766.cc: New test.
8876         * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
8877         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
8878         * testsuite/29_atomics/atomic/70766.cc: New test.
8879         * testsuite/30_threads/shared_lock/70766.cc: New test.
8881         * include/bits/hashtable_policy.h (__detail::_Insert_base,
8882         __detail::_Insert): Improve comments.
8884 2016-04-27  Jonathan Wakely  <jwakely@redhat.com>
8886         PR libstdc++/70767
8887         * include/std/limits: Update comments about DRs.
8888         (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
8889         numeric_limits<const volatile _Tp>): Define unconditionally.
8891 2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
8893         PR libstdc++/70762
8894         * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
8895         static counter to return a different path on every call.
8897 2016-04-22  Tim Shen  <timshen@google.com>
8899         PR libstdc++/70745
8900         * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
8901         Fix the match_not_bow and match_not_eow behavior.
8902         * testsuite/28_regex/regression.cc: Add testcase.
8904 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
8906         PR libstdc++/69703
8907         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
8908         __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
8910 2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
8912         PR libstdc++/69703
8913         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
8914         Override endianness bit in mode.
8915         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
8916         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
8917         that little_endian mode is ignored.
8918         * testsuite/experimental/filesystem/path/native/string.cc: New test.
8920         PR libstdc++/70609
8921         * src/filesystem/ops.cc (close_fd): New function.
8922         (do_copy_file): Set permissions before copying file contents. Check
8923         result of closing file descriptors. Don't copy streambuf when file
8924         is empty.
8925         (copy(const path&, const path&, copy_options, error_code&)): Use
8926         lstat for source file when copy_symlinks is set.
8927         * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
8929         * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
8930         operator~ operator&=, operator|=, operator^=): Add noexcept to
8931         overloaded operators for copy_options, perms and directory_options.
8932         * src/filesystem/ops.cc (make_file_type, make_file_status,
8933         is_not_found_errno, file_time): Add noexcept.
8935 2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>
8937         * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
8939 2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
8941         PR libstdc++/41759
8942         * include/bits/random.h: Reword static assertion messages to state
8943         positive conditions.
8944         * include/bits/random.tcc: Likewise.
8945         * include/bits/uniform_int_dist.h: Likewise.
8946         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
8947         patterns.
8949         * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
8951         * config/cpu/sh/atomicity.h: Fix typo in comment.
8953         PR libstdc++/70294
8954         * include/std/thread (operator<, operator==): Move definitions to
8955         namespace-scope.
8956         * testsuite/30_threads/thread/id/70294.cc: New test.
8958         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
8959         -Wno-pedantic to dg-options.
8960         * testsuite/20_util/align/2.cc: Use type as operand of alignof.
8961         * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
8962         to dg-options.
8963         * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
8964         Remove extra semi-colon.
8965         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8966         Always supply second argument to static_assert.
8967         * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
8968         semi-colon.
8969         * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
8970         dg-options.
8971         * testsuite/26_numerics/complex/literals/values.cc: Likewise.
8972         * testsuite/29_atomics/atomic/60695.cc: Likewise.
8973         * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
8974         alignof when operand is an object not a type.
8975         * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
8976         * testsuite/decimal/make-decimal.cc: Likewise.
8977         * testsuite/experimental/type_traits/value.cc: Always supply second
8978         argument to static_assert.
8979         * testsuite/util/testsuite_common_types.h: Use __extension__ for
8980         __int128 types.
8982         * testsuite/experimental/type_erased_allocator/1.cc: Don't include
8983         internal header.
8984         * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
8985         * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
8986         * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
8987         Likewise. Add licence and change to compile-only test.
8989         * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
8990         unused parameter.
8991         * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
8993         * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
8994         warnings.
8996 2016-04-17  Edward Smith-Rowland  <3dw4rd@verizon.net>
8998         * include/bits/specfun.h: Trivial comment misspelling.
9000 2016-04-14  Jason Merrill  <jason@redhat.com>
9002         Revert Jonathan's empty ABI change from yesterday.
9004 2016-04-13  Martin Sebor  <msebor@redhat.com>
9006         PR c++/69517
9007         * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
9008         upper bound is positive.
9010 2016-04-13  Jonathan Wakely  <jwakely@redhat.com>
9012         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
9013         _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
9014         * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
9015         of functions taking empty structs by value. Add a template parameter
9016         to overloads without hints. Rename overloads with hints to
9017         _M_emplace_hint.
9018         (_Hashtable::_M_erase(true_type, const_iterator),
9019         _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
9020         by reordering parameters.
9021         * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
9022         _M_emplace_hint instead of _M_emplace.
9023         * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
9024         shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
9025         * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
9026         __shared_ptr): Likewise.
9027         * include/bits/stl_algo.h (replace_if): Likewise.
9028         * include/bits/stl_pair.h (piecewise_construct_t,
9029         piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
9030         * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
9031         __uses_alloc0): Likewise.
9032         * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
9033         * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
9034         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
9035         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
9036         * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
9037         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
9038         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
9040 2016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
9042         Document C++17/TR29124 C++ Special Math Functions.
9043         * include/bits/specfun.h: Add Doxygen markup.
9045 2016-04-07  Jonathan Wakely  <jwakely@redhat.com>
9047         * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
9049 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
9051         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
9052         * src/Makefile.in: Regenerate.
9054 2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
9056         PR libstdc++/70554
9057         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
9058         __atomic_fetch_add for bool.
9059         * configure: Regenerate.
9061         * testsuite/30_threads/thread/70503.cc: Require -static to work.
9063         PR libstdc++/70503
9064         * src/c++11/thread.cc (execute_native_thread_routine,
9065         execute_native_thread_routine_compat): Give internal linkage.
9066         * testsuite/30_threads/thread/70503.cc: New test.
9068 2016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
9070         PR libstdc++/70437
9071         * include/bits/stl_pair.h (_ConstructiblePair,
9072         _ImplicitlyConvertiblePair, _MoveConstructiblePair,
9073         _ImplicitlyMoveConvertiblePair): Add shortcut conditions
9074         for same-type cases.
9075         * testsuite/20_util/pair/70437.cc: New.
9077 2016-03-24  Jonathan Wakely  <jwakely@redhat.com>
9079         PR libstdc++/69945
9080         * config/abi/pre/gnu.ver: Add new symbol.
9081         * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
9082         * testsuite/18_support/free_eh_pool.cc: New test.
9084 2016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9086         * include/Makefile.am (install-freestanding-headers): Add
9087         concept_check.h and move.h to the installed headers.
9088         * include/Makefile.in: Regenerated.
9089         * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
9090         freestanding implementations.
9091         * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
9092         that this macro has no effect for freestanding implementations.
9093         * doc/html/manual/using_macros.html: Likewise.
9095 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
9097         PR libstdc++/69939
9098         * include/experimental/tuple (__apply_impl): Qualify get and forward.
9100 2016-02-23  Jonathan Wakely  <jwakely@redhat.com>
9102         * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
9103         * doc/html/*: Regenerate.
9105         PR libstdc++/69893
9106         * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
9107         exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
9108         llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
9109         nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
9110         trunc) [__cplusplus >= 201103L]: Import from namespace std.
9111         (fabs) [__cplusplus < 201103L]: Import from namespace std.
9112         * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
9113         Likewise.
9114         * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
9115         namespace before including TR1 headers.
9116         * testsuite/tr1/headers/c++200x/math.cc: New test.
9118 2016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9120         PR libstdc++/69881
9121         * include/c_global/cstdarg: Undefine __need___va_list.
9122         * include/c_global/cstddef: Undefine all kinds of __need_*.
9124 2016-02-16  Tim Shen  <timshen@google.com>
9126         PR libstdc++/69794
9127         * include/bits/regex_scanner.h: Add different special character
9128         sets for grep and egrep regex.
9129         * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
9130         * testsuite/28_regex/regression.cc: Add new testcase.
9132 2016-02-08  Jonathan Wakely  <jwakely@redhat.com>
9134         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
9135         added 'constexpr' in previous commit.
9136         * configure: Regenerate.
9138         PR libstdc++/48891
9139         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
9140         checks for all targets except *-*-solaris2.* and ensure we find the
9141         libc math.h header not our own.
9142         * configure: Regenerate.
9144 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
9146         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
9147         New file.  Copied over from s390-linux-gnu.
9149 2016-02-04  Jonathan Wakely  <jwakely@redhat.com>
9151         PR libstdc++/69626
9152         * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
9153         with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
9154         * config.h.in: Regenerate.
9155         * configure: Regenerate.
9156         * testsuite/21_strings/c_strings/char/69626.cc: New.
9158         * doc/html/index.html: Regenerate.
9160         * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
9161         * doc/xml/manual/spine.xml: Update copyright years and author blurb.
9162         * doc/html/*: Regenerate.
9164 2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9166         PR libstdc++/69581
9167         * include/c_compatibility/math.h: Move header guards.
9168         * include/c_compatibility/stdlib.h: Likewise.
9170 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
9172         PR libstdc++/69506
9173         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9175 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
9177         PR libstdc++/69450
9178         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
9179         isinf and isnan functions into two independent checks.  Check on hpux.
9180         * config.h.in: Regenerate.
9181         * configure: Regenerate.
9182         * include/c_global/cmath (isinf(double), isnan(double)): Use
9183         _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
9184         respectively.
9186 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
9188         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
9190 2016-01-27  Jonathan Wakely  <jwakely@redhat.com>
9192         PR libstdc++/69295
9193         * testsuite/ext/special_functions/hyperg/check_value.cc: Use
9194         -ffp-contract=off, and -ffloat-store to disable excess precision.
9195         * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
9196         -ffp-contract=off.
9198 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
9200         PR libstdc++/69478
9201         * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
9202         random_access_iterator_tag>): Check is_move_assignable when moving.
9203         (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
9204         Likewise.
9205         * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
9206         * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
9207         * testsuite/25_algorithms/move/69478.cc: New.
9208         * testsuite/25_algorithms/move_backward/69478.cc: new.
9210 2016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
9212         * include/c_compatibility/stdlib.h: Include wide character related
9213         definitions only when they are available in cstdlib.
9215 2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
9217         PR libstdc++/69464
9218         * include/Makefile.am: Add new header.
9219         * include/Makefile.in: Regenerate.
9220         * include/bits/random.h (uniform_int_distribution): Move to
9221         bits/uniform_int_dist.h.
9222         * include/bits/random.tcc (uniform_int_distribution::operator(),
9223         uniform_int_distribution::__generate_impl): Likewise.
9224         * include/bits/uniform_int_dist.h: New header.
9225         * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
9226         <bits/uniform_int_dist.h> instead of <random>.
9227         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
9228         move_iterators/1.cc: Include correct header for uninitialized_copy.
9229         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
9230         move_iterators/1.cc: Likewise.
9231         * testsuite/25_algorithms/nth_element/58800.cc: Include correct
9232         header for vector.
9233         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
9235 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
9237         PR libstdc++/69446
9238         * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9240 2016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
9242         TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
9243         * include/c_compatibility/math.h: Import the TR29124 functions
9244         into the global namespace.
9245         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
9246         xfail and make compile-only.
9247         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
9248         * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
9249         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
9250         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
9251         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
9252         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
9253         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
9254         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
9255         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
9256         * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
9257         * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
9258         * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
9259         * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
9260         * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
9261         * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
9262         * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
9263         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
9264         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
9265         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
9266         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
9268 2016-01-22  Jonathan Wakely  <jwakely@redhat.com>
9270         PR libstdc++/69116
9271         * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
9272         define result_type for types which can be safely used with valarrays.
9273         * testsuite/26_numerics/valarray/69116.cc: New.
9275         PR libstdc++/69413
9276         * config/os/gnu-linux/os_defines.h: Define
9277         _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
9278         * include/c_global/cmath (isinf, isnan): Check it.
9279         * doc/xml/manual/internals.xml: Document it.
9280         * doc/html/*: Regenerate.
9282 2016-01-21  Jonathan Wakely  <jwakely@redhat.com>
9284         PR libstdc++/69406
9285         * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
9286         * include/ext/type_traits.h: Likewise.
9287         * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
9288         for presence of C headers.
9289         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
9290         dg-error line number.
9291         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
9292         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
9293         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
9295 2016-01-20  Torvald Riegel  <triegel@redhat.com>
9297         PR libstdc++/69310
9298         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9300 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
9302         PR libstdc++/60401
9303         * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
9304         copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
9305         lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
9306         nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
9307         tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
9308         Add using declarations.
9309         * testsuite/26_numerics/headers/cmath/60401.cc: New.
9311         PR libstdc++/69386
9312         * include/c_global/ccomplex: Ensure C++ language linkage.
9313         * include/c_global/cmath: Likewise.
9314         * include/c_global/cstdlib: Likewise.
9315         * include/c_global/ctgmath: Likewise.
9316         * testsuite/17_intro/headers/c++2011/linkage.cc: New.
9318 2016-01-19  Jonathan Wakely  <jwakely@redhat.com>
9320         PR libstdc++/14608
9321         PR libstdc++/60401
9322         * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
9323         --enable-cheaders=c_global configs.
9324         * include/Makefile.in: Regenerate.
9325         * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
9326         test and allow inclusion from C files.
9327         * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
9328         (at_quick_exit, quick_exit): Add using directives.
9329         * include/c_global/cmath: Use #include_next for math.h.
9330         * include/c_global/cstdlib: Use #include_next for stdlib.h.
9331         * testsuite/26_numerics/headers/cmath/14608.cc: New.
9332         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
9333         Remove xfail for most targets.
9334         * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
9336 2016-01-18  Torvald Riegel  <triegel@redhat.com>
9338         * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
9339         (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
9340         and move after its definition.
9341         * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
9342         * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
9343         __GXX_WEAK__, and only provide transactional clones if
9344         _GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
9345         functions.
9347 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
9349         PR libstdc++/60637
9350         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
9352         PR libstdc++/69243
9353         * include/std/functional (_Function_base::_M_not_empty_function):
9354         Change overloads for pointers to take arguments by value.
9355         * testsuite/20_util/function/cons/57465.cc: Add tests for
9356         pointer-to-member cases.
9358         PR libstdc++/69340
9359         * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
9360         Use macros for exception handling and fix unused parameter warning.
9362 2016-01-17  John David Anglin  <danglin@gcc.gnu.org>
9364         PR libstdc++/68734
9365         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
9367 2016-01-17  Torvald Riegel  <triegel@redhat.com>
9369         * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
9371 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
9373         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
9374         __int128 symbols.
9376 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9378         PR libstdc++/69293
9379         * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
9380         static assertion that type is constructible from the arguments.
9381         * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
9382         * testsuite/20_util/uses_allocator/69293_neg.cc: New.
9383         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
9385         PR libstdc++/69294
9386         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9387         and isnan on AIX. Quote variables.
9388         * configure: Regenerate.
9390 2016-01-15  Torvald Riegel  <triegel@redhat.com>
9392         * include/bits/basic_string.h (basic_string): Declare friends.
9393         * include/bits/c++config (_GLIBCXX_TXN_SAFE,
9394         _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
9395         * include/std/stdexcept (logic_error, domain_error, invalid_argument,
9396         length_error, out_of_range, runtime_error, range_error,
9397         underflow_error, overflow_error): Declare members as transaction-safe.
9398         (logic_error, runtime_error): Declare friend functions.
9399         * libsupc++/exception (exception, bad_exception): Declare members as
9400         transaction-safe.
9401         * src/c++11/cow-stdexcept.cc: Define transactional clones for the
9402         transaction-safe members of exceptions and helper functions.
9403         * libsupc++/eh_exception.cc: Adjust and define transactional clones.
9404         * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
9405         (CXXABI_1.3.10): New.
9406         * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
9407         (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
9408         * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
9409         * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
9410         * include/Makefile.in: Regenerate.
9411         * config.h.in: Regenerate.
9412         * configure: Regenerate.
9413         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
9415 2016-01-15  Steve Ellcey  <sellcey@imgtec.com>
9417         * include/ext/random.tcc: Use __builtin_isfinite instead of
9418         std::isfinite.
9420 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9422         * include/bits/std_mutex.h: Fix Doxygen @file name.
9424 2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
9425             Jonathan Wakely  <jwakely@redhat.com>
9426             Florian Goth <CaptainSifff@gmx.de>
9428         Implement TR29124 C++ special Math Functions.
9429         * include/Makefile.am: Add new headers.
9430         * include/Makefile.in: Regenerate.
9431         * include/bits/specfun.h: New.
9432         * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
9433         * include/tr1/bessel_function.tcc: Ditto.
9434         * include/tr1/beta_function.tcc: Ditto.
9435         * include/tr1/cmath: Ditto.
9436         * include/tr1/ell_integral.tcc: Ditto.
9437         * include/tr1/exp_integral.tcc: Ditto.
9438         * include/tr1/gamma.tcc: Ditto.
9439         * include/tr1/hypergeometric.tcc: Ditto.
9440         * include/tr1/legendre_function.tcc: Ditto.
9441         * include/tr1/modified_bessel_func.tcc: Ditto.
9442         * include/tr1/poly_hermite.tcc: Ditto.
9443         * include/tr1/poly_laguerre.tcc: Ditto.
9444         * include/tr1/riemann_zeta.tcc: Ditto.
9445         * include/tr1/special_function_util.h: Ditto.
9446         * testsuite/ext/special_functions/conf_hyperg: New.
9447         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
9448         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
9449         * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
9450         * testsuite/ext/special_functions/hyperg: New.
9451         * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
9452         * testsuite/ext/special_functions/hyperg/check_value.cc: New.
9453         * testsuite/ext/special_functions/hyperg/compile.cc: New.
9454         * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
9455         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
9456         * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
9457         * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
9458         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
9459         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
9460         * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
9461         * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
9462         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
9463         * testsuite/special_functions/03_beta/check_nan.cc: New.
9464         * testsuite/special_functions/03_beta/check_value.cc: New.
9465         * testsuite/special_functions/03_beta/compile.cc: New.
9466         * testsuite/special_functions/03_beta/compile_2.cc: New.
9467         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
9468         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
9469         * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
9470         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
9471         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
9472         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
9473         * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
9474         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
9475         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
9476         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
9477         * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
9478         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
9479         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
9480         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
9481         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
9482         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
9483         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
9484         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
9485         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
9486         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
9487         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
9488         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
9489         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
9490         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
9491         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
9492         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
9493         * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
9494         * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
9495         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
9496         * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
9497         * testsuite/special_functions/11_ellint_1/check_value.cc: New.
9498         * testsuite/special_functions/11_ellint_1/compile.cc: New.
9499         * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
9500         * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
9501         * testsuite/special_functions/12_ellint_2/check_value.cc: New.
9502         * testsuite/special_functions/12_ellint_2/compile.cc: New.
9503         * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
9504         * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
9505         * testsuite/special_functions/13_ellint_3/check_value.cc: New.
9506         * testsuite/special_functions/13_ellint_3/compile.cc: New.
9507         * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
9508         * testsuite/special_functions/14_expint/check_nan.cc: New.
9509         * testsuite/special_functions/14_expint/check_value.cc: New.
9510         * testsuite/special_functions/14_expint/compile.cc: New.
9511         * testsuite/special_functions/14_expint/compile_2.cc: New.
9512         * testsuite/special_functions/15_hermite/check_nan.cc: New.
9513         * testsuite/special_functions/15_hermite/check_value.cc: New.
9514         * testsuite/special_functions/15_hermite/compile.cc: New.
9515         * testsuite/special_functions/15_hermite/compile_2.cc: New.
9516         * testsuite/special_functions/16_laguerre/check_nan.cc: New.
9517         * testsuite/special_functions/16_laguerre/check_value.cc: New.
9518         * testsuite/special_functions/16_laguerre/compile.cc: New.
9519         * testsuite/special_functions/16_laguerre/compile_2.cc: New.
9520         * testsuite/special_functions/17_legendre/check_nan.cc: New.
9521         * testsuite/special_functions/17_legendre/check_value.cc: New.
9522         * testsuite/special_functions/17_legendre/compile.cc: New.
9523         * testsuite/special_functions/17_legendre/compile_2.cc: New.
9524         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
9525         * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
9526         * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
9527         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
9528         * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
9529         * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
9530         * testsuite/special_functions/19_sph_bessel/compile.cc: New.
9531         * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
9532         * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
9533         * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
9534         * testsuite/special_functions/20_sph_legendre/compile.cc: New.
9535         * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
9536         * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
9537         * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
9538         * testsuite/special_functions/21_sph_neumann/compile.cc: New.
9539         * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
9540         * testsuite/util/specfun_testcase.h: New.
9541         * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
9542         * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
9543         * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
9544         * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
9545         * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
9546         * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
9547         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
9549 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
9551         PR libstdc++/48891
9552         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9553         and isnan functions.
9554         * config.h.in: Regenerate.
9555         * configure: Regenerate.
9556         * include/c_global/cmath (isinf(double), isnan(double))
9557         [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
9558         * testsuite/26_numerics/headers/cmath/48891.cc: New.
9560 2016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9562         PR libstdc++/66006
9563         * configure.host (abi_baseline_pair): Use separate baseline for
9564         Solaris 11+ and Solaris 10 with gld.
9565         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
9566         * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
9567         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
9569 2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
9571         PR libstdc++/68877
9572         * include/std/type_traits: Following N4511, reimplement __is_swappable
9573         and __is_nothrow_swappable. Move __is_swappable to namespace std,
9574         adjust callers. Use __is_nothrow_swappable in swap.
9575         * include/bits/move.h: Use __is_nothrow_swappable in swap.
9576         * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
9577         __is_swappable related tests.
9578         * testsuite/20_util/is_swappable/value.cc: New.
9579         * testsuite/20_util/is_swappable/requirements/
9580         explicit_instantiation.cc: New.
9581         * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
9582         * testsuite/25_algorithms/swap/68877.cc: New.
9584 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
9586         * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
9588         PR libstdc++/69005
9589         PR libstdc++/69222
9590         * include/std/functional (function::_Invoke): Remove, use result_of.
9591         (function::_Callable): Replace alias template with class template
9592         and use partial specialization instead of _NotSelf alias template.
9593         (function(_Functor)): Add "not self" constraint so that _Callable is
9594         not used while type is incomplete.
9595         * testsuite/20_util/function/69222.cc: New.
9597 2016-01-11  Jonathan Wakely  <jwakely@redhat.com>
9599         PR libstdc++/60976
9600         * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
9601         Define partial specialization.
9602         * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
9603         destroy members to std::allocator explicit specialization.
9605 2016-01-08  Jonathan Wakely  <jwakely@redhat.com>
9607         * testsuite/26_numerics/headers/cmath/
9608         c99_classification_macros_c++.cc: Rename to ...
9609         * testsuite/26_numerics/headers/cmath/
9610         c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
9611         * testsuite/26_numerics/headers/cmath/
9612         c99_classification_macros_c++0x.cc: Rename to ...
9613         * testsuite/26_numerics/headers/cmath/
9614         c99_classification_macros_c++11.cc: Here.
9616         PR libstdc++/69190
9617         * include/bits/uses_allocator.h: Add missing include.
9619 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
9621         PR libstdc++/69105
9622         PR libstdc++/69106
9623         PR libstdc++/69114
9624         * include/bits/stl_iterator.h (back_insert_iterator,
9625         front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
9626         * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
9627         * include/std/future (__future::base::_State_baseV2::__setter):
9628         Likewise.
9629         * include/std/scoped_allocator (__outermost): Likewise.
9630         * testsuite/20_util/scoped_allocator/69114.cc: New.
9631         * testsuite/20_util/uses_allocator/69114.cc: New.
9632         * testsuite/30_threads/promise/69106.cc: New.
9634 2016-01-06  Jonathan Wakely  <jwakely@redhat.com>
9636         PR libstdc++/69092
9637         * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
9638         Remove _GLIBCXX_NOEXCEPT.
9639         testsuite/21_strings/basic_string/cons/char/69092.cc: New.
9641         * include/Makefile.am: Adjust.
9642         * include/Makefile.in: Regenerate.
9643         * include/bits/mutex.h: Rename to bits/std_mutex.h.
9644         * include/std/condition_variable: Adjust include.
9645         * include/std/mutex: Likewise.
9647 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
9649         Update copyright years.
9651 Copyright (C) 2016 Free Software Foundation, Inc.
9653 Copying and distribution of this file, with or without modification,
9654 are permitted in any medium without royalty provided the copyright
9655 notice and this notice are preserved.