Add GDB XMethods for shared_ptr and unique_ptr<T[]>
[platform/upstream/gcc.git] / libstdc++-v3 / ChangeLog
1 2016-12-15  Jonathan Wakely  <jwakely@redhat.com>
2
3         * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker.__init__): Use
4         correct element type for unique_ptr<T[]>.
5         (UniquePtrGetWorker._supports, UniquePtrDerefWorker._supports): New
6         functions to disable unsupported operators for unique_ptr<T[]>.
7         (UniquePtrSubscriptWorker): New worker for operator[].
8         (UniquePtrMethodsMatcher.__init__): Register UniquePtrSubscriptWorker.
9         (UniquePtrMethodsMatcher.match): Call _supports on the chosen worker.
10         (SharedPtrGetWorker, SharedPtrDerefWorker, SharedPtrSubscriptWorker)
11         (SharedPtrUseCountWorker, SharedPtrUniqueWorker): New workers.
12         (SharedPtrMethodsMatcher): New matcher for shared_ptr.
13         (register_libstdcxx_xmethods): Register SharedPtrMethodsMatcher.
14         * testsuite/libstdc++-xmethods/unique_ptr.cc: Test arrays.
15         * testsuite/libstdc++-xmethods/shared_ptr.cc: New test.
16
17 2016-12-14  François Dumont  <fdumont@gcc.gnu.org>
18
19         * include/bits/stl_tree.h
20         (_Rb_tree_impl(const _Key_compare&, const _Node_allocator&): Restore
21         before C++11 mode.
22
23 2016-12-14  Jonathan Wakely  <jwakely@redhat.com>
24
25         * python/libstdcxx/v6/printers.py (num_elements): New function.
26         (StdMapPrinter.to_string, StdSetPrinter.to_string)
27         (StdDequePrinter.to_string, Tr1UnorderedSetPrinter.to_string)
28         (Tr1UnorderedMapPrinter.to_string): Use num_elements.
29         * testsuite/libstdc++-prettyprinters/cxx11.cc: Adjust expected results
30         to use singular noun when there is only one element.
31         * testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
32         * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
33         * testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
34         * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
35         * testsuite/libstdc++-prettyprinters/tr1.cc: Likewise.
36
37         PR libstdc++/59170
38         * python/libstdcxx/v6/printers.py (StdDebugIteratorPrinter): Use
39         _M_sequence and _M_version to detect invalid iterators.
40         * testsuite/libstdc++-prettyprinters/debug.cc: Test debug mode vector
41         and test invalid iterators.
42         * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: New test.
43
44 2016-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
45
46         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
47         XFAIL run if newlib_broken_long_double_io.
48         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc:
49         Likewise.
50         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc:
51         Likewise.
52         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
53         Likewise.
54
55 2016-12-12  Jonathan Wakely  <jwakely@redhat.com>
56
57         * testsuite/experimental/filesystem/operations/is_empty.cc:
58         Remove stray character at end of dg-do directive.
59
60         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
61         Remove stray character at end of dg-do directive.
62
63 2016-12-09  Jonathan Wakely  <jwakely@redhat.com>
64
65         * include/std/variant: Remove misplaced
66         _GLIBCXX_BEGIN_NAMESPACE_VERSION macro.
67
68 2016-12-08  David Edelsohn  <dje.gcc@gmail.com>
69
70         * testsuite/25_algorithms/headers/algorithm/
71         parallel_algorithm_assert2.cc: Move dg-do run first.
72
73 2016-12-08  Eric Botcazou  <ebotcazou@adacore.com>
74
75         PR libstdc++/78264
76         * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM): Turn _N into _NE.
77         (_GLIBCXX_NOEXCEPT_QUAL): Likewise.
78
79 2016-12-08  Jonathan Wakely  <jwakely@redhat.com>
80
81         * testsuite/experimental/filesystem/path/construct/range.cc: Don't
82         use basic_string::front() when string might be empty.
83
84         * include/debug/array (swap): Add deleted overload.
85         * include/bits/stl_pair.h (swap): Remove redundant inline keyword
86         from deleted overload.
87         * include/bits/unique_ptr.h (swap): Likewise.
88         * include/std/array (swap): Likewise.
89         * include/std/optional (swap): Likewise.
90         * include/std/tuple (swap): Likewise.
91         * include/std/variant (swap): Likewise.
92         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
93         Adjust dg-error line numbers.
94         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
95         * testsuite/23_containers/array/tuple_interface/
96         tuple_element_debug_neg.cc: Likewise.
97         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
98         Likewise.
99
100         PR libstdc++/71856
101         * doc/xml/manual/using.xml: Document macro.
102         * include/bits/c++config [_GLIBCXX_DEBUG || _GLIBCXX_PARALLEL]
103         (__glibcxx_assert): Rename to __glibcxx_assert_impl.
104         [_GLIBCXX_DEBUG] (__glibcxx_assert): Expand to __glibcxx_assert_impl.
105         * include/parallel/base.h [_GLIBCXX_PARALLEL_ASSERTIONS]
106         (_GLIBCXX_PARALLEL_ASSERT): Expand to __glibcxx_assert_impl.
107         [!_GLIBCXX_PARALLEL_ASSERTIONS] (_GLIBCXX_PARALLEL_ASSERT): Define as
108         empty.
109         * testsuite/25_algorithms/headers/algorithm/
110         parallel_algorithm_assert2.cc: New test.
111
112 2016-12-08  Jakub Jelinek  <jakub@redhat.com>
113
114         * testsuite/util/testsuite_new_operators.h: Include testsuite_hooks.h.
115         (operator new): Use THROW macro.
116
117 2016-12-07  François Dumont  <fdumont@gcc.gnu.org>
118
119         * include/bits/stl_tree.h
120         (_Rb_tree<>::_M_copy(_Const_Link_type, _Base_ptr)): Delete.
121         (_Rb_tree<>::_M_copy(const _Rb_tree&, _NodeGen&)): New.
122         (_Rb_tree<>::_M_copy(const _Rb_tree&)): New, use latter.
123         (_Rb_tree<>(const _Rb_tree&): Use latter.
124         (_Rb_tree<>(const _Rb_tree&, const allocator_type&)): Likewise.
125         (_Rb_tree<>::_M_move_data(_Rb_tree&, false_type)): Likewise.
126         (_Rb_tree<>::_M_move_assign(_Rb_tree&, false_type)): Likewise.
127         (_Rb_tree<>::operator=(const _Rb_tree&)): Likewise.
128
129         * include/bits/stl_map.h (map(const map&)): Make default.
130         (map(map&&)): Likewise.
131         (~map()): Likewise.
132         (operator=(const map&)): Likewise.
133         * include/bits/stl_multimap.h (multimap(const multimap&)): Make default.
134         (multimap(multimap&&)): Likewise.
135         (~multimap()): Likewise.
136         (operator=(const multimap&)): Likewise.
137         * include/bits/stl_set.h (set(const set&)): Make default.
138         (set(set&&)): Likewise.
139         (~set()): Likewise.
140         (operator=(const set&)): Likewise.
141         * include/bits/stl_multiset.h (multiset(const multiset&)): Make default.
142         (multiset(multiset&&)): Likewise.
143         (~multiset()): Likewise.
144         (operator=(const multiset&)): Likewise.
145         * include/bits/stl_tree.h (_Rb_tree_key_compare<>): New.
146         (_Rb_tree_header): New.
147         (_Rb_tree_impl): Inherit from latters.
148         (_Rb_tree_impl()): Make default.
149         (_Rb_tree_impl(const _Rb_tree_impl&)): New.
150         (_Rb_tree<>(const _Rb_tree&): Use latter.
151         (_Rb_tree_impl(_Rb_tree_impl&&)): New, default.
152         (_Rb_tree_impl(const _Key_compare&, const _Node_allocator&)): Delete.
153         (_Rb_tree_impl::_M_reset): Move...
154         (_Rb_tree_header::_M_reset): ...here.
155         (_Rb_tree_impl::_M_initialize): Delete.
156         (_Rb_tree(_Rb_tree&&)): Make default.
157         (_Rb_tree_header::_M_move_data(_Rb_tree_header&)): New.
158         (_Rb_tree<>::_M_move_data(_Rb_tree&, true_type)): Use latter.
159         (_Rb_tree<>(_Rb_tree&&)): Make default.
160
161 2016-12-07  Jonathan Wakely  <jwakely@redhat.com>
162
163         * include/experimental/bits/fs_path.h (path::_S_convert): Replace
164         uses of C++14 std::remove_cv_t alias template.
165
166         * testsuite/28_regex/traits/char/user_defined.cc: Replace uses of
167         C++14 std::exchange function.
168
169         * testsuite/util/testsuite_hooks.h (THROW): Define.
170         * testsuite/util/replacement_memory_operators.h: Include
171         testsuite_hooks.h and use THROW macro.
172         * testsuite/util/testsuite_tr1.h: Likewise.
173         * testsuite/20_util/allocator/1.cc: Use THROW macro.
174         * testsuite/22_locale/locale/cons/12352.cc: Likewise.
175         * testsuite/23_containers/vector/zero_sized_allocations.cc: Likewise.
176         * testsuite/30_threads/lock_guard/cons/1.cc: Replace dynamic exception
177         specification with noexcept-specifier.
178         * testsuite/ext/pool_allocator/allocate_chunk.cc: Include
179         testsuite_hooks.h and use THROW macro.
180         * testsuite/ext/profile/replace_new.cc: Likewise.
181
182         * include/ext/bitmap_allocator.h (bitmap_allocator::_S_refill_pool)
183         (bitmap_allocator::_M_allocate_single_object)
184         (bitmap_allocator::_M_get): Use _GLIBCXX_THROW macro.
185
186         * testsuite/18_support/bad_exception/59392.cc: Disable for C++17.
187
188         * testsuite/18_support/headers/new/synopsis.cc: Add C++14 and C++17
189         declarations.
190         * testsuite/18_support/headers/new/synopsis_cxx98.cc: New test.
191
192 2016-12-06  Felipe Magno de Almeida  <felipe@expertisesolutions.com.br>
193
194         * src/c++11/cow-stdexcept.cc: Add special case for 16 bit pointers.
195
196         * crossconfig.m4: Add avr target for cross-compilation.
197         * configure: Regenerate.
198
199 2016-12-06  Jonathan Wakely  <jwakely@redhat.com>
200
201         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Update for new
202         data member name.
203         * testsuite/libstdc++-prettyprinters/cxx17.cc: Remove redundant test.
204
205         * include/bits/shared_ptr_base.h
206         (__shared_ptr_access<T, L, false, true>::operator->()): Fix assertion.
207
208 2016-12-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
209
210         Constrain optional's __constexpr_addressof in its return type
211         and use a constexpr addressof for optional, if available.
212         * include/experimental/optional (__constexpr_addressof):
213         Constrain in the return type instead of in a template parameter.
214         (_Has_addressof_mem)
215         (_Has_addressof_free, _Has_addressof, __constexpr_addressof):
216         Guard with #ifndef __cpp_lib_addressof_constexpr.
217         (operator->()): Use std::__addressof if it's constexpr.
218
219 2016-12-06  Tim Shen  <timshen@google.com>
220
221         * include/std/variant (visit): Make visit constexpr. Also cleanup
222         __get_alternative and __storage, since we don't support reference/void
223         alternatives any more.
224         * testsuite/20_util/variant/compile.cc: Add tests.
225
226 2016-12-06  Tim Shen  <timshen@google.com>
227
228         * include/bits/enable_special_members.h: Make
229         _Enable_default_constructor constexpr.
230         * include/std/variant (variant::emplace, variant::swap, std::swap,
231         std::hash): Sfinae on emplace and std::swap; handle __poison_hash bases
232         of duplicated types.
233
234 2016-12-06  Tim Shen  <timshen@google.com>
235
236         * include/std/variant (std::get, operator==): Implement constexpr
237         comparison and get<>.
238         * testsuite/20_util/variant/compile.cc: Tests.
239
240 2016-12-06  Tim Shen  <timshen@google.com>
241
242         * include/std/variant (__erased_use_alloc_ctor,
243         _Variant_base::_Variant_base, variant::variant): Remove uses-allocator
244         related functions.
245         * testsuite/20_util/variant/compile.cc: Remove related tests.
246         * testsuite/20_util/variant/run.cc: Remove related tests.
247
248 2016-12-06  Aditya Kumar  <hiraditya@msn.com>
249
250         * src/c++11/shared_ptr.cc (_Sp_locker::_Sp_locker(const void* p)): Add
251         noexcept on constructor.
252         (_Sp_locker::_Sp_locker(const void* p1, const void* p2)): Same.
253
254 2016-12-06  Jonathan Wakely  <jwakely@redhat.com>
255
256         * include/bits/basic_string.h (basic_string::find, basic_string::rfind)
257         (basic_string::find_first_of, basic_string::find_last_of)
258         (basic_string::find_first_not_of, basic_string::find_last_not_of):
259         Make all overloads noexcept.
260         (basic_string::compare(const _CharT*)): Make noexcept.
261
262 2016-12-03  John David Anglin  <danglin@gcc.gnu.org>
263
264         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Regenerate.
265
266 2016-12-01  David Edelsohn  <dje.gcc@gmail.com>
267
268         * testsuite/26_numerics/headers/cmath/hypot.cc: XFAIL on AIX.
269
270 2016-12-01  Ville Voutilainen  <ville.voutilainen@gmail.com>
271
272         Implement LWG 2766,
273         Swapping non-swappable types and LWG 2749,
274         swappable traits for variants.
275         * include/bits/move.h (swap(_Tp&, _Tp&)): Constrain
276         with __is_tuple_like.
277         * include/bits/stl_pair.h (swap(pair<_T1, _T2>&, pair<_T1, _T2>&)):
278         Add a deleted overload.
279         * include/bits/unique_ptr.h
280         (swap(unique_ptr<_Tp, _Dp>&, unique_ptr<_Tp, _Dp>&)): Likewise.
281         * include/std/array
282         (swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&)): Likewise.
283         * include/std/optional
284         (swap(optional<_Tp>&, optional<_Tp>&)): Likewise.
285         * include/std/tuple (__is_tuple_like_impl, __is_tuple_like):
286         Move to type_traits.
287         (swap(tuple<_Elements...>&, tuple<_Elements...>&)): Add a deleted
288         overload.
289         * include/std/type_traits (__is_tuple_like_impl, __is_tuple_like):
290         New.
291         (swap(_Tp&, _Tp&)): Constrain with __is_tuple_like.
292         * include/std/utility (__is_tuple_like_impl): Move to type_traits.
293         * include/std/variant
294         (swap(variant<_Types...>&, variant<_Types...>&)):
295         Add a deleted overload.
296         * testsuite/20_util/optional/swap/2.cc: Add tests for disabled
297         swaps.
298         * testsuite/20_util/pair/swap_cxx17.cc: New.
299         * testsuite/20_util/tuple/swap_cxx17.cc: Likewise.
300         * testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc:
301         Likewise.
302         * testsuite/20_util/variant/compile.cc: Add tests for disabled
303         swaps.
304         * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
305         New.
306         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
307         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
308         Likewise.
309
310 2016-12-01  Ville Voutilainen  <ville.voutilainen@gmail.com>
311
312         The convertible_to traits need to use a variadic catch-all for the
313         false-cases.
314         * include/std/istream (__is_convertible_to_basic_istream):
315         Change the parameter of the false-case of __check to a variadic.
316         * include/std/ostream (__is_convertible_to_basic_ostream):
317         Likewise.
318
319 2016-12-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
320
321         * crossconfig.m4 (*-linux*): Add link-check for memalign.
322         * configure: Regenerated.
323
324 2016-12-01  Tim Shen  <timshen@google.com>
325
326         PR libstdc++/71500
327         * include/bits/regex.h (basic_regex::basic_regex): Use ECMAScript
328         when the syntax is not specified.
329         * include/bits/regex_compiler.h (_RegexTranslator,
330         _RegexTranslatorBase): Partially support icase in ranges.
331         * include/bits/regex_compiler.tcc (_BracketMatcher::_M_apply):
332         Refactor _M_apply to make the control flow easier to follow, and
333         call _M_translator._M_match_range as added previously.
334         * testsuite/28_regex/traits/char/icase.cc: Add new tests.
335         * testsuite/28_regex/traits/char/user_defined.cc: Add new tests.
336
337 2016-11-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
338
339         Fix testsuite failures caused by the patch implementing LWG 2534.
340         * include/std/istream (__is_convertible_to_basic_istream):
341         Change the return types of __check, introduce istream_type.
342         (operator>>(_Istream&&, _Tp&&)):
343         Use __is_convertible_to_basic_istream::istream_type as the return type.
344         * include/std/ostream (__is_convertible_to_basic_ostream):
345         Change the return types of __check, introduce ostream_type.
346         (operator>>(_Ostream&&, _Tp&&)):
347         Use __is_convertible_to_basic_ostream::ostream_type as the return type.
348
349 2016-11-30  Tim Shen  <timshen@google.com>
350
351         * include/bits/shared_ptr_base.h
352         (__shared_ptr_access<T, L, true, false>::operator*()): Fix assertion.
353
354 2016-11-30  David Edelsohn  <dje.gcc@gmail.com>
355
356         * testsuite/18_support/50594.cc: XFAIL on AIX.
357         * testsuite/ext/mt_allocator/check_new.cc: Same.
358         * testsuite/ext/pool_allocator/check_new.cc: Same.
359         * testsuite/27_io/ios_base/storage/11584.cc: Same.
360
361 2016-11-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
362
363         Implement LWG 2534, Constrain rvalue stream operators.
364         * include/std/istream (__is_convertible_to_basic_istream): New.
365         (__is_extractable): Likewise.
366         (operator>>(basic_istream<_CharT, _Traits>&&, _Tp&&)):
367         Turn the stream parameter into a template parameter
368         and constrain.
369         * include/std/ostream (__is_convertible_to_basic_ostream): New.
370         (__is_insertable): Likewise.
371         (operator<<(basic_ostream<_CharT, _Traits>&&, const _Tp&)):
372         Turn the stream parameter into a template parameter
373         and constrain.
374         * testsuite/27_io/basic_istream/extractors_other/char/4.cc: New.
375         * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
376         Likewise.
377         * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: Likewise.
378         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: Likewise.
379
380 2016-11-30  Christophe Lyon  <christophe.lyon@linaro.org>
381
382         * testsuite/experimental/type_erased_allocator/2.cc: Add
383         dg-require-thread-fence.
384
385 2016-11-29  David Edelsohn  <dje.gcc@gmail.com>
386
387         PR libstdc++/68838
388         * testsuite/lib/libstdc++.exp (DEFAULT_CXXFLAGS): Add -Wl,-bmaxdata on
389         AIX.
390         * testsuite/23_containers/vector/profile/vector.cc: Remove
391         dg-additional-options.
392
393 2016-11-26  Tim Shen  <timshen@google.com>
394
395         PR libstdc++/78441
396         * include/std/variant: Propagate cv qualifications to types returned
397         by variant_alternative.
398         * testsuite/20_util/variant/compile.cc: Tests.
399
400 2016-11-23  Felix Morgner  <felix.morgner@gmail.com>
401             Jonathan Wakely  <jwakely@redhat.com>
402
403         PR libstdc++/78490
404         * include/experimental/propagate_const (propagate_const::operator=):
405         Add missing return statements.
406         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
407         Adjust dg-error line numbers.
408         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
409
410 2016-11-22  Uros Bizjak  <ubizjak@gmail.com>
411
412         * testsuite/Makefile.am
413         (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection
414         of -j argument.
415         * testsuite/Makefile.in: Regenereate.
416
417 2016-11-22  Jonathan Wakely  <jwakely@redhat.com>
418
419         PR libstdc++/78465
420         * testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests
421         with preprocessor conditions.
422
423 2016-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
424
425         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Update comments.
426         (__CORRECT_ISO_CPP11_MATH_H_PROTO): Rename to ...
427         (__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): ... this.
428         Add test for C++11 <math.h> integral overloads.
429         * configure: Regenerate.
430         * config.h.in: Regenerate.
431
432         * include/c_global/cmath [__cplusplus >= 201103L]: Reflect
433         __CORRECT_ISO_CPP11_MATH_H_PROTO to
434         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
435         * include/c_global/cmath [_GLIBCXX_USE_C99_MATH &&
436         !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC && __cplusplus >= 201103L]
437         (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO_INT.
438         (std::isfinite): Likewise.
439         (std::isinf): Likewise.
440         (std::isnan): Likewise.
441         (std::isnormal): Likewise.
442         (std::signbit): Likewise.
443         (std::isgreater): Likewise.
444         (std::isgreaterequal): Likewise.
445         (std::isless): Likewise.
446         (std::islessequal): Likewise.
447         (std::islessgreater): Likewise.
448         (std::isunordered): Likewise.
449         [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]
450         (std::acosh): Likewise.
451         (std::asinh): Likewise.
452         (std::atanh): Likewise.
453         (std::cbrt): Likewise.
454         (std::copysign): Likewise.
455         (std::erf): Likewise.
456         (std::erfc): Likewise.
457         (std::exp2): Likewise.
458         (std::expm1): Likewise.
459         (std::fdim): Likewise.
460         (std::fma): Likewise.
461         (std::fmax): Likewise.
462         (std::fmin): Likewise.
463         (std::hypot): Likewise.
464         (std::ilogb): Likewise.
465         (std::lgamma): Likewise.
466         (std::llrint): Likewise.
467         (std::llround): Likewise.
468         (std::log1p): Likewise.
469         (std::log2): Likewise.
470         (std::logb): Likewise.
471         (std::lrint): Likewise.
472         (std::lround): Likewise.
473         (std::nearbyint): Likewise.
474         (std::nextafter): Likewise.
475         (std::nexttoward): Likewise.
476         (std::remainder): Likewise.
477         (std::remquo): Likewise.
478         (std::rint): Likewise.
479         (std::round): Likewise.
480         (std::scalbln): Likewise.
481         (std::scalbn): Likewise.
482         (std::tgamma): Likewise.
483         (std::trunc): Likewise.
484         * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1 && __cplusplus >=
485         201103L]: Reflect __CORRECT_ISO_CPP11_MATH_H_PROTO to
486         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
487
488 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
489
490         PR libstdc++/59406
491         * include/bits/functional_hash.h: Add comment noting difference from
492         FNV-1a.
493         * include/tr1/functional_hash.h: Likewise.
494         * libsupc++/hash_bytes.cc: Likewise.
495
496         * include/bits/basic_string.h: Reuse _If_sv alias template for new
497         constructor.
498
499         * doc/xml/manual/intro.xml: Document LWG 2770 status. Remove entries
500         for 2742 and 2748.
501         * doc/html/*: Regenerate.
502         * include/std/utility (__tuple_size_cv_impl): New helper to safely
503         detect tuple_size<T>::value, as per LWG 2770.
504         (tuple_size<cv T>): Adjust partial specializations to derive from
505         __tuple_size_cv_impl.
506         * testsuite/20_util/tuple/cv_tuple_size.cc: Test SFINAE-friendliness.
507
508         * testsuite/libstdc++-prettyprinters/cxx17.cc: Adjust test for
509         variant<T&>.
510
511 2016-11-15  Tim Shen  <timshen@google.com>
512
513         * include/std/variant: Remove variant<T&>, variant<void>, variant<>
514         support to rebase on the post-Issaquah design.
515         * testsuite/20_util/variant/compile.cc: Likewise.
516
517 2016-11-15  Matthias Klose  <doko@ubuntu.com>
518
519         * configure: Regenerate.
520
521 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
522
523         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Fix license
524         text.
525         * testsuite/20_util/any/assign/emplace.cc: Likewise.
526         * testsuite/20_util/any/cons/in_place.cc: Likewise.
527         * testsuite/20_util/any/make_any.cc: Likewise.
528         * testsuite/20_util/any/requirements.cc: Likewise.
529         * testsuite/20_util/any/typedefs.cc: Likewise.
530         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
531         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
532         Likewise.
533         * testsuite/20_util/in_place/requirements.cc: Likewise.
534         * testsuite/20_util/optional/77288.cc: Likewise.
535         * testsuite/20_util/optional/assignment/1.cc: Likewise.
536         * testsuite/20_util/optional/assignment/2.cc: Likewise.
537         * testsuite/20_util/optional/assignment/3.cc: Likewise.
538         * testsuite/20_util/optional/assignment/4.cc: Likewise.
539         * testsuite/20_util/optional/assignment/5.cc: Likewise.
540         * testsuite/20_util/optional/assignment/6.cc: Likewise.
541         * testsuite/20_util/optional/assignment/7.cc: Likewise.
542         * testsuite/20_util/optional/cons/77727.cc: Likewise.
543         * testsuite/20_util/optional/cons/move.cc: Likewise.
544         * testsuite/20_util/optional/cons/value.cc: Likewise.
545         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
546         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
547         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
548         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
549         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
550         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
551         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
552         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
553         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
554         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
555         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
556         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
557         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
558         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
559         * testsuite/20_util/optional/hash.cc: Likewise.
560         * testsuite/20_util/optional/make_optional.cc: Likewise.
561         * testsuite/20_util/optional/observers/1.cc: Likewise.
562         * testsuite/20_util/optional/observers/2.cc: Likewise.
563         * testsuite/20_util/optional/observers/3.cc: Likewise.
564         * testsuite/20_util/optional/observers/4.cc: Likewise.
565         * testsuite/20_util/optional/observers/5.cc: Likewise.
566         * testsuite/20_util/optional/observers/6.cc: Likewise.
567         * testsuite/20_util/optional/relops/1.cc: Likewise.
568         * testsuite/20_util/optional/relops/2.cc: Likewise.
569         * testsuite/20_util/optional/relops/3.cc: Likewise.
570         * testsuite/20_util/optional/relops/4.cc: Likewise.
571         * testsuite/20_util/optional/relops/5.cc: Likewise.
572         * testsuite/20_util/optional/relops/6.cc: Likewise.
573         * testsuite/20_util/optional/requirements.cc: Likewise.
574         * testsuite/20_util/optional/swap/1.cc: Likewise.
575         * testsuite/20_util/optional/typedefs.cc: Likewise.
576         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
577         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
578         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
579         Likewise.
580         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
581         * testsuite/20_util/variant/hash.cc: Likewise.
582         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
583         * testsuite/experimental/any/typedefs.cc: Likewise.
584         * testsuite/experimental/array/make_array.cc: Likewise.
585         * testsuite/experimental/array/neg.cc: Likewise.
586         * testsuite/experimental/chrono/value.cc: Likewise.
587         * testsuite/experimental/deque/erasure.cc: Likewise.
588         * testsuite/experimental/forward_list/erasure.cc: Likewise.
589         * testsuite/experimental/list/erasure.cc: Likewise.
590         * testsuite/experimental/map/erasure.cc: Likewise.
591         * testsuite/experimental/memory/observer_ptr/assignment/assign.cc:
592         Likewise.
593         * testsuite/experimental/memory/observer_ptr/cons/cons.cc: Likewise.
594         * testsuite/experimental/memory/observer_ptr/hash/hash.cc: Likewise.
595         * testsuite/experimental/memory/observer_ptr/make_observer.cc:
596         Likewise.
597         * testsuite/experimental/memory/observer_ptr/relops/relops.cc:
598         Likewise.
599         * testsuite/experimental/memory/observer_ptr/requirements.cc: Likewise.
600         * testsuite/experimental/memory/observer_ptr/swap/swap.cc: Likewise.
601         * testsuite/experimental/memory/observer_ptr/typedefs.cc: Likewise.
602         * testsuite/experimental/optional/77288.cc: Likewise.
603         * testsuite/experimental/optional/assignment/1.cc: Likewise.
604         * testsuite/experimental/optional/assignment/2.cc: Likewise.
605         * testsuite/experimental/optional/assignment/3.cc: Likewise.
606         * testsuite/experimental/optional/assignment/4.cc: Likewise.
607         * testsuite/experimental/optional/assignment/5.cc: Likewise.
608         * testsuite/experimental/optional/assignment/6.cc: Likewise.
609         * testsuite/experimental/optional/cons/77727.cc: Likewise.
610         * testsuite/experimental/optional/cons/move.cc: Likewise.
611         * testsuite/experimental/optional/cons/value.cc: Likewise.
612         * testsuite/experimental/optional/cons/value_neg.cc: Likewise.
613         * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
614         * testsuite/experimental/optional/constexpr/make_optional.cc: Likewise.
615         * testsuite/experimental/optional/constexpr/observers/1.cc: Likewise.
616         * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
617         * testsuite/experimental/optional/constexpr/observers/3.cc: Likewise.
618         * testsuite/experimental/optional/constexpr/observers/4.cc: Likewise.
619         * testsuite/experimental/optional/constexpr/observers/5.cc: Likewise.
620         * testsuite/experimental/optional/constexpr/relops/1.cc: Likewise.
621         * testsuite/experimental/optional/constexpr/relops/2.cc: Likewise.
622         * testsuite/experimental/optional/constexpr/relops/3.cc: Likewise.
623         * testsuite/experimental/optional/constexpr/relops/4.cc: Likewise.
624         * testsuite/experimental/optional/constexpr/relops/5.cc: Likewise.
625         * testsuite/experimental/optional/constexpr/relops/6.cc: Likewise.
626         * testsuite/experimental/optional/make_optional.cc: Likewise.
627         * testsuite/experimental/optional/observers/1.cc: Likewise.
628         * testsuite/experimental/optional/observers/2.cc: Likewise.
629         * testsuite/experimental/optional/observers/3.cc: Likewise.
630         * testsuite/experimental/optional/observers/4.cc: Likewise.
631         * testsuite/experimental/optional/observers/5.cc: Likewise.
632         * testsuite/experimental/optional/relops/1.cc: Likewise.
633         * testsuite/experimental/optional/relops/2.cc: Likewise.
634         * testsuite/experimental/optional/relops/3.cc: Likewise.
635         * testsuite/experimental/optional/relops/4.cc: Likewise.
636         * testsuite/experimental/optional/relops/5.cc: Likewise.
637         * testsuite/experimental/optional/relops/6.cc: Likewise.
638         * testsuite/experimental/optional/requirements.cc: Likewise.
639         * testsuite/experimental/optional/swap/1.cc: Likewise.
640         * testsuite/experimental/optional/typedefs.cc: Likewise.
641         * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
642         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
643         Likewise.
644         * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
645         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
646         * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
647         * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
648         * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
649         * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
650         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
651         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
652         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
653         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
654         * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
655         * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
656         * testsuite/experimental/random/randint.cc: Likewise.
657         * testsuite/experimental/ratio/value.cc: Likewise.
658         * testsuite/experimental/set/erasure.cc: Likewise.
659         * testsuite/experimental/string/erasure.cc: Likewise.
660         * testsuite/experimental/string_view/typedefs.cc: Likewise.
661         * testsuite/experimental/system_error/value.cc: Likewise.
662         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
663         * testsuite/experimental/type_traits/value.cc: Likewise.
664         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
665         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
666         * testsuite/experimental/vector/erasure.cc: Likewise.
667
668         * doc/xml/manual/intro.xml: Document LWG 2742 status.
669         * doc/html/*: Regenerate.
670         * include/bits/basic_string.h
671         (basic_string(const T&, size_type, size_type, const Allocator&)): Add
672         constructor for substring of basic_string_view, as per LWG 2742 but
673         with additional constraint to fix ambiguity.
674         * testsuite/21_strings/basic_string/cons/char/9.cc: New test.
675         * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: New test.
676
677         * doc/xml/manual/intro.xml: Document LWG 2748 status.
678         * include/std/optional (optional<T>::swap): Use is_nothrow_swappable_v
679         for exception specification.
680         (swap(optional<T>&, optional<T>&)): Disable when T is not swappable.
681         * testsuite/20_util/optional/swap/2.cc: New test.
682
683 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
684
685         Implement P0513R0, Poisoning the Hash.
686         * include/bits/functional_hash.h (__poison_hash): New.
687         * include/bits/unique_ptr.h
688         (hash<unique_ptr<_Tp, _Dp>>): Derive from __poison_hash.
689         * include/std/optional (hash<optional<_Tp>>): Likewise.
690         * include/std/variant (hash<variant<_Types...>>): Likewise.
691         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
692         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
693         * testsuite/20_util/optional/hash.cc: New.
694         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
695         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Adjust.
696         * testsuite/20_util/unique_ptr/hash/1.cc: Add tests for
697         poisoned fancy pointer hashes.
698         * testsuite/20_util/variant/hash.cc: New.
699
700 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
701
702         Implement P0504R0 (Revisiting in-place tag types for
703         any/optional/variant).
704         * include/std/any (any(_ValueType&& __value)): Constrain
705         the __is_in_place_type with the decayed type.
706         (make_any): Adjust to use the new tag type.
707         * include/std/utility (in_place_tag): Remove.
708         (in_place_t): Turn into a non-reference tag type.
709         (__in_place, __in_place_type, __in_place_index): Remove.
710         (in_place): Turn into an inline variable of non-reference
711         tag type.
712         (in_place<_Tp>): Remove.
713         (in_place_index<_Idx>): Remove.
714         (in_place_type_t): New.
715         (in_place_type): Turn into a variable template of non-reference
716         type.
717         (in_place_index_t): New.
718         (in_place_index): Turn into a variable template of non-reference
719         type.
720         * include/std/variant
721         (_Variant_storage(in_place_index_t<_Np>, _Args&&...)): Adjust to
722         use the new tag type.
723         (_Union(in_place_index_t<0>, _Args&&...)): Likewise.
724         (_Union(in_place_index_t<_Np>, _Args&&...)): Likewise.
725         (_Variant_base()): Likewise.
726         (variant(_Tp&&)): Likewise.
727         (variant(in_place_type_t<_Tp>, _Args&&...)): Likewise.
728         (variant(in_place_type_t<_Tp>, initializer_list<_Up>,
729         _Args&&...)): Likewise.
730         (variant(in_place_index_t<_Np>, _Args&&...)): Likewise.
731         (variant(in_place_index_t<_Np>, initializer_list<_Up>,
732         _Args&&...)): Likewise
733         (variant(allocator_arg_t, const _Alloc&)): Likewise.
734         (variant(allocator_arg_t, const _Alloc&, _Tp&&)): Likewise.
735         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
736         _Args&&...)): Likewise.
737         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
738         initializer_list<_Up>, _Args&&...)): Likewise.
739         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
740         _Args&&...)): Likewise.
741         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
742         initializer_list<_Up>, _Args&&...)): Likewise.
743         (emplace(_Args&&...)): Likewise.
744         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
745         * testsuite/20_util/any/cons/explicit.cc: Likewise.
746         * testsuite/20_util/any/cons/in_place.cc: Likewise.
747         * testsuite/20_util/any/requirements.cc: Add tests to
748         check that any is not constructible from the new in_place_type_t
749         of any value category.
750         * testsuite/20_util/in_place/requirements.cc: Adjust to
751         use the new tag type.
752         * testsuite/20_util/variant/compile.cc: Likewise.
753         * testsuite/20_util/variant/run.cc: Likewise.
754
755 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
756
757         Use constexpr addressof in optional, SFINAE housekeeping
758         for any, optional and tuple.
759         * include/std/any (__do_emplace(_Args&&...)): New.
760         (__do_emplace(initializer_list<_Up>, _Args&&...)): Likewise.
761         (__any_constructible): Likewise.
762         (__any_constructible_t): Use __any_constructible.
763         (operator=(_ValueType&&)): SFINAE in the return type.
764         (emplace(_Args&&...)): Likewise.
765         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
766         * include/std/optional (_Has_addressof_mem): Remove.
767         (_Has_addressof_free): Likewise.
768         (_Has_addressof): Likewise.
769         (__constexpr_addressof(_Tp&)): Likewise.
770         (operator->): Use std::__addressof.
771         * include/std/tuple (operator=(const tuple<_UElements...>&)):
772         SFINAE in return type.
773         (operator=(tuple<_UElements...>&&)): Likewise.
774         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
775
776 2016-11-14  Jonathan Wakely  <jwakely@redhat.com>
777
778         * include/bits/move.h (addressof(const _Tp&&)): Add deleted overload,
779         as per LWG 2598.
780
781         * include/std/future (future::share(), future<R&>::share())
782         (future<void>::share()): Add noexcept, as per LWG 2556.
783
784 2016-11-13  Jonathan Wakely  <jwakely@redhat.com>
785
786         PR libstdc++/78326
787         * include/experimental/memory_resource (memory_resource::_S_max_align):
788         Change access to protected.
789
790         * doc/xml/manual/status_cxx2017.xml: Update status.
791         * doc/html/manual/status.html: Regenerate.
792         * include/bits/shared_ptr.h (shared_ptr(unique_ptr<_Yp, _Del>)): Add
793         extension constructor to maintain C++14 behaviour.
794         * include/bits/shared_ptr_base.h (__sp_array_delete): Add new struct.
795         (__shared_count(_Ptr, false_type), __shared_count(_Ptr, true_type)):
796         New constructors.
797         (__sp_compatible_with, __sp_is_constructible): Add specializations
798         for array support.
799         (__sp_is_constructible_arr, __sp_is_constructible_arrN): New helpers.
800         (__shared_ptr_access): New base class for observer member functions.
801         (__shared_ptr::element_type): Use remove_extent.
802         (__shared_ptr::_UniqCompatible): Add __sp_compatible_with check.
803         (__shared_ptr(_Yp*)): Use tag dispatching to call new __shared_count
804         constructor.
805         (__shared_ptr(unique_ptr<_Yp, _Del>)): Add extension constructor.
806         (__shared_ptr::operator*, __shared_ptr::operator->): Remove and
807         inherit from __shared_ptr_access base class.
808         (__shared_ptr::__has_esft_base): Return false for array types.
809         (__weak_ptr::element_type): Use remove_extent.
810         * include/experimental/bits/shared_ptr.h (__libfund_v1): Remove.
811         (__shared_ptr<__libfund_v1<_Tp>>): Remove specializations.
812         (__wak_ptr<__libfund_v1<_Tp>>): Likewise.
813         (experimental::__sp_compatible_v): Redefine using
814         __sp_compatible_with.
815         (experimental::__sp_is_constructible_v): Redefine using
816         __sp_is_constructible.
817         (get_deleter, operator<<): Change argument from __shared_ptr to
818         shared_ptr.
819         * testsuite/20_util/shared_ptr/cons/array.cc: New test.
820         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Adjust for
821         new behaviour.
822         * testsuite/20_util/shared_ptr/observers/array.cc: Test observers for
823         arrays.
824         * testsuite/20_util/shared_ptr/observers/array_neg.cc: New test.
825
826 2016-11-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
827
828         Implement P0403R1, Literal suffixes for basic_string_view.
829         * include/std/string_view
830         (operator""sv(const char*, size_t)): New.
831         (operator""sv(const wchar_t*, size_t)): Likewise.
832         (operator""sv(const char16_t*, size_t)): Likewise.
833         (operator""sv(const char32_t*, size_t)): Likewise.
834         * testsuite/21_strings/basic_string_view/literals/types.cc: New.
835         * testsuite/21_strings/basic_string_view/literals/values.cc: Likewise.
836         * testsuite/experimental/string_view/literals/values.cc: Add
837         tests for literals with embedded NULs.
838
839 2016-11-12  Jonathan Wakely  <jwakely@redhat.com>
840
841         * src/filesystem/ops.cc (is_empty): Fix typo in exception message.
842
843         * include/std/future (future_error): Fix public typo to private.
844
845 2016-11-11  Jonathan Wakely  <jwakely@redhat.com>
846
847         * include/std/future (future_error): Make existing constructor
848         private and add constructor from future_errc.
849
850         * include/bits/shared_ptr.h (hash<shared_ptr<T>>): Use element_type.
851         * include/bits/shared_ptr_base.h (hash<__shared_ptr<T, L>>): Likewise.
852
853 2016-11-10  François Dumont  <fdumont@gcc.gnu.org>
854
855         * src/c++11/debug.cc (format_word): Delete.
856         (print_literal): New. Replace call to print_word for literals.
857
858 2016-11-09  Tim Shen  <timshen@google.com>
859
860         * include/bits/regex.h (regex_iterator::regex_iterator()):
861         Define end() as _M_pregex == nullptr.
862         * include/bits/regex.tcc (regex_iterator::operator==(),
863         regex_iterator::operator++()): Fix operator==() and operator++() to
864         look at null-ness of _M_pregex on both sides.
865         * testsuite/28_regex/regression.cc: New testcase.
866
867 2016-11-07  Jason Merrill  <jason@redhat.com>
868
869         * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM)
870         (_GLIBCXX_NOEXCEPT_QUAL): New.
871         * include/std/type_traits (is_function): Use them.
872         * libsubc++/new (launder): Likewise.
873         * libsupc++/cxxabi.h (__pbase_type_info::__masks): Add
874         __noexcept_mask.
875         * libsupc++/pbase_type_info.cc (__do_catch): Handle function
876         pointer conversion.
877
878 2016-11-07  François Dumont  <fdumont@gcc.gnu.org>
879
880         * config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of
881         over-aligned types symbols.
882
883 2016-10-28  Jonathan Wakely  <jwakely@redhat.com>
884
885         * include/experimental/bits/fs_path.h (__is_path_src)
886         (_S_range_begin, _S_range_end): Overload to treat string_view as a
887         Source object.
888         (path::operator+=, path::compare): Overload for basic_string_view.
889         * testsuite/experimental/filesystem/path/construct/string_view.cc:
890         New test.
891         * testsuite/experimental/filesystem/path/construct/
892         string_view_cxx17.cc: New test.
893
894         * include/experimental/bits/fs_path.h
895         (path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from
896         iterator's value_type.
897         (path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise.
898         Do not use operation not supported by input iterators.
899         (path::__is_path_iter_src): Add partial specialization for const
900         encoded character types.
901         * testsuite/experimental/filesystem/path/construct/range.cc: Test
902         construction from input iterators with const value types.
903
904         * doc/xml/manual/status_cxx2017.xml: Update status.
905         * doc/html/*: Regenerate.
906         * include/std/type_traits (has_unique_object_representations): Guard
907         with __has_builtin check.
908         * libsupc++/new (launder): Define for C++17.
909         * testsuite/18_support/launder/1.cc: New test.
910         * testsuite/18_support/launder/requirements.cc: New test.
911         * testsuite/18_support/launder/requirements_neg.cc: New test.
912
913 2016-10-27  Uros Bizjak  <ubizjak@gmail.com>
914
915         PR libstdc++/70975
916         * src/filesystem/ops.cc (do_copy_file) [_GLIBCXX_USE_SENDFILE]:
917         Pass non-null pointer to sendfile for offset argument.
918
919 2016-10-27  Jonathan Wakely  <jwakely@redhat.com>
920
921         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
922         default.cc: Fix effective target selector.
923         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
924         parms.cc: Likewise.
925         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
926         equal.cc: Likewise.
927         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
928         generate.cc: Likewise.
929         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
930         inequal.cc: Likewise.
931         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
932         serialize.cc: Likewise.
933
934         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
935         Use end() function to get end iterator.
936         * testsuite/experimental/filesystem/iterators/pop.cc: Remove printf
937         statements that were present for debugging.
938         * testsuite/experimental/filesystem/iterators/
939         recursive_directory_iterator.cc: Use end() function to get end
940         iterator.
941         * testsuite/experimental/filesystem/operations/last_write_time.cc:
942         Only require file timestamps to be accurate to one second.
943
944 2016-10-26  François Dumont  <fdumont@gcc.gnu.org>
945
946         * include/bits/stl_map.h (map()): Make default.
947         * include/bits/stl_multimap.h (multimap()): Likewise.
948         * include/bits/stl_multiset.h (multiset()): Likewise.
949         * include/bits/stl_set.h (set()): Likewise.
950         * include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept.
951         (_Rb_tree()): Make default.
952
953 2016-10-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>
954
955         PR libstdc++/78110
956         * libsupc++/new_opa.cc: Don't include <malloc.h> in a free standing
957         environment.  Declare memalign directly in that case.
958
959 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
960
961         * testsuite/experimental/filesystem/iterators/pop.cc: Remove
962         unreliable dependency on directory order.
963
964 2016-10-26  Edward Smith-Rowland  <3dw4rd@verizon.net>
965
966         Implement uniform_inside_sphere_distribution extension.
967         * include/ext/random: Implement uniform_inside_sphere_distribution.
968         * include/ext/random.tcc: Ditto.
969         * testsuite/ext/random/uniform_inside_sphere_distribution/
970         cons/default.cc: New.
971         * testsuite/ext/random/uniform_inside_sphere_distribution/
972         cons/parms.cc: New.
973         * testsuite/ext/random/uniform_inside_sphere_distribution/
974         operators/equal.cc: New.
975         * testsuite/ext/random/uniform_inside_sphere_distribution/
976         operators/generate.cc: New.
977         * testsuite/ext/random/uniform_inside_sphere_distribution/
978         operators/inequal.cc: New.
979         * testsuite/ext/random/uniform_inside_sphere_distribution/
980         operators/serialize.cc: New.
981
982 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
983
984         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
985         Overload pop (LWG 2706).
986         * src/filesystem/dir.cc (recursive_directory_iterator::pop): Define
987         new overload.
988         * testsuite/experimental/filesystem/iterators/pop.cc: New test.
989
990         * src/filesystem/dir.cc (recursive_directory_iterator::increment):
991         Reset state on error.
992         * testsuite/experimental/filesystem/iterators/
993         recursive_directory_iterator.cc: Check state after increment error.
994
995         PR libstdc++/78111
996         * src/filesystem/ops.cc (canonical): Set error for non-existent path.
997
998 2016-10-26  Uros Bizjak  <ubizjak@gmail.com>
999
1000         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
1001         for PATH_MAX in realpath test.
1002         * configure: Regenerate.
1003
1004 2016-10-25  Jonathan Wakely  <jwakely@redhat.com>
1005
1006         * src/filesystem/ops.cc
1007         (last_write_time(const path&, file_time_type, error_code&)): Handle
1008         negative times correctly.
1009         * testsuite/experimental/filesystem/operations/last_write_time.cc:
1010         Test writing file times.
1011
1012         * src/filesystem/ops.cc (do_copy_file): Report an error if source or
1013         destination is not a regular file (LWG 2712).
1014         (equivalent): Fix error handling and result when only one file exists.
1015         * testsuite/experimental/filesystem/operations/copy.cc: Remove files
1016         created by tests. Test copying directories.
1017         * testsuite/experimental/filesystem/operations/copy_file.cc: Remove
1018         files created by tests.
1019         * testsuite/experimental/filesystem/operations/equivalent.cc: New.
1020         * testsuite/experimental/filesystem/operations/is_empty.cc: New.
1021         * testsuite/experimental/filesystem/operations/read_symlink.cc: Remove
1022         file created by test.
1023         * testsuite/experimental/filesystem/operations/remove_all.cc: New.
1024         * testsuite/util/testsuite_fs.h (~scoped_file): Only try to remove
1025         file if path is non-empty, to support removal by other means.
1026
1027 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
1028
1029         * src/filesystem/ops.cc (is_empty): Fix error handling.
1030         * testsuite/experimental/filesystem/operations/is_empty.cc: New test.
1031
1032         PR libstdc++/71337
1033         * src/filesystem/ops.cc (temp_directory_path): Pass error_code
1034         argument to other filesystem operations.
1035         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
1036         Add testcase for inaccessible directory.
1037
1038         * src/filesystem/dir.cc (open_dir): Return same value for errors
1039         whether ignored or not.
1040         (_Dir::advance(error_code*, directory_options)): Return false on
1041         error.
1042         (directory_iterator(const path&, directory_options, error_code*)):
1043         Create end iterator on error (LWG 2723).
1044         (recursive_directory_iterator(const path&, directory_options,
1045         error_code*)): Likewise.
1046         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1047         Update expected behaviour on error.
1048         * testsuite/experimental/filesystem/iterators/
1049         recursive_directory_iterator.cc: Likewise.
1050
1051         * src/filesystem/ops.cc (close_fd): Remove.
1052         (do_copy_file): Just use close(3) instead of close_fd, to prevent
1053         retrying on error.
1054
1055         * src/filesystem/ops.cc (do_copy_file): Return an error if either
1056         source or destination is not a regular file.
1057         (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683
1058         resolutions.
1059         (read_symlink): Add missing ec.clear().
1060         * testsuite/experimental/filesystem/operations/copy.cc: Update
1061         expected behaviour for copying directories with create_symlinks.
1062         Verify that error_code arguments are cleared if there's no error.
1063         * testsuite/experimental/filesystem/operations/read_symlink.cc: New.
1064
1065 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
1066
1067         Cross-port exception-safety and move fixes of std::any to
1068         std::experimental::any.
1069         * include/experimental/any (operator=(const any&)):
1070         Make strongly exception-safe.
1071         (operator=(any&&)): clear() unconditionally in the case where
1072         rhs has a value.
1073         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
1074         * testsuite/experimental/any/assign/2.cc: Adjust.
1075         * testsuite/experimental/any/assign/exception.cc: New.
1076         * testsuite/experimental/any/cons/2.cc: Adjust.
1077         * testsuite/experimental/any/misc/any_cast_neg.cc: Ajust.
1078
1079 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
1080
1081         Cross-port the latest resolution of LWG2756 and some
1082         bug-fixes to experimental::optional.
1083         PR libstdc++/77288
1084         PR libstdc++/77727
1085         * include/experimental/optional (_Optional_base):
1086         Remove constructors that take a _Tp.
1087         (__is_optional_impl, __is_optional): Remove.
1088         (__converts_from_optional): New.
1089         (optional(_Up&&)): Fix constraints, call base with in_place.
1090         (optional(const optional<_Up>&)): Fix constraints, use emplace.
1091         (optional(optional<_Up>&&)): Likewise.
1092         (operator=(_Up&&)): Fix constraints.
1093         (operator=(const optional<_Up>&)): Likewise.
1094         (operator=(optional<_Up>&&)): Likewise.
1095         (emplace(_Args&&...)): Constrain.
1096         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
1097         * testsuite/experimental/optional/77288.cc: New.
1098         * testsuite/experimental/optional/assignment/5.cc: Adjust.
1099         * testsuite/experimental/optional/cons/77727.cc: New.
1100         * testsuite/experimental/optional/cons/value.cc: Adjust.
1101
1102 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
1103
1104         * include/bits/stl_vector.h (vector::_M_data_ptr, vector::data):
1105         Change return type of non-standard C++98 extension to match C++11.
1106
1107 2016-10-22  François Dumont  <fdumont@gcc.gnu.org>
1108
1109         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_ALGO)
1110         (_GLIBCXX_END_NAMESPACE_ALGO): Default to respectively
1111         _GLIBCXX_BEGIN_NAMESPACE_VERSION and _GLIBCXX_END_NAMESPACE_VERSION.
1112         (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER, _GLIBCXX_END_NAMESPACE_CONTAINER):
1113         Likewise.
1114
1115 2016-10-22  Jonathan Wakely  <jwakely@redhat.com>
1116
1117         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
1118         Ignore symlink_nofollow flag if file is not a symlink.
1119         * testsuite/experimental/filesystem/operations/permissions.cc: Test
1120         symlink_nofollow on non-symlinks.
1121
1122 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
1123
1124         * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks):
1125         Replace with symlink_nofollow (LWG 2720).
1126         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
1127         Handle symlink_nofollow.
1128         * testsuite/experimental/filesystem/operations/create_symlink.cc: New
1129         test.
1130         * testsuite/experimental/filesystem/operations/permissions.cc: Test
1131         overload taking error_code.
1132
1133         * include/experimental/bits/fs_ops.h
1134         (exists(const path&, error_code&)): Clear error if status is known
1135         (LWG 2725).
1136         (status(const path&, error_code&)): Handle EOVERFLOW.
1137         * testsuite/experimental/filesystem/operations/exists.cc: Test
1138         overload taking an error_code.
1139
1140         * include/experimental/bits/fs_path.h (path::path(string_type&&))
1141         (path::operator=(string&&), path::assign(string_type&&)): Define
1142         construction and assignment from string_type rvalues (LWG 2707).
1143
1144 2016-10-21  Eelis van der Weegen  <eelis@eelis.net>
1145
1146         * include/bits/stl_algo.h (__gen_two_uniform_ints): Move logic out
1147         of shuffle into new function.
1148         (shuffle): Call __gen_two_uniform_ints.
1149         (__sample<ForwardIterator, OutputIterator, Cat, Size, URBG>): Use
1150         __gen_two_uniform_ints and perform two samples at a time.
1151
1152 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
1153
1154         * include/Makefile.am: Add <bits/refwrap.h> and <bits/std_function.h>.
1155         Order alphabetically.
1156         * include/Makefile.in: Regenerate.
1157         * include/bits/refwrap.h: New header.
1158         (_Maybe_get_result_type,_Weak_result_type_impl, _Weak_result_type)
1159         (_Reference_wrapper_base_impl, _Reference_wrapper_base)
1160         (reference_wrapper, ref, cref): Move here from <functional>.
1161         * include/bits/shared_ptr_base.h: Include <bits/refwrap.h> and
1162         <bits/stl_function.h> instead of <functional>.
1163         * include/bits/std_function.h: New header.
1164         (_Maybe_unary_or_binary_function, bad_function_call)
1165         (__is_location_invariant, _Nocopy_types, _Any_data)
1166         (_Simple_type_wrapper, _Function_base, _Function_handler, function):
1167         Move here from <functional>.
1168         * include/bits/unique_ptr.h: Include <bits/stl_function.h>.
1169         * include/std/functional: Include new headers and move components to
1170         them.
1171         * include/std/future: Include <bits/std_function.h> instead of
1172         <functional>.
1173         * include/std/mutex: Likewise.
1174         * include/std/regex: Likewise.
1175         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
1176         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
1177         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
1178         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
1179         lines.
1180         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
1181         * testsuite/30_threads/packaged_task/49668.cc: Include <functional>.
1182
1183         * libsupc++/exception_ptr.h (make_exception_ptr): Qualify new.
1184         * testsuite/18_support/exception_ptr/make_exception_ptr_2.cc: New
1185         test.
1186
1187 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
1188
1189         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&))
1190         (shared_ptr(auto_ptr&&)): Adjust template parameter lists.
1191         * include/bits/shared_ptr.h (__sp_compatible_with)
1192         (__sp_is_constructible): New helper traits for shared_ptr.
1193         (shared_ptr::_Convertible): Replace with _Constructible.
1194         (shared_ptr::_Constructible, shared_ptr::_Assignable): Forward checks
1195         to base class.
1196         (shared_ptr::shared_ptr, shared_ptr::operator=): Constrain template
1197         with _Constructible and _Assignable.
1198         (shared_ptr::shared_ptr(shared_ptr<_Tp1>, _Tp*)): Use element_type
1199         instead of _Tp.
1200         (operator<): Likewise.
1201         (operator>): Define in terms of operator<.
1202         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
1203         element_type instead of _Tp.
1204         (reinterpret_pointer_cast): Define for C++17.
1205         (weak_ptr::_Convertible): Replace with _Constructible.
1206         (weak_ptr::_Constructible, weak_ptr::_Assignable): Forward checks
1207         to base class.
1208         (weak_ptr::weak_ptr, weak_ptr::operator=): Constrain templates
1209         with _Constructible and _Assignable.
1210         * include/bits/shared_ptr_base.h (__shared_ptr::_Convertible): Replace
1211         with _Compatible.
1212         (__shared_ptr::_SafeConv): New constraint for incoming raw pointers.
1213         (__shared_ptr::_Compatible): New constraint for converting from
1214         other types of shared_ptr and weak_ptr.
1215         (__shared_ptr::_Assignable): Define in terms of _Compatible.
1216         (__shared_ptr::_UniqCompatible, __shared_ptr::_UniqAssignable): New
1217         constraints for converting from unique_ptr.
1218         (__shared_ptr::__shared_ptr, __shared_ptr::operator=): Constrain
1219         template with _SaveConf, _Compatible and _Assignable. Remove
1220         __glibcxx_function_requires concept checks. Add static assertion for
1221         deleter expression being well-formed.
1222         (__shared_ptr::__shared_ptr(__shared_ptr<_Tp1>, _Tp*))
1223         (__shared_ptr::operator*, __shared_ptr::operator->)
1224         (__shared_ptr::get, __shared_ptr::_M_ptr): Use element_type instead
1225         of _Tp.
1226         (operator<): Likewise.
1227         (operator>): Define in terms of operator<.
1228         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
1229         element_type instead of _Tp.
1230         (reinterpret_pointer_cast): Define for C++17.
1231         (weak_ptr::_Convertible): Replace with _Compatible.
1232         (weak_ptr::_Compatible, weak_ptr::_Assignable): New constraints for
1233         conversions from other types of weak_ptr and shared_ptr.
1234         (__weak_ptr::__weak_ptr, __weak_ptr::operator=): Constrain templates
1235         with _Constructible and _Assignable.
1236         (__weak_ptr::_M_ptr): Use element_type instead of _Tp.
1237         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Adjust
1238         dg-error pattern.
1239         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Test conversions.
1240         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
1241         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1242         * testsuite/20_util/shared_ptr/casts/reinterpret.cc: New test.
1243
1244 2016-10-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
1245
1246         Do the operator= SFINAE in the return type for optional,
1247         not in the template parameters.
1248         * include/std/optional (operator=(_Up&&)): Move SFINAE
1249         from template parameters to the return type.
1250         (operator=(const optional<_Up>&)): Likewise.
1251         (operator=(optional<_Up>&&)): Likewise.
1252
1253 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
1254
1255         * include/bits/allocator.h: Remove trailing whitespace, tab-indent.
1256         * include/ext/new_allocator.h: Likewise.
1257
1258         PR libstdc++/78052
1259         * include/bits/allocator.h (allocator<void>::construct)
1260         (allocator<void>::destroy): Define.
1261         * testsuite/20_util/allocator/void.cc: New test.
1262
1263         * testsuite/20_util/enable_shared_from_this/56383.cc: Add tests for
1264         additional ambiguous cases.
1265
1266 2016-10-19  Jonathan Wakely  <jwakely@redhat.com>
1267
1268         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&)): Call
1269         _M_enable_shared_from_this_with instead of
1270         __enable_shared_from_this_helper.
1271         * include/bits/shared_ptr.h (__enable_shared_from_this_helper):
1272         Remove overload for std::enable_shared_from_this..
1273         (__enable_shared_from_this_base): Define friend function to select a
1274         std::enable_shared_from_this base class.
1275         * include/bits/shared_ptr_base.h (__enable_shared_from_this_helper):
1276         Remove all overloads.
1277         (__shared_ptr): Change all relevant constructors to call
1278         _M_enable_shared_from_this_with instead of
1279         __enable_shared_from_this_helper.
1280         (__shared_ptr::__efst_base_t, __shared_ptr::__has_efst_base): Helpers
1281         to detect accessible and unambiguous enable_shared_from_this bases.
1282         (__shared_ptr::_M_enable_shared_from_this_with): New function to
1283         replace __enable_shared_from_this_helper overloads.
1284         (__enable_shared_from_this_helper): Remove overload for
1285         std::__enable_shared_from_this.
1286         (__enable_shared_from_this_base): Define friend function to select a
1287         std::__enable_shared_from_this base class.
1288         * include/experimental/bits/shared_ptr.h (experimental::shared_ptr):
1289         Change relevant constructors to call _M_enable_shared_from_this_with.
1290         (experimental::shared_ptr::__efst_base_t)
1291         (experimental::shared_ptr::__has_efst_base): Helpers to detect
1292         accessible and unambiguous enable_shared_from_this bases.
1293         (experimental::shared_ptr::_M_enable_shared_from_this_with): Define.
1294         (experimental::__enable_shared_from_this_helper): Remove overload for
1295         std::experimental::enable_shared_from_this.
1296         (experimental::__expt_enable_shared_from_this_base): Define friend
1297         function to select a std::experimental::enable_shared_from_this base.
1298         * testsuite/experimental/memory/shared_ptr/cons/
1299         enable_shared_from_this.cc: New test.
1300         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
1301         Adjust expected behaviour for shared_ptr<A[]>.
1302
1303         * include/debug/vector (__gnu_debug::vector::emplace_back): Fix return
1304         type.
1305
1306         * include/backward/auto_ptr.h (dauto_ptr): Correct comment about
1307         conversions from auto_ptr<Derived> rvalues to auto_ptr<Base>.
1308         * testsuite/20_util/auto_ptr/assign_neg.cc: Remove redundant dg-error
1309         directives that only match notes, not errors.
1310
1311         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
1312         Add tests for valid and invalid conversions.
1313         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
1314         Likewise.
1315
1316         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests
1317         to new file.
1318         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file.  Fix
1319         test for incompatible deleters to not also use incompatible types.
1320         Add tests for incompatible array types.
1321
1322         * include/experimental/bits/shared_ptr.h
1323         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_Compatible): Just use
1324         is_convertible for non-array specialization.
1325         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_UniqCompatible): New
1326         constraint for conversions from unique_ptr.
1327         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::__shared_ptr): Constrain.
1328         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::reset): Likewise.
1329         (__sp_compatible_v): New variable template for trait.
1330         (__sp_is_constructible): New trait to check shared_ptr constraints.
1331         (__sp_is_constructible_v): New variable template for trait.
1332         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_SafeConv): New
1333         constraint for construction/reset, using __sp_is_constructible_v.
1334         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_UniqCompatible): New
1335         constraint for conversions from unique_ptr.
1336         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::__shared_ptr): Constrain.
1337         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::reset): Likewise.
1338         (shared_ptr::_SafeConv): Constraint for checking constructors.
1339         (shared_ptr(Tp1*), shared_ptr(_Tp1, _Deleter))
1340         (shared_ptr(_Tp1, _Deleter, _Alloc)): Constrain with _SafeConv.
1341         (shared_ptr(const weak_ptr<_Tp1>&)): Constrain with _Compatible.
1342         (shared_ptr(auto_ptr<_Tp1>&&)): Fix, remove TODO.
1343         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
1344         Remove tests using invalid conversions.
1345         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc:
1346         New test.
1347         * testsuite/experimental/memory/shared_ptr/cons/torture.cc: New test.
1348         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Remove
1349         tests using invalid conversions.
1350         * testsuite/experimental/memory/shared_ptr/modifiers/reset_neg.cc: New
1351         test.
1352         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
1353         Remove tests using invalid conversions.
1354
1355         PR libstdc++/77990
1356         * include/bits/unique_ptr.h (__uniq_ptr_impl): New type to
1357         encapsulate implementation details.
1358         (unique_ptr::unique_ptr(_Up)): Don't copy deleter object.
1359         (unique_ptr::get, unique_ptr::get_deleter, unique_ptr::release):
1360         Call member functions of implementation object.
1361         (unique_ptr<T[], D>): Likewise.
1362         * python/libstdcxx/v6/printers.py (UniquePointerPrinter): Adjust for
1363         new implementation.
1364         * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Likewise.
1365         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
1366         lines.
1367         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
1368         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
1369         * testsuite/20_util/unique_ptr/cons/77990.cc: New test.
1370
1371 2016-10-18  Jonathan Wakely  <jwakely@redhat.com>
1372
1373         * include/experimental/bits/shared_ptr.h: Fix indentation.
1374
1375         * include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)):
1376         Remove const from parameter.
1377         (operator<(const shared_ptr<T>&, nullptr_t)): Use correct
1378         specialization of std::less.
1379         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
1380         Test comparison with nullptr and actually call test functions.
1381
1382         * include/bits/uses_allocator.h (__is_uses_allocator_constructible_v)
1383         (__is_nothrow_uses_allocator_constructible_v): Only define for C++14
1384         and later.
1385
1386 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1387
1388         * testsuite/27_io/basic_filebuf/close/12790-1.cc: Remove 'test'
1389         variables.
1390         * testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
1391         * testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Likewise.
1392         * testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Likewise.
1393         * testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
1394         * testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Likewise.
1395         * testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
1396         * testsuite/27_io/basic_filebuf/close/char/3.cc: Likewise.
1397         * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise.
1398         * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise.
1399         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc: Likewise.
1400         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc: Likewise.
1401         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
1402         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc: Likewise.
1403         * testsuite/27_io/basic_filebuf/cons/2020.cc: Likewise.
1404         * testsuite/27_io/basic_filebuf/cons/char/1.cc: Likewise.
1405         * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
1406         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: Likewise.
1407         * testsuite/27_io/basic_filebuf/imbue/12206.cc: Likewise.
1408         * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
1409         * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
1410         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
1411         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
1412         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
1413         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
1414         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
1415         * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
1416         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise.
1417         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
1418         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
1419         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
1420         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
1421         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
1422         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
1423         * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
1424         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
1425         * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Likewise.
1426         * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise.
1427         * testsuite/27_io/basic_filebuf/open/12790-1.cc: Likewise.
1428         * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
1429         * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
1430         * testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise.
1431         * testsuite/27_io/basic_filebuf/open/char/4.cc: Likewise.
1432         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1433         * testsuite/27_io/basic_filebuf/overflow/char/1.cc: Likewise.
1434         * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Likewise.
1435         * testsuite/27_io/basic_filebuf/overflow/char/2.cc: Likewise.
1436         * testsuite/27_io/basic_filebuf/overflow/char/3599.cc: Likewise.
1437         * testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Likewise.
1438         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Likewise.
1439         * testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Likewise.
1440         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
1441         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
1442         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
1443         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
1444         * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Likewise.
1445         * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise.
1446         * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise.
1447         * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise.
1448         * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise.
1449         * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise.
1450         * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise.
1451         * testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Likewise.
1452         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
1453         * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Likewise.
1454         * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Likewise.
1455         * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Likewise.
1456         * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise.
1457         * testsuite/27_io/basic_filebuf/seekoff/45628-2.cc: Likewise.
1458         * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
1459         * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise.
1460         * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
1461         * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Likewise.
1462         * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: Likewise.
1463         * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Likewise.
1464         * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Likewise.
1465         * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Likewise.
1466         * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Likewise.
1467         * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
1468         * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
1469         * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
1470         * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise.
1471         * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise.
1472         * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
1473         * testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Likewise.
1474         * testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: Likewise.
1475         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
1476         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: Likewise.
1477         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc: Likewise.
1478         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc: Likewise.
1479         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc: Likewise.
1480         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc: Likewise.
1481         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise.
1482         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Likewise.
1483         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.
1484         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
1485         Likewise.
1486         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
1487         * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Likewise.
1488         * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Likewise.
1489         * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Likewise.
1490         * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise.
1491         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
1492         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise.
1493         * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Likewise.
1494         * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Likewise.
1495         * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc: Likewise.
1496         * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Likewise.
1497         * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise.
1498         * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
1499         * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise.
1500         * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
1501         * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise.
1502         * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
1503         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Likewise.
1504         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc: Likewise.
1505         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc: Likewise.
1506         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc: Likewise.
1507         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc: Likewise.
1508         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
1509         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
1510         Likewise.
1511         * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
1512         * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Likewise.
1513         * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
1514         * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Likewise.
1515         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1516         * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise.
1517         * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise.
1518         * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise.
1519         * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise.
1520         * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise.
1521         * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise.
1522         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise.
1523         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
1524         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise.
1525         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
1526         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
1527         * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise.
1528         * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise.
1529         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise.
1530         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Likewise.
1531         * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise.
1532         * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise.
1533         * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise.
1534         * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise.
1535         * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise.
1536         * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise.
1537         * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Likewise.
1538         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Likewise.
1539         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
1540         * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Likewise.
1541         * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Likewise.
1542         * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
1543         * testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Likewise.
1544         * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise.
1545         * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise.
1546         * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise.
1547         * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise.
1548         * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise.
1549         * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise.
1550         * testsuite/27_io/basic_filebuf/sputc/char/59427.cc: Likewise.
1551         * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Likewise.
1552         * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise.
1553         * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise.
1554         * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise.
1555         * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Likewise.
1556         * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise.
1557         * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise.
1558         * testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.
1559         * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Likewise.
1560         * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Likewise.
1561         * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise.
1562         * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise.
1563         * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise.
1564         * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise.
1565         * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise.
1566         * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise.
1567         * testsuite/27_io/basic_filebuf/sync/char/1057.cc: Likewise.
1568         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Likewise.
1569         * testsuite/27_io/basic_filebuf/underflow/char/1.cc: Likewise.
1570         * testsuite/27_io/basic_filebuf/underflow/char/2.cc: Likewise.
1571         * testsuite/27_io/basic_filebuf/underflow/char/3.cc: Likewise.
1572         * testsuite/27_io/basic_filebuf/underflow/char/45841.cc: Likewise.
1573         * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: Likewise.
1574         * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
1575         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise.
1576         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise.
1577         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise.
1578         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise.
1579         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: Likewise.
1580         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Likewise.
1581         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise.
1582         * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
1583         * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
1584         * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise.
1585         * testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise.
1586         * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise.
1587         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Likewise.
1588         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
1589         * testsuite/27_io/basic_fstream/cons/1.cc: Likewise.
1590         * testsuite/27_io/basic_fstream/rdbuf/char/2832.cc: Likewise.
1591         * testsuite/27_io/basic_ifstream/cons/2020.cc: Likewise.
1592         * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise.
1593         * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise.
1594         * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise.
1595         * testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
1596         * testsuite/27_io/basic_ios/cons/2020.cc: Likewise.
1597         * testsuite/27_io/basic_ios/cons/char/1.cc: Likewise.
1598         * testsuite/27_io/basic_ios/cons/char/2.cc: Likewise.
1599         * testsuite/27_io/basic_ios/cons/char/3.cc: Likewise.
1600         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
1601         * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
1602         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
1603         * testsuite/27_io/basic_ios/imbue/14072.cc: Likewise.
1604         * testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
1605         * testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
1606         * testsuite/27_io/basic_istream/cons/3.cc: Likewise.
1607         * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Likewise.
1608         * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: Likewise.
1609         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1610         Likewise.
1611         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1612         Likewise.
1613         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1614         Likewise.
1615         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1616         Likewise.
1617         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1618         Likewise.
1619         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1620         Likewise.
1621         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1622         Likewise.
1623         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1624         Likewise.
1625         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1626         Likewise.
1627         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1628         Likewise.
1629         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1630         Likewise.
1631         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
1632         Likewise.
1633         * testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc:
1634         Likewise.
1635         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1636         exceptions_badbit_throw.cc: Likewise.
1637         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1638         exceptions_failbit.cc: Likewise.
1639         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1640         exceptions_failbit_throw.cc: Likewise.
1641         * testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc:
1642         Likewise.
1643         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
1644         Likewise.
1645         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc:
1646         Likewise.
1647         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc:
1648         Likewise.
1649         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc:
1650         Likewise.
1651         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
1652         Likewise.
1653         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc:
1654         Likewise.
1655         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
1656         Likewise.
1657         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
1658         Likewise.
1659         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc:
1660         Likewise.
1661         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1662         Likewise.
1663         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
1664         Likewise.
1665         * testsuite/27_io/basic_istream/extractors_arithmetic/
1666         wchar_t/9555-ia.cc: Likewise.
1667         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1668         dr696.cc: Likewise.
1669         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1670         exceptions_badbit_throw.cc: Likewise.
1671         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1672         exceptions_failbit.cc: Likewise.
1673         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1674         exceptions_failbit_throw.cc: Likewise.
1675         * testsuite/27_io/basic_istream/extractors_character/char/1.cc:
1676         Likewise.
1677         * testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc:
1678         Likewise.
1679         * testsuite/27_io/basic_istream/extractors_character/char/2.cc:
1680         Likewise.
1681         * testsuite/27_io/basic_istream/extractors_character/char/3.cc:
1682         Likewise.
1683         * testsuite/27_io/basic_istream/extractors_character/char/4.cc:
1684         Likewise.
1685         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1686         Likewise.
1687         * testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc:
1688         Likewise.
1689         * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
1690         Likewise.
1691         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1692         11095-i.cc: Likewise.
1693         * testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc:
1694         Likewise.
1695         * testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc:
1696         Likewise.
1697         * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
1698         Likewise.
1699         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1700         9555-ic.cc: Likewise.
1701         * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
1702         * testsuite/27_io/basic_istream/extractors_other/char/2.cc: Likewise.
1703         * testsuite/27_io/basic_istream/extractors_other/char/26181.cc:
1704         Likewise.
1705         * testsuite/27_io/basic_istream/extractors_other/char/3.cc: Likewise.
1706         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1707         Likewise.
1708         * testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc:
1709         Likewise.
1710         * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
1711         Likewise.
1712         * testsuite/27_io/basic_istream/extractors_other/char/
1713         error_failbit.cc: Likewise.
1714         * testsuite/27_io/basic_istream/extractors_other/char/
1715         exceptions_badbit_throw.cc: Likewise.
1716         * testsuite/27_io/basic_istream/extractors_other/char/
1717         exceptions_failbit_throw.cc: Likewise.
1718         * testsuite/27_io/basic_istream/extractors_other/char/
1719         exceptions_null.cc: Likewise.
1720         * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc:
1721         Likewise.
1722         * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc: Likewise.
1723         * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: Likewise.
1724         * testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
1725         Likewise.
1726         * testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc: Likewise.
1727         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc:
1728         Likewise.
1729         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc:
1730         Likewise.
1731         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc:
1732         Likewise.
1733         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1734         error_failbit.cc: Likewise.
1735         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1736         exceptions_badbit_throw.cc: Likewise.
1737         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1738         exceptions_failbit_throw.cc: Likewise.
1739         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1740         exceptions_null.cc: Likewise.
1741         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1742         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1743         * testsuite/27_io/basic_istream/get/char/3.cc: Likewise.
1744         * testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
1745         * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
1746         * testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise.
1747         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1748         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1749         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1750         * testsuite/27_io/basic_istream/getline/char/4.cc: Likewise.
1751         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
1752         * testsuite/27_io/basic_istream/getline/char/6.cc: Likewise.
1753         * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
1754         * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Likewise.
1755         * testsuite/27_io/basic_istream/getline/wchar_t/3.cc: Likewise.
1756         * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise.
1757         * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Likewise.
1758         * testsuite/27_io/basic_istream/getline/wchar_t/6.cc: Likewise.
1759         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1760         * testsuite/27_io/basic_istream/ignore/char/2.cc: Likewise.
1761         * testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise.
1762         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1763         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1764         * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
1765         * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
1766         * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
1767         * testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise.
1768         * testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise.
1769         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1770         * testsuite/27_io/basic_istream/peek/char/12296.cc: Likewise.
1771         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1772         * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
1773         * testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
1774         * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
1775         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1776         * testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
1777         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1778         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1779         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1780         * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
1781         * testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
1782         * testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
1783         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc: Likewise.
1784         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Likewise.
1785         * testsuite/27_io/basic_istream/readsome/char/8258.cc: Likewise.
1786         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
1787         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
1788         * testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
1789         * testsuite/27_io/basic_istream/seekg/char/2.cc: Likewise.
1790         * testsuite/27_io/basic_istream/seekg/char/26211.cc: Likewise.
1791         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1792         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1793         * testsuite/27_io/basic_istream/seekg/char/
1794         exceptions_badbit_throw.cc: Likewise.
1795         * testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise.
1796         * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise.
1797         * testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
1798         * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
1799         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
1800         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
1801         * testsuite/27_io/basic_istream/seekg/wchar_t/
1802         exceptions_badbit_throw.cc: Likewise.
1803         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
1804         * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
1805         * testsuite/27_io/basic_istream/sentry/char/1.cc: Likewise.
1806         * testsuite/27_io/basic_istream/sentry/char/2.cc: Likewise.
1807         * testsuite/27_io/basic_istream/sentry/char/3.cc: Likewise.
1808         * testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise.
1809         * testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
1810         * testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
1811         * testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
1812         * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise.
1813         * testsuite/27_io/basic_istream/tellg/char/2.cc: Likewise.
1814         * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
1815         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1816         * testsuite/27_io/basic_istream/tellg/char/
1817         exceptions_badbit_throw.cc: Likewise.
1818         * testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise.
1819         * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise.
1820         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
1821         * testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
1822         * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
1823         * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
1824         * testsuite/27_io/basic_istream/tellg/wchar_t/
1825         exceptions_badbit_throw.cc: Likewise.
1826         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
1827         * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
1828         * testsuite/27_io/basic_istream/ws/char/1.cc: Likewise.
1829         * testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
1830         * testsuite/27_io/basic_istringstream/cons/2020.cc: Likewise.
1831         * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Likewise.
1832         * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: Likewise.
1833         * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
1834         * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
1835         * testsuite/27_io/basic_ofstream/cons/2020.cc: Likewise.
1836         * testsuite/27_io/basic_ofstream/cons/char/1.cc: Likewise.
1837         * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
1838         * testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Likewise.
1839         * testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
1840         * testsuite/27_io/basic_ostream/cons/char/9827.cc: Likewise.
1841         * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: Likewise.
1842         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1843         * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
1844         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
1845         * testsuite/27_io/basic_ostream/ends/char/2.cc: Likewise.
1846         * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
1847         * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
1848         * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise.
1849         * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
1850         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1851         * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
1852         * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
1853         Likewise.
1854         * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
1855         * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
1856         * testsuite/27_io/basic_ostream/flush/wchar_t/
1857         exceptions_badbit_throw.cc: Likewise.
1858         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1859         Likewise.
1860         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1861         Likewise.
1862         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc:
1863         Likewise.
1864         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc:
1865         Likewise.
1866         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc:
1867         Likewise.
1868         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc:
1869         Likewise.
1870         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc:
1871         Likewise.
1872         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
1873         Likewise.
1874         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
1875         Likewise.
1876         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1877         exceptions_badbit_throw.cc: Likewise.
1878         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1879         exceptions_failbit_throw.cc: Likewise.
1880         * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc:
1881         Likewise.
1882         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1883         Likewise.
1884         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
1885         Likewise.
1886         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc:
1887         Likewise.
1888         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc:
1889         Likewise.
1890         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc:
1891         Likewise.
1892         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc:
1893         Likewise.
1894         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc:
1895         Likewise.
1896         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
1897         Likewise.
1898         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1899         9555-oa.cc: Likewise.
1900         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1901         exceptions_badbit_throw.cc: Likewise.
1902         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1903         exceptions_failbit_throw.cc: Likewise.
1904         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc:
1905         Likewise.
1906         * testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc:
1907         Likewise.
1908         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc:
1909         Likewise.
1910         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc: Likewise.
1911         * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
1912         Likewise.
1913         * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
1914         Likewise.
1915         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc: Likewise.
1916         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc: Likewise.
1917         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc: Likewise.
1918         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc: Likewise.
1919         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc: Likewise.
1920         * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
1921         Likewise.
1922         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1923         11095-od.cc: Likewise.
1924         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1925         11095-oe.cc: Likewise.
1926         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1927         11095-of.cc: Likewise.
1928         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc:
1929         Likewise.
1930         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1931         28277-1.cc: Likewise.
1932         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1933         28277-2.cc: Likewise.
1934         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1935         28277-3.cc: Likewise.
1936         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1937         28277-4.cc: Likewise.
1938         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc:
1939         Likewise.
1940         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc:
1941         Likewise.
1942         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc:
1943         Likewise.
1944         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc:
1945         Likewise.
1946         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1947         Likewise.
1948         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1949         Likewise.
1950         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1951         9555-oc.cc: Likewise.
1952         * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
1953         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Likewise.
1954         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Likewise.
1955         * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: Likewise.
1956         * testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc:
1957         Likewise.
1958         * testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc:
1959         Likewise.
1960         * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
1961         Likewise.
1962         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
1963         Likewise.
1964         * testsuite/27_io/basic_ostream/inserters_other/char/
1965         error_failbit.cc: Likewise.
1966         * testsuite/27_io/basic_ostream/inserters_other/char/
1967         exceptions_badbit_throw.cc: Likewise.
1968         * testsuite/27_io/basic_ostream/inserters_other/char/
1969         exceptions_failbit_throw.cc: Likewise.
1970         * testsuite/27_io/basic_ostream/inserters_other/char/
1971         exceptions_null.cc: Likewise.
1972         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: Likewise.
1973         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc: Likewise.
1974         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc: Likewise.
1975         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc: Likewise.
1976         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1977         9318-out.cc: Likewise.
1978         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1979         9424-out.cc: Likewise.
1980         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1981         9555-oo.cc: Likewise.
1982         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1983         error_code.cc: Likewise.
1984         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1985         error_failbit.cc: Likewise.
1986         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1987         exceptions_badbit_throw.cc: Likewise.
1988         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1989         exceptions_failbit_throw.cc: Likewise.
1990         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1991         exceptions_null.cc: Likewise.
1992         * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
1993         * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
1994         * testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Likewise.
1995         * testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc: Likewise.
1996         * testsuite/27_io/basic_ostream/seekp/char/
1997         exceptions_badbit_throw.cc: Likewise.
1998         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc: Likewise.
1999         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc: Likewise.
2000         * testsuite/27_io/basic_ostream/seekp/wchar_t/
2001         exceptions_badbit_throw.cc: Likewise.
2002         * testsuite/27_io/basic_ostream/sentry/char/1.cc: Likewise.
2003         * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
2004         * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
2005         * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
2006         * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
2007         * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
2008         * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
2009         * testsuite/27_io/basic_ostream/tellp/char/
2010         exceptions_badbit_throw.cc: Likewise.
2011         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
2012         * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
2013         * testsuite/27_io/basic_ostream/tellp/wchar_t/
2014         exceptions_badbit_throw.cc: Likewise.
2015         * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
2016         * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
2017         * testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise.
2018         * testsuite/27_io/basic_ostringstream/cons/char/3.cc: Likewise.
2019         * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
2020         * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: Likewise.
2021         * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
2022         * testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise.
2023         * testsuite/27_io/basic_ostringstream/str/char/2.cc: Likewise.
2024         * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
2025         * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
2026         * testsuite/27_io/basic_streambuf/cons/2020.cc: Likewise.
2027         * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
2028         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Likewise.
2029         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
2030         * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise.
2031         * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
2032         * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
2033         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise.
2034         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
2035         * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
2036         * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: Likewise.
2037         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Likewise.
2038         * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
2039         * testsuite/27_io/basic_streambuf/overflow/char/2.cc: Likewise.
2040         * testsuite/27_io/basic_streambuf/overflow/char/3599.cc: Likewise.
2041         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
2042         * testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc: Likewise.
2043         * testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc: Likewise.
2044         * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
2045         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
2046         * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
2047         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
2048         * testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc: Likewise.
2049         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
2050         * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
2051         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
2052         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
2053         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
2054         * testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise.
2055         * testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise.
2056         * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
2057         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Likewise.
2058         * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
2059         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Likewise.
2060         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
2061         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Likewise.
2062         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
2063         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Likewise.
2064         * testsuite/27_io/basic_stringbuf/overflow/char/2.cc: Likewise.
2065         * testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: Likewise.
2066         * testsuite/27_io/basic_stringbuf/overflow/char/3599.cc: Likewise.
2067         * testsuite/27_io/basic_stringbuf/overflow/char/9988.cc: Likewise.
2068         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc: Likewise.
2069         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc: Likewise.
2070         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Likewise.
2071         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc: Likewise.
2072         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc: Likewise.
2073         * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: Likewise.
2074         * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
2075         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
2076         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
2077         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
2078         * testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc: Likewise.
2079         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
2080         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc: Likewise.
2081         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise.
2082         * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: Likewise.
2083         * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: Likewise.
2084         * testsuite/27_io/basic_stringbuf/seekoff/char/2.cc: Likewise.
2085         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
2086         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
2087         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: Likewise.
2088         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc: Likewise.
2089         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
2090         * testsuite/27_io/basic_stringbuf/seekpos/char/2.cc: Likewise.
2091         * testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: Likewise.
2092         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Likewise.
2093         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
2094         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc: Likewise.
2095         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: Likewise.
2096         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc: Likewise.
2097         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Likewise.
2098         * testsuite/27_io/basic_stringbuf/setbuf/char/2.cc: Likewise.
2099         * testsuite/27_io/basic_stringbuf/setbuf/char/3.cc: Likewise.
2100         * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: Likewise.
2101         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Likewise.
2102         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc: Likewise.
2103         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc: Likewise.
2104         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
2105         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise.
2106         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
2107         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
2108         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
2109         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
2110         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
2111         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise.
2112         * testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc: Likewise.
2113         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise.
2114         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc: Likewise.
2115         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Likewise.
2116         * testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc: Likewise.
2117         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Likewise.
2118         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc: Likewise.
2119         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Likewise.
2120         * testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc: Likewise.
2121         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Likewise.
2122         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc: Likewise.
2123         * testsuite/27_io/basic_stringbuf/str/char/1.cc: Likewise.
2124         * testsuite/27_io/basic_stringbuf/str/char/2.cc: Likewise.
2125         * testsuite/27_io/basic_stringbuf/str/char/3.cc: Likewise.
2126         * testsuite/27_io/basic_stringbuf/str/char/3955.cc: Likewise.
2127         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Likewise.
2128         * testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc: Likewise.
2129         * testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc: Likewise.
2130         * testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc: Likewise.
2131         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
2132         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
2133         * testsuite/27_io/basic_stringbuf/sync/char/1057.cc: Likewise.
2134         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
2135         * testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise.
2136         * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Likewise.
2137         * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: Likewise.
2138         * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
2139         * testsuite/27_io/basic_stringstream/str/char/2.cc: Likewise.
2140         * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
2141         * testsuite/27_io/basic_stringstream/str/char/4.cc: Likewise.
2142         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
2143         * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
2144         * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
2145         * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
2146         * testsuite/27_io/fpos/11450.cc: Likewise.
2147         * testsuite/27_io/fpos/14252.cc: Likewise.
2148         * testsuite/27_io/fpos/14320-1.cc: Likewise.
2149         * testsuite/27_io/fpos/14320-2.cc: Likewise.
2150         * testsuite/27_io/fpos/14320-3.cc: Likewise.
2151         * testsuite/27_io/fpos/14320-4.cc: Likewise.
2152         * testsuite/27_io/fpos/14320-5.cc: Likewise.
2153         * testsuite/27_io/fpos/14775.cc: Likewise.
2154         * testsuite/27_io/fpos/mbstate_t/1.cc: Likewise.
2155         * testsuite/27_io/fpos/mbstate_t/12065.cc: Likewise.
2156         * testsuite/27_io/fpos/mbstate_t/2.cc: Likewise.
2157         * testsuite/27_io/fpos/mbstate_t/3.cc: Likewise.
2158         * testsuite/27_io/ios_base/callbacks/1.cc: Likewise.
2159         * testsuite/27_io/ios_base/failure/what-1.cc: Likewise.
2160         * testsuite/27_io/ios_base/failure/what-2.cc: Likewise.
2161         * testsuite/27_io/ios_base/failure/what-3.cc: Likewise.
2162         * testsuite/27_io/ios_base/failure/what-big.cc: Likewise.
2163         * testsuite/27_io/ios_base/state/1.cc: Likewise.
2164         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
2165         * testsuite/27_io/ios_base/storage/11584.cc: Likewise.
2166         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
2167         * testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise.
2168         * testsuite/27_io/manipulators/adjustfield/char/1.cc: Likewise.
2169         * testsuite/27_io/manipulators/adjustfield/char/2.cc
2170         * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: Likewise.
2171         * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
2172         * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
2173         * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
2174         * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
2175         * testsuite/27_io/manipulators/extended/get_money/char/51288.cc:
2176         Likewise.
2177         * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
2178         Likewise.
2179         * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
2180         Likewise.
2181         * testsuite/27_io/manipulators/extended/get_time/char/1.cc
2182         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
2183         * testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: Likewise.
2184         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Likewise.
2185         * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
2186         * testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
2187         Likewise.
2188         * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
2189         Likewise.
2190         * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
2191         Likewise.
2192         * testsuite/27_io/manipulators/extended/put_time/char/1.cc: Likewise.
2193         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
2194         * testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: Likewise.
2195         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Likewise.
2196         * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
2197         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
2198         * testsuite/27_io/manipulators/standard/char/dr2344.cc: Likewise.
2199         * testsuite/27_io/manipulators/standard/char/quoted.cc: Likewise.
2200         * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
2201         * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
2202         * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: Likewise.
2203         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Likewise.
2204         * testsuite/27_io/objects/char/1.cc: Likewise.
2205         * testsuite/27_io/objects/char/10.cc: Likewise.
2206         * testsuite/27_io/objects/char/3045.cc: Likewise.
2207         * testsuite/27_io/objects/char/41037.cc: Likewise.
2208         * testsuite/27_io/objects/char/5.cc: Likewise.
2209         * testsuite/27_io/objects/char/6.cc: Likewise.
2210         * testsuite/27_io/objects/char/6548_xin.cc: Likewise.
2211         * testsuite/27_io/objects/char/6648-1_xin.cc: Likewise.
2212         * testsuite/27_io/objects/char/6648-2_xin.cc: Likewise.
2213         * testsuite/27_io/objects/char/7744_xin.cc: Likewise.
2214         * testsuite/27_io/objects/char/8.cc: Likewise.
2215         * testsuite/27_io/objects/char/9.cc: Likewise.
2216         * testsuite/27_io/objects/char/9661-2_xin.cc: Likewise.
2217         * testsuite/27_io/objects/char/dr455.cc: Likewise.
2218         * testsuite/27_io/objects/wchar_t/1.cc: Likewise.
2219         * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
2220         * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
2221         * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
2222         * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
2223         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
2224         * testsuite/27_io/objects/wchar_t/3045.cc: Likewise.
2225         * testsuite/27_io/objects/wchar_t/41037.cc: Likewise.
2226         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
2227         * testsuite/27_io/objects/wchar_t/6548_xin.cc: Likewise.
2228         * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: Likewise.
2229         * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: Likewise.
2230         * testsuite/27_io/objects/wchar_t/7744_xin.cc: Likewise.
2231         * testsuite/27_io/objects/wchar_t/8.cc: Likewise.
2232         * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
2233         * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: Likewise.
2234         * testsuite/27_io/objects/wchar_t/9662.cc: Likewise.
2235         * testsuite/27_io/objects/wchar_t/dr455.cc: Likewise.
2236         * testsuite/27_io/types/3.cc: Likewise.
2237
2238 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
2239
2240         PR libstdc++/77994
2241         * include/bits/stl_algo.h (sample): Convert size argument to iterator
2242         difference type.
2243         * include/experimental/algorithm (experimental::sample): Likewise.
2244         * testsuite/25_algorithms/sample/2.cc: New test.
2245
2246 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2247
2248         * testsuite/unordered_map/insert/57619.C: Rename to 57619.cc.
2249         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
2250
2251 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2252
2253         * testsuite/array/capacity/empty.cc: Remove 'test' variables.
2254         * testsuite/array/capacity/max_size.cc: Likewise.
2255         * testsuite/array/capacity/size.cc: Likewise.
2256         * testsuite/array/comparison_operators/equal.cc: Likewise.
2257         * testsuite/array/comparison_operators/greater.cc: Likewise.
2258         * testsuite/array/comparison_operators/greater_or_equal.cc: Likewise.
2259         * testsuite/array/comparison_operators/less.cc: Likewise.
2260         * testsuite/array/comparison_operators/less_or_equal.cc: Likewise.
2261         * testsuite/array/comparison_operators/not_equal.cc: Likewise.
2262         * testsuite/array/element_access/54388.cc: Likewise.
2263         * testsuite/array/element_access/at_out_of_range.cc: Likewise.
2264         * testsuite/array/element_access/back.cc: Likewise.
2265         * testsuite/array/element_access/data.cc: Likewise.
2266         * testsuite/array/element_access/front.cc: Likewise.
2267         * testsuite/array/iterators/end_is_one_past.cc: Likewise.
2268         * testsuite/array/requirements/contiguous.cc: Likewise.
2269         * testsuite/array/requirements/fill.cc: Likewise.
2270         * testsuite/array/requirements/member_swap.cc: Likewise.
2271         * testsuite/array/requirements/zero_sized_arrays.cc: Likewise.
2272         * testsuite/array/specialized_algorithms/swap.cc: Likewise.
2273         * testsuite/array/tuple_interface/tuple_element.cc: Likewise.
2274         * testsuite/array/tuple_interface/tuple_element_cpp14.cc: Likewise.
2275         * testsuite/array/tuple_interface/tuple_size.cc: Likewise.
2276         * testsuite/bitset/all/1.cc: Likewise.
2277         * testsuite/bitset/cons/1.cc: Likewise.
2278         * testsuite/bitset/cons/16020.cc: Likewise.
2279         * testsuite/bitset/cons/2.cc: Likewise.
2280         * testsuite/bitset/cons/3.cc: Likewise.
2281         * testsuite/bitset/cons/50268.cc: Likewise.
2282         * testsuite/bitset/cons/6282.cc: Likewise.
2283         * testsuite/bitset/cons/dr1325-2.cc: Likewise.
2284         * testsuite/bitset/cons/dr396.cc: Likewise.
2285         * testsuite/bitset/ext/15361.cc: Likewise.
2286         * testsuite/bitset/input/1.cc: Likewise.
2287         * testsuite/bitset/operations/1.cc: Likewise.
2288         * testsuite/bitset/operations/13838.cc: Likewise.
2289         * testsuite/bitset/operations/2.cc: Likewise.
2290         * testsuite/bitset/test/1.cc: Likewise.
2291         * testsuite/bitset/to_string/1.cc: Likewise.
2292         * testsuite/bitset/to_string/dr396.cc: Likewise.
2293         * testsuite/bitset/to_ullong/1.cc: Likewise.
2294         * testsuite/bitset/to_ulong/1.cc: Likewise.
2295         * testsuite/deque/allocator/copy.cc: Likewise.
2296         * testsuite/deque/allocator/copy_assign.cc: Likewise.
2297         * testsuite/deque/allocator/ext_ptr.cc: Likewise.
2298         * testsuite/deque/allocator/minimal.cc: Likewise.
2299         * testsuite/deque/allocator/move.cc: Likewise.
2300         * testsuite/deque/allocator/move_assign.cc: Likewise.
2301         * testsuite/deque/allocator/swap.cc: Likewise.
2302         * testsuite/deque/capacity/29134-2.cc: Likewise.
2303         * testsuite/deque/capacity/29134.cc: Likewise.
2304         * testsuite/deque/capacity/moveable.cc: Likewise.
2305         * testsuite/deque/capacity/resize_size.cc: Likewise.
2306         * testsuite/deque/capacity/shrink_to_fit.cc: Likewise.
2307         * testsuite/deque/cons/1.cc: Likewise.
2308         * testsuite/deque/cons/2.cc: Likewise.
2309         * testsuite/deque/cons/assign/1.cc: Likewise.
2310         * testsuite/deque/cons/cons_size.cc: Likewise.
2311         * testsuite/deque/cons/moveable.cc: Likewise.
2312         * testsuite/deque/modifiers/erase/1.cc: Likewise.
2313         * testsuite/deque/modifiers/erase/2.cc: Likewise.
2314         * testsuite/deque/modifiers/erase/3.cc: Likewise.
2315         * testsuite/deque/modifiers/erase/moveable.cc: Likewise.
2316         * testsuite/deque/modifiers/moveable.cc: Likewise.
2317         * testsuite/deque/modifiers/push_back/49836.cc: Likewise.
2318         * testsuite/deque/modifiers/push_front/49836.cc: Likewise.
2319         * testsuite/deque/modifiers/swap/1.cc: Likewise.
2320         * testsuite/deque/modifiers/swap/2.cc: Likewise.
2321         * testsuite/deque/modifiers/swap/3.cc: Likewise.
2322         * testsuite/deque/operators/1.cc: Likewise.
2323         * testsuite/deque/operators/2.cc: Likewise.
2324         * testsuite/forward_list/allocator/copy.cc: Likewise.
2325         * testsuite/forward_list/allocator/copy_assign.cc: Likewise.
2326         * testsuite/forward_list/allocator/ext_ptr.cc: Likewise.
2327         * testsuite/forward_list/allocator/minimal.cc: Likewise.
2328         * testsuite/forward_list/allocator/move.cc: Likewise.
2329         * testsuite/forward_list/allocator/move_assign.cc: Likewise.
2330         * testsuite/forward_list/allocator/swap.cc: Likewise.
2331         * testsuite/forward_list/capacity/1.cc: Likewise.
2332         * testsuite/forward_list/capacity/resize_size.cc: Likewise.
2333         * testsuite/forward_list/comparable.cc: Likewise.
2334         * testsuite/forward_list/cons/1.cc: Likewise.
2335         * testsuite/forward_list/cons/2.cc: Likewise.
2336         * testsuite/forward_list/cons/3.cc: Likewise.
2337         * testsuite/forward_list/cons/4.cc: Likewise.
2338         * testsuite/forward_list/cons/5.cc: Likewise.
2339         * testsuite/forward_list/cons/6.cc: Likewise.
2340         * testsuite/forward_list/cons/7.cc: Likewise.
2341         * testsuite/forward_list/cons/8.cc: Likewise.
2342         * testsuite/forward_list/cons/9.cc: Likewise.
2343         * testsuite/forward_list/cons/cons_size.cc: Likewise.
2344         * testsuite/forward_list/cons/moveable.cc: Likewise.
2345         * testsuite/forward_list/debug/clear.cc: Likewise.
2346         * testsuite/forward_list/debug/construct4_neg.cc: Likewise.
2347         * testsuite/forward_list/debug/erase_after1_neg.cc: Likewise.
2348         * testsuite/forward_list/debug/move_assign_neg.cc: Likewise.
2349         * testsuite/forward_list/debug/move_constructor.cc: Likewise.
2350         * testsuite/forward_list/debug/move_neg.cc: Likewise.
2351         * testsuite/forward_list/debug/splice_after.cc: Likewise.
2352         * testsuite/forward_list/debug/swap.cc: Likewise.
2353         * testsuite/forward_list/modifiers/1.cc: Likewise.
2354         * testsuite/forward_list/modifiers/2.cc: Likewise.
2355         * testsuite/forward_list/modifiers/3.cc: Likewise.
2356         * testsuite/forward_list/modifiers/4.cc: Likewise.
2357         * testsuite/forward_list/modifiers/5.cc: Likewise.
2358         * testsuite/forward_list/modifiers/6.cc: Likewise.
2359         * testsuite/forward_list/operations/1.cc: Likewise.
2360         * testsuite/forward_list/operations/2.cc: Likewise.
2361         * testsuite/forward_list/operations/3.cc: Likewise.
2362         * testsuite/forward_list/operations/4.cc: Likewise.
2363         * testsuite/forward_list/operations/5.cc: Likewise.
2364         * testsuite/forward_list/operations/6.cc: Likewise.
2365         * testsuite/forward_list/operations/7.cc: Likewise.
2366         * testsuite/forward_list/operations/remove_freed.cc: Likewise.
2367         * testsuite/list/61347.cc: Likewise.
2368         * testsuite/list/allocator/copy.cc: Likewise.
2369         * testsuite/list/allocator/copy_assign.cc: Likewise.
2370         * testsuite/list/allocator/minimal.cc: Likewise.
2371         * testsuite/list/allocator/move.cc: Likewise.
2372         * testsuite/list/allocator/move_assign.cc: Likewise.
2373         * testsuite/list/allocator/swap.cc: Likewise.
2374         * testsuite/list/capacity/1.h: Likewise.
2375         * testsuite/list/capacity/29134.cc: Likewise.
2376         * testsuite/list/capacity/resize_size.cc: Likewise.
2377         * testsuite/list/cons/1.h: Likewise.
2378         * testsuite/list/cons/2.h: Likewise.
2379         * testsuite/list/cons/3.h: Likewise.
2380         * testsuite/list/cons/4.h: Likewise.
2381         * testsuite/list/cons/5.h: Likewise.
2382         * testsuite/list/cons/6.h: Likewise.
2383         * testsuite/list/cons/7.h: Likewise.
2384         * testsuite/list/cons/8.h: Likewise.
2385         * testsuite/list/cons/9.h: Likewise.
2386         * testsuite/list/cons/cons_size.cc: Likewise.
2387         * testsuite/list/cons/moveable.h: Likewise.
2388         * testsuite/list/debug/invalidation/1.cc: Likewise.
2389         * testsuite/list/debug/invalidation/2.cc: Likewise.
2390         * testsuite/list/debug/invalidation/3.cc: Likewise.
2391         * testsuite/list/debug/invalidation/4.cc: Likewise.
2392         * testsuite/list/modifiers/1.h: Likewise.
2393         * testsuite/list/modifiers/2.h: Likewise.
2394         * testsuite/list/modifiers/3.h: Likewise.
2395         * testsuite/list/modifiers/insert/25288.h: Likewise.
2396         * testsuite/list/modifiers/swap/1.h: Likewise.
2397         * testsuite/list/modifiers/swap/2.h: Likewise.
2398         * testsuite/list/modifiers/swap/3.h: Likewise.
2399         * testsuite/list/operations/1.h: Likewise.
2400         * testsuite/list/operations/2.h: Likewise.
2401         * testsuite/list/operations/3.h: Likewise.
2402         * testsuite/list/operations/4.h: Likewise.
2403         * testsuite/list/operations/42352.cc: Likewise.
2404         * testsuite/map/allocator/copy.cc: Likewise.
2405         * testsuite/map/allocator/copy_assign.cc: Likewise.
2406         * testsuite/map/allocator/init-list.cc: Likewise.
2407         * testsuite/map/allocator/minimal.cc: Likewise.
2408         * testsuite/map/allocator/move.cc: Likewise.
2409         * testsuite/map/allocator/move_assign.cc: Likewise.
2410         * testsuite/map/allocator/swap.cc: Likewise.
2411         * testsuite/map/capacity/29134.cc: Likewise.
2412         * testsuite/map/cons/moveable.cc: Likewise.
2413         * testsuite/map/debug/construct5_neg.cc: Likewise.
2414         * testsuite/map/debug/move_assign_neg.cc: Likewise.
2415         * testsuite/map/debug/move_neg.cc: Likewise.
2416         * testsuite/map/element_access/1.cc: Likewise.
2417         * testsuite/map/element_access/2.cc: Likewise.
2418         * testsuite/map/element_access/39901.cc: Likewise.
2419         * testsuite/map/init-list.cc: Likewise.
2420         * testsuite/map/modifiers/dr130.cc: Likewise.
2421         * testsuite/map/modifiers/emplace/1.cc: Likewise.
2422         * testsuite/map/modifiers/extract.cc: Likewise.
2423         * testsuite/map/modifiers/insert/1.cc: Likewise.
2424         * testsuite/map/modifiers/insert/16813.cc: Likewise.
2425         * testsuite/map/modifiers/insert/2.cc: Likewise.
2426         * testsuite/map/modifiers/insert/3.cc: Likewise.
2427         * testsuite/map/modifiers/insert/4.cc: Likewise.
2428         * testsuite/map/modifiers/insert/5.cc: Likewise.
2429         * testsuite/map/modifiers/insert_or_assign/1.cc: Likewise.
2430         * testsuite/map/modifiers/merge.cc: Likewise.
2431         * testsuite/map/modifiers/swap/1.cc: Likewise.
2432         * testsuite/map/modifiers/swap/2.cc: Likewise.
2433         * testsuite/map/modifiers/swap/3.cc: Likewise.
2434         * testsuite/map/modifiers/try_emplace/1.cc: Likewise.
2435         * testsuite/map/operations/1.cc: Likewise.
2436         * testsuite/map/operations/count.cc: Likewise.
2437         * testsuite/map/operators/1_neg.cc: Likewise.
2438         * testsuite/map/operators/2.cc: Likewise.
2439         * testsuite/multimap/allocator/copy.cc: Likewise.
2440         * testsuite/multimap/allocator/copy_assign.cc: Likewise.
2441         * testsuite/multimap/allocator/init-list.cc: Likewise.
2442         * testsuite/multimap/allocator/minimal.cc: Likewise.
2443         * testsuite/multimap/allocator/move.cc: Likewise.
2444         * testsuite/multimap/allocator/move_assign.cc: Likewise.
2445         * testsuite/multimap/allocator/swap.cc: Likewise.
2446         * testsuite/multimap/capacity/29134.cc: Likewise.
2447         * testsuite/multimap/cons/moveable.cc: Likewise.
2448         * testsuite/multimap/debug/construct5_neg.cc: Likewise.
2449         * testsuite/multimap/debug/move_assign_neg.cc: Likewise.
2450         * testsuite/multimap/debug/move_neg.cc: Likewise.
2451         * testsuite/multimap/init-list.cc: Likewise.
2452         * testsuite/multimap/modifiers/dr130.cc: Likewise.
2453         * testsuite/multimap/modifiers/emplace/1.cc: Likewise.
2454         * testsuite/multimap/modifiers/extract.cc: Likewise.
2455         * testsuite/multimap/modifiers/insert/1.cc: Likewise.
2456         * testsuite/multimap/modifiers/insert/2.cc: Likewise.
2457         * testsuite/multimap/modifiers/insert/22102.cc: Likewise.
2458         * testsuite/multimap/modifiers/insert/3.cc: Likewise.
2459         * testsuite/multimap/modifiers/insert/4.cc: Likewise.
2460         * testsuite/multimap/modifiers/merge.cc: Likewise.
2461         * testsuite/multimap/modifiers/swap/1.cc: Likewise.
2462         * testsuite/multimap/modifiers/swap/2.cc: Likewise.
2463         * testsuite/multimap/modifiers/swap/3.cc: Likewise.
2464         * testsuite/multimap/operations/1.cc: Likewise.
2465         * testsuite/multimap/operations/count.cc: Likewise.
2466         * testsuite/multiset/allocator/copy.cc: Likewise.
2467         * testsuite/multiset/allocator/copy_assign.cc: Likewise.
2468         * testsuite/multiset/allocator/init-list.cc: Likewise.
2469         * testsuite/multiset/allocator/minimal.cc: Likewise.
2470         * testsuite/multiset/allocator/move.cc: Likewise.
2471         * testsuite/multiset/allocator/move_assign.cc: Likewise.
2472         * testsuite/multiset/allocator/swap.cc: Likewise.
2473         * testsuite/multiset/capacity/29134.cc: Likewise.
2474         * testsuite/multiset/cons/moveable.cc: Likewise.
2475         * testsuite/multiset/debug/construct5_neg.cc: Likewise.
2476         * testsuite/multiset/debug/invalidation/2.cc: Likewise.
2477         * testsuite/multiset/debug/move_assign_neg.cc: Likewise.
2478         * testsuite/multiset/debug/move_neg.cc: Likewise.
2479         * testsuite/multiset/init-list.cc: Likewise.
2480         * testsuite/multiset/modifiers/dr130.cc: Likewise.
2481         * testsuite/multiset/modifiers/emplace/1.cc: Likewise.
2482         * testsuite/multiset/modifiers/extract.cc: Likewise.
2483         * testsuite/multiset/modifiers/insert/1.cc: Likewise.
2484         * testsuite/multiset/modifiers/insert/2.cc: Likewise.
2485         * testsuite/multiset/modifiers/insert/22102.cc: Likewise.
2486         * testsuite/multiset/modifiers/insert/3.cc: Likewise.
2487         * testsuite/multiset/modifiers/insert/4.cc: Likewise.
2488         * testsuite/multiset/modifiers/merge.cc: Likewise.
2489         * testsuite/multiset/modifiers/swap/1.cc: Likewise.
2490         * testsuite/multiset/modifiers/swap/2.cc: Likewise.
2491         * testsuite/multiset/modifiers/swap/3.cc: Likewise.
2492         * testsuite/multiset/operations/1.cc: Likewise.
2493         * testsuite/multiset/operations/count.cc: Likewise.
2494         * testsuite/priority_queue/moveable.cc: Likewise.
2495         * testsuite/queue/moveable.cc: Likewise.
2496         * testsuite/set/allocator/copy.cc: Likewise.
2497         * testsuite/set/allocator/copy_assign.cc: Likewise.
2498         * testsuite/set/allocator/init-list.cc: Likewise.
2499         * testsuite/set/allocator/minimal.cc: Likewise.
2500         * testsuite/set/allocator/move.cc: Likewise.
2501         * testsuite/set/allocator/move_assign.cc: Likewise.
2502         * testsuite/set/allocator/swap.cc: Likewise.
2503         * testsuite/set/capacity/29134.cc: Likewise.
2504         * testsuite/set/cons/moveable.cc: Likewise.
2505         * testsuite/set/debug/construct5_neg.cc: Likewise.
2506         * testsuite/set/debug/invalidation/2.cc: Likewise.
2507         * testsuite/set/debug/move_assign_neg.cc: Likewise.
2508         * testsuite/set/debug/move_neg.cc: Likewise.
2509         * testsuite/set/init-list.cc: Likewise.
2510         * testsuite/set/modifiers/17948.cc: Likewise.
2511         * testsuite/set/modifiers/dr130.cc: Likewise.
2512         * testsuite/set/modifiers/emplace/1.cc: Likewise.
2513         * testsuite/set/modifiers/extract.cc: Likewise.
2514         * testsuite/set/modifiers/insert/1.cc: Likewise.
2515         * testsuite/set/modifiers/insert/2.cc: Likewise.
2516         * testsuite/set/modifiers/insert/3.cc: Likewise.
2517         * testsuite/set/modifiers/merge.cc: Likewise.
2518         * testsuite/set/modifiers/swap/1.cc: Likewise.
2519         * testsuite/set/modifiers/swap/2.cc: Likewise.
2520         * testsuite/set/modifiers/swap/3.cc: Likewise.
2521         * testsuite/set/operations/1.cc: Likewise.
2522         * testsuite/set/operations/count.cc: Likewise.
2523         * testsuite/set/operators/1_neg.cc: Likewise.
2524         * testsuite/unordered_map/allocator/copy.cc: Likewise.
2525         * testsuite/unordered_map/allocator/copy_assign.cc: Likewise.
2526         * testsuite/unordered_map/allocator/minimal.cc: Likewise.
2527         * testsuite/unordered_map/allocator/move.cc: Likewise.
2528         * testsuite/unordered_map/allocator/move_assign.cc: Likewise.
2529         * testsuite/unordered_map/allocator/swap.cc: Likewise.
2530         * testsuite/unordered_map/cons/moveable.cc: Likewise.
2531         * testsuite/unordered_map/debug/construct5_neg.cc: Likewise.
2532         * testsuite/unordered_map/debug/move_assign_neg.cc: Likewise.
2533         * testsuite/unordered_map/debug/move_neg.cc: Likewise.
2534         * testsuite/unordered_map/dr761.cc: Likewise.
2535         * testsuite/unordered_map/erase/1.cc: Likewise.
2536         * testsuite/unordered_map/erase/24061-map.cc: Likewise.
2537         * testsuite/unordered_map/erase/54276.cc: Likewise.
2538         * testsuite/unordered_map/hash_policy/dr1189.cc: Likewise.
2539         * testsuite/unordered_map/init-list.cc: Likewise.
2540         * testsuite/unordered_map/insert/24061-map.cc: Likewise.
2541         * testsuite/unordered_map/insert/57619.C: Likewise.
2542         * testsuite/unordered_map/insert/array_syntax.cc: Likewise.
2543         * testsuite/unordered_map/insert/array_syntax_move.cc: Likewise.
2544         * testsuite/unordered_map/insert/map_range.cc: Likewise.
2545         * testsuite/unordered_map/insert/map_single.cc: Likewise.
2546         * testsuite/unordered_map/insert/map_single_move-1.cc: Likewise.
2547         * testsuite/unordered_map/insert/map_single_move-2.cc: Likewise.
2548         * testsuite/unordered_map/modifiers/61667.cc: Likewise.
2549         * testsuite/unordered_map/modifiers/emplace.cc: Likewise.
2550         * testsuite/unordered_map/modifiers/extract.cc: Likewise.
2551         * testsuite/unordered_map/modifiers/insert_or_assign.cc: Likewise.
2552         * testsuite/unordered_map/modifiers/merge.cc: Likewise.
2553         * testsuite/unordered_map/modifiers/reserve.cc: Likewise.
2554         * testsuite/unordered_map/modifiers/try_emplace.cc: Likewise.
2555         * testsuite/unordered_map/operations/count.cc: Likewise.
2556         * testsuite/unordered_map/operators/1.cc: Likewise.
2557         * testsuite/unordered_map/operators/2.cc: Likewise.
2558         * testsuite/unordered_multimap/allocator/copy.cc: Likewise.
2559         * testsuite/unordered_multimap/allocator/copy_assign.cc: Likewise.
2560         * testsuite/unordered_multimap/allocator/minimal.cc: Likewise.
2561         * testsuite/unordered_multimap/allocator/move.cc: Likewise.
2562         * testsuite/unordered_multimap/allocator/move_assign.cc: Likewise.
2563         * testsuite/unordered_multimap/allocator/swap.cc: Likewise.
2564         * testsuite/unordered_multimap/cons/moveable.cc: Likewise.
2565         * testsuite/unordered_multimap/debug/construct5_neg.cc: Likewise.
2566         * testsuite/unordered_multimap/debug/move_assign_neg.cc: Likewise.
2567         * testsuite/unordered_multimap/debug/move_neg.cc: Likewise.
2568         * testsuite/unordered_multimap/erase/1.cc: Likewise.
2569         * testsuite/unordered_multimap/erase/2.cc: Likewise.
2570         * testsuite/unordered_multimap/erase/24061-multimap.cc: Likewise.
2571         * testsuite/unordered_multimap/erase/51845-multimap.cc: Likewise.
2572         * testsuite/unordered_multimap/erase/54276.cc: Likewise.
2573         * testsuite/unordered_multimap/hash_policy/dr1189.cc: Likewise.
2574         * testsuite/unordered_multimap/init-list.cc: Likewise.
2575         * testsuite/unordered_multimap/insert/24061-multimap.cc: Likewise.
2576         * testsuite/unordered_multimap/insert/51866.cc: Likewise.
2577         * testsuite/unordered_multimap/insert/52476.cc: Likewise.
2578         * testsuite/unordered_multimap/insert/53115.cc: Likewise.
2579         * testsuite/unordered_multimap/insert/57619.C: Likewise.
2580         * testsuite/unordered_multimap/insert/hint.cc: Likewise.
2581         * testsuite/unordered_multimap/insert/multimap_range.cc: Likewise.
2582         * testsuite/unordered_multimap/insert/multimap_single.cc: Likewise.
2583         * testsuite/unordered_multimap/insert/multimap_single_move-1.cc:
2584         Likewise.
2585         * testsuite/unordered_multimap/insert/multimap_single_move-2.cc:
2586         Likewise.
2587         * testsuite/unordered_multimap/modifiers/emplace.cc: Likewise.
2588         * testsuite/unordered_multimap/modifiers/extract.cc: Likewise.
2589         * testsuite/unordered_multimap/modifiers/merge.cc: Likewise.
2590         * testsuite/unordered_multimap/modifiers/reserve.cc: Likewise.
2591         * testsuite/unordered_multimap/operations/count.cc: Likewise.
2592         * testsuite/unordered_multimap/operators/1.cc: Likewise.
2593         * testsuite/unordered_multimap/operators/2.cc: Likewise.
2594         * testsuite/unordered_multiset/allocator/copy.cc: Likewise.
2595         * testsuite/unordered_multiset/allocator/copy_assign.cc: Likewise.
2596         * testsuite/unordered_multiset/allocator/minimal.cc: Likewise.
2597         * testsuite/unordered_multiset/allocator/move.cc: Likewise.
2598         * testsuite/unordered_multiset/allocator/move_assign.cc: Likewise.
2599         * testsuite/unordered_multiset/allocator/swap.cc: Likewise.
2600         * testsuite/unordered_multiset/cons/copy.cc: Likewise.
2601         * testsuite/unordered_multiset/cons/moveable.cc: Likewise.
2602         * testsuite/unordered_multiset/debug/construct5_neg.cc: Likewise.
2603         * testsuite/unordered_multiset/debug/move_assign_neg.cc: Likewise.
2604         * testsuite/unordered_multiset/debug/move_neg.cc: Likewise.
2605         * testsuite/unordered_multiset/erase/1.cc: Likewise.
2606         * testsuite/unordered_multiset/erase/2.cc: Likewise.
2607         * testsuite/unordered_multiset/erase/24061-multiset.cc: Likewise.
2608         * testsuite/unordered_multiset/hash_policy/dr1189.cc: Likewise.
2609         * testsuite/unordered_multiset/init-list.cc: Likewise.
2610         * testsuite/unordered_multiset/insert/24061-multiset.cc: Likewise.
2611         * testsuite/unordered_multiset/insert/51866.cc: Likewise.
2612         * testsuite/unordered_multiset/insert/52476.cc: Likewise.
2613         * testsuite/unordered_multiset/insert/53115.cc: Likewise.
2614         * testsuite/unordered_multiset/insert/hash_policy.cc: Likewise.
2615         * testsuite/unordered_multiset/insert/multiset_range.cc: Likewise.
2616         * testsuite/unordered_multiset/insert/multiset_single.cc: Likewise.
2617         * testsuite/unordered_multiset/insert/multiset_single_move.cc: Likewise.
2618         * testsuite/unordered_multiset/modifiers/emplace.cc: Likewise.
2619         * testsuite/unordered_multiset/modifiers/extract.cc: Likewise.
2620         * testsuite/unordered_multiset/modifiers/merge.cc: Likewise.
2621         * testsuite/unordered_multiset/modifiers/reserve.cc: Likewise.
2622         * testsuite/unordered_multiset/operations/count.cc: Likewise.
2623         * testsuite/unordered_multiset/operators/1.cc: Likewise.
2624         * testsuite/unordered_set/allocator/copy.cc: Likewise.
2625         * testsuite/unordered_set/allocator/copy_assign.cc: Likewise.
2626         * testsuite/unordered_set/allocator/ext_ptr.cc: Likewise.
2627         * testsuite/unordered_set/allocator/minimal.cc: Likewise.
2628         * testsuite/unordered_set/allocator/move.cc: Likewise.
2629         * testsuite/unordered_set/allocator/move_assign.cc: Likewise.
2630         * testsuite/unordered_set/allocator/swap.cc: Likewise.
2631         * testsuite/unordered_set/buckets/swap.cc: Likewise.
2632         * testsuite/unordered_set/cons/moveable.cc: Likewise.
2633         * testsuite/unordered_set/debug/construct5_neg.cc: Likewise.
2634         * testsuite/unordered_set/debug/debug_functions.cc: Likewise.
2635         * testsuite/unordered_set/debug/move_assign_neg.cc: Likewise.
2636         * testsuite/unordered_set/debug/move_neg.cc: Likewise.
2637         * testsuite/unordered_set/erase/1.cc: Likewise.
2638         * testsuite/unordered_set/erase/24061-set.cc: Likewise.
2639         * testsuite/unordered_set/hash_policy/26132.cc: Likewise.
2640         * testsuite/unordered_set/hash_policy/71181.cc: Likewise.
2641         * testsuite/unordered_set/hash_policy/dr1189.cc: Likewise.
2642         * testsuite/unordered_set/hash_policy/load_factor.cc: Likewise.
2643         * testsuite/unordered_set/hash_policy/power2_rehash.cc: Likewise.
2644         * testsuite/unordered_set/hash_policy/prime_rehash.cc: Likewise.
2645         * testsuite/unordered_set/hash_policy/rehash.cc: Likewise.
2646         * testsuite/unordered_set/init-list.cc: Likewise.
2647         * testsuite/unordered_set/insert/24061-set.cc: Likewise.
2648         * testsuite/unordered_set/insert/hash_policy.cc: Likewise.
2649         * testsuite/unordered_set/insert/move_range.cc: Likewise.
2650         * testsuite/unordered_set/insert/set_range.cc: Likewise.
2651         * testsuite/unordered_set/insert/set_single.cc: Likewise.
2652         * testsuite/unordered_set/insert/set_single_move.cc: Likewise.
2653         * testsuite/unordered_set/max_load_factor/robustness.cc: Likewise.
2654         * testsuite/unordered_set/modifiers/emplace.cc: Likewise.
2655         * testsuite/unordered_set/modifiers/extract.cc: Likewise.
2656         * testsuite/unordered_set/modifiers/merge.cc: Likewise.
2657         * testsuite/unordered_set/modifiers/reserve.cc: Likewise.
2658         * testsuite/unordered_set/modifiers/swap.cc: Likewise.
2659         * testsuite/unordered_set/operations/count.cc: Likewise.
2660         * testsuite/unordered_set/operators/1.cc: Likewise.
2661         * testsuite/vector/allocator/copy.cc: Likewise.
2662         * testsuite/vector/allocator/copy_assign.cc: Likewise.
2663         * testsuite/vector/allocator/ext_ptr.cc: Likewise.
2664         * testsuite/vector/allocator/minimal.cc: Likewise.
2665         * testsuite/vector/allocator/move.cc: Likewise.
2666         * testsuite/vector/allocator/move_assign.cc: Likewise.
2667         * testsuite/vector/allocator/swap.cc: Likewise.
2668         * testsuite/vector/bool/6886.cc: Likewise.
2669         * testsuite/vector/bool/72847.cc: Likewise.
2670         * testsuite/vector/bool/allocator/copy.cc: Likewise.
2671         * testsuite/vector/bool/allocator/copy_assign.cc: Likewise.
2672         * testsuite/vector/bool/allocator/ext_ptr.cc: Likewise.
2673         * testsuite/vector/bool/allocator/move.cc: Likewise.
2674         * testsuite/vector/bool/allocator/move_assign.cc: Likewise.
2675         * testsuite/vector/bool/allocator/swap.cc: Likewise.
2676         * testsuite/vector/bool/capacity/1.cc: Likewise.
2677         * testsuite/vector/bool/capacity/29134.cc: Likewise.
2678         * testsuite/vector/bool/capacity/shrink_to_fit.cc: Likewise.
2679         * testsuite/vector/bool/cons/1.cc: Likewise.
2680         * testsuite/vector/bool/cons/2.cc: Likewise.
2681         * testsuite/vector/bool/modifiers/erase/1.cc: Likewise.
2682         * testsuite/vector/bool/modifiers/insert/1.cc: Likewise.
2683         * testsuite/vector/bool/modifiers/insert/31370.cc: Likewise.
2684         * testsuite/vector/bool/modifiers/swap/1.cc: Likewise.
2685         * testsuite/vector/bool/modifiers/swap/2.cc: Likewise.
2686         * testsuite/vector/bool/swap.cc: Likewise.
2687         * testsuite/vector/capacity/1.cc: Likewise.
2688         * testsuite/vector/capacity/2.cc: Likewise.
2689         * testsuite/vector/capacity/29134-2.cc: Likewise.
2690         * testsuite/vector/capacity/29134.cc: Likewise.
2691         * testsuite/vector/capacity/44190.cc: Likewise.
2692         * testsuite/vector/capacity/8230.cc: Likewise.
2693         * testsuite/vector/capacity/reserve/moveable.cc: Likewise.
2694         * testsuite/vector/capacity/reserve/moveable2.cc: Likewise.
2695         * testsuite/vector/capacity/resize/1.cc: Likewise.
2696         * testsuite/vector/capacity/resize/moveable.cc: Likewise.
2697         * testsuite/vector/capacity/resize/moveable2.cc: Likewise.
2698         * testsuite/vector/capacity/resize/resize_size.cc: Likewise.
2699         * testsuite/vector/capacity/shrink_to_fit.cc: Likewise.
2700         * testsuite/vector/capacity/shrink_to_fit2.cc: Likewise.
2701         * testsuite/vector/cons/3.cc: Likewise.
2702         * testsuite/vector/cons/4.cc: Likewise.
2703         * testsuite/vector/cons/cons_size.cc: Likewise.
2704         * testsuite/vector/cons/moveable.cc: Likewise.
2705         * testsuite/vector/data_access/1.cc: Likewise.
2706         * testsuite/vector/debug/debug_functions.cc: Likewise.
2707         * testsuite/vector/debug/move_assign_neg.cc: Likewise.
2708         * testsuite/vector/debug/move_neg.cc: Likewise.
2709         * testsuite/vector/debug/multithreaded_swap.cc: Likewise.
2710         * testsuite/vector/element_access/1.cc: Likewise.
2711         * testsuite/vector/ext_pointer/citerators.cc: Likewise.
2712         * testsuite/vector/ext_pointer/data_access.cc: Likewise.
2713         * testsuite/vector/ext_pointer/modifiers/element.cc: Likewise.
2714         * testsuite/vector/ext_pointer/modifiers/erase.cc: Likewise.
2715         * testsuite/vector/ext_pointer/modifiers/insert.cc: Likewise.
2716         * testsuite/vector/ext_pointer/resize.cc: Likewise.
2717         * testsuite/vector/modifiers/1.cc: Likewise.
2718         * testsuite/vector/modifiers/2.cc: Likewise.
2719         * testsuite/vector/modifiers/emplace/self_emplace.cc: Likewise.
2720         * testsuite/vector/modifiers/erase/1.cc: Likewise.
2721         * testsuite/vector/modifiers/erase/moveable.cc: Likewise.
2722         * testsuite/vector/modifiers/insert/1.cc: Likewise.
2723         * testsuite/vector/modifiers/insert/self_insert.cc: Likewise.
2724         * testsuite/vector/modifiers/moveable.cc: Likewise.
2725         * testsuite/vector/modifiers/moveable2.cc: Likewise.
2726         * testsuite/vector/modifiers/push_back/49836.cc: Likewise.
2727         * testsuite/vector/modifiers/swap/1.cc: Likewise.
2728         * testsuite/vector/modifiers/swap/2.cc: Likewise.
2729         * testsuite/vector/modifiers/swap/3.cc: Likewise.
2730         * testsuite/vector/zero_sized_allocations.cc: Likewise.
2731
2732 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
2733
2734         PR libstdc++/77998
2735         * include/std/future (__future_base::_Deferred_state)
2736         (__future_base::_Async_state_impl): Use decltype to deduce return
2737         type, instead of _Invoker::result_type.
2738         * include/std/thread (thread::_Invoker::operator()): Likewise.
2739         (thread::_Invoker::result_type): Remove.
2740
2741         PR libstdc++/77987
2742         * include/bits/unique_ptr.h (unique_ptr<T[], D>::reset<U>(U)): Copy
2743         value to pointer of the correct type to swap, to support conversions
2744         allowed by LWG 2118 / N4089.
2745         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for
2746         incompatible deleters from ...
2747         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here.
2748         * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for
2749         incompatible pointers to ...
2750         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move
2751         destructor definition to base class. Test for invalid derived-to-base
2752         conversion.
2753
2754         * doc/xml/manual/status_cxx2017.xml: Update status.
2755         * doc/html/*: Regenerate.
2756         * include/bits/deque.tcc (deque::emplace_front, deque::emplace_back):
2757         Return a reference in C++17 mode.
2758         * include/bits/forward_list.h (forward_list::emplace_front): Likewise.
2759         * include/bits/stl_bvector.h (vector<bool>::emplace_back): Likewise.
2760         * include/bits/stl_deque.h (deque::emplace_front, deque::emplace_back):
2761         Likewise.
2762         * include/bits/stl_list.h (list::emplace_front, list::emplace_back):
2763         Likewise.
2764         * include/bits/stl_queue.h (queue::emplace): Likewise.
2765         * include/bits/stl_stack.h (stack::emplace): Likewise.
2766         * include/bits/stl_vector.h (vector::emplace_back): Likewise.
2767         * include/bits/vector.tcc (vector::emplace_back): Likewise.
2768         * include/debug/deque (__gnu_debug::deque::emplace_front)
2769         (__gnu_debug::deque::emplace_back): Likewise.
2770         * include/debug/vector (__gnu_debug::vector::emplace_back): Likewise.
2771         * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
2772         New.
2773         * testsuite/23_containers/forward_list/modifiers/
2774         emplace_cxx17_return.cc: New.
2775         * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: New.
2776         * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: New.
2777         * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: New.
2778         * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: New.
2779         * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
2780         New.
2781
2782 2016-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
2783
2784         * testsuite/22_locale/classification/isblank.cc: Remove 'test'
2785         variables.
2786         * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
2787         * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Likewise.
2788         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
2789         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
2790         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise.
2791         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Likewise.
2792         * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
2793         * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Likewise.
2794         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
2795         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
2796         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise.
2797         * testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
2798         * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Likewise.
2799         * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
2800         * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise.
2801         * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise.
2802         * testsuite/22_locale/codecvt/in/wchar_t/5.cc: Likewise.
2803         * testsuite/22_locale/codecvt/in/wchar_t/6.cc: Likewise.
2804         * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise.
2805         * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
2806         * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
2807         * testsuite/22_locale/codecvt/length/char/1.cc: Likewise.
2808         * testsuite/22_locale/codecvt/length/char/2.cc: Likewise.
2809         * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Likewise.
2810         * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
2811         * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
2812         * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
2813         * testsuite/22_locale/codecvt/length/wchar_t/5.cc: Likewise.
2814         * testsuite/22_locale/codecvt/length/wchar_t/6.cc: Likewise.
2815         * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise.
2816         * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
2817         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Likewise.
2818         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
2819         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
2820         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise.
2821         * testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
2822         * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Likewise.
2823         * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
2824         * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise.
2825         * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
2826         * testsuite/22_locale/codecvt/out/wchar_t/5.cc: Likewise.
2827         * testsuite/22_locale/codecvt/out/wchar_t/6.cc: Likewise.
2828         * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
2829         * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
2830         * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Likewise.
2831         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
2832         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
2833         * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
2834         * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
2835         * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
2836         * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
2837         * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
2838         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
2839         * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
2840         * testsuite/22_locale/collate/hash/char/1.cc: Likewise.
2841         * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
2842         * testsuite/22_locale/collate/hash/wchar_t/1.cc: Likewise.
2843         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
2844         * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
2845         * testsuite/22_locale/collate/transform/char/28277.cc: Likewise.
2846         * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
2847         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
2848         * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise.
2849         * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
2850         * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
2851         * testsuite/22_locale/ctype/cons/char/1.cc: Likewise.
2852         * testsuite/22_locale/ctype/is/char/1.cc: Likewise.
2853         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
2854         * testsuite/22_locale/ctype/is/char/3.cc: Likewise.
2855         * testsuite/22_locale/ctype/is/char/9858.cc: Likewise.
2856         * testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
2857         * testsuite/22_locale/ctype/is/wchar_t/11740.cc: Likewise.
2858         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
2859         * testsuite/22_locale/ctype/narrow/char/1.cc: Likewise.
2860         * testsuite/22_locale/ctype/narrow/char/19955.cc: Likewise.
2861         * testsuite/22_locale/ctype/narrow/char/2.cc: Likewise.
2862         * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Likewise.
2863         * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Likewise.
2864         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise.
2865         * testsuite/22_locale/ctype/scan/char/1.cc: Likewise.
2866         * testsuite/22_locale/ctype/scan/wchar_t/1.cc: Likewise.
2867         * testsuite/22_locale/ctype/to/char/1.cc: Likewise.
2868         * testsuite/22_locale/ctype/to/wchar_t/1.cc: Likewise.
2869         * testsuite/22_locale/ctype/widen/char/1.cc: Likewise.
2870         * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Likewise.
2871         * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
2872         * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise.
2873         * testsuite/22_locale/ctype_base/11844.cc: Likewise.
2874         * testsuite/22_locale/facet/1.cc: Likewise.
2875         * testsuite/22_locale/facet/2.cc: Likewise.
2876         * testsuite/22_locale/facet/25421.cc: Likewise.
2877         * testsuite/22_locale/global_templates/1.cc: Likewise.
2878         * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
2879         Likewise.
2880         * testsuite/22_locale/global_templates/user_facet_hierarchies.cc:
2881         Likewise.
2882         * testsuite/22_locale/locale/13630.cc: Likewise.
2883         * testsuite/22_locale/locale/cons/12352.cc: Likewise.
2884         * testsuite/22_locale/locale/cons/12438.cc: Likewise.
2885         * testsuite/22_locale/locale/cons/2.cc: Likewise.
2886         * testsuite/22_locale/locale/cons/29217.cc: Likewise.
2887         * testsuite/22_locale/locale/cons/38365.cc: Likewise.
2888         * testsuite/22_locale/locale/cons/38368.cc: Likewise.
2889         * testsuite/22_locale/locale/cons/4.cc: Likewise.
2890         * testsuite/22_locale/locale/cons/40184.cc: Likewise.
2891         * testsuite/22_locale/locale/cons/5.cc: Likewise.
2892         * testsuite/22_locale/locale/cons/6.cc: Likewise.
2893         * testsuite/22_locale/locale/cons/7.cc: Likewise.
2894         * testsuite/22_locale/locale/cons/7222-c.cc: Likewise.
2895         * testsuite/22_locale/locale/cons/7222-env.cc: Likewise.
2896         * testsuite/22_locale/locale/cons/8.cc: Likewise.
2897         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
2898         * testsuite/22_locale/locale/global_locale_objects/1.cc: Likewise.
2899         * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
2900         * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
2901         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
2902         * testsuite/22_locale/locale/operations/1.cc: Likewise.
2903         * testsuite/22_locale/locale/operations/2.cc: Likewise.
2904         * testsuite/22_locale/messages/13631.cc: Likewise.
2905         * testsuite/22_locale/messages/members/char/1.cc: Likewise.
2906         * testsuite/22_locale/messages/members/char/2.cc: Likewise.
2907         * testsuite/22_locale/messages/members/char/3.cc: Likewise.
2908         * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
2909         * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
2910         * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
2911         * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
2912         * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
2913         * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
2914         * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
2915         * testsuite/22_locale/money_get/get/char/14.cc: Likewise.
2916         * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
2917         * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
2918         * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
2919         * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
2920         * testsuite/22_locale/money_get/get/char/19.cc: Likewise.
2921         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2922         * testsuite/22_locale/money_get/get/char/22131.cc: Likewise.
2923         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2924         * testsuite/22_locale/money_get/get/char/38399.cc: Likewise.
2925         * testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
2926         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2927         * testsuite/22_locale/money_get/get/char/5.cc: Likewise.
2928         * testsuite/22_locale/money_get/get/char/6.cc: Likewise.
2929         * testsuite/22_locale/money_get/get/char/7.cc: Likewise.
2930         * testsuite/22_locale/money_get/get/char/8.cc: Likewise.
2931         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2932         * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
2933         * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
2934         * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
2935         * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
2936         * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
2937         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Likewise.
2938         * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
2939         * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
2940         * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
2941         * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
2942         * testsuite/22_locale/money_get/get/wchar_t/19.cc: Likewise.
2943         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2944         * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
2945         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2946         * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
2947         * testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
2948         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2949         * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
2950         * testsuite/22_locale/money_get/get/wchar_t/6.cc: Likewise.
2951         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
2952         * testsuite/22_locale/money_get/get/wchar_t/8.cc: Likewise.
2953         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
2954         * testsuite/22_locale/money_put/put/char/12971.cc: Likewise.
2955         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
2956         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
2957         * testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
2958         * testsuite/22_locale/money_put/put/char/4.cc: Likewise.
2959         * testsuite/22_locale/money_put/put/char/5.cc: Likewise.
2960         * testsuite/22_locale/money_put/put/char/6.cc: Likewise.
2961         * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
2962         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
2963         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
2964         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2965         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2966         * testsuite/22_locale/money_put/put/wchar_t/39168.cc: Likewise.
2967         * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
2968         * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
2969         * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
2970         * testsuite/22_locale/moneypunct/40712.cc: Likewise.
2971         * testsuite/22_locale/moneypunct/members/char/1.cc: Likewise.
2972         * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
2973         * testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise.
2974         * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
2975         * testsuite/22_locale/moneypunct/requirements/false/intl.cc: Likewise.
2976         * testsuite/22_locale/moneypunct/requirements/true/intl.cc: Likewise.
2977         * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
2978         * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
2979         * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
2980         * testsuite/22_locale/num_get/get/char/11.cc: Likewise.
2981         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
2982         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
2983         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
2984         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
2985         * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
2986         * testsuite/22_locale/num_get/get/char/2.cc: Likewise.
2987         * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
2988         * testsuite/22_locale/num_get/get/char/23953.cc: Likewise.
2989         * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
2990         * testsuite/22_locale/num_get/get/char/37958.cc: Likewise.
2991         * testsuite/22_locale/num_get/get/char/39168.cc: Likewise.
2992         * testsuite/22_locale/num_get/get/char/39802.cc: Likewise.
2993         * testsuite/22_locale/num_get/get/char/4.cc: Likewise.
2994         * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
2995         * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
2996         * testsuite/22_locale/num_get/get/char/7.cc: Likewise.
2997         * testsuite/22_locale/num_get/get/char/8.cc: Likewise.
2998         * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
2999         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
3000         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
3001         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
3002         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
3003         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
3004         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
3005         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
3006         * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
3007         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Likewise.
3008         * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
3009         * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
3010         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
3011         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
3012         * testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
3013         * testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.
3014         * testsuite/22_locale/num_get/get/wchar_t/4.cc: Likewise.
3015         * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
3016         * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
3017         * testsuite/22_locale/num_get/get/wchar_t/7.cc: Likewise.
3018         * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
3019         * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
3020         * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
3021         * testsuite/22_locale/num_put/put/char/10.cc: Likewise.
3022         * testsuite/22_locale/num_put/put/char/11.cc: Likewise.
3023         * testsuite/22_locale/num_put/put/char/12.cc: Likewise.
3024         * testsuite/22_locale/num_put/put/char/14220.cc: Likewise.
3025         * testsuite/22_locale/num_put/put/char/15565.cc: Likewise.
3026         * testsuite/22_locale/num_put/put/char/2.cc: Likewise.
3027         * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
3028         * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
3029         * testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
3030         * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
3031         * testsuite/22_locale/num_put/put/char/38196.cc: Likewise.
3032         * testsuite/22_locale/num_put/put/char/38210.cc: Likewise.
3033         * testsuite/22_locale/num_put/put/char/4.cc: Likewise.
3034         * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
3035         * testsuite/22_locale/num_put/put/char/6.cc: Likewise.
3036         * testsuite/22_locale/num_put/put/char/7.cc: Likewise.
3037         * testsuite/22_locale/num_put/put/char/8.cc: Likewise.
3038         * testsuite/22_locale/num_put/put/char/9.cc: Likewise.
3039         * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
3040         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
3041         * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
3042         * testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise.
3043         * testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise.
3044         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
3045         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: Likewise.
3046         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
3047         * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
3048         * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
3049         * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
3050         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
3051         * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
3052         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
3053         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
3054         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
3055         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
3056         * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
3057         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
3058         * testsuite/22_locale/num_put/put/wchar_t/9.cc: Likewise.
3059         * testsuite/22_locale/numpunct/members/char/1.cc: Likewise.
3060         * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
3061         * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
3062         * testsuite/22_locale/numpunct/members/char/cache_1.cc: Likewise.
3063         * testsuite/22_locale/numpunct/members/char/cache_2.cc: Likewise.
3064         * testsuite/22_locale/numpunct/members/pod/1.cc: Likewise.
3065         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Likewise.
3066         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
3067         * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: Likewise.
3068         * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: Likewise.
3069         * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
3070         * testsuite/22_locale/time_get/date_order/char/1.cc: Likewise.
3071         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Likewise.
3072         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
3073         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
3074         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
3075         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
3076         * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
3077         * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
3078         * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
3079         * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
3080         * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
3081         * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
3082         * testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
3083         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
3084         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
3085         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
3086         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
3087         * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
3088         * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
3089         * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
3090         * testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
3091         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
3092         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
3093         * testsuite/22_locale/time_get/get_monthname/char/3.cc: Likewise.
3094         * testsuite/22_locale/time_get/get_monthname/char/4.cc: Likewise.
3095         * testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
3096         * testsuite/22_locale/time_get/get_monthname/char/6.cc: Likewise.
3097         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
3098         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
3099         * testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc: Likewise.
3100         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: Likewise.
3101         * testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
3102         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
3103         * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
3104         * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
3105         * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
3106         * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
3107         * testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
3108         * testsuite/22_locale/time_get/get_time/char/6.cc: Likewise.
3109         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
3110         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
3111         * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
3112         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
3113         * testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
3114         * testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise.
3115         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
3116         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
3117         * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
3118         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
3119         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
3120         * testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
3121         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
3122         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
3123         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
3124         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
3125         * testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
3126         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
3127         * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
3128         * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
3129         * testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
3130         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
3131         * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
3132         * testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise.
3133         * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
3134         * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
3135         * testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
3136         * testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
3137         * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
3138         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
3139         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
3140         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
3141         * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
3142         * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
3143         * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
3144         * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
3145         * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
3146         * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
3147         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
3148         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
3149         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
3150         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
3151         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
3152         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
3153         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
3154         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
3155         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
3156         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
3157         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
3158         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
3159         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
3160         * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
3161         * testsuite/30_threads/async/42819.cc: Likewise.
3162         * testsuite/30_threads/async/any.cc: Likewise.
3163         * testsuite/30_threads/async/async.cc: Likewise.
3164         * testsuite/30_threads/async/except.cc: Likewise.
3165         * testsuite/30_threads/async/launch.cc: Likewise.
3166         * testsuite/30_threads/async/sync.cc: Likewise.
3167         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
3168         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
3169         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
3170         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
3171         * testsuite/30_threads/condition_variable/members/3.cc: Likewise.
3172         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
3173         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
3174         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
3175         * testsuite/30_threads/future/members/45133.cc: Likewise.
3176         * testsuite/30_threads/future/members/get.cc: Likewise.
3177         * testsuite/30_threads/future/members/get2.cc: Likewise.
3178         * testsuite/30_threads/future/members/share.cc: Likewise.
3179         * testsuite/30_threads/future/members/valid.cc: Likewise.
3180         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
3181         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
3182         * testsuite/30_threads/lock/1.cc: Likewise.
3183         * testsuite/30_threads/lock/2.cc: Likewise.
3184         * testsuite/30_threads/lock/3.cc: Likewise.
3185         * testsuite/30_threads/lock/4.cc: Likewise.
3186         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
3187         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
3188         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
3189         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
3190         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
3191         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
3192         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
3193         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
3194         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
3195         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
3196         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
3197         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
3198         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
3199         * testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
3200         Likewise.
3201         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
3202         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
3203         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
3204         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
3205         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
3206         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
3207         * testsuite/30_threads/promise/cons/move.cc: Likewise.
3208         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
3209         * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
3210         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
3211         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
3212         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
3213         * testsuite/30_threads/promise/members/swap.cc: Likewise.
3214         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
3215         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
3216         Likewise.
3217         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
3218         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
3219         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
3220         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
3221         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
3222         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
3223         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
3224         Likewise.
3225         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
3226         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
3227         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
3228         Likewise.
3229         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
3230         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
3231         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
3232         Likewise.
3233         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
3234         Likewise.
3235         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
3236         Likewise.
3237         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
3238         Likewise.
3239         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
3240         Likewise.
3241         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
3242         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
3243         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
3244         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
3245         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
3246         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
3247         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
3248         * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
3249         * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
3250         * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
3251         * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
3252         * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
3253         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
3254         * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
3255         * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
3256         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
3257         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
3258         * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
3259         * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
3260         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
3261         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
3262         * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
3263         * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
3264         * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
3265         * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
3266         * testsuite/30_threads/this_thread/1.cc: Likewise.
3267         * testsuite/30_threads/this_thread/2.cc: Likewise.
3268         * testsuite/30_threads/this_thread/3.cc: Likewise.
3269         * testsuite/30_threads/this_thread/4.cc: Likewise.
3270         * testsuite/30_threads/this_thread/60421.cc: Likewise.
3271         * testsuite/30_threads/thread/cons/1.cc: Likewise.
3272         * testsuite/30_threads/thread/cons/2.cc: Likewise.
3273         * testsuite/30_threads/thread/cons/3.cc: Likewise.
3274         * testsuite/30_threads/thread/cons/4.cc: Likewise.
3275         * testsuite/30_threads/thread/cons/5.cc: Likewise.
3276         * testsuite/30_threads/thread/cons/6.cc: Likewise.
3277         * testsuite/30_threads/thread/cons/7.cc: Likewise.
3278         * testsuite/30_threads/thread/cons/8.cc: Likewise.
3279         * testsuite/30_threads/thread/cons/9.cc: Likewise.
3280         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
3281         * testsuite/30_threads/thread/members/1.cc: Likewise.
3282         * testsuite/30_threads/thread/members/2.cc: Likewise.
3283         * testsuite/30_threads/thread/members/3.cc: Likewise.
3284         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
3285         * testsuite/30_threads/thread/swap/1.cc: Likewise.
3286         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
3287         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
3288         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
3289         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
3290         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
3291         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
3292         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
3293         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
3294         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
3295         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
3296         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
3297         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
3298         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
3299         * testsuite/30_threads/try_lock/1.cc: Likewise.
3300         * testsuite/30_threads/try_lock/2.cc: Likewise.
3301         * testsuite/30_threads/try_lock/3.cc: Likewise.
3302         * testsuite/30_threads/try_lock/4.cc: Likewise.
3303         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
3304         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
3305         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
3306         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
3307         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
3308         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
3309         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
3310         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
3311         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
3312         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
3313         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
3314         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3315         not_shared.cc: Likewise.
3316         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3317         not_shared2.cc: Likewise.
3318         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3319         not_shared3.cc: Likewise.
3320         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3321         shared.cc: Likewise.
3322         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3323         still_shared.cc: Likewise.
3324         * testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc:
3325         Likewise.
3326         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
3327         Likewise.
3328         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
3329         Likewise.
3330         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
3331         auto_ptr_rvalue_neg.cc: Likewise.
3332         * testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc:
3333         Likewise.
3334         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
3335         shared_ptr_neg.cc: Likewise.
3336         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
3337         Likewise.
3338         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
3339         Likewise.
3340         * testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc: Likewise.
3341         * testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc:
3342         Likewise.
3343         * testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc:
3344         Likewise.
3345         * testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc:
3346         Likewise.
3347         * testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc: Likewise.
3348         * testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc: Likewise.
3349         * testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc: Likewise.
3350         * testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc: Likewise.
3351         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc:
3352         Likewise.
3353         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
3354         Likewise.
3355         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc:
3356         Likewise.
3357         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc:
3358         Likewise.
3359         * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
3360         Likewise.
3361         * testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc:
3362         Likewise.
3363         * testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc:
3364         Likewise.
3365         * testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc:
3366         Likewise.
3367         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3368         default_weaktoshared.cc: Likewise.
3369         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3370         mutex_weaktoshared.cc: Likewise.
3371         * testsuite/tr1/3_function_objects/bind/all_bound.cc: Likewise.
3372         * testsuite/tr1/3_function_objects/bind/mixed.cc: Likewise.
3373         * testsuite/tr1/3_function_objects/bind/nested.cc: Likewise.
3374         * testsuite/tr1/3_function_objects/bind/placeholders.cc: Likewise.
3375         * testsuite/tr1/3_function_objects/bind/ref.cc: Likewise.
3376         * testsuite/tr1/3_function_objects/function/1.cc: Likewise.
3377         * testsuite/tr1/3_function_objects/function/2.cc: Likewise.
3378         * testsuite/tr1/3_function_objects/function/3.cc: Likewise.
3379         * testsuite/tr1/3_function_objects/function/4.cc: Likewise.
3380         * testsuite/tr1/3_function_objects/function/5.cc: Likewise.
3381         * testsuite/tr1/3_function_objects/function/6.cc: Likewise.
3382         * testsuite/tr1/3_function_objects/function/7.cc: Likewise.
3383         * testsuite/tr1/3_function_objects/function/8.cc: Likewise.
3384         * testsuite/tr1/3_function_objects/function/9.cc: Likewise.
3385         * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
3386         Likewise.
3387         * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
3388         Likewise.
3389         * testsuite/tr1/3_function_objects/result_of.cc: Likewise.
3390         * testsuite/tr1/4_metaprogramming/add_const/value.cc: Likewise.
3391         * testsuite/tr1/4_metaprogramming/add_cv/value.cc: Likewise.
3392         * testsuite/tr1/4_metaprogramming/add_pointer/value.cc: Likewise.
3393         * testsuite/tr1/4_metaprogramming/add_reference/value.cc: Likewise.
3394         * testsuite/tr1/4_metaprogramming/add_volatile/value.cc: Likewise.
3395         * testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: Likewise.
3396         * testsuite/tr1/4_metaprogramming/alignment_of/value.cc: Likewise.
3397         * testsuite/tr1/4_metaprogramming/extent/value.cc: Likewise.
3398         * testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc: Likewise.
3399         * testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc:
3400         Likewise.
3401         * testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc: Likewise.
3402         * testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc: Likewise.
3403         * testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc:
3404         Likewise.
3405         * testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc: Likewise.
3406         * testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc:
3407         Likewise.
3408         * testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc:
3409         Likewise.
3410         * testsuite/tr1/4_metaprogramming/integral_constant/
3411         static_definition.cc: Likewise.
3412         * testsuite/tr1/4_metaprogramming/integral_constant/
3413         true_false_value.cc: Likewise.
3414         * testsuite/tr1/4_metaprogramming/is_abstract/value.cc: Likewise.
3415         * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc: Likewise.
3416         * testsuite/tr1/4_metaprogramming/is_array/value.cc: Likewise.
3417         * testsuite/tr1/4_metaprogramming/is_base_of/value.cc: Likewise.
3418         * testsuite/tr1/4_metaprogramming/is_class/value.cc: Likewise.
3419         * testsuite/tr1/4_metaprogramming/is_compound/value.cc: Likewise.
3420         * testsuite/tr1/4_metaprogramming/is_const/value.cc: Likewise.
3421         * testsuite/tr1/4_metaprogramming/is_convertible/value.cc: Likewise.
3422         * testsuite/tr1/4_metaprogramming/is_empty/value.cc: Likewise.
3423         * testsuite/tr1/4_metaprogramming/is_enum/24808.cc: Likewise.
3424         * testsuite/tr1/4_metaprogramming/is_enum/value.cc: Likewise.
3425         * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc: Likewise.
3426         * testsuite/tr1/4_metaprogramming/is_function/24808.cc: Likewise.
3427         * testsuite/tr1/4_metaprogramming/is_function/value.cc: Likewise.
3428         * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc: Likewise.
3429         * testsuite/tr1/4_metaprogramming/is_integral/value.cc: Likewise.
3430         * testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc:
3431         Likewise.
3432         * testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc:
3433         Likewise.
3434         * testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc: Likewise.
3435         * testsuite/tr1/4_metaprogramming/is_object/24808.cc: Likewise.
3436         * testsuite/tr1/4_metaprogramming/is_object/value.cc: Likewise.
3437         * testsuite/tr1/4_metaprogramming/is_pod/value.cc: Likewise.
3438         * testsuite/tr1/4_metaprogramming/is_pointer/value.cc: Likewise.
3439         * testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc: Likewise.
3440         * testsuite/tr1/4_metaprogramming/is_reference/value.cc: Likewise.
3441         * testsuite/tr1/4_metaprogramming/is_same/value.cc: Likewise.
3442         * testsuite/tr1/4_metaprogramming/is_scalar/value.cc: Likewise.
3443         * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise.
3444         * testsuite/tr1/4_metaprogramming/is_union/value.cc: Likewise.
3445         * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc: Likewise.
3446         * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise.
3447         * testsuite/tr1/4_metaprogramming/is_volatile/value.cc: Likewise.
3448         * testsuite/tr1/4_metaprogramming/rank/value.cc: Likewise.
3449         * testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc: Likewise.
3450         * testsuite/tr1/4_metaprogramming/remove_const/value.cc: Likewise.
3451         * testsuite/tr1/4_metaprogramming/remove_cv/value.cc: Likewise.
3452         * testsuite/tr1/4_metaprogramming/remove_extent/value.cc: Likewise.
3453         * testsuite/tr1/4_metaprogramming/remove_pointer/value.cc: Likewise.
3454         * testsuite/tr1/4_metaprogramming/remove_reference/value.cc: Likewise.
3455         * testsuite/tr1/4_metaprogramming/remove_volatile/value.cc: Likewise.
3456         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3457         equal.cc: Likewise.
3458         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3459         not_equal.cc: Likewise.
3460         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3461         serialize.cc: Likewise.
3462         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3463         cons/default.cc: Likewise.
3464         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3465         cons/gen1.cc: Likewise.
3466         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3467         operators/equal.cc: Likewise.
3468         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3469         operators/not_equal.cc: Likewise.
3470         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3471         operators/serialize.cc: Likewise.
3472         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3473         cons/default.cc: Likewise.
3474         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3475         cons/gen1.cc: Likewise.
3476         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3477         operators/equal.cc: Likewise.
3478         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3479         operators/not_equal.cc: Likewise.
3480         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3481         operators/serialize.cc: Likewise.
3482         * testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc: Likewise.
3483         * testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc: Likewise.
3484         * testsuite/tr1/5_numerical_facilities/random/mt19937.cc: Likewise.
3485         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3486         default.cc: Likewise.
3487         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3488         token.cc: Likewise.
3489         * testsuite/tr1/5_numerical_facilities/random/ranlux3.cc: Likewise.
3490         * testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc: Likewise.
3491         * testsuite/tr1/5_numerical_facilities/random/ranlux4.cc: Likewise.
3492         * testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc
3493         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3494         cons/default.cc: Likewise.
3495         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3496         cons/gen1.cc: Likewise.
3497         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3498         operators/equal.cc: Likewise.
3499         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3500         operators/not_equal.cc: Likewise.
3501         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3502         operators/serialize.cc: Likewise.
3503         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3504         cons/default.cc: Likewise.
3505         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3506         cons/gen1.cc: Likewise.
3507         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3508         operators/equal.cc: Likewise.
3509         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3510         operators/not_equal.cc: Likewise.
3511         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3512         operators/serialize.cc: Likewise.
3513         * testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
3514         Likewise.
3515         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3516         default.cc: Likewise.
3517         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3518         range.cc: Likewise.
3519         * testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/
3520         default.cc: Likewise.
3521         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3522         equal.cc: Likewise.
3523         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3524         not_equal.cc: Likewise.
3525         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3526         serialize.cc: Likewise.
3527         * testsuite/tr1/5_numerical_facilities/special_functions/
3528         08_cyl_bessel_i/check_value.cc: Likewise.
3529         * testsuite/tr1/5_numerical_facilities/special_functions/
3530         08_cyl_bessel_i/pr56216.cc: Likewise.
3531         * testsuite/tr1/5_numerical_facilities/special_functions/
3532         09_cyl_bessel_j/check_value.cc: Likewise.
3533         * testsuite/tr1/5_numerical_facilities/special_functions/
3534         10_cyl_bessel_k/check_value.cc: Likewise.
3535         * testsuite/tr1/5_numerical_facilities/special_functions/
3536         11_cyl_neumann/check_value.cc: Likewise.
3537         * testsuite/tr1/5_numerical_facilities/special_functions/
3538         16_hermite/check_value.cc: Likewise.
3539         * testsuite/tr1/5_numerical_facilities/special_functions/
3540         21_sph_bessel/check_value.cc: Likewise.
3541         * testsuite/tr1/5_numerical_facilities/special_functions/
3542         23_sph_neumann/check_value.cc: Likewise.
3543         * testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise.
3544         * testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise.
3545         * testsuite/tr1/6_containers/array/capacity/size.cc: Likewise.
3546         * testsuite/tr1/6_containers/array/comparison_operators/equal.cc:
3547         Likewise.
3548         * testsuite/tr1/6_containers/array/comparison_operators/greater.cc:
3549         Likewise.
3550         * testsuite/tr1/6_containers/array/comparison_operators/
3551         greater_or_equal.cc: Likewise.
3552         * testsuite/tr1/6_containers/array/comparison_operators/less.cc:
3553         Likewise.
3554         * testsuite/tr1/6_containers/array/comparison_operators/
3555         less_or_equal.cc: Likewise.
3556         * testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc:
3557         Likewise.
3558         * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
3559         Likewise.
3560         * testsuite/tr1/6_containers/array/element_access/back.cc: Likewise.
3561         * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
3562         * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
3563         * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc:
3564         Likewise.
3565         * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
3566         * testsuite/tr1/6_containers/array/requirements/contiguous.cc: Likewise.
3567         * testsuite/tr1/6_containers/array/requirements/member_swap.cc:
3568         Likewise.
3569         * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
3570         Likewise.
3571         * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
3572         Likewise.
3573         * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
3574         * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
3575         Likewise.
3576         * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
3577         Likewise.
3578         * testsuite/tr1/6_containers/hash/24799.cc: Likewise.
3579         * testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise.
3580         *
3581         testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
3582         Likewise.
3583         * testsuite/tr1/6_containers/tuple/cons/assignment.cc: Likewise.
3584         * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise.
3585         * testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise.
3586         * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc:
3587         Likewise.
3588         * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
3589         Likewise.
3590         * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: Likewise.
3591         * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Likewise.
3592         * testsuite/tr1/6_containers/tuple/element_access/get.cc: Likewise.
3593         * testsuite/tr1/6_containers/tuple/tuple_size.cc: Likewise.
3594         * testsuite/tr1/6_containers/unordered_map/24064.cc: Likewise.
3595         * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
3596         Likewise.
3597         * testsuite/tr1/6_containers/unordered_map/erase/1.cc: Likewise.
3598         * testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc: Likewise.
3599         * testsuite/tr1/6_containers/unordered_map/find/map1.cc: Likewise.
3600         * testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc:
3601         Likewise.
3602         * testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc:
3603         Likewise.
3604         * testsuite/tr1/6_containers/unordered_map/insert/map_range.cc:
3605         Likewise.
3606         * testsuite/tr1/6_containers/unordered_map/insert/map_single.cc:
3607         Likewise.
3608         * testsuite/tr1/6_containers/unordered_map/swap/1.cc: Likewise.
3609         * testsuite/tr1/6_containers/unordered_map/swap/2.cc: Likewise.
3610         * testsuite/tr1/6_containers/unordered_multimap/capacity/
3611         29134-multimap.cc: Likewise.
3612         * testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise.
3613         * testsuite/tr1/6_containers/unordered_multimap/erase/
3614         24061-multimap.cc: Likewise.
3615         * testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc:
3616         Likewise.
3617         * testsuite/tr1/6_containers/unordered_multimap/insert/
3618         24061-multimap.cc: Likewise.
3619         * testsuite/tr1/6_containers/unordered_multimap/insert/
3620         multimap_range.cc: Likewise.
3621         * testsuite/tr1/6_containers/unordered_multimap/insert/
3622         multimap_single.cc: Likewise.
3623         * testsuite/tr1/6_containers/unordered_multimap/swap/1.cc: Likewise.
3624         * testsuite/tr1/6_containers/unordered_multimap/swap/2.cc: Likewise.
3625         * testsuite/tr1/6_containers/unordered_multiset/24054.cc: Likewise.
3626         * testsuite/tr1/6_containers/unordered_multiset/capacity/
3627         29134-multiset.cc: Likewise.
3628         * testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise.
3629         * testsuite/tr1/6_containers/unordered_multiset/erase/
3630         24061-multiset.cc: Likewise.
3631         * testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc:
3632         Likewise.
3633         * testsuite/tr1/6_containers/unordered_multiset/insert/
3634         24061-multiset.cc: Likewise.
3635         * testsuite/tr1/6_containers/unordered_multiset/insert/
3636         multiset_range.cc: Likewise.
3637         * testsuite/tr1/6_containers/unordered_multiset/insert/
3638         multiset_single.cc: Likewise.
3639         * testsuite/tr1/6_containers/unordered_multiset/swap/1.cc: Likewise.
3640         * testsuite/tr1/6_containers/unordered_multiset/swap/2.cc: Likewise.
3641         * testsuite/tr1/6_containers/unordered_set/23465.cc: Likewise.
3642         * testsuite/tr1/6_containers/unordered_set/26132.cc: Likewise.
3643         * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
3644         Likewise.
3645         * testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise.
3646         * testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc: Likewise.
3647         * testsuite/tr1/6_containers/unordered_set/find/set1.cc: Likewise.
3648         * testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc:
3649         Likewise.
3650         * testsuite/tr1/6_containers/unordered_set/insert/set_range.cc:
3651         Likewise.
3652         * testsuite/tr1/6_containers/unordered_set/insert/set_single.cc:
3653         Likewise.
3654         * testsuite/tr1/6_containers/unordered_set/swap/1.cc: Likewise.
3655         * testsuite/tr1/6_containers/unordered_set/swap/2.cc: Likewise.
3656         * testsuite/tr1/6_containers/utility/pair.cc: Likewise.
3657         * testsuite/tr1/7_regular_expressions/match_results/ctors/char/
3658         default.cc: Likewise.
3659         * testsuite/tr1/7_regular_expressions/regex_traits/char/
3660         translate_nocase.cc: Likewise.
3661         * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc:
3662         Likewise.
3663         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
3664         translate_nocase.cc: Likewise.
3665         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc:
3666         Likewise.
3667         * testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.
3668         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise.
3669
3670 2016-10-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
3671
3672         Make sure the return value of malloc_allocator::allocate
3673         is zero-initialized so that checking it for non-zero works
3674         later.
3675         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
3676         Initialize the return value.
3677         * testsuite/ext/malloc_allocator/sanity.cc: New.
3678
3679 2016-10-14  Eelis van der Weegen  <eelis@eelis.net>
3680
3681         * include/bits/stl_algo.h (shuffle): Extract two random numbers from
3682         each generator invocation when its range is large enough.
3683
3684 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3685
3686         * testsuite/experimental/algorithm/sample.cc: Qualify calls to
3687         resolve ambiguity between std::sample and std::experimental::sample.
3688
3689         * include/std/functional (_Mu<A, false, true>, _Mu<A, true, false>):
3690         Simplify forwarding from tuple of references.
3691         (_Maybe_wrap_member_pointer): Remove.
3692         (_Bind::__call, _Bind::__call_c, _Bind::__call_v, _Bind::__call_c_v):
3693         Use std::__invoke.
3694         (_Bind::_Mu_type, _Bind::_Res_type_impl, _Bind::_Res_type)
3695         (_Bind::__dependent, _Bind::_Res_type_cv): New helpers to simplify
3696         return type deduction.
3697         (_Bind::operator(), _Bind::operator() const): Use new helpers.
3698         (_Bind::operator() volatile, _Bind::operator() const volatile):
3699         Likewise. Add deprecated attribute for C++17 mode.
3700         (_Bind_result::__call): Use std::__invoke.
3701         (_Bind_result::operator() volatile)
3702         (_Bind_result::operator() const volatile): Add deprecated attribute.
3703         (_Bind_helper::__maybe_type, _Bindres_helper::__maybe_type): Remove.
3704         (_Bind_helper, _Bindres_helper): Don't use _Maybe_wrap_member_pointer.
3705         (bind, bind<R>): Don't use __maybe_type.
3706         * src/c++11/compatibility-thread-c++0x.cc
3707         (_Maybe_wrap_member_pointer): Define here for compatibility symbols.
3708         * testsuite/20_util/bind/68912.cc: Don't test volatile-qualification
3709         in C++17 mode.
3710         * testsuite/20_util/bind/cv_quals.cc: Likewise.
3711         * testsuite/20_util/bind/cv_quals_2.cc: Likewise.
3712
3713         * include/std/scoped_allocator (scoped_allocator_adaptor): Forward
3714         piecewise construction arguments as tuples of references, to avoid
3715         copies (related to LWG 2511).
3716         * testsuite/20_util/scoped_allocator/construct_pair.cc: New test.
3717
3718 2016-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
3719
3720         * testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables.
3721         * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
3722         * testsuite/26_numerics/complex/13450.cc: Likewise.
3723         * testsuite/26_numerics/complex/50880.cc: Likewise.
3724         * testsuite/26_numerics/complex/c99.cc: Likewise.
3725         * testsuite/26_numerics/complex/cons/48760.cc: Likewise.
3726         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
3727         * testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise.
3728         * testsuite/26_numerics/complex/dr844.cc: Likewise.
3729         * testsuite/26_numerics/complex/inserters_extractors/char/1.cc:
3730         Likewise.
3731         * testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc:
3732         Likewise.
3733         * testsuite/26_numerics/complex/value_operations/1.cc: Likewise.
3734         * testsuite/26_numerics/complex/value_operations/dr387.cc: Likewise.
3735         * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
3736         * testsuite/26_numerics/headers/cmath/
3737         c99_classification_macros_c++11.c: Likewise.c
3738         * testsuite/26_numerics/headers/cmath/
3739         c99_classification_macros_c++98.cc: Likewise.
3740         * testsuite/26_numerics/headers/cmath/c_math.cc: Likewise.
3741         * testsuite/26_numerics/headers/cmath/dr550.cc: Likewise.
3742         * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
3743         * testsuite/26_numerics/headers/cmath/powi.cc: Likewise.
3744         * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
3745         * testsuite/26_numerics/inner_product/1.cc: Likewise.
3746         * testsuite/26_numerics/iota/1.cc: Likewise.
3747         * testsuite/26_numerics/partial_sum/1.cc: Likewise.
3748         * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
3749         Likewise.
3750         * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
3751         Likewise.
3752         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3753         equal.cc: Likewise.
3754         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3755         inequal.cc: Likewise.
3756         * testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
3757         Likewise.
3758         * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
3759         Likewise.
3760         * testsuite/26_numerics/random/binomial_distribution/operators/
3761         equal.cc: Likewise.
3762         * testsuite/26_numerics/random/binomial_distribution/operators/
3763         inequal.cc: Likewise.
3764         * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
3765         Likewise.
3766         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
3767         Likewise.
3768         * testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc:
3769         Likewise.
3770         * testsuite/26_numerics/random/cauchy_distribution/operators/
3771         inequal.cc: Likewise.
3772         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3773         default.cc: Likewise.
3774         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3775         parms.cc: Likewise.
3776         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3777         equal.cc: Likewise.
3778         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3779         inequal.cc: Likewise.
3780         * testsuite/26_numerics/random/default_random_engine.cc: Likewise.
3781         * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
3782         Likewise.
3783         * testsuite/26_numerics/random/discard_block_engine/operators/equal.cc:
3784         Likewise.
3785         * testsuite/26_numerics/random/discard_block_engine/operators/
3786         inequal.cc: Likewise.
3787         * testsuite/26_numerics/random/discard_block_engine/operators/
3788         serialize.cc: Likewise.
3789         * testsuite/26_numerics/random/discrete_distribution/cons/
3790         default.cc: Likewise.
3791         * testsuite/26_numerics/random/discrete_distribution/cons/
3792         initlist.cc: Likewise.
3793         * testsuite/26_numerics/random/discrete_distribution/cons/
3794         num_xbound_fun.cc: Likewise.
3795         * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
3796         Likewise.
3797         * testsuite/26_numerics/random/discrete_distribution/operators/
3798         equal.cc: Likewise.
3799         * testsuite/26_numerics/random/discrete_distribution/operators/
3800         inequal.cc: Likewise.
3801         * testsuite/26_numerics/random/exponential_distribution/cons/
3802         default.cc: Likewise.
3803         * testsuite/26_numerics/random/exponential_distribution/cons/
3804         parms.cc: Likewise.
3805         * testsuite/26_numerics/random/exponential_distribution/operators/
3806         equal.cc: Likewise.
3807         * testsuite/26_numerics/random/exponential_distribution/operators/
3808         inequal.cc: Likewise.
3809         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3810         default.cc: Likewise.
3811         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3812         parms.cc: Likewise.
3813         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3814         equal.cc: Likewise.
3815         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3816         inequal.cc: Likewise.
3817         * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
3818         Likewise.
3819         * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
3820         Likewise.
3821         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3822         equal.cc: Likewise.
3823         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3824         inequal.cc: Likewise.
3825         * testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
3826         Likewise.
3827         * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
3828         Likewise.
3829         * testsuite/26_numerics/random/gamma_distribution/operators/equal.cc:
3830         Likewise.
3831         * testsuite/26_numerics/random/gamma_distribution/operators/
3832         inequal.cc: Likewise.
3833         * testsuite/26_numerics/random/geometric_distribution/cons/
3834         default.cc: Likewise.
3835         * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
3836         Likewise.
3837         * testsuite/26_numerics/random/geometric_distribution/operators/
3838         equal.cc: Likewise.
3839         * testsuite/26_numerics/random/geometric_distribution/operators/
3840         inequal.cc: Likewise.
3841         * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
3842         Likewise.
3843         * testsuite/26_numerics/random/independent_bits_engine/operators/
3844         equal.cc: Likewise.
3845         * testsuite/26_numerics/random/independent_bits_engine/operators/
3846         inequal.cc: Likewise.
3847         * testsuite/26_numerics/random/independent_bits_engine/operators/
3848         serialize.cc: Likewise.
3849         * testsuite/26_numerics/random/knuth_b.cc: Likewise.
3850         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3851         55215.cc: Likewise.
3852         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3853         default.cc: Likewise.
3854         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3855         51795.cc: Likewise.
3856         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3857         equal.cc: Likewise.
3858         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3859         inequal.cc: Likewise.
3860         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3861         serialize.cc: Likewise.
3862         * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
3863         Likewise.
3864         * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
3865         Likewise.
3866         * testsuite/26_numerics/random/lognormal_distribution/operators/
3867         equal.cc: Likewise.
3868         * testsuite/26_numerics/random/lognormal_distribution/operators/
3869         inequal.cc: Likewise.
3870         * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
3871         Likewise.
3872         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
3873         default.cc: Likewise.
3874         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3875         equal.cc: Likewise.
3876         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3877         inequal.cc: Likewise.
3878         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3879         serialize.cc: Likewise.
3880         * testsuite/26_numerics/random/minstd_rand.cc: Likewise.
3881         * testsuite/26_numerics/random/minstd_rand0.cc: Likewise.
3882         * testsuite/26_numerics/random/mt19937.cc: Likewise.
3883         * testsuite/26_numerics/random/mt19937_64.cc: Likewise.
3884         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3885         default.cc: Likewise.
3886         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3887         parms.cc: Likewise.
3888         * testsuite/26_numerics/random/negative_binomial_distribution/
3889         operators/equal.cc: Likewise.
3890         * testsuite/26_numerics/random/negative_binomial_distribution/
3891         operators/inequal.cc: Likewise.
3892         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
3893         Likewise.
3894         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
3895         Likewise.
3896         * testsuite/26_numerics/random/normal_distribution/operators/
3897         equal.cc: Likewise.
3898         * testsuite/26_numerics/random/normal_distribution/operators/
3899         inequal.cc: Likewise.
3900         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3901         default.cc: Likewise.
3902         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3903         initlist_fun.cc: Likewise.
3904         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3905         num_xbound_fun.cc: Likewise.
3906         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3907         range.cc: Likewise.
3908         * testsuite/26_numerics/random/piecewise_constant_distribution/
3909         operators/equal.cc: Likewise.
3910         * testsuite/26_numerics/random/piecewise_constant_distribution/
3911         operators/inequal.cc: Likewise.
3912         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3913         default.cc: Likewise.
3914         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3915         initlist_fun.cc: Likewise.
3916         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3917         num_xbound_fun.cc: Likewise.
3918         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3919         range.cc: Likewise.
3920         * testsuite/26_numerics/random/piecewise_linear_distribution/
3921         operators/equal.cc: Likewise.
3922         * testsuite/26_numerics/random/piecewise_linear_distribution/
3923         operators/inequal.cc: Likewise.
3924         * testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
3925         Likewise.
3926         * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
3927         Likewise.
3928         * testsuite/26_numerics/random/poisson_distribution/operators/
3929         equal.cc: Likewise.
3930         * testsuite/26_numerics/random/poisson_distribution/operators/
3931         inequal.cc: Likewise.
3932         * testsuite/26_numerics/random/random_device/cons/default.cc: Likewise.
3933         * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
3934         * testsuite/26_numerics/random/ranlux24.cc: Likewise.
3935         * testsuite/26_numerics/random/ranlux24_base.cc: Likewise.
3936         * testsuite/26_numerics/random/ranlux48.cc: Likewise.
3937         * testsuite/26_numerics/random/ranlux48_base.cc: Likewise.
3938         * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Likewise.
3939         * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
3940         Likewise.
3941         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3942         equal.cc: Likewise.
3943         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3944         inequal.cc: Likewise.
3945         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3946         serialize.cc: Likewise.
3947         * testsuite/26_numerics/random/student_t_distribution/cons/
3948         default.cc: Likewise.
3949         * testsuite/26_numerics/random/student_t_distribution/cons/
3950         parms.cc: Likewise.
3951         * testsuite/26_numerics/random/student_t_distribution/operators/
3952         equal.cc: Likewise.
3953         * testsuite/26_numerics/random/student_t_distribution/operators/
3954         inequal.cc: Likewise.
3955         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3956         55215.cc: Likewise.
3957         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3958         default.cc: Likewise.
3959         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3960         equal.cc: Likewise.
3961         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3962         inequal.cc: Likewise.
3963         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3964         serialize.cc: Likewise.
3965         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3966         default.cc: Likewise.
3967         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3968         parms.cc: Likewise.
3969         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3970         equal.cc: Likewise.
3971         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3972         inequal.cc: Likewise.
3973         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3974         default.cc: Likewise.
3975         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3976         parms.cc: Likewise.
3977         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3978         equal.cc: Likewise.
3979         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3980         inequal.cc: Likewise.
3981         * testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
3982         Likewise.
3983         * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
3984         Likewise.
3985         * testsuite/26_numerics/random/weibull_distribution/operators/
3986         equal.cc: Likewise.
3987         * testsuite/26_numerics/random/weibull_distribution/operators/
3988         inequal.cc: Likewise.
3989         * testsuite/26_numerics/slice/1.cc: Likewise.
3990         * testsuite/26_numerics/slice_array/array_assignment.cc: Likewise.
3991         * testsuite/26_numerics/valarray/27867.cc: Likewise.
3992         * testsuite/26_numerics/valarray/28277.cc: Likewise.
3993         * testsuite/26_numerics/valarray/30416.cc: Likewise.
3994         * testsuite/26_numerics/valarray/dr543.cc: Likewise.
3995         * testsuite/26_numerics/valarray/dr630-1.cc: Likewise.
3996         * testsuite/26_numerics/valarray/dr630-2.cc: Likewise.
3997         * testsuite/26_numerics/valarray/dr630-3.C: Likewise.
3998         * testsuite/26_numerics/valarray/init-list.cc: Likewise.
3999         * testsuite/26_numerics/valarray/moveable.cc: Likewise.
4000         * testsuite/26_numerics/valarray/operators.cc: Likewise.
4001         * testsuite/26_numerics/valarray/swap.cc: Likewise.
4002         * testsuite/experimental/deque/erasure.cc: Likewise.
4003         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
4004         Likewise.
4005         * testsuite/experimental/filesystem/iterators/
4006         recursive_directory_iterator.cc: Likewise.
4007         * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
4008         * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
4009         * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
4010         * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
4011         * testsuite/experimental/filesystem/operations/create_directories.cc:
4012         Likewise.
4013         * testsuite/experimental/filesystem/operations/create_directory.cc:
4014         Likewise.
4015         * testsuite/experimental/filesystem/operations/current_path.cc:
4016         Likewise.
4017         * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
4018         * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
4019         * testsuite/experimental/filesystem/operations/last_write_time.cc:
4020         Likewise.
4021         * testsuite/experimental/filesystem/operations/permissions.cc: Likewise.
4022         * testsuite/experimental/filesystem/operations/status.cc: Likewise.
4023         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
4024         Likewise.
4025         * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
4026         * testsuite/experimental/forward_list/erasure.cc: Likewise.
4027         * testsuite/experimental/list/erasure.cc: Likewise.
4028         * testsuite/experimental/map/erasure.cc: Likewise.
4029         * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Likewise.
4030         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
4031         Likewise.
4032         * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: Likewise.
4033         * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: Likewise.
4034         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: Likewise.
4035         * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
4036         Likewise.
4037         * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: Likewise.
4038         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
4039         Likewise.
4040         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
4041         Likewise.
4042         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
4043         Likewise.
4044         * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
4045         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Likewise.
4046         * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: Likewise.
4047         * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
4048         Likewise.
4049         * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
4050         Likewise.
4051         * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
4052         Likewise.
4053         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
4054         Likewise.
4055         * testsuite/experimental/memory_resource/1.cc: Likewise.
4056         * testsuite/experimental/memory_resource/null_memory_resource.cc:
4057         Likewise.
4058         * testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise.
4059         * testsuite/experimental/set/erasure.cc: Likewise.
4060         * testsuite/experimental/string/erasure.cc: Likewise.
4061         * testsuite/experimental/string_view/capacity/1.cc: Likewise.
4062         * testsuite/experimental/string_view/cons/char/1.cc: Likewise.
4063         * testsuite/experimental/string_view/cons/char/2.cc: Likewise.
4064         * testsuite/experimental/string_view/cons/char/3.cc: Likewise.
4065         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
4066         * testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise.
4067         * testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise.
4068         * testsuite/experimental/string_view/element_access/char/1.cc: Likewise.
4069         * testsuite/experimental/string_view/element_access/char/empty.cc:
4070         Likewise.
4071         * testsuite/experimental/string_view/element_access/char/
4072         front_back.cc: Likewise.
4073         * testsuite/experimental/string_view/element_access/wchar_t/1.cc:
4074         Likewise.
4075         * testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
4076         Likewise.
4077         * testsuite/experimental/string_view/element_access/wchar_t/
4078         front_back.cc: Likewise.
4079         * testsuite/experimental/string_view/inserters/char/1.cc: Likewise.
4080         * testsuite/experimental/string_view/inserters/char/2.cc: Likewise.
4081         * testsuite/experimental/string_view/inserters/char/3.cc: Likewise.
4082         * testsuite/experimental/string_view/inserters/pod/10081-out.cc:
4083         Likewise.
4084         * testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise.
4085         * testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise.
4086         * testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise.
4087         * testsuite/experimental/string_view/modifiers/remove_prefix/char/
4088         1.cc: Likewise.
4089         * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
4090         1.cc: Likewise.
4091         * testsuite/experimental/string_view/modifiers/remove_suffix/char/
4092         1.cc: Likewise.
4093         * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
4094         1.cc: Likewise.
4095         * testsuite/experimental/string_view/operations/compare/char/1.cc:
4096         Likewise.
4097         * testsuite/experimental/string_view/operations/compare/char/
4098         13650.cc: Likewise.
4099         * testsuite/experimental/string_view/operations/compare/wchar_t/
4100         1.cc: Likewise.
4101         * testsuite/experimental/string_view/operations/compare/wchar_t/
4102         13650.cc: Likewise.
4103         * testsuite/experimental/string_view/operations/copy/char/1.cc:
4104         Likewise.
4105         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
4106         Likewise.
4107         * testsuite/experimental/string_view/operations/data/char/1.cc:
4108         Likewise.
4109         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
4110         Likewise.
4111         * testsuite/experimental/string_view/operations/find/char/1.cc:
4112         Likewise.
4113         * testsuite/experimental/string_view/operations/find/char/2.cc:
4114         Likewise.
4115         * testsuite/experimental/string_view/operations/find/char/3.cc:
4116         Likewise.
4117         * testsuite/experimental/string_view/operations/find/char/4.cc:
4118         Likewise.
4119         * testsuite/experimental/string_view/operations/find/wchar_t/1.cc:
4120         Likewise.
4121         * testsuite/experimental/string_view/operations/find/wchar_t/2.cc:
4122         Likewise.
4123         * testsuite/experimental/string_view/operations/find/wchar_t/3.cc:
4124         Likewise.
4125         * testsuite/experimental/string_view/operations/find/wchar_t/4.cc:
4126         Likewise.
4127         * testsuite/experimental/string_view/operations/rfind/char/1.cc:
4128         Likewise.
4129         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
4130         Likewise.
4131         * testsuite/experimental/string_view/operations/rfind/char/3.cc:
4132         Likewise.
4133         * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc:
4134         Likewise.
4135         * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc:
4136         Likewise.
4137         * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc:
4138         Likewise.
4139         * testsuite/experimental/string_view/operations/substr/char/1.cc:
4140         Likewise.
4141         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
4142         Likewise.
4143         * testsuite/experimental/string_view/operations/to_string/1.cc:
4144         Likewise.
4145         * testsuite/experimental/string_view/operators/char/2.cc: Likewise.
4146         * testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise.
4147         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
4148         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
4149         * testsuite/experimental/vector/erasure.cc: Likewise.
4150         * testsuite/ext/array_allocator/1.cc: Likewise.
4151         * testsuite/ext/array_allocator/2.cc: Likewise.
4152         * testsuite/ext/array_allocator/3.cc: Likewise.
4153         * testsuite/ext/array_allocator/variadic_construct.cc: Likewise.
4154         * testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
4155         * testsuite/ext/codecvt/1.cc: Likewise.
4156         * testsuite/ext/codecvt/char-1.cc: Likewise.
4157         * testsuite/ext/codecvt/char-2.cc: Likewise.
4158         * testsuite/ext/codecvt/wchar_t.cc: Likewise.
4159         * testsuite/ext/enc_filebuf/char/13189.cc: Likewise.
4160         * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
4161         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
4162         * testsuite/ext/ext_pointer/1.cc: Likewise.
4163         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
4164         * testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
4165         * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: Likewise.
4166         * testsuite/ext/mt_allocator/tune-1.cc: Likewise.
4167         * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
4168         * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
4169         * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
4170         * testsuite/ext/mt_allocator/variadic_construct.cc: Likewise.
4171         * testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
4172         * testsuite/ext/pod_char_traits.cc: Likewise.
4173         * testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
4174         * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
4175         * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
4176         * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
4177         Likewise.
4178         * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
4179         Likewise.
4180         * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
4181         Likewise.
4182         * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
4183         * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
4184         * testsuite/ext/random/beta_distribution/operators/equal.cc: Likewise.
4185         * testsuite/ext/random/beta_distribution/operators/inequal.cc: Likewise.
4186         * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
4187         * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
4188         * testsuite/ext/random/hoyt_distribution/operators/equal.cc: Likewise.
4189         * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: Likewise.
4190         * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
4191         Likewise.
4192         * testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
4193         Likewise.
4194         * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
4195         Likewise.
4196         * testsuite/ext/random/hypergeometric_distribution/operators/
4197         equal.cc: Likewise.
4198         * testsuite/ext/random/hypergeometric_distribution/operators/
4199         inequal.cc: Likewise.
4200         * testsuite/ext/random/hypergeometric_distribution/operators/
4201         serialize.cc: Likewise.
4202         * testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
4203         * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
4204         * testsuite/ext/random/k_distribution/operators/equal.cc: Likewise.
4205         * testsuite/ext/random/k_distribution/operators/inequal.cc: Likewise.
4206         * testsuite/ext/random/k_distribution/operators/serialize.cc: Likewise.
4207         * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
4208         * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
4209         * testsuite/ext/random/logistic_distribution/operators/equal.cc:
4210         Likewise.
4211         * testsuite/ext/random/logistic_distribution/operators/inequal.cc:
4212         Likewise.
4213         * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
4214         Likewise.
4215         * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
4216         * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
4217         * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
4218         Likewise.
4219         * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
4220         Likewise.
4221         * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
4222         Likewise.
4223         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
4224         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
4225         * testsuite/ext/random/normal_mv_distribution/operators/equal.cc:
4226         Likewise.
4227         * testsuite/ext/random/normal_mv_distribution/operators/inequal.cc:
4228         Likewise.
4229         * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
4230         * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
4231         * testsuite/ext/random/pareto_distribution/operators/equal.cc: Likewise.
4232         * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
4233         Likewise.
4234         * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
4235         Likewise.
4236         * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
4237         * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
4238         * testsuite/ext/random/rice_distribution/operators/equal.cc: Likewise.
4239         * testsuite/ext/random/rice_distribution/operators/inequal.cc: Likewise.
4240         * testsuite/ext/random/rice_distribution/operators/serialize.cc:
4241         Likewise.
4242         * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
4243         default.cc: Likewise.
4244         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
4245         equal.cc: Likewise.
4246         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
4247         inequal.cc: Likewise.
4248         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
4249         serialize.cc: Likewise.
4250         * testsuite/ext/random/triangular_distribution/cons/default.cc:
4251         Likewise.
4252         * testsuite/ext/random/triangular_distribution/cons/parms.cc: Likewise.
4253         * testsuite/ext/random/triangular_distribution/operators/equal.cc:
4254         Likewise.
4255         * testsuite/ext/random/triangular_distribution/operators/inequal.cc:
4256         Likewise.
4257         * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
4258         Likewise.
4259         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4260         equal.cc: Likewise.
4261         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4262         generate.cc: Likewise.
4263         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4264         inequal.cc: Likewise.
4265         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4266         serialize.cc: Likewise.
4267         * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise.
4268         * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
4269         * testsuite/ext/random/von_mises_distribution/operators/equal.cc:
4270         Likewise.
4271         * testsuite/ext/random/von_mises_distribution/operators/inequal.cc:
4272         Likewise.
4273         * testsuite/ext/rope/2.cc: Likewise.
4274         * testsuite/ext/rope/3.cc: Likewise.
4275         * testsuite/ext/rope/4.cc: Likewise.
4276         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
4277         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
4278         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise.
4279         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
4280         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
4281         * testsuite/ext/stdio_filebuf/char/10063-1.cc: Likewise.
4282         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
4283         * testsuite/ext/stdio_filebuf/char/10063-3.cc: Likewise.
4284         * testsuite/ext/stdio_filebuf/char/2.cc: Likewise.
4285         * testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.
4286         * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise.
4287         * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise.
4288         * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise.
4289         * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise.
4290         * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
4291         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
4292         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise.
4293         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise.
4294         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise.
4295         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise.
4296         * testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
4297         * testsuite/ext/type_traits/add_unsigned.cc: Likewise.
4298         * testsuite/ext/type_traits/remove_unsigned.cc: Likewise.
4299         * testsuite/ext/vstring/capacity/29134.cc: Likewise.
4300         * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
4301         * testsuite/ext/vstring/cons/58415-1.cc: Likewise.
4302         * testsuite/ext/vstring/cons/moveable.cc: Likewise.
4303         * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
4304         * testsuite/ext/vstring/element_access/char/front_back.cc: Likewise.
4305         * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
4306         * testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise.
4307         * testsuite/ext/vstring/hash/char/1.cc: Likewise.
4308         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
4309         * testsuite/ext/vstring/init-list.cc: Likewise.
4310         * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
4311         * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise.
4312         * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Likewise.
4313         * testsuite/ext/vstring/modifiers/pop_back/char/1.cc: Likewise.
4314         * testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc: Likewise.
4315         * testsuite/ext/vstring/operators/1.cc: Likewise.
4316         * testsuite/ext/vstring/operators/2.cc: Likewise.
4317
4318 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
4319
4320         PR libstdc++/65122
4321         * include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
4322         aligned_alloc for types with extended alignment if available,
4323         otherwise throw bad_alloc if malloc doesn't return a suitable value.
4324         * include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
4325         (bitmap_allocator::deallocate): Use aligned new/delete for types with
4326         extended alignment.
4327         * include/ext/mt_allocator.h (__mt_alloc::allocate)
4328         (__mt_alloc::deallocate): Likewise.
4329         * include/ext/new_allocator.h (new_allocator::allocate)
4330         (new_allocator::deallocate): Likewise.
4331         * include/ext/pool_allocator.h (__pool_alloc::allocate)
4332         (__pool_alloc::deallocate): Likewise.
4333         * testsuite/20_util/allocator/overaligned.cc: New test.
4334         * testsuite/ext/bitmap_allocator/overaligned.cc: New test.
4335         * testsuite/ext/malloc_allocator/overaligned.cc: New test.
4336         * testsuite/ext/mt_allocator/overaligned.cc: New test.
4337         * testsuite/ext/new_allocator/overaligned.cc: New test.
4338         * testsuite/ext/pool_allocator/overaligned.cc: New test.
4339
4340 2016-10-14  Tim Shen  <timshen@google.com>
4341
4342         PR libstdc++/77944
4343         * include/std/variant: Include <bits/funcexcept.h> for __try and
4344         __catch.
4345
4346 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
4347
4348         * include/std/functional (_Reference_wrapper_base_impl): Remove.
4349         (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
4350         (_Reference_wrapper_base): Inherit from new helpers.
4351
4352 2016-10-13  Paolo Carlini  <paolo.carlini@oracle.com>
4353
4354         * testsuite/24_iterators/container_access.cc: Remove 'test' variables.
4355         * testsuite/24_iterators/istream_iterator/2.cc: Likewise.
4356         * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
4357         * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
4358         * testsuite/24_iterators/operations/next.cc: Likewise.
4359         * testsuite/24_iterators/operations/prev.cc: Likewise.
4360         * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
4361         * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
4362         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
4363         * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
4364         * testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
4365         * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
4366         * testsuite/25_algorithms/all_of/1.cc: Likewise.
4367         * testsuite/25_algorithms/any_of/1.cc: Likewise.
4368         * testsuite/25_algorithms/binary_search/2.cc: Likewise.
4369         * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
4370         * testsuite/25_algorithms/clamp/1.cc: Likewise.
4371         * testsuite/25_algorithms/clamp/2.cc: Likewise.
4372         * testsuite/25_algorithms/copy/1.cc: Likewise.
4373         * testsuite/25_algorithms/copy/2.cc: Likewise.
4374         * testsuite/25_algorithms/copy/3.cc: Likewise.
4375         * testsuite/25_algorithms/copy/34595.cc: Likewise.
4376         * testsuite/25_algorithms/copy/4.cc: Likewise.
4377         * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
4378         * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
4379         * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
4380         * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
4381         * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
4382         * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
4383         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
4384         Likewise.
4385         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
4386         Likewise.
4387         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
4388         Likewise.
4389         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
4390         Likewise.
4391         * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
4392         * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
4393         * testsuite/25_algorithms/copy_n/1.cc: Likewise.
4394         * testsuite/25_algorithms/copy_n/2.cc: Likewise.
4395         * testsuite/25_algorithms/copy_n/3.cc: Likewise.
4396         * testsuite/25_algorithms/copy_n/4.cc: Likewise.
4397         * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
4398         * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
4399         * testsuite/25_algorithms/equal_range/2.cc: Likewise.
4400         * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
4401         * testsuite/25_algorithms/fill/1.cc: Likewise.
4402         * testsuite/25_algorithms/fill/2.cc: Likewise.
4403         * testsuite/25_algorithms/fill/3.cc: Likewise.
4404         * testsuite/25_algorithms/fill/4.cc: Likewise.
4405         * testsuite/25_algorithms/fill_n/1.cc: Likewise.
4406         * testsuite/25_algorithms/find/39546.cc: Likewise.
4407         * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
4408         * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
4409         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
4410         Likewise.
4411         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
4412         Likewise.
4413         * testsuite/25_algorithms/find_if/1.cc: Likewise.
4414         * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
4415         * testsuite/25_algorithms/for_each/1.cc: Likewise.
4416         * testsuite/25_algorithms/heap/1.cc: Likewise.
4417         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
4418         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
4419         * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
4420         * testsuite/25_algorithms/includes/1.cc: Likewise.
4421         * testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
4422         * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
4423         * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
4424         * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
4425         * testsuite/25_algorithms/is_heap/1.cc: Likewise.
4426         * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
4427         * testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
4428         * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
4429         * testsuite/25_algorithms/is_permutation/2.cc: Likewise.
4430         * testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
4431         * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
4432         * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
4433         * testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
4434         * testsuite/25_algorithms/lower_bound/2.cc: Likewise.
4435         * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
4436         * testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
4437         * testsuite/25_algorithms/max/1.cc: Likewise.
4438         * testsuite/25_algorithms/max/2.cc: Likewise.
4439         * testsuite/25_algorithms/max/3.cc: Likewise.
4440         * testsuite/25_algorithms/max/37547.cc: Likewise.
4441         * testsuite/25_algorithms/max/4.cc: Likewise.
4442         * testsuite/25_algorithms/min/1.cc: Likewise.
4443         * testsuite/25_algorithms/min/2.cc: Likewise.
4444         * testsuite/25_algorithms/min/3.cc: Likewise.
4445         * testsuite/25_algorithms/min/37547.cc: Likewise.
4446         * testsuite/25_algorithms/min/4.cc: Likewise.
4447         * testsuite/25_algorithms/minmax/1.cc: Likewise.
4448         * testsuite/25_algorithms/minmax/2.cc: Likewise.
4449         * testsuite/25_algorithms/minmax/3.cc: Likewise.
4450         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
4451         * testsuite/25_algorithms/minmax_element/1.cc: Likewise.
4452         * testsuite/25_algorithms/move/1.cc: Likewise.
4453         * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
4454         * testsuite/25_algorithms/move_backward/1.cc: Likewise.
4455         * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
4456         * testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
4457         * testsuite/25_algorithms/none_of/1.cc: Likewise.
4458         * testsuite/25_algorithms/nth_element/1.cc: Likewise.
4459         * testsuite/25_algorithms/nth_element/2.cc: Likewise.
4460         * testsuite/25_algorithms/nth_element/3.cc: Likewise.
4461         * testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
4462         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
4463         * testsuite/25_algorithms/partial_sort/2.cc: Likewise.
4464         * testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
4465         Likewise.
4466         * testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
4467         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
4468         * testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
4469         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
4470         * testsuite/25_algorithms/partition/1.cc: Likewise.
4471         * testsuite/25_algorithms/partition/moveable.cc: Likewise.
4472         * testsuite/25_algorithms/partition_copy/1.cc: Likewise.
4473         * testsuite/25_algorithms/partition_point/1.cc: Likewise.
4474         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
4475         * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
4476         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
4477         * testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
4478         * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
4479         * testsuite/25_algorithms/rotate/1.cc: Likewise.
4480         * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
4481         * testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
4482         * testsuite/25_algorithms/rotate/rotate.cc: Likewise.
4483         * testsuite/25_algorithms/search/1.cc: Likewise.
4484         * testsuite/25_algorithms/search_n/58358.cc: Likewise.
4485         * testsuite/25_algorithms/shuffle/1.cc: Likewise.
4486         * testsuite/25_algorithms/sort/1.cc: Likewise.
4487         * testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
4488         * testsuite/25_algorithms/sort/moveable.cc: Likewise.
4489         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
4490         * testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
4491         * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
4492         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
4493         * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
4494         * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
4495         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
4496         * testsuite/25_algorithms/stable_sort/2.cc: Likewise.
4497         * testsuite/25_algorithms/stable_sort/3.cc: Likewise.
4498         * testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
4499         * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
4500         Likewise.
4501         * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
4502         * testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
4503         * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
4504         * testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
4505         * testsuite/25_algorithms/unique/11480.cc: Likewise.
4506         * testsuite/25_algorithms/unique/2.cc: Likewise.
4507         * testsuite/25_algorithms/unique/moveable.cc: Likewise.
4508         * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
4509         * testsuite/25_algorithms/unique_copy/2.cc: Likewise.
4510         * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
4511         * testsuite/25_algorithms/upper_bound/2.cc: Likewise.
4512         * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
4513         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
4514         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
4515         Likewise.
4516         * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
4517         Likewise.
4518         * testsuite/28_regex/algorithms/regex_match/basic/
4519         string_range_00_03.cc: Likewise.
4520         * testsuite/28_regex/algorithms/regex_match/basic/
4521         string_range_01_03.cc: Likewise.
4522         * testsuite/28_regex/algorithms/regex_match/basic/
4523         string_range_02_03.cc: Likewise.
4524         * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
4525         Likewise.
4526         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
4527         Likewise.
4528         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
4529         Likewise.
4530         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
4531         Likewise.
4532         * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
4533         Likewise.
4534         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
4535         Likewise.
4536         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
4537         Likewise.
4538         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
4539         Likewise.
4540         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
4541         Likewise.
4542         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
4543         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
4544         Likewise.
4545         * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
4546         Likewise.
4547         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
4548         Likewise.
4549         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
4550         anymatcher.cc: Likewise.
4551         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
4552         Likewise.
4553         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
4554         Likewise.
4555         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
4556         Likewise.
4557         * testsuite/28_regex/algorithms/regex_match/extended/
4558         cstring_questionmark.cc: Likewise.
4559         * testsuite/28_regex/algorithms/regex_match/extended/
4560         cstring_range.cc: Likewise.
4561         * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
4562         Likewise.
4563         * testsuite/28_regex/algorithms/regex_match/extended/
4564         string_range_00_03.cc: Likewise.
4565         * testsuite/28_regex/algorithms/regex_match/extended/
4566         string_range_01_03.cc: Likewise.
4567         * testsuite/28_regex/algorithms/regex_match/extended/
4568         string_range_02_03.cc: Likewise.
4569         * testsuite/28_regex/algorithms/regex_match/extended/
4570         wstring_locale.cc: Likewise.
4571         * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
4572         Likewise.
4573         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
4574         * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
4575         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
4576         Likewise.
4577         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
4578         Likewise.
4579         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
4580         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
4581         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
4582         Likewise.
4583         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
4584         * testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
4585         * testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
4586         * testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
4587         * testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
4588         * testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
4589         * testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
4590         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
4591         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
4592         * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
4593         * testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
4594         * testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
4595         * testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
4596         * testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
4597         Likewise.
4598         * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
4599         Likewise.
4600         * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
4601         * testsuite/28_regex/basic_regex/ctors/extended/
4602         string_range_01_02_03.cc: Likewise.
4603         * testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
4604         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
4605         * testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
4606         * testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
4607         * testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
4608         * testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
4609         * testsuite/28_regex/constants/error_type.cc: Likewise.
4610         * testsuite/28_regex/constants/match_flag_type.cc: Likewise.
4611         * testsuite/28_regex/init-list.cc: Likewise.
4612         * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
4613         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
4614         Likewise.
4615         * testsuite/28_regex/iterators/regex_iterator/char/
4616         string_position_01.cc
4617         * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
4618         Likewise.
4619         * testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
4620         default.cc: Likewise.
4621         * testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
4622         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
4623         Likewise.
4624         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
4625         Likewise.
4626         * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
4627         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
4628         Likewise.
4629         * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
4630         default.cc: Likewise.
4631         * testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
4632         default.cc: Likewise.
4633         * testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
4634         Likewise.
4635         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4636         string_01.cc: Likewise.
4637         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4638         wstring_02.cc: Likewise.
4639         * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
4640         * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
4641         * testsuite/28_regex/match_results/format.cc: Likewise.
4642         * testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
4643         * testsuite/28_regex/match_results/swap.cc: Likewise.
4644         * testsuite/28_regex/match_results/typedefs.cc: Likewise.
4645         * testsuite/28_regex/regex_error/regex_error.cc: Likewise.
4646         * testsuite/28_regex/regression.cc: Likewise.
4647         * testsuite/28_regex/sub_match/cast_char.cc: Likewise.
4648         * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
4649         * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
4650         * testsuite/28_regex/sub_match/length.cc: Likewise.
4651         * testsuite/28_regex/traits/char/ctor.cc: Likewise.
4652         * testsuite/28_regex/traits/char/isctype.cc: Likewise.
4653         * testsuite/28_regex/traits/char/length.cc: Likewise.
4654         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
4655         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
4656         * testsuite/28_regex/traits/char/transform.cc: Likewise.
4657         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
4658         * testsuite/28_regex/traits/char/translate.cc: Likewise.
4659         * testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
4660         * testsuite/28_regex/traits/char/user_defined.cc: Likewise.
4661         * testsuite/28_regex/traits/char/value.cc: Likewise.
4662         * testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
4663         * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
4664         * testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
4665         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
4666         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
4667         * testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
4668         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
4669         * testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
4670         * testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
4671         * testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
4672         * testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
4673         * testsuite/29_atomics/atomic/60658.cc: Likewise.
4674         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
4675         * testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
4676         * testsuite/backward/11460.cc: Likewise.
4677         * testsuite/backward/hash_map/1.cc: Likewise.
4678         * testsuite/backward/hash_map/25896.cc: Likewise.
4679         * testsuite/backward/hash_set/1.cc: Likewise.
4680         * testsuite/backward/hash_set/25896.cc: Likewise.
4681         * testsuite/decimal/binary-arith.cc: Likewise.
4682         * testsuite/decimal/comparison.cc: Likewise.
4683         * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
4684         * testsuite/decimal/compound-assignment.cc: Likewise.
4685         * testsuite/decimal/conversion-from-float.cc: Likewise.
4686         * testsuite/decimal/conversion-from-integral.cc: Likewise.
4687         * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
4688         * testsuite/decimal/conversion-to-integral.cc: Likewise.
4689         * testsuite/decimal/ctor.cc: Likewise.
4690         * testsuite/decimal/incdec-memfunc.cc: Likewise.
4691         * testsuite/decimal/incdec.cc: Likewise.
4692         * testsuite/decimal/make-decimal.cc: Likewise.
4693         * testsuite/decimal/pr54036-1.cc: Likewise.
4694         * testsuite/decimal/pr54036-2.cc: Likewise.
4695         * testsuite/decimal/pr54036-3.cc: Likewise.
4696         * testsuite/decimal/unary-arith.cc: Likewise.
4697         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
4698         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
4699         Likewise.
4700         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
4701         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
4702         Likewise.
4703         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
4704         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
4705         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
4706         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
4707         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
4708         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
4709         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
4710         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
4711         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
4712         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
4713         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
4714         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
4715         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
4716         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
4717         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
4718         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
4719         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
4720         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
4721         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
4722         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
4723         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
4724         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
4725         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
4726         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
4727         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
4728         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
4729         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
4730         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
4731         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
4732         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
4733         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
4734         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
4735         * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
4736         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
4737         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
4738         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
4739         * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
4740         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
4741         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
4742         * testsuite/tr2/bases/value.cc: Likewise.
4743         * testsuite/tr2/direct_bases/value.cc: Likewise.
4744         * testsuite/util/debug/checks.h: Likewise.
4745         * testsuite/util/debug/unordered_checks.h: Likewise.
4746         * testsuite/util/testsuite_allocator.h: Likewise.
4747         * testsuite/util/testsuite_api.h: Likewise.
4748         * testsuite/util/testsuite_common_types.h: Likewise.
4749         * testsuite/util/testsuite_random.h: Likewise.
4750         * testsuite/util/testsuite_rvalref.h: Likewise.
4751
4752 2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
4753
4754         * include/bits/shared_ptr_base.h: Include <functional>.
4755         [!__cpp_rtti]: Do not include <typeinfo>.
4756         * include/experimental/array: Do not include <functional>.
4757         * include/experimental/memory: Include <bits/functional_hash.h>
4758         instead of <functional>.
4759         * include/experimental/propagate_const: Include <bits/stl_function.h>,
4760         <bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
4761         * include/experimental/tuple: Do not include <functional>.
4762         * include/std/future: Include <functional>.
4763         * include/std/memory: Do not include <functional>.
4764         * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
4765         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
4766         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
4767         missing includes.
4768         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4769         * testsuite/20_util/specialized_algorithms/memory_management_tools/
4770         1.cc: Likewise.
4771         * testsuite/30_threads/call_once/60497.cc: Likewise.
4772         * testsuite/30_threads/lock/2.cc: Likewise.
4773         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
4774         * testsuite/experimental/algorithm/sample.cc: Likewise.
4775         * testsuite/experimental/array/make_array.cc: Likewise.
4776         * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
4777         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
4778         Adjust dg-error lines.
4779         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
4780         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
4781         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
4782         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
4783         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
4784
4785         * testsuite/experimental/algorithm/sample.cc: Add missing header.
4786
4787         * include/experimental/propagate_const (element_type): Qualify
4788         declval.
4789
4790         * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
4791         instead of assert.
4792
4793         * include/experiumental/functional (boyer_moore_searcher)
4794         (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
4795         with _GLIBCXX_STD_C.
4796         * include/std/functional: Likewise.
4797
4798         * include/std/chrono (floor): Replace non-constexpr operation.
4799         * testsuite/20_util/duration_cast/rounding.cc: Test conversion to
4800         durations with floating pointer representations.
4801
4802         * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
4803         (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
4804
4805         * include/std/functional (_Bind_simple, _Bind_simple_helper)
4806         (__bind_simple): Remove.
4807         * include/std/future: Include <bits/invoke.h> instead of <functional>.
4808         (__future_base::_Task_state::_M_run)
4809         (__future_base::_Task_state::_M_run_delayed): Use lambda expressions
4810         instead of __bind_simple.
4811         (__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
4812         (async): Use thread::__make_invoker instead of __bind_simple.
4813         * include/std/thread: Include <tuple> and <bits/invoke.h> instead of
4814         <functional>.
4815         (thread::_Invoker, thread::__make_invoker): Define helpers to do
4816         INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
4817
4818         * include/std/functional (_Not_fn): Make exception specifications
4819         depend on whether negating the result can throw.
4820         * testsuite/20_util/not_fn/1.cc: Move to ...
4821         * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
4822         for types that can throw when negated and that cannot be negated.
4823
4824         * include/bits/invoke.h (__invoke): Fix exception-specification.
4825         * include/std/functional (invoke): Likewise.
4826         * testsuite/20_util/function_objects/invoke/1.cc: New test.
4827
4828 2016-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
4829
4830         * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
4831         __builtin_printf and __builtin_abort.
4832         * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
4833         * scripts/testsuite_flags.in: Likewise.
4834         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
4835         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
4836         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
4837         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
4838         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
4839         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
4840         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
4841         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
4842         * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
4843         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
4844         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
4845         Likewise.
4846         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
4847         Likewise.
4848         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
4849         Likewise.
4850         * testsuite/27_io/objects/char/7.cc: Likewise.
4851         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
4852         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
4853         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
4854         * testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
4855         * testsuite/18_support/bad_alloc/what.cc: Likewise.
4856         * testsuite/18_support/bad_cast/what.cc: Likewise.
4857         * testsuite/18_support/bad_exception/what.cc: Likewise.
4858         * testsuite/18_support/bad_typeid/what.cc: Likewise.
4859         * testsuite/18_support/exception/38732.cc: Likewise.
4860         * testsuite/18_support/exception/what.cc: Likewise.
4861         * testsuite/18_support/exception_ptr/64241.cc: Likewise.
4862         * testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
4863         * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
4864         * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
4865         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
4866         * testsuite/18_support/nested_exception/cons.cc: Likewise.
4867         * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
4868         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
4869         * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
4870         * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
4871         * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
4872         * testsuite/18_support/numeric_limits/digits10.cc: Likewise.
4873         * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
4874         * testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
4875         * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
4876         * testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
4877         * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
4878         * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
4879         * testsuite/18_support/numeric_limits/min_max.cc: Likewise.
4880         * testsuite/18_support/numeric_limits/specialization_default_values.cc:
4881         Likewise.
4882         * testsuite/18_support/type_info/hash_code.cc: Likewise.
4883         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
4884         * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
4885         * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
4886         * testsuite/19_diagnostics/error_category/operators/
4887         not_equal.cc: Likewise.
4888         * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
4889         * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
4890         * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
4891         * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
4892         * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
4893         * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
4894         * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
4895         * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
4896         * testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
4897         Likewise.
4898         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
4899         * testsuite/19_diagnostics/error_condition/operators/equal.cc:
4900         Likewise.
4901         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
4902         Likewise.
4903         * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
4904         * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
4905         * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
4906         * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
4907         * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
4908         * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
4909         * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
4910         * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
4911         * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
4912         * testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
4913         * testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
4914         * testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
4915         * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
4916         * testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
4917         * testsuite/20_util/addressof/1.cc: Likewise.
4918         * testsuite/20_util/align/1.cc: Likewise.
4919         * testsuite/20_util/align/2.cc: Likewise.
4920         * testsuite/20_util/allocator/1.cc: Likewise.
4921         * testsuite/20_util/allocator/10378.cc: Likewise.
4922         * testsuite/20_util/allocator/8230.cc: Likewise.
4923         * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
4924         Likewise.
4925         * testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
4926         * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
4927         * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
4928         * testsuite/20_util/any/assign/exception.cc: Likewise.
4929         * testsuite/20_util/auto_ptr/1.cc: Likewise.
4930         * testsuite/20_util/auto_ptr/2.cc: Likewise.
4931         * testsuite/20_util/auto_ptr/3.cc: Likewise.
4932         * testsuite/20_util/auto_ptr/4.cc: Likewise.
4933         * testsuite/20_util/auto_ptr/5.cc: Likewise.
4934         * testsuite/20_util/auto_ptr/6.cc: Likewise.
4935         * testsuite/20_util/auto_ptr/7.cc: Likewise.
4936         * testsuite/20_util/bind/all_bound.cc: Likewise.
4937         * testsuite/20_util/bind/conv_result.cc: Likewise.
4938         * testsuite/20_util/bind/cv_quals.cc: Likewise.
4939         * testsuite/20_util/bind/cv_quals_2.cc
4940         * testsuite/20_util/bind/nested.cc: Likewise.
4941         * testsuite/20_util/bind/placeholders.cc: Likewise.
4942         * testsuite/20_util/bind/ref.cc: Likewise.
4943         * testsuite/20_util/bind/ref2.cc: Likewise.
4944         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
4945         * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
4946         * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
4947         * testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
4948         * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
4949         * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
4950         * testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
4951         * testsuite/20_util/duration/cons/1.cc: Likewise.
4952         * testsuite/20_util/duration/cons/2.cc: Likewise.
4953         * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
4954         * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
4955         * testsuite/20_util/enable_shared_from_this/members/assign.cc:
4956         Likewise.
4957         * testsuite/20_util/exchange/1.cc: Likewise.
4958         * testsuite/20_util/forward/a.cc: Likewise.
4959         * testsuite/20_util/forward/b.cc: Likewise.
4960         * testsuite/20_util/forward/d.cc: Likewise.
4961         * testsuite/20_util/function/1.cc: Likewise.
4962         * testsuite/20_util/function/2.cc: Likewise.
4963         * testsuite/20_util/function/3.cc: Likewise.
4964         * testsuite/20_util/function/4.cc: Likewise.
4965         * testsuite/20_util/function/43397.cc: Likewise.
4966         * testsuite/20_util/function/5.cc: Likewise.
4967         * testsuite/20_util/function/6.cc: Likewise.
4968         * testsuite/20_util/function/7.cc: Likewise.
4969         * testsuite/20_util/function/8.cc: Likewise.
4970         * testsuite/20_util/function/9.cc: Likewise.
4971         * testsuite/20_util/function/assign/move.cc: Likewise.
4972         * testsuite/20_util/function/cons/move.cc: Likewise.
4973         * testsuite/20_util/function_objects/dr660.cc: Likewise.
4974         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
4975         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
4976         * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
4977         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
4978         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
4979         * testsuite/20_util/hash/operators/size_t.cc: Likewise.
4980         * testsuite/20_util/hash/quality.cc: Likewise.
4981         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
4982         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
4983         * testsuite/20_util/is_function/24808.cc: Likewise.
4984         * testsuite/20_util/is_object/24808.cc: Likewise.
4985         * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
4986         * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
4987         * testsuite/20_util/owner_less/cmp.cc: Likewise.
4988         * testsuite/20_util/pair/1.cc: Likewise.
4989         * testsuite/20_util/pair/2.cc: Likewise.
4990         * testsuite/20_util/pair/3.cc: Likewise.
4991         * testsuite/20_util/pair/4.cc: Likewise.
4992         * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
4993         * testsuite/20_util/pair/moveable.cc: Likewise.
4994         * testsuite/20_util/pair/piecewise.cc: Likewise.
4995         * testsuite/20_util/pair/swap.cc: Likewise.
4996         * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
4997         * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
4998         * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
4999         * testsuite/20_util/ratio/cons/cons1.cc: Likewise.
5000         * testsuite/20_util/ratio/operations/45866.cc: Likewise.
5001         * testsuite/20_util/ratio/operations/47913.cc: Likewise.
5002         * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
5003         * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
5004         * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
5005         * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
5006         * testsuite/20_util/scoped_allocator/1.cc: Likewise.
5007         * testsuite/20_util/scoped_allocator/2.cc: Likewise.
5008         * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
5009         * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
5010         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
5011         * testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
5012         * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
5013         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
5014         Likewise.
5015         * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
5016         * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
5017         * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
5018         * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
5019         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
5020         * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
5021         * testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
5022         * testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
5023         * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
5024         * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
5025         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
5026         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
5027         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
5028         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
5029         Likewise.
5030         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
5031         Likewise.
5032         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
5033         * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
5034         * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
5035         * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
5036         * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
5037         * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
5038         * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
5039         * testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
5040         * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
5041         * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
5042         * testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
5043         * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
5044         * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
5045         * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
5046         * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
5047         * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
5048         * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
5049         * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
5050         * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
5051         * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
5052         * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
5053         * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
5054         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
5055         Likewise.
5056         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
5057         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
5058         move_iterators/1.cc: Likewise.
5059         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
5060         move_iterators/1.cc: Likewise.
5061         * testsuite/20_util/temporary_buffer.cc: Likewise.
5062         * testsuite/20_util/time_point/1.cc: Likewise.
5063         * testsuite/20_util/time_point/2.cc: Likewise.
5064         * testsuite/20_util/time_point/3.cc: Likewise.
5065         * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
5066         * testsuite/20_util/tuple/48476.cc: Likewise.
5067         * testsuite/20_util/tuple/comparison_operators/comparisons.cc:
5068         Likewise.
5069         * testsuite/20_util/tuple/cons/allocators.cc: Likewise.
5070         * testsuite/20_util/tuple/cons/assignment.cc: Likewise.
5071         * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
5072         * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
5073         * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
5074         * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
5075         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
5076         * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
5077         Likewise.
5078         * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
5079         * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
5080         * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
5081         * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
5082         * testsuite/20_util/tuple/element_access/get.cc: Likewise.
5083         * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
5084         * testsuite/20_util/tuple/moveable.cc: Likewise.
5085         * testsuite/20_util/tuple/swap.cc: Likewise.
5086         * testsuite/20_util/tuple/tuple_size.cc: Likewise.
5087         * testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
5088         * testsuite/20_util/typeindex/hash.cc: Likewise.
5089         * testsuite/20_util/typeindex/hash_code.cc: Likewise.
5090         * testsuite/20_util/typeindex/name.cc: Likewise.
5091         * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
5092         * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
5093         * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
5094         * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
5095         * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
5096         * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
5097         * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
5098         * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
5099         * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
5100         * testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
5101         * testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
5102         * testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
5103         * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
5104         * testsuite/20_util/unique_ptr/specialized_algorithms/
5105         comparisons.cc: Likewise.
5106         * testsuite/20_util/unique_ptr/specialized_algorithms/
5107         comparisons_array.cc: Likewise.
5108         * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
5109         Likewise.
5110         * testsuite/20_util/uses_allocator/construction.cc: Likewise.
5111         * testsuite/20_util/uses_allocator/value.cc: Likewise.
5112         * testsuite/20_util/variant/run.cc: Likewise.
5113         * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
5114         * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
5115         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
5116         Likewise.
5117         * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
5118         * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
5119         Likewise.
5120         * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
5121         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
5122         Likewise.
5123         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
5124         Likewise.
5125         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
5126         Likewise.
5127         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
5128         Likewise.
5129         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
5130         Likewise.
5131         * testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
5132         * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
5133         * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
5134         * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
5135         * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
5136         Likewise.
5137         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
5138         * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
5139         Likewise.
5140         * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
5141         * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
5142         Likewise.
5143         * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
5144         * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
5145         * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
5146         * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
5147         * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
5148         * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
5149         * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
5150         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
5151         * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
5152         * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
5153         * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
5154         * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
5155         * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
5156         * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
5157         * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
5158         * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
5159         * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
5160         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
5161         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
5162         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
5163         * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
5164         * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
5165         Likewise.
5166         * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
5167         * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
5168         * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
5169         * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
5170         * testsuite/21_strings/basic_string/element_access/char/58163.cc:
5171         Likewise.
5172         * testsuite/21_strings/basic_string/element_access/char/empty.cc:
5173         Likewise.
5174         * testsuite/21_strings/basic_string/element_access/char/front_back.cc:
5175         Likewise.
5176         * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
5177         Likewise.
5178         * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
5179         Likewise.
5180         * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
5181         Likewise.
5182         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
5183         Likewise.
5184         * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
5185         Likewise.
5186         * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
5187         Likewise.
5188         * testsuite/21_strings/basic_string/element_access/wchar_t/
5189         front_back.cc: Likewise.
5190         * testsuite/21_strings/basic_string/init-list.cc: Likewise.
5191         * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
5192         Likewise.
5193         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
5194         Likewise.
5195         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
5196         Likewise.
5197         * testsuite/21_strings/basic_string/inserters_extractors/char/
5198         28277.cc: Likewise.
5199         * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
5200         Likewise.
5201         * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
5202         Likewise.
5203         * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
5204         Likewise.
5205         * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
5206         Likewise.
5207         * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
5208         Likewise.
5209         * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
5210         Likewise.
5211         * testsuite/21_strings/basic_string/inserters_extractors/pod/
5212         10081-in.cc: Likewise.
5213         * testsuite/21_strings/basic_string/inserters_extractors/pod/
5214         10081-out.cc: Likewise.
5215         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
5216         Likewise.
5217         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
5218         10.cc: Likewise.
5219         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
5220         11.cc: Likewise.
5221         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
5222         28277.cc: Likewise.
5223         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
5224         Likewise.
5225         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
5226         Likewise.
5227         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
5228         Likewise.
5229         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
5230         Likewise.
5231         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
5232         Likewise.
5233         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
5234         Likewise.
5235         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
5236         Likewise.
5237         * testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
5238         Likewise.
5239         * testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
5240         Likewise.
5241         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
5242         Likewise.
5243         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
5244         Likewise.
5245         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
5246         Likewise.
5247         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
5248         Likewise.
5249         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
5250         Likewise.
5251         * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
5252         Likewise.
5253         * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
5254         Likewise.
5255         * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
5256         Likewise.
5257         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
5258         Likewise.
5259         * testsuite/21_strings/basic_string/modifiers/assign/char/
5260         move_assign.cc: Likewise.
5261         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
5262         Likewise.
5263         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
5264         Likewise.
5265         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
5266         Likewise.
5267         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
5268         Likewise.
5269         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
5270         move_assign.cc: Likewise.
5271         * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
5272         Likewise.
5273         * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
5274         Likewise.
5275         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
5276         Likewise.
5277         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
5278         Likewise.
5279         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
5280         Likewise.
5281         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
5282         Likewise.
5283         * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
5284         Likewise.
5285         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
5286         Likewise.
5287         * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
5288         Likewise.
5289         * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
5290         Likewise.
5291         * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
5292         Likewise.
5293         * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
5294         Likewise.
5295         * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
5296         Likewise.
5297         * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
5298         Likewise.
5299         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
5300         Likewise.
5301         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
5302         Likewise.
5303         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
5304         Likewise.
5305         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
5306         Likewise.
5307         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
5308         Likewise.
5309         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
5310         Likewise.
5311         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
5312         Likewise.
5313         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
5314         Likewise.
5315         * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
5316         Likewise.
5317         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
5318         Likewise.
5319         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
5320         Likewise.
5321         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
5322         Likewise.
5323         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
5324         Likewise.
5325         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
5326         Likewise.
5327         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
5328         Likewise.
5329         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
5330         Likewise.
5331         * testsuite/21_strings/basic_string/numeric_conversions/char/
5332         stoull.cc: Likewise.
5333         * testsuite/21_strings/basic_string/numeric_conversions/char/
5334         to_string.cc: Likewise.
5335         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5336         dr1261.cc: Likewise.
5337         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5338         stod.cc: Likewise.
5339         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5340         stof.cc: Likewise.
5341         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5342         stoi.cc: Likewise.
5343         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5344         stol.cc: Likewise.
5345         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5346         stold.cc: Likewise.
5347         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5348         stoll.cc: Likewise.
5349         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5350         stoul.cc: Likewise.
5351         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5352         stoull.cc: Likewise.
5353         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5354         to_wstring.cc: Likewise.
5355         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
5356         Likewise.
5357         * testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
5358         Likewise.
5359         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
5360         Likewise.
5361         * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
5362         Likewise.
5363         * testsuite/21_strings/basic_string/operations/compare/wchar_t/
5364         13650.cc: Likewise.
5365         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
5366         Likewise.
5367         * testsuite/21_strings/basic_string/operations/data/char/1.cc:
5368         Likewise.
5369         * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
5370         Likewise.
5371         * testsuite/21_strings/basic_string/operations/find/char/1.cc:
5372         Likewise.
5373         * testsuite/21_strings/basic_string/operations/find/char/2.cc:
5374         Likewise.
5375         * testsuite/21_strings/basic_string/operations/find/char/3.cc:
5376         Likewise.
5377         * testsuite/21_strings/basic_string/operations/find/char/4.cc:
5378         Likewise.
5379         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
5380         Likewise.
5381         * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
5382         Likewise.
5383         * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
5384         Likewise.
5385         * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
5386         Likewise.
5387         * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
5388         Likewise.
5389         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
5390         Likewise.
5391         * testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
5392         Likewise.
5393         * testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
5394         Likewise.
5395         * testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
5396         Likewise.
5397         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
5398         Likewise.
5399         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
5400         Likewise.
5401         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
5402         Likewise.
5403         * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
5404         Likewise.
5405         * testsuite/21_strings/basic_string/operations/substr/wchar_t/
5406         1.cc: Likewise.
5407         * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
5408         * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
5409         * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
5410         * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
5411         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
5412         * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
5413         * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
5414         * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
5415         * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
5416         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
5417         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
5418         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
5419         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
5420         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
5421         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
5422         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
5423         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
5424         * testsuite/21_strings/basic_string_view/element_access/char/
5425         1.cc: Likewise.
5426         * testsuite/21_strings/basic_string_view/element_access/char/
5427         empty.cc: Likewise.
5428         * testsuite/21_strings/basic_string_view/element_access/char/
5429         front_back.cc: Likewise.
5430         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5431         1.cc: Likewise.
5432         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5433         empty.cc: Likewise.
5434         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5435         front_back.cc: Likewise.
5436         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
5437         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
5438         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
5439         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
5440         Likewise.
5441         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
5442         Likewise.
5443         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
5444         Likewise.
5445         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
5446         Likewise.
5447         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5448         char/1.cc: Likewise.
5449         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5450         wchar_t/1.cc: Likewise.
5451         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5452         char/1.cc: Likewise.
5453         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5454         wchar_t/1.cc: Likewise.
5455         * testsuite/21_strings/basic_string_view/operations/compare/char/
5456         1.cc: Likewise.
5457         * testsuite/21_strings/basic_string_view/operations/compare/char/
5458         13650.cc: Likewise.
5459         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5460         1.cc: Likewise.
5461         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5462         13650.cc: Likewise.
5463         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
5464         Likewise.
5465         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
5466         Likewise.
5467         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
5468         Likewise.
5469         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
5470         Likewise.
5471         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
5472         Likewise.
5473         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
5474         Likewise.
5475         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
5476         Likewise.
5477         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
5478         Likewise.
5479         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5480         1.cc: Likewise.
5481         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5482         2.cc: Likewise.
5483         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5484         3.cc: Likewise.
5485         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5486         4.cc: Likewise.
5487         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5488         1.cc: Likewise.
5489         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5490         2.cc: Likewise.
5491         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5492         3.cc: Likewise.
5493         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5494         1.cc: Likewise.
5495         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5496         2.cc: Likewise.
5497         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5498         3.cc: Likewise.
5499         * testsuite/21_strings/basic_string_view/operations/string_conversion/
5500         1.cc: Likewise.
5501         * testsuite/21_strings/basic_string_view/operations/substr/char/
5502         1.cc: Likewise.
5503         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
5504         1.cc: Likewise.
5505         * testsuite/21_strings/basic_string_view/operators/char/2.cc:
5506         Likewise.
5507         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
5508         Likewise.
5509         * testsuite/21_strings/c_strings/char/1.cc: Likewise.
5510         * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
5511         * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
5512         * testsuite/21_strings/char_traits/requirements/char/57704.cc:
5513         Likewise.
5514         * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
5515         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
5516
5517         * doc/xml/manual/test.xml: Fix typo.
5518
5519 2016-10-12  Jonathan Wakely  <jwakely@redhat.com>
5520
5521         * doc/xml/manual/status_cxx2017.xml: Add std::sample status.
5522         * doc/html/*: Regenerate.
5523         * include/experimental/algorithm (__sample): Move to bits/stl_algo.h
5524         and into namespace std.
5525         * include/bits/stl_algo.h (__sample): Define here. Fix invalid use
5526         of input iterator. Defend against overloaded comma operator.
5527         (sample): Define for C++17.
5528         * testsuite/25_algorithms/sample/1.cc: New test.
5529
5530         * testsuite/util/testsuite_common_types.h
5531         (bitwise_assignment_operators): Use direct-initialization for C++11
5532         and later, to avoid CopyConstructible requirement.
5533         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
5534         line numbers.
5535         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
5536         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
5537         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
5538         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
5539         Adjust expected errors and line numbers.
5540
5541         * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
5542         (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
5543
5544         * include/bits/stl_uninitialized.h
5545         (__uninitialized_default_novalue_n_1<true>): Add missing return.
5546         * testsuite/20_util/specialized_algorithms/memory_management_tools/
5547         1.cc: Check return values of uninitialized_xxx_n algorithms.
5548
5549         * libsupc++/nested_exception.h (throw_with_nested): Remove return.
5550
5551         * doc/xml/manual/intro.xml: Document LWG 2442 status.
5552         * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
5553         [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
5554         partial specialization to unpack args and forward to std::invoke.
5555         (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
5556         instead of __bind_simple and __once_call_impl.
5557         (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
5558         __bind_simple.
5559         * testsuite/30_threads/call_once/dr2442.cc: New test.
5560
5561 2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
5562
5563         * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
5564         _M_assign_dispatch directly with correct tag.
5565
5566         * doc/xml/manual/intro.xml: Document LWG 2484 status.
5567         * libsupc++/nested_exception.h (_Throw_with_nested_impl)
5568         (_Throw_with_nested_helper): Remove.
5569         (__throw_with_nested_impl): New overloaded functions to implement
5570         throw_with_nested logic.
5571         (throw_with_nested): Call __throw_with_nested_impl.
5572         (_Rethrow_if_nested_impl): Remove
5573         (__rethrow_if_nested_impl): New overloaded functions to implement
5574         rethrow_if_nested logic.
5575         (rethrow_if_nested): Call __rethrow_if_nested_impl.
5576         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
5577         problem cases from LWG 2484.
5578
5579         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
5580         Register printer for std::__cxx11::list.
5581         * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
5582         std::__cxx11::list as well as std::list.
5583
5584         * include/experimental/string_view (basic_string_view::_S_compare):
5585         Remove redundant const from return type.
5586         * include/std/string_view (basic_string_view:_S_compare): Likewise.
5587
5588         * include/bits/std_mutex.h (mutex::native_handle)
5589         (lock_guard(mutex_type&, adopt_lock_t)
5590         (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
5591         * include/std/mutex (recursive_mutex, timed_mutex)
5592         (recursive_timed_mutex): Likewise.
5593
5594 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5595
5596         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5597         Replace <literallayout> with nested <variablelist> elements. Update
5598         some more outdated text.
5599         * doc/html/*: Regenerate.
5600
5601 2016-10-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
5602
5603         Make any's copy assignment operator exception-safe,
5604         don't copy the underlying value when any is moved,
5605         make in_place constructors explicit.
5606         * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
5607         Make explicit.
5608         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
5609         Likewise.
5610         (operator=(const any&)): Make strongly exception-safe.
5611         (operator=(any&&)): reset() unconditionally in the case where
5612         rhs has a value.
5613         (operator=(_ValueType&&)): Indent the return type.
5614         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
5615         * testsuite/20_util/any/assign/2.cc: Adjust.
5616         * testsuite/20_util/any/assign/exception.cc: New.
5617         * testsuite/20_util/any/cons/2.cc: Adjust.
5618         * testsuite/20_util/any/cons/explicit.cc: New.
5619         * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
5620
5621 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5622
5623         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5624         Describe other subdirectories and add markup. Remove outdated
5625         reference to check-script target.
5626         * doc/html/*: Regenerate.
5627
5628         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
5629
5630         * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
5631         with noexcept.
5632
5633         * include/std/functional (_Bind_result::__enable_if_void): Use alias
5634         template instead of class template.
5635         (_Bind_result::__disable_if_void): Likewise.
5636         (_Bind_result::__call): Adjust uses of __enable_if_void and
5637         __disable_if_void.
5638
5639         * doc/xml/manual/intro.xml: Document DR 2296 status.
5640         * doc/xml/manual/status_cxx2017.xml: Update status.
5641         * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
5642         call __builtin_addressof.
5643         (addressof): Add _GLIBCXX17_CONSTEXPR.
5644         * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
5645         * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
5646         * testsuite/20_util/forward/f_neg.cc: Likewise.
5647
5648         * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
5649         * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
5650         is_always_equal.
5651         * testsuite/util/testsuite_allocator.h
5652         (uneq_allocator::is_always_equal): Define as false_type.
5653
5654         * include/experimental/numeric (gcd, lcm): Make bool arguments
5655         ill-formed.
5656         * include/std/numeric (gcd, lcm): Likewise.
5657         * testsuite/26_numerics/gcd/gcd_neg.cc: New test.
5658         * testsuite/26_numerics/lcm/lcm_neg.cc: New test.
5659
5660         * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
5661         Add noexcept.
5662         * include/bits/shared_ptr_base.h
5663         (__enable_shared_from_this::weak_from_this): Likewise.
5664         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
5665         Test exception-specification of weak_from_this.
5666
5667 2016-10-07  Jonathan Wakely  <jwakely@redhat.com>
5668
5669         * doc/xml/manual/status_cxx1998.xml: Improve documentation of
5670         implementation-defined properties.
5671         * doc/xml/manual/status_cxx2011.xml: Likewise.
5672         * doc/xml/manual/status_cxx2017.xml: Likewise.
5673
5674         * doc/xml/manual/status_cxx2017.xml: Update status.
5675         * include/std/type_traits (has_unique_object_representations): Define.
5676         * testsuite/20_util/has_unique_object_representations/value.cc: New.
5677         * testsuite/20_util/has_unique_object_representations/requirements/
5678         explicit_instantiation.cc: New.
5679         * testsuite/20_util/has_unique_object_representations/requirements/
5680         typedefs.cc: New.
5681
5682 2016-10-06  Jonathan Wakely  <jwakely@redhat.com>
5683
5684         * doc/xml/manual/status_cxx2011.xml: Update status.
5685         * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
5686         New helpers for recursive OUTERMOST.
5687         (__outermost): Use __outermost_type::_S_outermost.
5688         (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
5689         (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
5690         __outermost_type helper.
5691         (scoped_allocator_adaptor::_Constructible): New alias template.
5692         (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
5693         Constrain template constructors.
5694         * testsuite/20_util/scoped_allocator/3.cc: New test.
5695         * testsuite/20_util/scoped_allocator/outermost.cc: New test.
5696
5697 2016-10-05  Jonathan Wakely  <jwakely@redhat.com>
5698
5699         PR libstdc++/70564
5700         * testsuite/20_util/not_fn/1.cc: Fix test.
5701         * testsuite/experimental/functional/not_fn.cc: Likewise.
5702
5703         PR libstdc++/70101
5704         * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
5705         constructors.
5706         * testsuite/23_containers/priority_queue/allocator.cc: New test.
5707
5708         PR libstdc++/77864
5709         * include/bits/stl_map.h (map::map()): Use nothrow constructibility
5710         of comparison function in conditional noexcept.
5711         * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
5712         * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
5713         * include/bits/stl_set.h (set::set()): Likewise.
5714         * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
5715         New test.
5716         * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
5717         Likewise.
5718         * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
5719         Likewise.
5720         * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
5721         Likewise.
5722
5723         * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
5724         alias declaration.
5725
5726         PR libstdc++/70564
5727         * include/experimental/functional (_Not_fn): Remove.
5728         (not_fn): Use std::_Not_fn.
5729         * include/std/functional (_Not_fn): Add second parameter to
5730         disambiguate copying from initialization by not_fn. Define for C++14.
5731         (not_fn): Add second argument to initialization.
5732         * testsuite/20_util/not_fn/1.cc: Copy call wrapper using
5733         direct-initialization.
5734
5735 2016-10-03  François Dumont  <fdumont@gcc.gnu.org>
5736
5737         * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
5738         declaration...
5739         * src/c++11/mutex_pool.h: ... here. New.
5740         * src/c++11/debug.cc: Use latter.
5741
5742 2016-10-03  Jonathan Wakely  <jwakely@redhat.com>
5743
5744         * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
5745         * doc/html/*: Regenerate.
5746         * include/experimental/numeric (__abs): Move to <numeric>.
5747         (gcd, lcm): Use __detail::gcd and __detail::lcm.
5748         * include/std/numeric (__detail::__abs_integral)
5749         (__detail::__gcd, __detail::__lcm): Define.
5750         (gcd, lcm): Define for C++17.
5751         * testsuite/26_numerics/gcd/1.cc: New test.
5752         * testsuite/26_numerics/lcm/1.cc: New test.
5753         * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
5754         * testsuite/experimental/numeric/lcd.cc: ... this.
5755
5756         PR libstdc++/68323
5757         PR libstdc++/77794
5758         * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
5759         __cxa_thread_atexit and __gnu_cxx::__freeres.
5760         * include/Makefile.am: Add <experimental/bits/lfts_config.h>
5761         * include/Makefile.in: Regenerate.
5762         * include.bits/basic_string.h: Fix nesting of versioned namespaces.
5763         * include/bits/c++config: Declare versioned namespaces for literals.
5764         * include/bits/regex.h (basic_regex, match_results): Add workarounds
5765         for PR c++/59256.
5766         * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
5767         * include/std/chrono: Likewise.
5768         * include/std/complex: Likewise.
5769         * include/std/string_view: Likewise.
5770         * include/std/variant: Likewise. Add workaround for PR c++/59256.
5771         * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
5772         * include/experimental/bits/lfts_config.h: Declare versioned
5773         namespaces.
5774         * include/experimental/algorithm: Include
5775         <experimental/bits/lfts_config.h>.
5776         * include/experimental/any: Likewise.
5777         * include/experimental/bits/erase_if.h: Likewise.
5778         * include/experimental/chrono: Likewise.
5779         * include/experimental/functional: Likewise.
5780         * include/experimental/memory_resource: Likewise.
5781         * include/experimental/optional: Likewise.
5782         * include/experimental/propagate_const: Likewise.
5783         * include/experimental/random: Likewise.
5784         * include/experimental/ratio: Likewise.
5785         * include/experimental/system_error: Likewise.
5786         * include/experimental/tuple: Likewise.
5787         * include/experimental/type_traits: Likewise.
5788         * include/experimental/utility: Likewise.
5789         * include/experimental/string_view: Likewise. Fix nesting of
5790         versioned namespaces.
5791         * include/experimental/bits/string_view.tcc: Reopen inline namespace
5792         for non-inline function definitions.
5793         * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
5794         * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
5795         * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
5796         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
5797         Likewise.
5798         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
5799         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
5800         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
5801         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
5802         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
5803         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
5804
5805         PR libstdc++/77814
5806         * include/bits/std_abs.h: Use "C++" language linkage.
5807         * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
5808         the end. Add <stdalign.h>.
5809
5810 2016-10-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
5811
5812         PR libstdc++/77802
5813         * testsuite/20_util/tuple/77802.cc: New.
5814
5815         Revert:
5816         2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5817         Implement LWG 2729 for tuple.
5818         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5819         Suppress conditionally.
5820         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5821         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5822         (_Tuple_impl(const _Head&)): Constrain.
5823         (_Tuple_impl(_UHead&&)): Likewise.
5824         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5825         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5826         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5827         (operator=(const tuple&)): Enable conditionally.
5828         (operator=(tuple&&)): Suppress conditionally.
5829         (operator=(const tuple<_UElements...>&)): Constrain.
5830         (operator=(tuple<_UElements...>&&)): Likewise.
5831         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5832         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5833         (operator=(const tuple<_U1, _U2>&)): Constrain.
5834         (operator=(tuple<_U1, _U2>&&)): Likewise.
5835         (operator=(const pair<_U1, _U2>&)): Likewise.
5836         (operator=(pair<_U1, _U2>&&)): Likewise.
5837         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5838         * testsuite/20_util/tuple/tuple_traits.cc: New.
5839
5840 2016-09-30  Jonathan Wakely  <jwakely@redhat.com>
5841
5842         PR libstdc++/77795
5843         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
5844         for gets.
5845         * config.h.in: Regenerate.
5846         * configure: Regenerate.
5847         * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
5848         for C++98 and C++11.
5849         * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
5850         * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
5851
5852         * doc/xml/manual/intro.xml: Document LWG 2192 changes.
5853         * doc/html/*: Regenerate.
5854         * include/Makefile.am: Add bits/std_abs.h.
5855         * include/Makefile.in: Regenerate.
5856         * include/bits/std_abs.h: New header defining all required overloads
5857         of std::abs in one place (LWG 2294).
5858         * include/c_global/cmath (abs(double), abs(float), abs(long double)):
5859         Move to bits/std_abs.h.
5860         (abs<_Tp>(_Tp)): Remove.
5861         * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
5862         Move to bits/std_abs.h.
5863         * testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
5864         * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
5865         * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
5866         * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.
5867
5868         PR libstdc++/77801
5869         * include/experimental/numeric: Include <numeric>.
5870         (__abs): Define.
5871         (gcd, lcm): Use __abs instead of std::abs.
5872         * testsuite/experimental/numeric/77801.cc: New test.
5873         * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
5874         * testsuite/experimental/numeric/lcm.cc: Likewise.
5875
5876 2016-09-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
5877
5878         Make optional::reset noexcept, make optional::value
5879         work in constant expressions.
5880         * include/std/optional (_M_get): Make constexpr.
5881         (reset): Make noexcept.
5882         * testsuite/20_util/optional/assignment/7.cc: New.
5883         * testsuite/20_util/optional/observers/6.cc: New.
5884
5885 2016-09-29  Jonathan Wakely  <jwakely@redhat.com>
5886
5887         * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
5888         outside _GLIBCXX_USE_C99_MATH_TR1 condition.
5889
5890 2016-09-29  Alan Modra  <amodra@gmail.com>
5891
5892         * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
5893         * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
5894         Use LONG_DOUBLE_COMPAT_FLAGS.
5895         * Makefile.in: Regenerate.
5896         * configure: Regenerate.
5897         * doc/Makefile.in: Regenerate.
5898         * include/Makefile.in: Regenerate.
5899         * libsupc++/Makefile.in: Regenerate.
5900         * po/Makefile.in: Regenerate.
5901         * python/Makefile.in: Regenerate.
5902         * src/Makefile.in: Regenerate.
5903         * src/c++11/Makefile.in: Regenerate.
5904         * src/c++98/Makefile.in: Regenerate.
5905         * src/filesystem/Makefile.in: Regenerate.
5906         * testsuite/Makefile.in: Regenerate.
5907
5908 2016-09-28  Jonathan Wakely  <jwakely@redhat.com>
5909
5910         * include/std/chrono (system_clock): Fix typo in comment.
5911
5912         * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
5913         definition.
5914         * src/filesystem/ops.cc (file_time): Take error_code parameter and
5915         check for overflow.
5916         (do_copy_file, last_write_time): Pass error_code in file_time calls.
5917         * testsuite/experimental/filesystem/operations/last_write_time.cc:
5918         New.
5919         * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
5920
5921         PR libstdc++/77686
5922         * include/std/functional (_Any_data): Add may_alias attribute.
5923
5924 2016-09-27  Jonathan Wakely  <jwakely@redhat.com>
5925
5926         * doc/xml/manual/status_cxx2017.xml: Update status.
5927         * doc/html/*: Regenerate.
5928         * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
5929         * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
5930
5931         * doc/xml/manual/status_cxx2017.xml: Update status.
5932         * include/c_global/cmath (hypot): Add three-dimensional overloads.
5933         * testsuite/26_numerics/headers/cmath/hypot.cc: New.
5934
5935 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5936
5937         PR libstdc++/77727
5938         * include/std/optional (optional(const optional<_Up>&)):
5939         Default-initialize the base and use emplace.
5940         (optional(optional<_Up>&&)): Likewise.
5941         * testsuite/20_util/optional/cons/77727.cc: New.
5942
5943 2016-09-26  François Dumont  <fdumont@gcc.gnu.org>
5944
5945         * include/debug/safe_base.h
5946         (_Safe_iterator_base::_M_detach_single): Make public.
5947
5948 2016-09-26  Jonathan Wakely  <jwakely@redhat.com>
5949
5950         * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
5951         redefine macro defined in <bits/stl_iterator.h>.
5952
5953         * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
5954         iterator is not past-the-end.
5955         * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
5956         Likewise.
5957         * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
5958         Likewise.
5959         * include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
5960         * include/bits/unordered_map.h (unordered_map::extract(const_iterator))
5961         (unordered_multimap::extract(const_iterator)): Likewise.
5962         * include/bits/unordered_set.h (unordered_set::extract(const_iterator))
5963         (unordered_multiset::extract(const_iterator)): Likewise.
5964
5965 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5966
5967         PR libstdc++/77717
5968         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
5969         Fix an out-of-bounds access.
5970
5971 2016-09-26  Marek Polacek  <polacek@redhat.com>
5972
5973         PR c/7652
5974         * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
5975
5976 2016-09-25  François Dumont  <fdumont@gcc.gnu.org>
5977
5978         * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
5979         functional.
5980         (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
5981         * testsuite/23_containers/vector/debug/mutex_association.cc: New.
5982
5983         * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
5984         bitset*)): Remove __unused__ attribute.
5985         * include/debug/safe_base.h (_Safe_iterator_base): Make
5986         _Safe_sequence_base a friend.
5987         (_Safe_iterator_base::_M_attach): Make protected.
5988         (_Safe_iterator_base::_M_attach_single): Likewise.
5989         (_Safe_iterator_base::_M_detach): Likewise.
5990         (_Safe_iterator_base::_M_detach_single): Likewise.
5991         (_Safe_sequence_base): Make _Safe_iterator_base a friend.
5992         (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
5993         (_Safe_sequence_base::_M_swap): Make protected.
5994         (_Safe_sequence_base::_M_attach): Make private.
5995         (_Safe_sequence_base::_M_attach_single): Likewise.
5996         (_Safe_sequence_base::_M_detach): Likewise.
5997         (_Safe_sequence_base::_M_detach_single): Likewise.
5998         * include/debug/safe_container.h
5999         (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
6000         * include/debug/safe_iterator.h
6001         (_Safe_iterator::operator++()): Name __scoped_lock instance.
6002         * include/debug/safe_iterator.tcc: Remove trailing line.
6003         * include/debug/safe_unordered_base.h
6004         (_Safe_local_iterator_base::_M_attach): Make protected.
6005         (_Safe_local_iterator_base::_M_attach_single): Likewise.
6006         (_Safe_local_iterator_base::_M_detach): Likewise.
6007         (_Safe_local_iterator_base::_M_detach_single): Likewise.
6008         (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
6009         (_Safe_unordered_container_base::_M_attach_local): Make private.
6010         (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
6011         (_Safe_unordered_container_base::_M_detach_local): Likewise.
6012         (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
6013
6014         * include/parallel/algo.h: Generalize usage of std::__iterator_category.
6015         Adjust whitespaces.
6016
6017 2016-09-23  Jonathan Wakely  <jwakely@redhat.com>
6018
6019         PR libstdc++/56166
6020         PR libstdc++/77582
6021         * include/bits/basic_string.h (basic_string::clear()): Drop reference
6022         and use empty rep.
6023         * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
6024         Likewise.
6025         * testsuite/21_strings/basic_string/56166.cc: New.
6026         * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
6027
6028         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
6029         (basic_string::erase(size_type, size_type)): Add fast path for
6030         truncating the string, by calling _M_set_length directly.
6031         (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
6032         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
6033         (basic_string::resize(size_type, _CharT)): Likewise.
6034
6035 2016-09-22  Jason Merrill  <jason@redhat.com>
6036
6037         * configure.ac: Define HAVE_MEMALIGN for newlib.
6038
6039 2015-09-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6040
6041         * config/cpu/m68k/atomicity.h: Adjust comment.
6042         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
6043         explicit atomicity_dir setup via configure.host.
6044         * configure.host (rtems-*): Set atomicity_dir.
6045         * configure: Regenerate.
6046
6047 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
6048
6049         Implement C++17 node extraction and insertion (P0083R5)
6050         * doc/xml/manual/status_cxx2017.xml: Document status.
6051         * doc/html/*: Regenerate.
6052         * include/Makefile.am: Add bits/node_handle.h and reorder.
6053         * include/Makefile.in: Regenerate.
6054         * include/bits/hashtable.h (_Hashtable::node_type)
6055         (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
6056         (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
6057         (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
6058         (_Hash_merge_helper): Define primary template.
6059         * include/bits/node_handle.h: New header.
6060         * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
6061         friend.
6062         (map::node_type, map::insert_return_type, map::extract, map::merge)
6063         (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
6064         Define new members.
6065         (_Rb_tree_merge_helper): Specialize for map.
6066         * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
6067         as friend.
6068         (multimap::node_type, multimap::extract, multimap::merge)
6069         (multimap::insert(node_type&&))
6070         (multimap::insert(const_iterator, node_type&&)): Define.
6071         (_Rb_tree_merge_helper): Specialize for multimap.
6072         * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
6073         as friend.
6074         (multiset::node_type, multiset::extract, multiset::merge)
6075         (multiset::insert(node_type&&))
6076         (multiset::insert(const_iterator, node_type&&)): Define.
6077         * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
6078         friend.
6079         (set::node_type, set::insert_return_type, set::extract, set::merge)
6080         (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
6081         Define.
6082         (_Rb_tree_merge_helper): Specialize for set.
6083         * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
6084         (_Rb_tree::node_type, _Rb_tree::insert_return_type)
6085         (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
6086         (_Rb_tree::_M_reinsert_node_hint_unique)
6087         (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
6088         (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
6089         (_Rb_tree_merge_helper): Specialize for multiset.
6090         * include/bits/unordered_map.h (unordered_map): Declare
6091         unordered_map<> and unordered_multimap<> as friends.
6092         (unordered_map::node_type, unordered_map::insert_return_type)
6093         (unordered_map::extract, unordered_map::merge)
6094         (unordered_map::insert(node_type&&))
6095         (unordered_map::insert(const_iterator, node_type&&))
6096         (unordered_multimap): Declare _Hash_merge_helper as friend.
6097         (unordered_multimap::node_type, unordered_multimap::extract)
6098         (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
6099         (unordered_multimap::insert(const_iterator, node_type&&)): Define.
6100         (_Hash_merge_helper): Specialize for unordered maps and multimaps.
6101         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
6102         Declare _Hash_merge_helper as friend.
6103         (unordered_set::node_type, unordered_set::insert_return_type)
6104         (unordered_set::extract, unordered_set::merge)
6105         (unordered_set::insert(node_type&&))
6106         (unordered_set::insert(const_iterator, node_type&&)): Define.
6107         (unordered_multiset::node_type, unordered_multiset::extract)
6108         (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
6109         (unordered_multiset::insert(const_iterator, node_type&&)): Define.
6110         (_Hash_merge_helper): Specialize for unordered sets and multisets.
6111         * include/debug/map.h (map): Add using declarations or forwarding
6112         functions for new members.
6113         * include/debug/map.h (multimap): Likewise.
6114         * include/debug/map.h (multiset): Likewise.
6115         * include/debug/map.h (set): Likewise.
6116         * include/debug/unordered_map (unordered_map, unordered_multimap):
6117         Likewise.
6118         * include/debug/unordered_set( unordered_set, unordered_multiset):
6119         Likewise.
6120         * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
6121         helper function.
6122         (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
6123         (StdNodeHandlePrinter): Define printer for node handles.
6124         (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
6125         * testsuite/23_containers/map/modifiers/extract.cc: New.
6126         * testsuite/23_containers/map/modifiers/merge.cc: New.
6127         * testsuite/23_containers/multimap/modifiers/extract.cc: New.
6128         * testsuite/23_containers/multimap/modifiers/merge.cc: New.
6129         * testsuite/23_containers/multiset/modifiers/extract.cc: New.
6130         * testsuite/23_containers/multiset/modifiers/merge.cc: New.
6131         * testsuite/23_containers/set/modifiers/extract.cc: New.
6132         * testsuite/23_containers/set/modifiers/merge.cc: New.
6133         * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
6134         * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
6135         * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
6136         New.
6137         * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
6138         * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
6139         New.
6140         * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
6141         * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
6142         * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
6143         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
6144         dg-error lineno.
6145         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
6146
6147 2016-09-22  Ville Voutilainen  <ville.voutilainen@gmail.com>
6148
6149         Fix tests on old arm platforms for optional.
6150         * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
6151
6152 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
6153
6154         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
6155         recent change to _Variant_storage.
6156         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
6157         reference type.
6158
6159         * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
6160         std::forward and ::new. Cast pointer to void*.
6161         * include/std/variant (_Variant_storage, _Union, _Variant_base)
6162         (__access, __visit_invoke, variant, visit): Qualify std::forward.
6163         * testsuite/20_util/variant/compile.cc: Test for ADL problems.
6164
6165 2016-09-22  Tim Shen  <timshen@google.com>
6166
6167         * include/std/variant (variant::operator=): Fix assignment
6168         on references.
6169         * testsuite/20_util/variant/compile.cc: Add test.
6170
6171 2016-09-22  Tim Shen  <timshen@google.com>
6172
6173         PR libstdc++/77641
6174         * include/std/variant (_Variant_storage::_Variant_storage):
6175         Change _Variant_storage's union to be default constructible.
6176         * testsuite/20_util/variant/compile.cc: New test.
6177
6178 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
6179
6180         PR libstdc++/77288
6181         * include/std/optional (__is_optional_impl, __is_optional): Remove.
6182         (__converts_from_optional, __assigns_from_optional): New.
6183         (optional(_Up&&)): Use is_same instead of __is_optional.
6184         (optional(const optional<_Up>&)): Constrain with
6185         __converts_from_optional.
6186         (optional(optional<_Up>&&)): Likewise.
6187         (operator=(_Up&&)): Use is_same instead of __is_optional, check
6188         is_same and is_scalar.
6189         (operator=(const optional<_Up>&)): Constrain with
6190         __converts_from_optional and __assigns_from_optional.
6191         (operator=(optional<_Up>&&)): Likewise.
6192         * testsuite/20_util/optional/77288.cc: New.
6193         * testsuite/20_util/optional/cons/value.cc: Adjust.
6194
6195 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
6196
6197         Implement LWG 2729 for tuple.
6198         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
6199         Suppress conditionally.
6200         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
6201         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
6202         (_Tuple_impl(const _Head&)): Constrain.
6203         (_Tuple_impl(_UHead&&)): Likewise.
6204         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
6205         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
6206         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
6207         (operator=(const tuple&)): Enable conditionally.
6208         (operator=(tuple&&)): Suppress conditionally.
6209         (operator=(const tuple<_UElements...>&)): Constrain.
6210         (operator=(tuple<_UElements...>&&)): Likewise.
6211         (operator=(const tuple&)): Enable conditionally (2-param tuple).
6212         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
6213         (operator=(const tuple<_U1, _U2>&)): Constrain.
6214         (operator=(tuple<_U1, _U2>&&)): Likewise.
6215         (operator=(const pair<_U1, _U2>&)): Likewise.
6216         (operator=(pair<_U1, _U2>&&)): Likewise.
6217         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
6218         * testsuite/20_util/tuple/tuple_traits.cc: New.
6219
6220 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
6221
6222         PR libstdc++/77537
6223         Implement LWG 2729 for pair.
6224         * include/bits/stl_pair.h (_PCC): New.
6225         (_ConstructiblePair, _ImplicitlyConvertiblePair):
6226         Turn into static member functions of _PCC.
6227         (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
6228         (_PCCP): New.
6229         (pair(const _T1&, const _T2&)): Adjust.
6230         (_PCCFP): New.
6231         (pair(const pair<_U1, _U2>&)): Adjust.
6232         (pair(_U1&&, const _T2&)): Likewise.
6233         (pair(const _T1&, _U2&&)): Likewise.
6234         (pair(_U1&&, _U2&&)): Likewise.
6235         (pair(pair<_U1, _U2>&&)): Likewise.
6236         (operator=(const pair&)): Make conditionally deleted.
6237         (operator=(pair&&)): Make conditionally suppressed.
6238         (operator=(const pair<_U1, _U2>&)): Constrain.
6239         (operator=(pair<_U1, _U2>&&): Likewise.
6240         * include/std/type_traits (__nonesuch): New.
6241         * testsuite/20_util/pair/traits.cc: New.
6242
6243 2016-09-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
6244
6245         PR libstdc++/77619
6246         * include/bits/stl_construct.h: (_Construct_novalue): New.
6247         (_Destroy_n_aux, _Destroy_n): New.
6248         * include/bits/stl_uninitialized.h: (type_traits):
6249         New include in C++11 mode.
6250         (__uninitialized_default_novalue_1): New.
6251         (__uninitialized_default_novalue_n_1): Likewise.
6252         (__uninitialized_default_novalue): Likewise.
6253         (__uninitialized_default_novalue_n): Likewise.
6254         (__uninitialized_copy_n_pair): Likewise.
6255         (uninitialized_default_construct):
6256         Use __uninitialized_default_novalue.
6257         (uninitialized_default_construct_n):
6258         Use __uninitialized_default_novalue_n.
6259         (uninitialized_value_construct): Use __uninitialized_default.
6260         (uninitialized_value_construct_n): Use __uninitialized_default_n.
6261         (uninitialized_move): Use uninitialized_copy.
6262         (uninitialized_move_n): Use __uninitialized_copy_n_pair.
6263         (destroy_at): Use _Destroy.
6264         (destroy): Likewise.
6265         (destroy_n): Likewise.
6266         * testsuite/20_util/specialized_algorithms/
6267         memory_management_tools/1.cc: Add tests for exceptions,
6268         add tests for trivial cases for construct and move.
6269
6270 2016-09-20  Jonathan Wakely  <jwakely@redhat.com>
6271
6272         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
6273         (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
6274
6275 2016-09-19  Jonathan Wakely  <jwakely@redhat.com>
6276
6277         PR libstdc++/77645
6278         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
6279         (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
6280         division to int to work with Python 3.
6281
6282         * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
6283
6284         * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
6285         display_hint to be set by subclasses.
6286         (StdVariantPrinter): Use array for display_hint. Adjust output to be
6287         more similar to std::any and std::optional output.
6288         (register_type_printers): Add type printers for basic_string_view
6289         typedefs and experimental::any. Adjust type printers for
6290         fundamentals_v1 templates to match fundamentals_v2 and later.
6291         * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
6292
6293         PR libstdc++/77645
6294         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
6295         argument.
6296         (ListWorkerBase.get_value_from_node): Define new method.
6297         (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
6298
6299 2016-09-17  Jonathan Wakely  <jwakely@redhat.com>
6300
6301         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
6302         (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
6303         Register for C++17 components in namespace std. Strip inline namespace
6304         from typename.
6305
6306 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
6307
6308         * doc/xml/manual/profile_mode.xml: Fix typo.
6309         * doc/html/manual/profile_mode_devel.html: Regenerate.
6310
6311 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
6312             Marc Glisse  <marc.glisse@inria.fr>
6313
6314         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
6315         (operator new(size_t, align_val_t)): Replace modulus operator with
6316         mask.
6317
6318 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
6319
6320         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
6321         Increase alignment if less than sizeof(void*).
6322         [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
6323         Increase size if not a multiple of alignment.
6324
6325 2016-09-15  Jonathan Wakely  <jwakely@redhat.com>
6326
6327         * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
6328         * doc/html/*: Regenerate.
6329
6330         * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
6331         -Wno-deprecated.
6332         * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
6333
6334 2016-09-14  Marek Polacek  <polacek@redhat.com>
6335
6336         * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
6337         -Wno-deprecated.
6338
6339 2016-09-14  Christophe Lyon  <christophe.lyon@linaro.org>
6340
6341         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
6342         Move dg-do directive before dg-skip.
6343         * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
6344         Move dg-do directive before dg-require.
6345         * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
6346         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
6347         * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
6348         * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
6349         * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
6350         * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
6351         * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
6352         * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
6353         * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
6354         * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
6355         * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
6356         * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
6357         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
6358         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
6359         * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
6360         Likewise.
6361         * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
6362         * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
6363         * testsuite/27_io/objects/char/12048-5.cc: Likewise.
6364         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
6365         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
6366
6367 2016-09-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
6368
6369         Implement P0040R3, Extending memory management tools.
6370         * include/bits/stl_uninitialized.h (utility): New include
6371         in C++17 mode.
6372         (uninitialized_default_construct): New.
6373         (uninitialized_default_construct_n): Likewise.
6374         (uninitialized_value_construct): Likewise.
6375         (uninitialized_value_construct_n): Likewise.
6376         (uninitialized_move): Likewise.
6377         (uninitialized_move_n): Likewise.
6378         (destroy_at, destroy, destroy_n): Likewise.
6379         * testsuite/20_util/specialized_algorithms/memory_management_tools/
6380         1.cc: New.
6381
6382 2016-09-12  Jason Merrill  <jason@redhat.com>
6383
6384         * config/abi/pre/gnu.ver: Use [jmy] for size_t.
6385
6386 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
6387
6388         Implement P0253R1, Fixing a design mistake in the searchers
6389         interface in Library Fundamentals.
6390         * include/std/functional: (utility): New include in C++17 mode.
6391         (default_searcher): Use a pair as return type, adjust the definition.
6392         (boyer_moore_searcher): Likewise.
6393         (boyer_moore_horspool_searcher): Likewise.
6394         * testsuite/20_util/function_objects/searchers.cc: Adjust.
6395
6396 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
6397
6398         Implement C++17 string searchers.
6399         * include/std/functional: (unordered_map, vector): New includes
6400         in C++17 mode.
6401         (array, bits/stl_algo.h): Likewise.
6402         (default_searcher, __boyer_moore_map_base): New.
6403         (__boyer_moore_array_base, __is_std_equal_to): Likewise.
6404         (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
6405         (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
6406         (make_boyer_moore_searcher): Likewise.
6407         (make_boyer_moore_horspool_searcher): Likewise.
6408         * testsuite/20_util/function_objects/searchers.cc: New.
6409
6410 2016-09-12  Matthew Wahab  <matthew.wahab@arm.com>
6411
6412         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
6413         Move dg-do directive before dg-require.
6414         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
6415         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
6416         Likewise.
6417         * testsuite/22_locale/codecvt/utf8.cc: Likewise.
6418         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
6419         * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
6420         * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
6421         * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
6422         * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
6423         * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
6424         * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
6425         * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
6426         * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
6427         * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
6428         * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
6429         * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
6430         Likewise.
6431         * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
6432         Likewise.
6433         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
6434         * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
6435         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
6436         Likewise.
6437         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
6438         Likewise.
6439         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
6440         Likewise.
6441         * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
6442         Likewise.
6443         * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
6444         Likewise.
6445         * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
6446         Likewise.
6447         * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
6448         Likewise.
6449         * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
6450         Likewise.
6451         * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
6452         Likewise.
6453         * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
6454         Likewise.
6455         * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
6456         Likewise.
6457         * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
6458         Likewise.
6459         * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
6460         Likewise.
6461         * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
6462         Likewise.
6463         * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
6464         Likewise.
6465         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
6466         Likewise.
6467         * testsuite/23_containers/forward_list/debug/
6468         iterator_self_move_assign_neg.cc: Likewise.
6469         * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
6470         Likewise.
6471         * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
6472         Likewise.
6473         * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
6474         Likewise.
6475         * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
6476         Likewise.
6477         * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
6478         Likewise.
6479         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
6480         Likewise.
6481         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
6482         Likewise.
6483         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
6484         Likewise.
6485         * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
6486         * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
6487         * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
6488         * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
6489         * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
6490         * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
6491         * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
6492         * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
6493         * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
6494         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
6495         * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
6496         Likewise.
6497         * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
6498         * testsuite/23_containers/map/debug/60499.cc: Likewise.
6499         * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
6500         * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
6501         * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
6502         * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
6503         * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
6504         * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
6505         * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
6506         Likewise.
6507         * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
6508         * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
6509         * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
6510         * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
6511         * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
6512         * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
6513         * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
6514         * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
6515         * testsuite/23_containers/multimap/debug/
6516         iterator_self_move_assign_neg.cc: Likewise.
6517         * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
6518         Likewise.
6519         * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
6520         * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
6521         * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
6522         * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
6523         * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
6524         * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
6525         * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
6526         * testsuite/23_containers/multiset/debug/
6527         iterator_self_move_assign_neg.cc: Likewise.
6528         * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
6529         Likewise.
6530         * testsuite/23_containers/set/debug/60499.cc: Likewise.
6531         * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
6532         * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
6533         * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
6534         * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
6535         * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
6536         * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
6537         * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
6538         Likewise.
6539         * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
6540         * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
6541         * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
6542         * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
6543         * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
6544         Likewise.
6545         * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
6546         * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
6547         * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
6548         Likewise.
6549         * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
6550         Likewise.
6551         * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
6552         Likewise.
6553         * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
6554         * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
6555         * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
6556         * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
6557         * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
6558         * testsuite/23_containers/unordered_map/debug/
6559         invalid_local_iterator_compare_neg.cc: Likewise.
6560         * testsuite/23_containers/unordered_map/debug/
6561         invalid_local_iterator_range_neg.cc: Likewise.
6562         * testsuite/23_containers/unordered_map/debug/
6563         iterator_self_move_assign_neg.cc: Likewise.
6564         * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
6565         Likewise.
6566         * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
6567         Likewise.
6568         * testsuite/23_containers/unordered_map/debug/
6569         use_erased_local_iterator_neg.cc: Likewise.
6570         * testsuite/23_containers/unordered_map/debug/
6571         use_invalid_iterator_neg.cc: Likewise.
6572         * testsuite/23_containers/unordered_map/debug/
6573         use_invalid_local_iterator_neg.cc: Likewise.
6574         * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
6575         * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
6576         Likewise.
6577         * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
6578         Likewise.
6579         * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
6580         Likewise.
6581         * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
6582         Likewise.
6583         * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
6584         Likewise.
6585         * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
6586         Likewise.
6587         * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
6588         Likewise.
6589         * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
6590         Likewise.
6591         * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
6592         Likewise.
6593         * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
6594         Likewise.
6595         * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
6596         Likewise.
6597         * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
6598         Likewise.
6599         * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
6600         Likewise.
6601         * testsuite/23_containers/unordered_multimap/debug/
6602         invalid_local_iterator_compare_neg.cc: Likewise.
6603         * testsuite/23_containers/unordered_multimap/debug/
6604         invalid_local_iterator_range_neg.cc: Likewise.
6605         * testsuite/23_containers/unordered_multimap/debug/
6606         iterator_self_move_assign_neg.cc: Likewise.
6607         * testsuite/23_containers/unordered_multimap/debug/
6608         max_load_factor_neg.cc: Likewise.
6609         * testsuite/23_containers/unordered_multimap/debug/
6610         self_move_assign_neg.cc: Likewise.
6611         * testsuite/23_containers/unordered_multimap/debug/
6612         use_erased_local_iterator_neg.cc: Likewise.
6613         * testsuite/23_containers/unordered_multimap/debug/
6614         use_invalid_iterator_neg.cc: Likewise.
6615         * testsuite/23_containers/unordered_multimap/debug/
6616         use_invalid_local_iterator_neg.cc: Likewise.
6617         * testsuite/23_containers/unordered_multiset/debug/60499.cc:
6618         Likewise.
6619         * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
6620         Likewise.
6621         * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
6622         Likewise.
6623         * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
6624         Likewise.
6625         * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
6626         Likewise.
6627         * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
6628         Likewise.
6629         * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
6630         Likewise.
6631         * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
6632         Likewise.
6633         * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
6634         Likewise.
6635         * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
6636         Likewise.
6637         * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
6638         Likewise.
6639         * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
6640         Likewise.
6641         * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
6642         Likewise.
6643         * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
6644         Likewise.
6645         * testsuite/23_containers/unordered_multiset/debug/
6646         invalid_local_iterator_compare_neg.cc: Likewise.
6647         * testsuite/23_containers/unordered_multiset/debug/
6648         invalid_local_iterator_range_neg.cc: Likewise.
6649         * testsuite/23_containers/unordered_multiset/debug/
6650         iterator_self_move_assign_neg.cc: Likewise.
6651         * testsuite/23_containers/unordered_multiset/debug/
6652         max_load_factor_neg.cc: Likewise.
6653         * testsuite/23_containers/unordered_multiset/debug/
6654         self_move_assign_neg.cc: Likewise.
6655         * testsuite/23_containers/unordered_multiset/debug/
6656         use_erased_local_iterator_neg.cc: Likewise.
6657         * testsuite/23_containers/unordered_multiset/debug/
6658         use_invalid_iterator_neg.cc: Likewise.
6659         * testsuite/23_containers/unordered_multiset/debug/
6660         use_invalid_local_iterator_neg.cc: Likewise.
6661         *  testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
6662         * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
6663         * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
6664         * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
6665         Likewise.
6666         * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
6667         * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
6668         * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
6669         Likewise.
6670         * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
6671         Likewise.
6672         * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
6673         Likewise.
6674         * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
6675         * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
6676         * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
6677         * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
6678         * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
6679         * testsuite/23_containers/unordered_set/debug/
6680         invalid_local_iterator_compare_neg.cc: Likewise.
6681         * testsuite/23_containers/unordered_set/debug/
6682         invalid_local_iterator_range_neg.cc: Likewise.
6683         * testsuite/23_containers/unordered_set/debug/
6684         iterator_self_move_assign_neg.cc: Likewise.
6685         * testsuite/23_containers/unordered_set/debug/
6686         max_load_factor_neg.cc: Likewise.
6687         * testsuite/23_containers/unordered_set/debug/
6688         self_move_assign_neg.cc: Likewise.
6689         * testsuite/23_containers/unordered_set/debug/
6690         use_erased_local_iterator_neg.cc: Likewise.
6691         * testsuite/23_containers/unordered_set/debug/
6692         use_invalid_iterator_neg.cc: Likewise.
6693         * testsuite/23_containers/unordered_set/debug/
6694         use_invalid_local_iterator_neg.cc: Likewise.
6695         * testsuite/23_containers/vector/debug/52433.cc: Likewise.
6696         * testsuite/23_containers/vector/debug/60499.cc: Likewise.
6697         * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
6698         * testsuite/23_containers/vector/debug/
6699         iterator_self_move_assign_neg.cc: Likewise.
6700         * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
6701         Likewise.
6702         * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
6703         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
6704         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
6705         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
6706         * testsuite/29_atomics/atomic/60658.cc: Likewise.
6707         * testsuite/29_atomics/atomic/60695.cc: Likewise.
6708         * testsuite/29_atomics/atomic/62259.cc: Likewise.
6709         * testsuite/29_atomics/atomic/64658.cc: Likewise.
6710         * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
6711         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
6712         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
6713         Likewise.
6714
6715 2016-09-11  Jonathan Wakely  <jwakely@redhat.com>
6716
6717         * libsupc++/new_opant.cc: Include exception_defines.h.
6718         * libsupc++/new_opvant.cc: Likewise.
6719
6720 2016-09-09  Jason Merrill  <jason@redhat.com>
6721
6722         Implement P0035R4, C++17 new of over-aligned types.
6723         * libsupc++/new: Declare aligned new/delete operators.
6724         * config/abi/pre/gnu.ver: Export them.
6725         * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
6726         _aligned_malloc.
6727         * libsupc++/new_opa.cc: New.
6728         * libsupc++/new_opant.cc: New.
6729         * libsupc++/new_opva.cc: New.
6730         * libsupc++/new_opva.cc: New.
6731         * libsupc++/del_opa.cc: New.
6732         * libsupc++/del_opant.cc: New.
6733         * libsupc++/del_opsa.cc: New.
6734         * libsupc++/del_opva.cc: New.
6735         * libsupc++/del_opvant.cc: New.
6736         * libsupc++/del_opvsa.cc: New.
6737         * libsupc++/Makefile.am: Build them.
6738
6739 2016-09-05  Tim Shen  <timshen@google.com>
6740
6741         * include/std/variant: include bits/move.h for std::addressof.
6742
6743 2016-09-05  Mikhail Strelnikov  <mikhail.strelnikov@gmail.com>
6744
6745         * include/std/variant (_Variant_storage::_M_storage()): Use
6746         std::addressof instead of operator& to take address.
6747
6748 2016-09-02  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
6749
6750         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
6751         setrlimit on both native and cross targets.
6752         * configure: Regenerate.
6753
6754 2016-08-31  Jonathan Wakely  <jwakely@redhat.com>
6755
6756         * include/bits/shared_ptr.h (_Assignable): New alias template.
6757         (shared_ptr::operator=(const shared_ptr<_Tp1>&))
6758         (shared_ptr::operator=(shared_ptr<_Tp1>&&))
6759         (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6760         _Assignable.
6761         * include/bits/shared_ptr_base.h (_Assignable): New alias template.
6762         (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
6763         (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
6764         (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6765         _Assignable.
6766         (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
6767         (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
6768         _Convertible.
6769         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
6770         match on any line.
6771         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
6772         * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
6773         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
6774         expected errors. Remove unnecessary code.
6775         * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
6776
6777         * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
6778         comparison object.
6779         * testsuite/23_containers/set/move_comparison.cc: New test.
6780
6781         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
6782         New test.
6783
6784 2016-08-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
6785
6786         PR libstdc++/77395
6787         * include/std/type_traits (is_constructible): Forward-declare...
6788         (__is_base_to_derived_ref): ...and use here.
6789         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
6790         * testsuite/20_util/is_constructible/77395.cc: New.
6791         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
6792         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
6793         Likewise.
6794         * testsuite/20_util/tuple/77395.cc: New.
6795
6796 2016-08-30  Uros Bizjak  <ubizjak@gmail.com>
6797
6798         * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
6799         directive above dg-require-namedlocale directive.
6800         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
6801         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
6802         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
6803         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
6804         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
6805
6806 2016-08-27  Tim Shen  <timshen@google.com>
6807
6808         PR libstdc++/77356
6809         * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
6810         _M_expression_term): Modify to support dash literal.
6811         * include/bits/regex_scanner.h: Add dash as a token type to make
6812         a different from the mandated dash literal by escaping.
6813         * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
6814         token in bracket expression parsing.
6815         * testsuite/28_regex/regression.cc: Add new testcases.
6816
6817 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6818
6819         PR libstdc++/51960
6820         * doc/xml/manual/intro.xml: Document DR 2127 change.
6821         * doc/html/*: Regenerate.
6822         * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
6823         (operator++(), operator++(int)): Use injected class name.
6824         * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
6825
6826         * testsuite/*: Use { target c++11 } or { target c++14 } instead of
6827         using -std in dg-options.
6828
6829 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6830             Pedro Alves  <palves@redhat.com>
6831
6832         * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
6833         and restore dg-interpreter-batch-mode.
6834         * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
6835         gdb-dg-runtest instead of dg-runtest.
6836         * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
6837
6838 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6839
6840         * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
6841         precise patterns for basic_string constructors.
6842         (GLIBCXX_3.4.23): Export new constructors.
6843         * doc/xml/manual/intro.xml: Document LWG 2583 status.
6844         * doc/html/*: Regenerate.
6845         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
6846         (basic_string(const basic_string&, size_type, const Alloc&)): Add
6847         new constructor for LWG 2583.
6848         (basic_string(const basic_string&, size_type, size_type)): Remove
6849         default argument.
6850         [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
6851         * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
6852         * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
6853         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
6854
6855 2016-08-24  Aditya Kumar  <hiraditya@msn.com>
6856
6857         * include/bits/algorithmfwd.h: Remove trailing whitespace.
6858         * include/bits/shared_ptr_base.h: Likewise.
6859
6860 2016-08-23  Jonathan Wakely  <jwakely@redhat.com>
6861
6862         * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
6863         * include/profile/array (array): Likewise.
6864         (array::swap): Fix exception specification for zero-sized arrays.
6865
6866         PR libstdc++/77334
6867         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
6868         (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
6869         * testsuite/23_containers/map/77334.cc: New test.
6870
6871         * doc/xml/manual/using.xml: Remove reference to -pthreads option.
6872         * doc/html/*: Regenerate.
6873
6874         * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
6875         * testsuite/experimental/feat-lib-fund.cc: Likewise.
6876
6877         PR libstdc++/71771
6878         * include/bits/stl_iterator.h
6879         (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
6880         define for C++98 mode.
6881         (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
6882         * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
6883         -std=gnu++98.
6884         * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
6885         * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
6886         * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
6887         * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
6888         difference operator.
6889         * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
6890         difference operator for C++98.
6891         * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
6892
6893         * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
6894         * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
6895         (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
6896         * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
6897         (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
6898         Likewise.
6899         * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
6900         _GLIBCXX14_CONSTEXPR.
6901         (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
6902         * include/std/array (array::begin, array::end, array::rbegin)
6903         (array::rend, array::cbegin, array:cend, array::crbegin)
6904         (array::crend, array::operator[], array::at, array::front)
6905         (array::back, array::data): Likewise.
6906         * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
6907         with separate tests for C++11, C++14, and C++17.
6908         * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
6909         * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
6910         * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
6911
6912 2016-08-22  Tim Shen  <timshen@google.com>
6913
6914         Split _M_dfs() into smaller functions.
6915         * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
6916         (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
6917         (_M_handle_line_end_assertion, _M_handle_word_boundary)
6918         (_M_handle_subexpr_lookahead, _M_handle_match)
6919         (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
6920         Add separate function declarations.
6921         * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
6922
6923 2016-08-22  Gleb Natapov  <gleb@scylladb.com>
6924
6925         PR libstdc++/68297
6926         * config/abi/pre/gnu-versioned-namespace.ver: Export
6927         __cxa_init_primary_exception and std::exception_ptr(void*).
6928         * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
6929         export __cxa_init_primary_exception and std::exception_ptr(void*).
6930         * include/Makefile.am: Add new headers.
6931         * include/Makefile.in: Regenerate.
6932         * libsupc++/Makefile.am: Add new headers.
6933         * libsupc++/Makefile.in: Regenerate.
6934         * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
6935         * libsupc++/cxxabi_init_exception.h: New header.
6936         (__cxa_init_primary_exception): Declare.
6937         * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
6938         (__cxa_throw): Use __cxa_init_primary_exception.
6939         * libsupc++/exception (std::exception): Move to ...
6940         * libsupc++/exception.h: New header.
6941         * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
6942         friend declaration.
6943         (__exception_ptr::__dest_thunk): New function template.
6944         (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
6945         Use __cxa_allocate_exception and __cxa_init_primary_exception to
6946         create exception_ptr.
6947         * libsupc++/typeinfo: Include bits/exception.h instead of exception.
6948         * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
6949
6950 2016-08-22  Jonathan Wakely  <jwakely@redhat.com>
6951
6952         * doc/xml/api.xml: Replace hardcoded links for specific versions with
6953         link to docs for all releases.
6954         * doc/html/*: Regenerate.
6955
6956         PR libstdc++/77322
6957         * doc/xml/manual/intro.xml: Document DR 2062 change.
6958         * include/std/functional (function::swap): Add noexcept.
6959         (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
6960         * testsuite/20_util/function/77322.cc: New test.
6961
6962 2016-08-19  Jonathan Wakely  <jwakely@redhat.com>
6963
6964         * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
6965         *-*-solaris* instead of -pthreads.
6966         * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
6967         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
6968         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
6969         * testsuite/23_containers/list/pthread1.cc: Likewise.
6970         * testsuite/23_containers/list/pthread5.cc: Likewise.
6971         * testsuite/23_containers/map/pthread6.cc: Likewise.
6972         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
6973         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
6974         * testsuite/30_threads/shared_mutex/*: Likewise.
6975         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
6976         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6977         default_weaktoshared.cc: Likewise.
6978         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6979         mutex_weaktoshared.cc: Likewise.
6980         * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
6981         dg-require-effective-target instead of using -std option.
6982         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
6983         Likewise.
6984         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
6985         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
6986         Likewise.
6987         * testsuite/30_threads/async/*: Likewise.
6988         * testsuite/30_threads/call_once/*: Likewise.
6989         * testsuite/30_threads/condition_variable/*: Likewise.
6990         * testsuite/30_threads/condition_variable_any/*: Likewise.
6991         * testsuite/30_threads/future/*: Likewise.
6992         * testsuite/30_threads/lock/*: Likewise.
6993         * testsuite/30_threads/mutex/*: Likewise.
6994         * testsuite/30_threads/packaged_task/*: Likewise.
6995         * testsuite/30_threads/promise/*: Likewise.
6996         * testsuite/30_threads/recursive_mutex/*: Likewise.
6997         * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
6998         * testsuite/30_threads/shared_future/*: Likewise.
6999         * testsuite/30_threads/shared_lock/*: Likewise.
7000         * testsuite/30_threads/shared_timed_mutex/*: Likewise.
7001         * testsuite/30_threads/this_thread/*: Likewise.
7002         * testsuite/30_threads/thread/*: Likewise.
7003         * testsuite/30_threads/timed_mutex/*: Likewise.
7004         * testsuite/30_threads/try_lock/*: Likewise.
7005         * testsuite/30_threads/unique_lock/*: Likewise.
7006
7007         * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
7008         * doc/html/*: Regenerate.
7009         * include/experimental/functional (_Not_fn, not_fn): Match C++17
7010         semantics.
7011         * include/std/functional (_Not_fn, not_fn): Define for C++17.
7012         * testsuite/20_util/not_fn/1.cc: New.
7013         * testsuite/experimental/functional/not_fn.cc: Test abstract class.
7014         Remove test for volatile-qualified wrapper.
7015
7016         * include/std/atomic (atomic::is_always_lock_free): Define.
7017         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
7018         * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
7019         * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
7020         * doc/xml/manual/status_cxx2017.xml: Update status.
7021         * doc/html/*: Regenerate.
7022
7023         * include/experimental/tuple (apply): Qualify call to __apply_impl.
7024         * include/std/tuple (apply): Likewise.
7025         * testsuite/experimental/system_error/value.cc: Fix ambiguities in
7026         C++17 mode.
7027         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
7028         * testsuite/experimental/type_traits/value.cc: Likewise.
7029
7030         * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
7031         and variant.
7032         * doc/html/*: Regenerate.
7033
7034 2016-08-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
7035
7036         Implement the latest proposed resolution of LWG 2756.
7037         * include/std/optional (Optional_base(const _Tp&))
7038         (Optional_base(_Tp&&), using _Base::_Base): Remove.
7039         (optional(nullopt_t)): New.
7040         (optional(_Up&&)): Invoke base directly with in_place
7041         rather than creating a temporary, add default template
7042         argument, change constraints.
7043         (optional(const optional<_Up>&)): Invoke base directly
7044         with in_place, remove unnecessary constraints.
7045         (optional(optional<_Up>&& __t)): Likewise.
7046         (optional(in_place_t, _Args&&...)): New.
7047         (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
7048         (operator=(_Up&&)): Add default template argument, change constraints.
7049         (operator=(const optional<_Up>&)): Put is_same first in the
7050         constraints.
7051         (operator=(optional<_Up>&&)): Likewise.
7052         * testsuite/20_util/optional/assignment/5.cc: Add a test to
7053         verify assignment from something that can't be perfect-forwarded.
7054         * testsuite/20_util/optional/cons/value.cc: Add tests to verify
7055         that a nested optional is disengaged when constructed
7056         from a disengaged element type, and to verify that assignments
7057         from an engaged element type engage the optional.
7058
7059 2016-08-18  Tim Shen  <timshen@google.com>
7060
7061         Implement <variant>
7062
7063         * include/Makefile.am: Add new file std/variant.
7064         * include/Makefile.in: Generated from Makefile.am.
7065         * include/bits/enable_special_members.h: Add a tag type to allow
7066         the construction in non-default constructor.
7067         * include/bits/uses_allocator.h: Add convenience traits to
7068         detect constructibility.
7069         * include/std/variant: Implement <variant>.
7070         * testsuite/20_util/variant/compile.cc: Compile-time tests.
7071         * testsuite/20_util/variant/run.cc: Runtime tests.
7072
7073 2016-08-18  Jonathan Wakely  <jwakely@redhat.com>
7074
7075         * doc/xml/manual/test.xml (test.run.permutations): Expand section.
7076         (test.new_tests): Rewrite section.
7077         (tests.dg.directives): New section.
7078         * doc/html/*: Regenerate.
7079
7080         * doc/xml/manual/test.xml: Improve documentation of test targets.
7081         Document new-abi-baseline, check-debug, and check-parallel targets.
7082
7083         * doc/xml/manual/build_hacking.xml: New section on shared library
7084         versioning.
7085
7086         * doc/xml/manual/build_hacking.xml: Improve markup.
7087         * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
7088         to "Testing".
7089         * doc/xml/faq.xml: Change link text to "Testing".
7090
7091         * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
7092         dg-options directive.
7093
7094 2016-08-17  Jonathan Wakely  <jwakely@redhat.com>
7095
7096         * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
7097         directive and use effective target instead of dg-options.
7098
7099         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
7100         instead of -std in dg-options.
7101         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
7102         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
7103         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
7104         * testsuite/20_util/hash/quality.cc: Likewise.
7105         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
7106         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
7107         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
7108         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
7109         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
7110         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
7111
7112         * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
7113         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
7114         * testsuite/27_io/rvalue_streams.cc: Likewise.
7115
7116         * testsuite/26_numerics/complex/literals/types.cc: Add comment.
7117
7118         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
7119         Remove duplicate dg-options directive.
7120
7121         * testsuite/ext/profile/all.cc: Use effective target instead of
7122         -std=gnu++11. Use dg-additional-options instead of repeating options.
7123
7124         * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
7125         -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
7126         instead of dg-excess-errors.
7127
7128         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
7129         test for C++17.
7130         * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
7131         * testsuite/experimental/ratio/value.cc: Likewise.
7132         * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
7133         C++17.
7134         * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
7135         * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
7136         * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
7137         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
7138         * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
7139         * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
7140         * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
7141         * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
7142         * testsuite/tr1/5_numerical_facilities/special_functions/
7143         10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
7144         C++17 compatibility.
7145
7146         * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
7147         expected signatures for C++14 compatibility.
7148
7149         PR libstdc++/77264
7150         * include/bits/basic_string.h (operator=(__sv_type)
7151         (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
7152         (replace(size_type, size_type, __sv_type))
7153         (replace(const_iterator, const_iterator, __sv_type))
7154         (find(__sv_type, size_type), rfind(__sv_type, size_type))
7155         (compare(size_type, size_type, __sv_type)): Reformat.
7156         (_If_sv): Define helper for SFINAE constaints.
7157         (append(const _Tp&, size_type, size_type))
7158         (assign(const _Tp&, size_type, size_type))
7159         (insert(size_type, const _Tp&, size_type, size_type))
7160         (replace(size_type, size_type, const _Tp&, size_type, size_type)):
7161         Use _If_sv.
7162         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
7163         SFINAE constraints.
7164         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
7165         Likewise.
7166         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7167         Likewise.
7168         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
7169         Likewise.
7170         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
7171         Likewise.
7172         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
7173         Likewise.
7174         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
7175         Likewise.
7176         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
7177         Likewise.
7178         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7179         Likewise.
7180         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
7181         Likewise.
7182         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
7183         Likewise.
7184
7185 2016-08-16  Jonathan Wakely  <jwakely@redhat.com>
7186
7187         PR libstdc++/72847
7188         * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
7189         pointers to start and end of storage.
7190         * testsuite/23_containers/vector/bool/72847.cc: New test.
7191         * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
7192         _M_finish after deallocating.
7193         (vector<bool>::_M_fill_insert): Likewise.
7194         (vector<bool>::_M_insert_range): Likewise.
7195         (vector<bool>::_M_insert_aux): Likewise.
7196
7197 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
7198
7199         Implement LWG 2744 and LWG 2754.
7200         * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
7201         (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
7202         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
7203         Likewise.
7204         (emplace(_Args&&...)): Likewise.
7205         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
7206         * include/std/utility: (__is_in_place_type_impl): New.
7207         (__is_in_place_type): Likewise.
7208         * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
7209         emplace.
7210         * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
7211         in_place constructor.
7212         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
7213         * testsuite/20_util/any/requirements.cc: Add a test for
7214         in_place-constructing a non-default-constructible type.
7215
7216 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
7217
7218         Add a feature macro for C++17 make_from_tuple.
7219         * include/std/tuple (__cpp_lib_make_from_tuple): New.
7220         (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
7221         Qualify the call to get<>().
7222         * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
7223
7224 2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
7225
7226         * src/filesystem/ops.cc: Always include ostream and
7227         ext/stdio_filebuf.h.
7228         (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
7229         [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
7230         sendfile fails with ENOSYS or EINVAL.
7231
7232 2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
7233
7234         PR libstdc++/72840
7235         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
7236         syntax.
7237
7238 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
7239
7240         Implement C++17 make_from_tuple.
7241         * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
7242         * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
7243
7244 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
7245
7246         Implement LWG 2758.
7247         * include/bits/basic_string.h
7248         (append(__sv_type, size_type, size_type)): Turn into a template,
7249         change parameter type, constrain, add a conversion to __sv_type
7250         from the dependent parameter type.
7251         (assign(__sv_type, size_type, size_type)): Likewise.
7252         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
7253         (replace(size_type, size_type, __sv_type, size_type, size_type)):
7254         Likewise.
7255         (compare(size_type, size_type,__sv_type, size_type, size_type)):
7256         Likewise.
7257         * testsuite/21_strings/basic_string/lwg2758.cc: New.
7258
7259 2016-08-06  Jonathan Wakely  <jwakely@redhat.com>
7260
7261         * doc/xml/manual/status_cxx2017.xml: Update status table.
7262         * doc/html/manual/status.html: Regenerate.
7263
7264         * testsuite/lib/libstdc++.exp: Fix typo in comment.
7265
7266         PR libstdc++/72820
7267         * include/std/functional (_Function_base::_Base_manager::_M_clone):
7268         Qualify new operator.
7269         * testsuite/20_util/function/cons/72820.cc: New test.
7270
7271         * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
7272         * doc/html/manual/status.html: Regenerate.
7273         * include/Makefile.am: Add new header.
7274         * include/Makefile.in: Regenerate.
7275         * include/bits/invoke.h: New header.
7276         (__invoke): Make constexpr. Add && to types in exception specification.
7277         * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
7278         names. Include <bits/invoke.h> and use std::__invoke.
7279         * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
7280         new header.
7281         (invoke): Add && to types in exception specification.
7282         * include/std/tuple (apply, __apply_impl): Define for C++17.
7283         * testsuite/20_util/tuple/apply/1.cc: New test.
7284         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
7285         lineno.
7286
7287 2016-08-05  Jonathan Wakely  <jwakely@redhat.com>
7288
7289         * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
7290         * doc/html/manual/status.html: Regenerate.
7291
7292         * include/std/chrono (floor, ceil, round, abs): New for C++17.
7293         * testsuite/20_util/duration_cast/rounding.cc: New test.
7294         * testsuite/20_util/time_point_cast/rounding.cc: New test.
7295         * doc/xml/manual/status_cxx2017.xml: Update status table.
7296         * doc/html/manual/status.html: Regenerate.
7297         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
7298         dg-error lineno.
7299         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
7300         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
7301         * testsuite/20_util/duration/literals/range.cc: Likewise.
7302
7303         * include/std/functional (__callable_functor): Remove.
7304         (_Function_handler::_M_invoke): Use __invoke instead of
7305         __callable_functor or mem_fn.
7306         (function::_Callable): Use lvalue in result_of expression.
7307         (function): Remove TODO comments about allocators.
7308         * testsuite/20_util/function/cons/refqual.cc: New test.
7309
7310 2016-08-04  Jonathan Wakely  <jwakely@redhat.com>
7311
7312         * doc/xml/manual/status_cxx2017.xml: Update status table.
7313         * include/std/functional (__inv_unwrap): Move to <type_traits>.
7314         (__invoke_impl): Remove exception specifications.
7315         (__invoke, invoke): Add exception specifications using
7316         __is_nothrow_callable.
7317         * include/std/type_traits (__inv_unwrap): Move from <functional>.
7318         (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
7319         (__is_callable, __is_nothrow_callable): New traits.
7320         (is_callable, is_callable_v): New C++17 traits.
7321         (is_nothrow_callable, is_nothrow_callable_v): Likewise.
7322         * testsuite/20_util/is_callable/requirements/
7323         explicit_instantiation.cc: New test.
7324         * testsuite/20_util/is_callable/requirements/
7325         explicit_instantiation_ext.cc: New test.
7326         * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
7327         * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
7328         test.
7329         * testsuite/20_util/is_callable/value.cc: New test.
7330         * testsuite/20_util/is_callable/value_ext.cc: New test.
7331         * testsuite/20_util/is_nothrow_callable/requirements/
7332         explicit_instantiation.cc: New test.
7333         * testsuite/20_util/is_nothrow_callable/requirements/
7334         explicit_instantiation_ext.cc: New test.
7335         * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
7336         New test.
7337         * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
7338         New test.
7339         * testsuite/20_util/is_nothrow_callable/value.cc: New test.
7340         * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
7341
7342         * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
7343         * doc/html/manual/status.html: Regenerate.
7344
7345         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
7346         effective target not dg-options. Move check for feature-test macro to:
7347         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
7348         New test.
7349
7350         * include/std/functional (_Unwrap): Rename to __inv_unwrap.
7351         (__invfwd): Adjust.
7352         (__invoke_impl): Remove unused template parameters.
7353         * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
7354         parameter.
7355         * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
7356         and test __invoke extension for C++11.
7357
7358 2016-08-03  Jonathan Wakely  <jwakely@redhat.com>
7359
7360         * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
7361         Define feature-test macro.
7362         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
7363         for the macro.
7364
7365         * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
7366         * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
7367         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
7368         * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
7369         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
7370
7371         * include/std/utility (as_const): Define.
7372         * testsuite/20_util/as_const/1.cc: New test.
7373         * testsuite/20_util/as_const/rvalue_neg.cc: New test.
7374
7375         * include/bits/shared_ptr.h (owner_less): Add default template
7376         argument.
7377         * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
7378         specialization.
7379         (owner_less<void>): Define specialization.
7380         * include/bits/stl_function.h (__cpp_lib_transparent_operators):
7381         Update value.
7382         * testsuite/20_util/owner_less/void.cc: New test.
7383         * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
7384
7385         * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
7386         Define feature-test macro.
7387         * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
7388         * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
7389         * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
7390         (__cpp_lib_type_trait_variable_templates): Define.
7391
7392         * include/bits/stl_function.h: Remove commented-out macro.
7393         * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
7394         Define feature-test macro.
7395         * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
7396
7397         * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
7398         C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
7399         true.
7400         * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
7401         do #error for C++17.
7402         * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
7403         of __STDCPP_WANT_MATH_SPEC_FUNCS__.
7404         * include/tr1/bessel_function.tcc: Likewise.
7405         * include/tr1/beta_function.tcc: Likewise.
7406         * include/tr1/cmath: Likewise.
7407         * include/tr1/ell_integral.tcc: Likewise.
7408         * include/tr1/exp_integral.tcc: Likewise.
7409         * include/tr1/gamma.tcc: Likewise.
7410         * include/tr1/hypergeometric.tcc: Likewise.
7411         * include/tr1/legendre_function.tcc: Likewise.
7412         * include/tr1/modified_bessel_func.tcc: Likewise.
7413         * include/tr1/poly_hermite.tcc: Likewise.
7414         * include/tr1/poly_laguerre.tcc: Likewise.
7415         * include/tr1/riemann_zeta.tcc: Likewise.
7416         * include/tr1/special_function_util.h: Likewise.
7417         * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
7418
7419         * include/std/type_traits (has_trivial_default_constructor): Remove.
7420         (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
7421         * testsuite/20_util/has_trivial_copy_assign/requirements/
7422         explicit_instantiation.cc: Remove test.
7423         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
7424         line number.
7425         * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
7426         Likewise.
7427         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
7428         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7429         explicit_instantiation.cc: Likewise.
7430         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7431         typedefs.cc: Likewise.
7432         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
7433         * testsuite/20_util/has_trivial_default_constructor/requirements/
7434         explicit_instantiation.cc: Likewise.
7435         * testsuite/20_util/has_trivial_default_constructor/requirements/
7436         typedefs.cc: Likewise.
7437         * testsuite/20_util/has_trivial_default_constructor/value.cc:
7438         Likewise.
7439         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7440         Check has_trivial_default_constructor, has_trivial_copy_constructor,
7441         and has_trivial_copy_assign are not defined.
7442         * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
7443         tests.
7444         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
7445         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
7446         dg-error line number.
7447         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7448         Likewise.
7449
7450 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7451
7452         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
7453         Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
7454         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
7455         Likewise.
7456         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
7457         Likewise.
7458         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
7459         Likewise.
7460         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
7461         Likewise.
7462         * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
7463         Likewise.
7464         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
7465         Likewise.
7466
7467         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
7468         comments.
7469
7470         * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
7471         dg-error to relevant line.
7472         * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
7473         Likewise.
7474         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
7475
7476         * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
7477
7478         * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
7479         options are present that aren't valid for C.
7480         * testsuite/abi/header_cxxabi.c: Likewise.
7481
7482         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
7483         check_value.cc: Do not add special functions to namespace std in TR1
7484         test.
7485
7486         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
7487         run for C++11 and later.
7488         * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
7489         Likewise.
7490         * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
7491         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
7492         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
7493         * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
7494         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
7495         Likewise.
7496         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
7497         Likewise.
7498         * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
7499         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
7500         Likewise.
7501         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
7502         Likewise.
7503         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
7504         Likewise.
7505         * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
7506         * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
7507         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
7508         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
7509         * testsuite/special_functions/03_beta/compile.cc: Likewise.
7510         * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
7511         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
7512         * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
7513         Likewise.
7514         * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
7515         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
7516         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
7517         * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
7518         Likewise.
7519         * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
7520         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
7521         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
7522         * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
7523         Likewise.
7524         * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
7525         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
7526         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
7527         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
7528         Likewise.
7529         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
7530         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
7531         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
7532         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
7533         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
7534         Likewise.
7535         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
7536         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
7537         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
7538         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
7539         Likewise.
7540         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
7541         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
7542         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
7543         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
7544         * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
7545         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
7546         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
7547         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
7548         * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
7549         * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
7550         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
7551         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
7552         * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
7553         * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
7554         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
7555         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
7556         * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
7557         * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
7558         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
7559         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
7560         * testsuite/special_functions/14_expint/compile.cc: Likewise.
7561         * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
7562         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
7563         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
7564         * testsuite/special_functions/15_hermite/compile.cc: Likewise.
7565         * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
7566         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
7567         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
7568         * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
7569         * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
7570         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
7571         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
7572         * testsuite/special_functions/17_legendre/compile.cc: Likewise.
7573         * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
7574         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
7575         * testsuite/special_functions/18_riemann_zeta/check_value.cc:
7576         Likewise.
7577         * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
7578         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
7579         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
7580         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
7581         * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
7582         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
7583         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
7584         * testsuite/special_functions/20_sph_legendre/check_value.cc:
7585         Likewise.
7586         * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
7587         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
7588         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
7589         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
7590         * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
7591         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
7592
7593         * testsuite/tr1/5_numerical_facilities/special_functions/
7594         08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
7595         of [[gnu::unused]].
7596         * testsuite/tr1/5_numerical_facilities/special_functions/
7597         09_cyl_bessel_j/check_value.cc: Likewise.
7598         * testsuite/tr1/5_numerical_facilities/special_functions/
7599         10_cyl_bessel_k/check_value.cc: Likewise.
7600         * testsuite/tr1/5_numerical_facilities/special_functions/
7601         11_cyl_neumann/check_value.cc: Likewise.
7602         * testsuite/tr1/5_numerical_facilities/special_functions/
7603         21_sph_bessel/check_value.cc: Likewise.
7604         * testsuite/tr1/5_numerical_facilities/special_functions/
7605         23_sph_neumann/check_value.cc: Likewise.
7606
7607 2016-08-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7608
7609         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
7610         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
7611         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
7612         * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
7613         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
7614         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
7615
7616 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7617
7618         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
7619         test if -flto used.
7620
7621         * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
7622         additional flags for compiling libtestc++.a objects.
7623
7624 2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
7625
7626         * include/bits/basic_string.h (data() const): Update comment.
7627         (data()): Add non-const overload for C++17.
7628         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
7629         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
7630
7631         * include/bits/basic_string.tcc: Disable explicit instantiation
7632         declarations for C++17.
7633
7634         * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
7635         ignored "xfail" from { dg-do compile { xfail selector } } directive.
7636         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
7637         Likewise.
7638         * testsuite/26_numerics/headers/cmath/
7639         c99_classification_macros_c++11.cc: Likewise.
7640         * testsuite/26_numerics/headers/cmath/
7641         c99_classification_macros_c++98.cc: Likewise.
7642         * testsuite/26_numerics/headers/cmath/
7643         c99_classification_macros_c.cc: Likewise.
7644
7645         * testsuite/backward/hash_set/check_construct_destroy.cc: Account
7646         for different construct/destroy counts in C++98 mode.
7647
7648         * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
7649
7650         * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
7651         later.
7652         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
7653         Likewise.
7654
7655         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
7656         C++98-compatible initialization for array.
7657
7658         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
7659         unused header and variable from compile-only test.
7660         * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
7661         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
7662         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
7663         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
7664         Likewise.
7665
7666         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
7667         Remove duplicate dg-options directive.
7668
7669         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
7670         808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
7671
7672         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
7673         linker options from compile-only tests.
7674         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7675         Likewise.
7676
7677         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
7678         supported for C++11 and later.
7679         * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
7680         * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
7681
7682 2016-08-01  Uros Bizjak  <ubizjak@gmail.com>
7683
7684         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
7685
7686 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7687
7688         * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
7689         compile-only test.
7690
7691         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7692         Ensure test is compiled with optimization.
7693
7694         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7695         Adjust dg-prune-output pattern for error in C++98 mode.
7696
7697         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
7698         run for C++11 or later.
7699
7700         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
7701         test to not rely on GNU extension (escaped normal characters in POSIX
7702         BRE). Enable tests for other strings which are now supported.
7703
7704         * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
7705         c++11 instead of setting -std=gnu++14.
7706
7707         PR libstdc++/72745
7708         * include/std/array (get): Use positive message for static assertions.
7709         * include/std/functional (_Safe_tuple_element_t): Fix indentation.
7710         * include/std/tuple (tuple_element<I, tuple<>>): Add partial
7711         specialization for invalid indices, with static assertion.
7712         * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
7713
7714         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
7715         dg-error to relevant line.
7716         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7717         Likewise.
7718         * testsuite/23_containers/forward_list/requirements/dr438/
7719         assign_neg.cc: Likewise.
7720         * testsuite/23_containers/forward_list/requirements/dr438/
7721         constructor_1_neg.cc: Likewise.
7722         * testsuite/23_containers/forward_list/requirements/dr438/
7723         constructor_2_neg.cc: Likewise.
7724         * testsuite/23_containers/forward_list/requirements/dr438/
7725         insert_neg.cc: Likewise.
7726         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
7727         Likewise.
7728         * testsuite/26_numerics/random/linear_congruential_engine/
7729         requirements/non_uint_neg.cc: Likewise.
7730         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
7731         Likewise. Also test for std::atomic_address.
7732
7733 2016-07-31  Ville Voutilainen  <ville.voutilainen@gmail.com>
7734
7735         Add missing variable traits, fix testsuite failures.
7736         * include/bits/uses_allocator.h (uses_allocator_v): New.
7737         * include/std/functional (is_bind_expression_v, is_placeholder_v):
7738         Likewise.
7739         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
7740         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
7741         * testsuite/20_util/duration/literals/range.cc: Likewise.
7742         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
7743         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
7744         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
7745         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
7746         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7747         Likewise.
7748         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
7749         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
7750         New.
7751
7752 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7753
7754         * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
7755         not test 128-bit types.
7756         * testsuite/20_util/is_floating_point/value.cc: Likewise.
7757         * testsuite/20_util/is_integral/value.cc: Likewise.
7758         * testsuite/20_util/is_signed/value.cc: Likewise.
7759         * testsuite/20_util/is_unsigned/value.cc: Likewise.
7760         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
7761         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
7762         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
7763         Likewise.
7764         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7765         Likewise.
7766
7767         * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
7768
7769 2016-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
7770
7771         Implement C++17 variable templates for type traits.
7772         * include/std/chrono (treat_as_floating_point_v): New.
7773         * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
7774         (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
7775         (ratio_greater_equal_v): Likewise.
7776         * include/std/system_error (is_error_code_enum_v)
7777         (is_error_condition_enum_v): Likewise.
7778         * include/std/tuple (tuple_size_v): Likewise.
7779         * type_traits (conjunction_v, disjunction_v, negation_v)
7780         (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
7781         (is_array_v, is_pointer_v, is_lvalue_reference_v)
7782         (is_rvalue_reference_v, is_member_object_pointer_v)
7783         (is_member_function_pointer_v, is_enum_v, is_union_v)
7784         (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
7785         (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
7786         (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
7787         (is_trivially_copyable_v, is_standard_layout_v)
7788         (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
7789         (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
7790         (is_constructible_v, is_default_constructible_v)
7791         (is_copy_constructible_v, is_move_constructible_v)
7792         (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
7793         (is_destructible_v, is_trivially_constructible_v)
7794         (is_trivially_default_constructible_v)
7795         (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
7796         (is_trivially_assignable_v, is_trivially_copy_assignable_v)
7797         (is_trivially_move_assignable_v, is_trivially_destructible_v)
7798         (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
7799         (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
7800         (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
7801         (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
7802         (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
7803         (is_same_v, is_base_of_v, is_convertible_v): Likewise.
7804         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
7805         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
7806         Likewise.
7807         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
7808         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
7809         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
7810
7811 2016-07-29  Andreas Schwab  <schwab@linux-m68k.org>
7812
7813         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
7814         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
7815         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
7816
7817 2016-07-29  Jonathan Wakely  <jwakely@redhat.com>
7818
7819         * doc/xml/manual/abi.xml: Document 6.0.22 library version.
7820         * doc/html/manual/abi.html: Regenerate.
7821
7822         * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
7823         * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
7824         symbols.
7825         * configure: Regenerate.
7826         * testsuite/util/testsuite_abi.cc: Add new symbol version.
7827
7828         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
7829         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
7830         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
7831         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
7832         Likewise.
7833         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
7834         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
7835         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
7836
7837 2016-07-28  Jonathan Wakely  <jwakely@redhat.com>
7838
7839         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
7840         Adjust dg-prune-output pattern for error in C++98 mode.
7841         * testsuite/23_containers/deque/requirements/dr438/
7842         constructor_1_neg.cc: Likewise.
7843         * testsuite/23_containers/deque/requirements/dr438/
7844         constructor_2_neg.cc: Likewise.
7845         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
7846         Likewise.
7847         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
7848         Likewise.
7849         * testsuite/23_containers/list/requirements/dr438/
7850         constructor_1_neg.cc: Likewise.
7851         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7852         Likewise.
7853         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
7854         Likewise.
7855         * testsuite/23_containers/vector/requirements/dr438/
7856         constructor_1_neg.cc: Likewise.
7857         * testsuite/23_containers/vector/requirements/dr438/
7858         constructor_2_neg.cc: Likewise.
7859         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
7860         Likewise.
7861
7862         * testsuite/23_containers/vector/check_construct_destroy.cc: Account
7863         for different construct/destroy counts in C++98 mode.
7864
7865         * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
7866         dg-options to dg-additional-options so that default options are used.
7867         * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
7868         Likewise.
7869         * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
7870         * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
7871         Likewise.
7872         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7873         Use dg-additional-options instead of repeating the common options.
7874
7875         * testsuite/22_locale/conversions/string/1.cc: Remove unintended
7876         dg-do compile directive.
7877         * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
7878         dg-do directive.
7879         * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
7880
7881 2016-07-28  Ville Voutilainen  <ville.voutilainen@gmail.com>
7882
7883         Implement std::string_view and P0254r2,
7884         Integrating std::string_view and std::string.
7885         * include/Makefile.am: Add string_view and string_view.tcc
7886         to the exported headers.
7887         * include/Makefile.in: Likewise.
7888         * include/bits/basic_string.h: Include <string_view> in C++17 mode.
7889         (__sv_type): New.
7890         (basic_string(__sv_type, const _Alloc&)): Likewise.
7891         (operator=(__sv_type)): Likewise.
7892         (operator __sv_type()): Likewise.
7893         (operator+=(__sv_type)): Likewise.
7894         (append(__sv_type __sv)): Likewise.
7895         (append(__sv_type, size_type, size_type)): Likewise.
7896         (assign(__sv_type)): Likewise.
7897         (assign(__sv_type, size_type, size_type)): Likewise.
7898         (insert(size_type, __sv_type)): Likewise.
7899         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
7900         (replace(size_type, size_type, __sv_type)): Likewise.
7901         (replace(size_type, size_type, __sv_type, size_type, size_type)):
7902         Likewise.
7903         (replace(const_iterator, const_iterator, __sv_type)): Likewise.
7904         (find(__sv_type, size_type)): Likewise.
7905         (rfind(__sv_type, size_type)): Likewise.
7906         (find_first_of(__sv_type, size_type)): Likewise.
7907         (find_last_of(__sv_type, size_type)): Likewise.
7908         (find_first_not_of(__sv_type, size_type)): Likewise.
7909         (find_last_not_of(__sv_type, size_type)): Likewise.
7910         (compare(__sv_type)): Likewise.
7911         (compare(size_type, size_type, __sv_type)): Likewise.
7912         (compare(size_type, size_type, __sv_type, size_type, size_type)):
7913         Likewise.
7914         * include/bits/string_view.tcc: New.
7915         * include/std/string_view: Likewise.
7916         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
7917         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
7918         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
7919         Likewise.
7920         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
7921         Likewise.
7922         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
7923         Likewise.
7924         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
7925         Likewise.
7926         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
7927         Likewise.
7928         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
7929         Likewise.
7930         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7931         Likewise.
7932         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
7933         Likewise.
7934         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
7935         Likewise.
7936         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
7937         Likewise.
7938         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
7939         Likewise.
7940         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
7941         Likewise.
7942         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
7943         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
7944         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
7945         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
7946         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
7947         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
7948         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
7949         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
7950         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
7951         * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
7952         Likewise.
7953         * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
7954         Likewise.
7955         * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
7956         Likewise.
7957         * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
7958         Likewise.
7959         * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
7960         Likewise.
7961         * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
7962         Likewise.
7963         * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
7964         Likewise.
7965         * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
7966         Likewise.
7967         * testsuite/21_strings/basic_string_view/include.cc: Likewise.
7968         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
7969         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
7970         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
7971         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
7972         Likewise.
7973         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
7974         Likewise.
7975         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
7976         Likewise.
7977         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
7978         Likewise.
7979         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
7980         Likewise.
7981         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
7982         Likewise.
7983         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
7984         Likewise.
7985         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
7986         Likewise.
7987         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
7988         Likewise.
7989         * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
7990         Likewise.
7991         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
7992         Likewise.
7993         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
7994         Likewise.
7995         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
7996         Likewise.
7997         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
7998         Likewise.
7999         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
8000         Likewise.
8001         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
8002         Likewise.
8003         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
8004         Likewise.
8005         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
8006         Likewise.
8007         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
8008         Likewise.
8009         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
8010         Likewise.
8011         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
8012         Likewise.
8013         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
8014         Likewise.
8015         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
8016         Likewise.
8017         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
8018         Likewise.
8019         * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
8020         Likewise.
8021         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
8022         Likewise.
8023         * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
8024         Likewise.
8025         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
8026         Likewise.
8027         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
8028         Likewise.
8029         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
8030         Likewise.
8031         * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
8032         Likewise.
8033         * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
8034         Likewise.
8035         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
8036         Likewise.
8037         * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
8038         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
8039         Likewise.
8040         * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
8041         Likewise.
8042         * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
8043         Likewise.
8044         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
8045         Likewise.
8046         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
8047         Likewise.
8048         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
8049         Likewise.
8050         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
8051         Likewise.
8052         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
8053         Likewise.
8054         * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
8055         Likewise.
8056         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
8057         * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
8058
8059 2016-07-27  Jonathan Wakely  <jwakely@redhat.com>
8060
8061         * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
8062
8063 2016-07-25  Georeth Chow  <georeth2010@gmail.com>
8064
8065         * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
8066         _S_concat enumerator.
8067         * testsuite/ext/rope/6.cc: New test.
8068
8069 2016-07-25  Jonathan Wakely  <jwakely@redhat.com>
8070
8071         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
8072         std::mt19937, std::thread and std::atomic to simplify test.
8073         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
8074
8075 2016-07-22  Jonathan Wakely  <jwakely@redhat.com>
8076
8077         PR libstdc++/71964
8078         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
8079         (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
8080         * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
8081         * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
8082         * testsuite/23_containers/set/allocator/71964.cc: New test.
8083
8084         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
8085         delete[] instead of delete.
8086
8087 2016-07-21  Jonathan Wakely  <jwakely@redhat.com>
8088
8089         * include/experimental/propagate_const (propagate_const::__t): Rename
8090         to _M_t and remove comment. Qualify std::move and std::forward.
8091         * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
8092
8093         * testsuite/23_containers/vector/zero_sized_allocations.cc:
8094         Define sized deallocation function.
8095         * testsuite/util/testsuite_new_operators.h:
8096         (operator delete(void*, const std::nothrow_t&)): Define nothrow
8097         deallocation function.
8098
8099         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
8100         reads past the end of strings.
8101         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
8102         Likewise.
8103         * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
8104         invalid array accesses.
8105         * testsuite/experimental/string_view/operations/compare/char/1.cc:
8106         Fix read past the end of string.
8107         * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
8108
8109         * testsuite/24_iterators/container_access.cc: Fix missing returns.
8110         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
8111
8112         * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
8113         leak) memory for arguments to placement delete.
8114         * testsuite/20_util/addressof/1.cc: Don't leak memory.
8115         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
8116         * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
8117         Likewise.
8118
8119 2016-07-20  Jonathan Wakely  <jwakely@redhat.com>
8120
8121         * doc/xml/manual/intro.xml: Document DR 2684 status.
8122         * doc/html/*: Regenerate.
8123
8124         * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
8125         (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
8126         (atomic_uint64_t): Define (LWG 2441).
8127         * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
8128         lines.
8129         * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
8130         the new types.
8131         * doc/xml/manual/intro.xml: Document DR 2441 status.
8132
8133         * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
8134         to use perfect forwarding (LWG 2328).
8135         * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
8136         * doc/xml/manual/intro.xml: Document DR 2328 status.
8137
8138         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
8139         static objects for catching nullptr as pointer to member types.
8140
8141 2016-07-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
8142
8143         Clean up optional's comments.
8144         * include/std/optional: Remove incorrect section headers
8145         from comments when redundant, replace bare section
8146         headers with more descriptive comments.
8147
8148 2016-07-15  Jonathan Wakely  <jwakely@redhat.com>
8149
8150         * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
8151         * include/bits/move.h: Likewise.
8152         * include/bits/postypes.h: Likewise.
8153         * include/debug/bitset: Likewise.
8154         * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
8155         * include/ext/string_conversions.h: Change C++0x to __cxx11 in
8156         comment.
8157         * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
8158         * testsuite/util/thread/all.h: Likewise.
8159
8160         * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
8161         and adjust comment.
8162
8163         PR c++/58796
8164         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
8165         nullptr match handlers of pointer type.
8166
8167 2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
8168
8169         Implement C++17 P0025 clamp.
8170         * include/bits/algorithmfwd.h: Declare clamp overloads.
8171         * include/bits/stl_algo.h: Implement clamp.  Feature __cpp_lib_clamp.
8172         * testsuite/25_algorithms/clamp/1.cc: New test.
8173         * testsuite/25_algorithms/clamp/2.cc: New test.
8174         * testsuite/25_algorithms/clamp/constexpr.cc: New test.
8175         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
8176         1.cc: New test.
8177         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
8178         pod.cc: New test.
8179
8180 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
8181
8182         Fix the constraints for any's assignment operator template to properly
8183         reject assignment from a non-copyable lvalue.
8184         * include/std/any (operator=(_ValueType&&)): Constrain the decayed
8185         type for is_copy_constructible,
8186         * testsuite/20_util/any/requirements.cc: Add a test for
8187         non-copyable lvalues.
8188
8189 2016-07-14  Jonathan Wakely  <jwakely@redhat.com>
8190
8191         * include/experimental/functional: Include <parallel/algorithm> in
8192         Parallel Mode.
8193
8194         * testsuite/experimental/functional/searchers.cc: Include <algorithm>
8195         for std::search.
8196
8197         PR libstdc++/70716
8198         * include/bits/forward_list.h (forward_list): Update doxygen comments
8199         to reflect allocator propagation semantics. Remove ambiguous
8200         statements about data being lost.
8201         * include/bits/stl_deque.h (deque): Likewise.
8202         * include/bits/stl_list.h (list): Likewise.
8203         * include/bits/stl_map.h (map): Likewise.
8204         * include/bits/stl_multimap.h (multimap): Likewise.
8205         * include/bits/stl_multiset.h (multiset): Likewise.
8206         * include/bits/stl_set.h (set): Likewise.
8207         * include/bits/stl_vector.h (vector): Likewise.
8208         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
8209         Likewise.
8210         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
8211         Likewise.
8212
8213 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
8214
8215         Implement P0032R3, Homogeneous interface for variant, any and optional,
8216         for the parts concerning any and optional.
8217         * include/std/any (_Storage()): Make constexpr and have it
8218         initialize _M_ptr.
8219         (any()): Make constexpr.
8220         (any(const any&)): Adjust.
8221         (any(any&&)): Likewise.
8222         (__any_constructible_t): New.
8223         (any(_ValueType&&)): Constrain.
8224         (any(in_place_type_t<_Tp>, _Args&&...)): New.
8225         (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
8226         Likewise.
8227         (~any()): Adjust.
8228         (operator=(const any&)): Likewise.
8229         (operator=(any&&)): Likewise.
8230         (operator=(_ValueType&&)): Constrain.
8231         (emplace(_Args&&...)): New.
8232         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
8233         (clear()): Remove.
8234         (reset()): New.
8235         (swap(any&)): Adjust.
8236         (empty()): Remove.
8237         (has_value()): New.
8238         (type()): Adjust.
8239         (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
8240         (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
8241         (make_any(_Args&&...)): Likewise.
8242         (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
8243         * include/std/optional (in_place_t, in_place): Remove.
8244         (bad_optional_access): Add a comment referring to LEWG 72.
8245         (emplace(_Args&&...)): Constrain.
8246         (has_value()): New.
8247         (reset()): Likewise.
8248         (make_optional(_Args&&...)): Likewise.
8249         (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
8250         * include/std/utility (in_place_tag): New.
8251         (__in_place, __in_place_type, __in_place_index): Likewise.
8252         (in_place_t, in_place_type_t, in_place_index_t): Likewise.
8253         (in_place(__in_place*)): Likewise.
8254         (in_place(__in_place_type<_Tp>*)): Likewise.
8255         (in_place(__in_place_index<_Idx>*)): Likewise.
8256         * testsuite/20_util/any/assign/1.cc: Adjust.
8257         * testsuite/20_util/any/assign/emplace.cc: New.
8258         * testsuite/20_util/any/assign/self.cc: Adjust.
8259         * testsuite/20_util/any/cons/1.cc: Likewise.
8260         * testsuite/20_util/any/cons/in_place.cc: New.
8261         * testsuite/20_util/any/make_any.cc: Likewise.
8262         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
8263         * testsuite/20_util/any/misc/swap.cc: Likewise.
8264         * testsuite/20_util/any/modifiers/1.cc: Likewise.
8265         * testsuite/20_util/any/requirements.cc: New.
8266         * testsuite/20_util/in_place/requirements.cc: Likewise.
8267         * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
8268         * testsuite/20_util/optional/in_place.cc: Likewise.
8269         * testsuite/20_util/optional/make_optional.cc: Add tests for
8270         the new overloads of make_optional.
8271
8272 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
8273
8274         Implement P0307R2, Making Optional Greater Equal Again.
8275         * include/experimental/optional (_Has_addressof): Fix the comment.
8276         * include/std/optional (_Has_addressof): Likewise.
8277         (operator=(_Up&&)): Constrain.
8278         (operator=(const optional<_Up>&)): Likewise.
8279         (operator=(optional<_Up>&&)): Likewise.
8280         (__optional_relop_t): New.
8281         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8282         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
8283         Constrain and make transparent.
8284         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8285         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
8286         Constrain and make transparent.
8287         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8288         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8289         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
8290         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
8291         (operator!=(const optional<_Tp>&, _Tp const&)):
8292         Constrain and make transparent.
8293         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
8294         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
8295         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
8296         (operator>(const optional<_Tp>&, const _Tp&)):
8297         Constrain and make transparent.
8298         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
8299         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
8300         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
8301         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
8302         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
8303         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
8304         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8305         * testsuite/20_util/optional/relops/1.cc: Likewise.
8306         * testsuite/20_util/optional/relops/2.cc: Likewise.
8307         * testsuite/20_util/optional/relops/3.cc: Likewise.
8308         * testsuite/20_util/optional/relops/4.cc: Likewise.
8309         * testsuite/20_util/optional/requirements.cc: Add tests to verify
8310         that optional's relops are transparent and don't synthesize
8311         operators. Also test that assignment sfinaes.
8312
8313 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8314
8315         PR libstdc++/71856
8316         * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
8317         * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
8318         Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
8319         on _GLIBCXX_ASSERTIONS.
8320         * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
8321         Include <unistd.h> for sleep.
8322         * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
8323         * include/parallel/merge.h: Likewise.
8324         * include/parallel/multiway_merge.h: Likewise.
8325         * include/parallel/partition.h: Likewise.
8326         * include/parallel/queue.h: Likewise.
8327         * include/parallel/sort.h: Likewise.
8328         * testsuite/25_algorithms/headers/algorithm/
8329         parallel_algorithm_assert.cc: New.
8330
8331         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
8332         (replace(__const_iterator, __const_iterator, initializer_list<C>)):
8333         Forward to different overload.
8334
8335         * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
8336         static.
8337
8338 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8339
8340         Revert "Add non-const overload of std::string::data()".
8341
8342 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
8343
8344         Implement P0307R2, Making Optional Greater Equal Again.
8345         * include/experimental/optional (_Has_addressof): Fix the comment.
8346         * include/std/optional (_Has_addressof): Likewise.
8347         (operator=(_Up&&)): Constrain.
8348         (operator=(const optional<_Up>&)): Likewise.
8349         (operator=(optional<_Up>&&)): Likewise.
8350         (__optional_relop_t): New.
8351         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8352         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
8353         Constrain and make transparent.
8354         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8355         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
8356         Constrain and make transparent.
8357         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8358         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8359         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
8360         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
8361         (operator!=(const optional<_Tp>&, _Tp const&)):
8362         Constrain and make transparent.
8363         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
8364         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
8365         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
8366         (operator>(const optional<_Tp>&, const _Tp&)):
8367         Constrain and make transparent.
8368         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
8369         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
8370         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
8371         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
8372         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
8373         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
8374         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8375         * testsuite/20_util/optional/relops/1.cc: Likewise.
8376         * testsuite/20_util/optional/relops/2.cc: Likewise.
8377         * testsuite/20_util/optional/relops/3.cc: Likewise.
8378         * testsuite/20_util/optional/relops/4.cc: Likewise.
8379         * testsuite/20_util/optional/requirements.cc: Add tests to verify
8380         that optional's relops are transparent and don't synthesize
8381         operators. Also test that assignment sfinaes.
8382
8383 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8384
8385         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
8386         New function.
8387         (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
8388         instead of _M_data().
8389         (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
8390         Likewise.
8391         (append(const basic_string&)): Likewise.
8392         (append(const basic_string&, size_type, size_type)): Likewise.
8393         (assign(const basic_string&, size_type, size_type)): Likewise.
8394         (insert(size_type, const basic_string&)): Likewise.
8395         (insert(size_type, const basic_string&, size_type, size_type)):
8396         Likewise.
8397         (replace(size_type, size_type, const basic_string&, size_type,
8398         size_type)): Likewise.
8399         (replace(__const_iterator, __const_iterator, const basic_string&)):
8400         Likewise.
8401         (c_str(), data()): Use c_str() instead of _M_data().
8402         (data()): Add non-const overload as per LWG 2391 and P0272R1.
8403         (compare(const basic_string&)): Use data() instead of _M_data().
8404         [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
8405         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
8406         Pass raw pointers to _S_copy.
8407         (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
8408         _S_assign.
8409         (find(const _CharT*, size_type, size_type)): Use data instead of
8410         _M_data().
8411         * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
8412         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
8413         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
8414
8415 2016-07-12  Jonathan Wakely  <jwakely@redhat.com>
8416
8417         * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
8418         * doc/xml/manual/intro.xml: Document DR 2458 status.
8419         * doc/html*: Regenerate.
8420
8421         * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
8422         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8423         Only include <array>.
8424         * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
8425         Likewise.
8426         * doc/xml/manual/intro.xml: Document LWG 2212 support.
8427         * doc/html*: Regenerate.
8428
8429         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8430         Add testcase from LWG 2164.
8431
8432 2016-07-11  François Dumont  <fdumont@gcc.gnu.org>
8433
8434         * include/bits/stl_vector.h (push_back(const value_type&)): Forward
8435         to _M_realloc_insert.
8436         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8437         (_M_realloc_insert): Declare new function.
8438         (_M_emplace_back_aux): Remove definition.
8439         * include/bits/vector.tcc (emplace_back(_Args...)):
8440         Use _M_realloc_insert.
8441         (insert(const_iterator, const value_type&)): Likewise.
8442         (_M_insert_rval, _M_emplace_aux): Likewise.
8443         (_M_emplace_back_aux): Remove declaration.
8444         (_M_realloc_insert): Define.
8445         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8446         Adjust expected results for emplacing an lvalue with reallocation.
8447
8448 2016-07-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
8449
8450         Implement std::optional.
8451         * include/Makefile.am: Add optional to exported headers.
8452         * include/Makefile.in: Likewise.
8453         * include/std/optional: New.
8454         * testsuite/20_util/optional/typedefs.cc: Likewise.
8455         * testsuite/20_util/optional/relops/2.cc: Likewise.
8456         * testsuite/20_util/optional/relops/3.cc: Likewise.
8457         * testsuite/20_util/optional/relops/4.cc: Likewise.
8458         * testsuite/20_util/optional/relops/5.cc: Likewise.
8459         * testsuite/20_util/optional/relops/1.cc: Likewise.
8460         * testsuite/20_util/optional/relops/6.cc: Likewise.
8461         * testsuite/20_util/optional/nullopt.cc: Likewise.
8462         * testsuite/20_util/optional/in_place.cc: Likewise.
8463         * testsuite/20_util/optional/make_optional.cc: Likewise.
8464         * testsuite/20_util/optional/assignment/2.cc: Likewise.
8465         * testsuite/20_util/optional/assignment/3.cc: Likewise.
8466         * testsuite/20_util/optional/assignment/4.cc: Likewise.
8467         * testsuite/20_util/optional/assignment/5.cc: Likewise.
8468         * testsuite/20_util/optional/assignment/1.cc: Likewise.
8469         * testsuite/20_util/optional/assignment/6.cc: Likewise.
8470         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
8471         * testsuite/20_util/optional/cons/default.cc: Likewise.
8472         * testsuite/20_util/optional/cons/move.cc: Likewise.
8473         * testsuite/20_util/optional/cons/value.cc: Likewise.
8474         * testsuite/20_util/optional/cons/copy.cc: Likewise.
8475         * testsuite/20_util/optional/requirements.cc: Likewise.
8476         * testsuite/20_util/optional/observers/2.cc: Likewise.
8477         * testsuite/20_util/optional/observers/3.cc: Likewise.
8478         * testsuite/20_util/optional/observers/4.cc: Likewise.
8479         * testsuite/20_util/optional/observers/5.cc: Likewise.
8480         * testsuite/20_util/optional/observers/1.cc: Likewise.
8481         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
8482         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
8483         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8484         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
8485         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
8486         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
8487         * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
8488         * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
8489         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
8490         * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
8491         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
8492         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
8493         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
8494         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
8495         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
8496         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
8497         * testsuite/20_util/optional/swap/1.cc: Likewise.
8498
8499 2016-07-08  Jonathan Wakely  <jwakely@redhat.com>
8500
8501         * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
8502
8503 2016-07-07  Jonathan Wakely  <jwakely@redhat.com>
8504
8505         * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
8506         * doc/html/*: Regenerate.
8507
8508 2016-07-07  Ville Voutilainen  <ville.voutilainen@gmail.com>
8509
8510         Implement std::any.
8511         * include/Makefile.am: Add any and c++17_warning.h to exported headers.
8512         * include/Makefile.in: Likewise.
8513         * include/std/any: New.
8514         * testsuite/20_util/any/assign/1.cc: Likewise.
8515         * testsuite/20_util/any/assign/2.cc: Likewise.
8516         * testsuite/20_util/any/assign/self.cc: Likewise.
8517         * testsuite/20_util/any/cons/1.cc: Likewise.
8518         * testsuite/20_util/any/cons/2.cc: Likewise.
8519         * testsuite/20_util/any/cons/aligned.cc: Likewise.
8520         * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
8521         * testsuite/20_util/any/misc/any_cast.cc: Likewise.
8522         * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
8523         * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
8524         * testsuite/20_util/any/misc/swap.cc: Likewise.
8525         * testsuite/20_util/any/modifiers/1.cc: Likewise.
8526         * testsuite/20_util/any/observers/type.cc: Likewise.
8527         * testsuite/20_util/any/typedefs.cc: Likewise.
8528
8529 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8530
8531         Add a new header for diagnosing the use of C++17 facilities
8532         in pre-C++17 modes.
8533         * include/bits/c++17_warning.h: New.
8534
8535 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8536
8537         Implement LWG 2451, optional<T> should 'forward' T's
8538         implicit conversions.
8539         * include/experimental/optional (__is_optional_impl, __is_optional):
8540         New.
8541         (optional()): Make constexpr and default.
8542         (optional(_Up&&), optional(const optional<_Up>&),
8543         optional(optional<_Up>&& __t): New.
8544         (operator=(_Up&&)): Constrain.
8545         (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
8546         * testsuite/experimental/optional/cons/value.cc:
8547         Add tests for the functionality added by LWG 2451.
8548         * testsuite/experimental/optional/cons/value_neg.cc: New.
8549
8550 2016-07-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8551
8552         Implement LWG 2509,
8553         any_cast doesn't work with rvalue reference targets and cannot
8554         move with a value target.
8555         * include/experimental/any (any(_ValueType&&)): Constrain and
8556         add an overload that doesn't forward.
8557         (any_cast(any&&)): Constrain and add an overload that moves.
8558         * testsuite/experimental/any/misc/any_cast.cc: Add tests for
8559         the functionality added by LWG 2509.
8560
8561 2016-07-04  François Dumont  <fdumont@gcc.gnu.org>
8562
8563         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8564         New test.
8565         * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
8566         test.
8567
8568 2016-07-04  Jonathan Wakely  <jwakely@redhat.com>
8569
8570         * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
8571         Define inline. Forward to _M_emplace_aux.
8572         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8573         (_M_insert_rval, _M_emplace_aux): Declare new functions.
8574         (_Temporary_value): New RAII type using allocator to construct/destroy.
8575         (_S_insert_aux_assign): Remove.
8576         (_M_insert_aux): Make non-variadic.
8577         * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
8578         Use _Temporary_value.
8579         (emplace(const_iterator, _Args&&...)): Remove definition.
8580         (_M_insert_rval, _M_emplace_aux): Define.
8581         (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
8582         (_M_fill_insert): Use _Temporary_value.
8583         * testsuite/23_containers/vector/allocator/construction.cc: New test.
8584         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8585         Adjust expected results for emplacing an lvalue with reallocation.
8586         * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
8587         expected results to account for construction/destruction of temporary
8588         using allocator.
8589         * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
8590
8591 2016-07-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
8592
8593         PR libstdc++/71313
8594         * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
8595         Call remove_all for children of a directory.
8596         * testsuite/experimental/filesystem/operations/create_directories.cc:
8597         Adjust.
8598
8599 2016-07-02  François Dumont  <fdumont@gcc.gnu.org>
8600
8601         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
8602         dg-error line numbers.
8603         * testsuite/23_containers/array/tuple_interface/
8604         tuple_element_debug_neg.cc: Likewise.
8605         * testsuite/25_algorithms/lexicographical_compare/debug/
8606         irreflexive_neg.cc: Remove.
8607
8608 2016-06-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8609
8610         * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
8611         than specific target.
8612
8613 2016-06-27  François Dumont  <fdumont@gcc.gnu.org>
8614
8615         PR libstdc++/71640
8616         * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
8617         friend declaration.
8618
8619 2016-06-23  François Dumont  <fdumont@gcc.gnu.org>
8620
8621         * include/debug/array (array<>::swap): Fix noexcept qualificaton for
8622         zero-size array.
8623
8624 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8625
8626         * configure.host: Remove mep-* support.
8627
8628 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8629
8630         * configure: Regenerate.
8631         * configure.host: Remove support for knetbsd.
8632         * crossconfig.m4: Likewise.
8633
8634 2016-06-20  François Dumont  <fdumont@gcc.gnu.org>
8635
8636         PR libstdc++/71181
8637         * include/tr1/hashtable_policy.h
8638         (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
8639         dereferenceable to avoid check on lower_bound result.
8640         (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
8641         (_Prime_rehash_policy::_M_need_rehash): Likewise.
8642         * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
8643         Always return a value greater than input value. Set _M_next_resize to
8644         max value when reaching highest prime number.
8645         * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
8646         being now useless.
8647         * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
8648         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
8649         (test02): New.
8650         * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
8651         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8652         Fix indentation.
8653
8654 2016-06-17  Jonathan Wakely  <jwakely@redhat.com>
8655
8656         PR libstdc++/71545
8657         * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
8658         Remove irreflexive checks.
8659         * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
8660         binary_search): Likewise.
8661         * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
8662         * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
8663         * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
8664         * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
8665         * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
8666         Add constructor from array.
8667
8668 2016-06-16  François Dumont  <fdumont@gcc.gnu.org>
8669
8670         * include/debug/debug.h
8671         (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
8672         (__glibcxx_requires_subscript): Move...
8673         * include/debug/assertions.h: ...here and add __builtin_expect.
8674         (_GLIBCXX_DEBUG_ONLY): Remove ; value.
8675         * include/bits/stl_deque.h
8676         (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
8677         (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
8678         (std::deque<>::back()): Likewise.
8679         (std::deque<>::pop_front()): Likewise.
8680         (std::deque<>::pop_back()): Likewise.
8681         (std::deque<>::swap(deque&)): Add allocator check.
8682         * include/bits/stl_vector.h
8683         (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
8684         (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
8685         (std::vector<>::back()): Likewise.
8686         (std::vector<>::pop_back()): Likewise.
8687         (std::vector<>::swap(vector&)): Add allocator check.
8688
8689 2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>
8690
8691         Provide swappable traits (p0185r1)
8692         * include/std/type_traits (is_swappable, is_nothrow_swappable,
8693         is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
8694         is_nothrow_swappable_v, is_swappable_with_v,
8695         is_nothrow_swappable_with_v): New.
8696         * include/bits/stl_pair.h: Use it as per p0185r1.
8697         * include/bits/stl_queue.h: Likewise.
8698         * include/bits/stl_stack.h: Likewise.
8699         * include/bits/unique_ptr.h: Likewise.
8700         * include/std/tuple: Likewise.
8701         * include/std/array: Likewise. Fix zero-size member swap.
8702         * include/bits/hashtable.h: Use __and_.
8703         * testsuite/20_util/is_nothrow_swappable/requirements/
8704         explicit_instantiation.cc: Change test options to std=gnu++17.
8705         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
8706         Likewise.
8707         * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
8708         * testsuite/20_util/is_swappable/requirements/
8709         explicit_instantiation.cc: Likewise.
8710         * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
8711         * testsuite/20_util/is_swappable/value.cc: Likewise.
8712         * testsuite/20_util/is_nothrow_swappable/requirements/
8713         explicit_instantiation_ext.cc: New.
8714         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
8715         New.
8716         * testsuite/20_util/is_nothrow_swappable/value.h: New.
8717         * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
8718         * testsuite/20_util/is_nothrow_swappable_with/requirements/
8719         explicit_instantiation.cc: New.
8720         * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
8721         New.
8722         * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
8723         * testsuite/20_util/is_swappable/requirements/
8724         explicit_instantiation_ext.cc: New.
8725         * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
8726         * testsuite/20_util/is_swappable/value.h: New.
8727         * testsuite/20_util/is_swappable/value_ext.cc: New.
8728         * testsuite/20_util/is_swappable_with/requirements/
8729         explicit_instantiation.cc: New.
8730         * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
8731         * testsuite/20_util/is_swappable_with/value.cc: New.
8732         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
8733         dg-error line numbers.
8734         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
8735         Likewise.
8736
8737 2016-06-16  Jonathan Wakely  <jwakely@redhat.com>
8738
8739         * include/std/array: Remove trailing whitespace.
8740         * include/std/atomic: Likewise.
8741         * include/std/bitset: Likewise.
8742         * include/std/chrono: Likewise.
8743         * include/std/complex: Likewise.
8744         * include/std/condition_variable: Likewise.
8745         * include/std/fstream: Likewise.
8746         * include/std/functional: Likewise.
8747         * include/std/future: Likewise.
8748         * include/std/iomanip: Likewise.
8749         * include/std/iosfwd: Likewise.
8750         * include/std/istream: Likewise.
8751         * include/std/limits: Likewise.
8752         * include/std/ratio: Likewise.
8753         * include/std/scoped_allocator: Likewise.
8754         * include/std/sstream: Likewise.
8755         * include/std/stdexcept: Likewise.
8756         * include/std/string: Likewise.
8757         * include/std/system_error: Likewise.
8758         * include/std/thread: Likewise.
8759         * include/std/tuple: Likewise.
8760         * include/std/type_traits: Likewise.
8761         * include/std/utility: Likewise.
8762         * include/std/valarray: Likewise.
8763         * include/std/vector: Likewise.
8764
8765         * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
8766         new overloaded functions.
8767         * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
8768         to avoid creating a redundant temporary.
8769         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
8770         test.
8771
8772 2016-06-15  François Dumont  <fdumont@gcc.gnu.org>
8773
8774         * include/bits/stl_deque.h
8775         (std::deque<>::operator=): Call _M_assign_aux.
8776         (std::deque<>::assign(initializer_list<>)): Likewise.
8777         (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8778         (std::deque<>::insert(const_iterator, initializer_list<>)):
8779         Call _M_range_insert_aux.
8780         (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
8781         Likewise.
8782         (std::deque<>::_M_fill_assign): Call _M_fill_insert.
8783         (std::deque<>::_M_move_assign2): Call _M_assign_aux.
8784         * include/bits/deque.tcc
8785         (std::deque<>::operator=): Call _M_range_insert_aux.
8786         (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
8787         Likewise.
8788         * include/bits/stl_vector.h
8789         (std::vector<>::operator=): Call _M_assign_aux.
8790         (std::vector<>::assign(initializer_list<>)): Likewise.
8791         (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8792         (std::vector<>::insert(const_iterator, initializer_list<>)):
8793         Call _M_range_insert.
8794         * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
8795
8796 2016-06-07  François Dumont  <fdumont@gcc.gnu.org>
8797
8798         * include/std/tuple (_Head_base<>): Default specialization condition at
8799         type declaration.
8800
8801 2016-06-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8802
8803         Support allocators in tuples of zero size.
8804         * include/std/tuple (tuple<>::tuple(),
8805         tuple<>::tuple(allocator_arg_t, const _Alloc&),
8806         tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
8807         * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
8808
8809 2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
8810
8811         PR libstdc++/71320
8812         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
8813         Add or remove permissions according to perms argument.
8814         * testsuite/experimental/filesystem/operations/permissions.cc: New
8815         test.
8816
8817 2016-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8818
8819         Protect allocator-overloads of tuple-from-tuple constructors
8820         from cases that would create dangling references.
8821         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8822         const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
8823         tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
8824         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
8825
8826 2016-05-29  Gerald Pfeifer  <gerald@pfeifer.com>
8827
8828         * doc/xml/manual/backwards_compatibility.xml: Adjust
8829         lists.debian.org link to https.
8830         * doc/html/manual/backwards.html: Regenerate.
8831
8832 2016-05-27  Jonathan Wakely  <jwakely@redhat.com>
8833
8834         * doc/xml/manual/abi.xml: Adjust URL to use https.
8835         * doc/html/manual/*: Regenerate.
8836
8837 2016-05-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
8838
8839         PR libstdc++/66338
8840         * include/std/tuple (_TMC): Add a check for _NotSameTuple.
8841         * include/std/tuple (tuple(_UElements&&...)): Remove the separate
8842         check for _NotSameTuple.
8843         * include/std/tuple (_TMCT): New.
8844         * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
8845         * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
8846         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8847               const tuple<_UElements...>&)): Likewise.
8848         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8849               tuple<_UElements...>&&)): Likewise.
8850         * testsuite/20_util/tuple/cons/66338.cc: New.
8851
8852 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
8853
8854         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
8855         * configure: Regenerate.
8856         * config.h.in: Regenerate.
8857
8858         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
8859         * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
8860         Remove const qualification on function. Replace
8861         _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
8862         (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
8863         (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
8864
8865 2016-05-24  François Dumont  <fdumont@gcc.gnu.org>
8866
8867         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
8868         * include/bits/hashtable_policy.h
8869         (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
8870         having load factor management.
8871         (_Mask_range_hashing): New.
8872         (__clp2): New.
8873         (_Power2_rehash_policy): New.
8874         (_Inserts<>): Remove last template parameter, _Unique_keys, so that
8875         partial specializations only depend on whether iterators are constant
8876         or not.
8877         * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
8878         test new hash policy.
8879         * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
8880         Likewise.
8881         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8882         Likewise.
8883         * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
8884         Likewise.
8885         * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
8886         Likewise.
8887         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
8888         New.
8889         * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
8890         using the new hash policy.
8891         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
8892
8893 2016-05-24  Jonathan Wakely  <jwakely@redhat.com>
8894
8895         * include/bits/stl_queue.h (priority_queue::value_compare): Define.
8896
8897 2016-05-23  François Dumont  <fdumont@gcc.gnu.org>
8898
8899         * include/debug/safe_iterator.h
8900         (_Safe_iterator<>::operator->()): Implement using underlying iterator
8901         operator ->.
8902         * include/debug/safe_local_iterator.h
8903         (_Safe_local_iterator<>::operator->()): Likewise.
8904
8905 2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8906
8907         * testsuite/experimental/memory_resource/1.cc: Add required argument
8908         to dg-require-atomic-builtins.
8909
8910 2016-05-13  Jonathan Wakely  <jwakely@redhat.com>
8911
8912         PR libstdc++/71073
8913         * include/debug/bitset: Add #pragma GCC system_header.
8914         * include/debug/deque: Likewise.
8915         * include/debug/list: Likewise.
8916         * include/debug/map: Likewise.
8917         * include/debug/set: Likewise.
8918         * include/debug/string: Likewise.
8919         * include/debug/unordered_map: Likewise.
8920         * include/debug/unordered_set: Likewise.
8921         * include/debug/vector: Likewise.
8922         * include/debug/functions.h: Adjust whitespace.
8923
8924 2016-05-12  Jonathan Wakely  <jwakely@redhat.com>
8925
8926         PR libstdc++/71081
8927         * testsuite/experimental/memory_resource/1.cc: Require atomics.
8928
8929 2016-05-11  Jonathan Wakely  <jwakely@redhat.com>
8930
8931         PR libstdc++/71049
8932         * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
8933         exception constructors with __sso_string parameters.
8934
8935 2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
8936
8937         * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
8938         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8939         Test begin and end functions.
8940         * testsuite/experimental/filesystem/iterators/
8941         recursive_directory_iterator.cc: Likewise.
8942
8943         PR libstdc++/71038
8944         * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
8945         * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
8946
8947         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8948         Overload operator* to move from rvalues.
8949
8950         PR libstdc++/71036
8951         * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
8952         * testsuite/experimental/filesystem/operations/create_directory.cc:
8953         New test.
8954
8955         PR libstdc++/71037
8956         * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
8957         base path to exception.
8958         * testsuite/experimental/filesystem/operations/canonical.cc: Test
8959         paths contained in exception.
8960
8961         * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
8962         using declaration.
8963
8964         PR libstdc++/71005
8965         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8966         New type.
8967         (directory_iterator::operator++(int)): Return proxy.
8968         (recursive_directory_iterator::operator++(int)): Likewise.
8969         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8970         Test post-increment.
8971         * testsuite/experimental/filesystem/iterators/
8972         recursive_directory_iterator.cc: Likewise.
8973
8974 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8975
8976         PR libstdc++/71004
8977         * testsuite/experimental/filesystem/iterators/
8978         recursive_directory_iterator.cc: Fix test02 to not call member
8979         functions on invalid iterator, and use VERIFY not assert.
8980
8981 2016-05-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
8982
8983         Avoid endless run-time recursion for copying single-element
8984         tuples where the element type is by-value constructible
8985         from any type.
8986         * include/std/tuple (_NotSameTuple): New.
8987         * include/std/tuple (tuple(_UElements&&...): Use it.
8988         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
8989
8990 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8991
8992         PR libstdc++/71004
8993         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
8994         Initialize scalar member variables in default constructor.
8995         * testsuite/experimental/filesystem/iterators/
8996         recursive_directory_iterator.cc: Test default construction.
8997
8998 2016-05-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8999
9000         * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
9001
9002 2016-05-05  Jonathan Wakely  <jwakely@redhat.com>
9003
9004         * testsuite/experimental/filesystem/path/native/string.cc: Add
9005         dg-require-filesystem-ts directive.
9006
9007 2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
9008
9009         PR libstdc++/70940
9010         * include/experimental/memory_resource
9011         (__resource_adaptor_imp::do_allocate): Do not default-construct
9012         rebound allocator.
9013         (__resource_adaptor_imp::do_deallocate): Likewise. Use
9014         allocator_traits to get pointer type.
9015         (__null_memory_resource::do_allocate): Remove unused parameters.
9016         (__null_memory_resource::do_deallocate): Likewise.
9017         (__null_memory_resource::do_is_equal): Likewise. Add return statement.
9018         * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
9019         * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
9020         move to ...
9021         * testsuite/experimental/memory_resource/1.cc: Here.
9022         * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
9023         * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
9024
9025 2016-04-29  Chris Gregory  <czipperz@gmail.com>
9026
9027         * config/*: Remove trailing whitespace.
9028         * src/*: Likewise.
9029         * testsuite/tr1/*: Likewise.
9030         * testsuite/util/*: Likewise.
9031
9032 2016-04-28  Jonathan Wakely  <jwakely@redhat.com>
9033
9034         PR libstdc++/70766
9035         * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
9036         __addressof.
9037         * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
9038         Likewise.
9039         * include/std/atomic (atomic<_Tp>): Likewise.
9040         * include/std/shared_mutex (shared_lock): Likewise.
9041         * testsuite/24_iterators/istream_iterator/70766.cc: New test.
9042         * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
9043         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
9044         * testsuite/29_atomics/atomic/70766.cc: New test.
9045         * testsuite/30_threads/shared_lock/70766.cc: New test.
9046
9047         * include/bits/hashtable_policy.h (__detail::_Insert_base,
9048         __detail::_Insert): Improve comments.
9049
9050 2016-04-27  Jonathan Wakely  <jwakely@redhat.com>
9051
9052         PR libstdc++/70767
9053         * include/std/limits: Update comments about DRs.
9054         (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
9055         numeric_limits<const volatile _Tp>): Define unconditionally.
9056
9057 2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
9058
9059         PR libstdc++/70762
9060         * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
9061         static counter to return a different path on every call.
9062
9063 2016-04-22  Tim Shen  <timshen@google.com>
9064
9065         PR libstdc++/70745
9066         * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
9067         Fix the match_not_bow and match_not_eow behavior.
9068         * testsuite/28_regex/regression.cc: Add testcase.
9069
9070 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
9071
9072         PR libstdc++/69703
9073         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
9074         __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
9075
9076 2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
9077
9078         PR libstdc++/69703
9079         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
9080         Override endianness bit in mode.
9081         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
9082         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
9083         that little_endian mode is ignored.
9084         * testsuite/experimental/filesystem/path/native/string.cc: New test.
9085
9086         PR libstdc++/70609
9087         * src/filesystem/ops.cc (close_fd): New function.
9088         (do_copy_file): Set permissions before copying file contents. Check
9089         result of closing file descriptors. Don't copy streambuf when file
9090         is empty.
9091         (copy(const path&, const path&, copy_options, error_code&)): Use
9092         lstat for source file when copy_symlinks is set.
9093         * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
9094
9095         * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
9096         operator~ operator&=, operator|=, operator^=): Add noexcept to
9097         overloaded operators for copy_options, perms and directory_options.
9098         * src/filesystem/ops.cc (make_file_type, make_file_status,
9099         is_not_found_errno, file_time): Add noexcept.
9100
9101 2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>
9102
9103         * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
9104
9105 2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
9106
9107         PR libstdc++/41759
9108         * include/bits/random.h: Reword static assertion messages to state
9109         positive conditions.
9110         * include/bits/random.tcc: Likewise.
9111         * include/bits/uniform_int_dist.h: Likewise.
9112         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
9113         patterns.
9114
9115         * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
9116
9117         * config/cpu/sh/atomicity.h: Fix typo in comment.
9118
9119         PR libstdc++/70294
9120         * include/std/thread (operator<, operator==): Move definitions to
9121         namespace-scope.
9122         * testsuite/30_threads/thread/id/70294.cc: New test.
9123
9124         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
9125         -Wno-pedantic to dg-options.
9126         * testsuite/20_util/align/2.cc: Use type as operand of alignof.
9127         * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
9128         to dg-options.
9129         * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
9130         Remove extra semi-colon.
9131         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
9132         Always supply second argument to static_assert.
9133         * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
9134         semi-colon.
9135         * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
9136         dg-options.
9137         * testsuite/26_numerics/complex/literals/values.cc: Likewise.
9138         * testsuite/29_atomics/atomic/60695.cc: Likewise.
9139         * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
9140         alignof when operand is an object not a type.
9141         * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
9142         * testsuite/decimal/make-decimal.cc: Likewise.
9143         * testsuite/experimental/type_traits/value.cc: Always supply second
9144         argument to static_assert.
9145         * testsuite/util/testsuite_common_types.h: Use __extension__ for
9146         __int128 types.
9147
9148         * testsuite/experimental/type_erased_allocator/1.cc: Don't include
9149         internal header.
9150         * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
9151         * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
9152         * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
9153         Likewise. Add licence and change to compile-only test.
9154
9155         * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
9156         unused parameter.
9157         * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
9158
9159         * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
9160         warnings.
9161
9162 2016-04-17  Edward Smith-Rowland  <3dw4rd@verizon.net>
9163
9164         * include/bits/specfun.h: Trivial comment misspelling.
9165
9166 2016-04-14  Jason Merrill  <jason@redhat.com>
9167
9168         Revert Jonathan's empty ABI change from yesterday.
9169
9170 2016-04-13  Martin Sebor  <msebor@redhat.com>
9171
9172         PR c++/69517
9173         * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
9174         upper bound is positive.
9175
9176 2016-04-13  Jonathan Wakely  <jwakely@redhat.com>
9177
9178         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
9179         _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
9180         * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
9181         of functions taking empty structs by value. Add a template parameter
9182         to overloads without hints. Rename overloads with hints to
9183         _M_emplace_hint.
9184         (_Hashtable::_M_erase(true_type, const_iterator),
9185         _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
9186         by reordering parameters.
9187         * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
9188         _M_emplace_hint instead of _M_emplace.
9189         * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
9190         shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
9191         * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
9192         __shared_ptr): Likewise.
9193         * include/bits/stl_algo.h (replace_if): Likewise.
9194         * include/bits/stl_pair.h (piecewise_construct_t,
9195         piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
9196         * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
9197         __uses_alloc0): Likewise.
9198         * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
9199         * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
9200         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
9201         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
9202         * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
9203         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
9204         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
9205
9206 2016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
9207
9208         Document C++17/TR29124 C++ Special Math Functions.
9209         * include/bits/specfun.h: Add Doxygen markup.
9210
9211 2016-04-07  Jonathan Wakely  <jwakely@redhat.com>
9212
9213         * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
9214
9215 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
9216
9217         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
9218         * src/Makefile.in: Regenerate.
9219
9220 2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
9221
9222         PR libstdc++/70554
9223         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
9224         __atomic_fetch_add for bool.
9225         * configure: Regenerate.
9226
9227         * testsuite/30_threads/thread/70503.cc: Require -static to work.
9228
9229         PR libstdc++/70503
9230         * src/c++11/thread.cc (execute_native_thread_routine,
9231         execute_native_thread_routine_compat): Give internal linkage.
9232         * testsuite/30_threads/thread/70503.cc: New test.
9233
9234 2016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
9235
9236         PR libstdc++/70437
9237         * include/bits/stl_pair.h (_ConstructiblePair,
9238         _ImplicitlyConvertiblePair, _MoveConstructiblePair,
9239         _ImplicitlyMoveConvertiblePair): Add shortcut conditions
9240         for same-type cases.
9241         * testsuite/20_util/pair/70437.cc: New.
9242
9243 2016-03-24  Jonathan Wakely  <jwakely@redhat.com>
9244
9245         PR libstdc++/69945
9246         * config/abi/pre/gnu.ver: Add new symbol.
9247         * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
9248         * testsuite/18_support/free_eh_pool.cc: New test.
9249
9250 2016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9251
9252         * include/Makefile.am (install-freestanding-headers): Add
9253         concept_check.h and move.h to the installed headers.
9254         * include/Makefile.in: Regenerated.
9255         * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
9256         freestanding implementations.
9257         * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
9258         that this macro has no effect for freestanding implementations.
9259         * doc/html/manual/using_macros.html: Likewise.
9260
9261 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
9262
9263         PR libstdc++/69939
9264         * include/experimental/tuple (__apply_impl): Qualify get and forward.
9265
9266 2016-02-23  Jonathan Wakely  <jwakely@redhat.com>
9267
9268         * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
9269         * doc/html/*: Regenerate.
9270
9271         PR libstdc++/69893
9272         * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
9273         exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
9274         llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
9275         nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
9276         trunc) [__cplusplus >= 201103L]: Import from namespace std.
9277         (fabs) [__cplusplus < 201103L]: Import from namespace std.
9278         * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
9279         Likewise.
9280         * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
9281         namespace before including TR1 headers.
9282         * testsuite/tr1/headers/c++200x/math.cc: New test.
9283
9284 2016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9285
9286         PR libstdc++/69881
9287         * include/c_global/cstdarg: Undefine __need___va_list.
9288         * include/c_global/cstddef: Undefine all kinds of __need_*.
9289
9290 2016-02-16  Tim Shen  <timshen@google.com>
9291
9292         PR libstdc++/69794
9293         * include/bits/regex_scanner.h: Add different special character
9294         sets for grep and egrep regex.
9295         * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
9296         * testsuite/28_regex/regression.cc: Add new testcase.
9297
9298 2016-02-08  Jonathan Wakely  <jwakely@redhat.com>
9299
9300         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
9301         added 'constexpr' in previous commit.
9302         * configure: Regenerate.
9303
9304         PR libstdc++/48891
9305         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
9306         checks for all targets except *-*-solaris2.* and ensure we find the
9307         libc math.h header not our own.
9308         * configure: Regenerate.
9309
9310 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
9311
9312         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
9313         New file.  Copied over from s390-linux-gnu.
9314
9315 2016-02-04  Jonathan Wakely  <jwakely@redhat.com>
9316
9317         PR libstdc++/69626
9318         * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
9319         with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
9320         * config.h.in: Regenerate.
9321         * configure: Regenerate.
9322         * testsuite/21_strings/c_strings/char/69626.cc: New.
9323
9324         * doc/html/index.html: Regenerate.
9325
9326         * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
9327         * doc/xml/manual/spine.xml: Update copyright years and author blurb.
9328         * doc/html/*: Regenerate.
9329
9330 2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9331
9332         PR libstdc++/69581
9333         * include/c_compatibility/math.h: Move header guards.
9334         * include/c_compatibility/stdlib.h: Likewise.
9335
9336 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
9337
9338         PR libstdc++/69506
9339         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9340
9341 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
9342
9343         PR libstdc++/69450
9344         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
9345         isinf and isnan functions into two independent checks.  Check on hpux.
9346         * config.h.in: Regenerate.
9347         * configure: Regenerate.
9348         * include/c_global/cmath (isinf(double), isnan(double)): Use
9349         _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
9350         respectively.
9351
9352 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
9353
9354         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
9355
9356 2016-01-27  Jonathan Wakely  <jwakely@redhat.com>
9357
9358         PR libstdc++/69295
9359         * testsuite/ext/special_functions/hyperg/check_value.cc: Use
9360         -ffp-contract=off, and -ffloat-store to disable excess precision.
9361         * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
9362         -ffp-contract=off.
9363
9364 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
9365
9366         PR libstdc++/69478
9367         * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
9368         random_access_iterator_tag>): Check is_move_assignable when moving.
9369         (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
9370         Likewise.
9371         * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
9372         * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
9373         * testsuite/25_algorithms/move/69478.cc: New.
9374         * testsuite/25_algorithms/move_backward/69478.cc: new.
9375
9376 2016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
9377
9378         * include/c_compatibility/stdlib.h: Include wide character related
9379         definitions only when they are available in cstdlib.
9380
9381 2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
9382
9383         PR libstdc++/69464
9384         * include/Makefile.am: Add new header.
9385         * include/Makefile.in: Regenerate.
9386         * include/bits/random.h (uniform_int_distribution): Move to
9387         bits/uniform_int_dist.h.
9388         * include/bits/random.tcc (uniform_int_distribution::operator(),
9389         uniform_int_distribution::__generate_impl): Likewise.
9390         * include/bits/uniform_int_dist.h: New header.
9391         * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
9392         <bits/uniform_int_dist.h> instead of <random>.
9393         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
9394         move_iterators/1.cc: Include correct header for uninitialized_copy.
9395         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
9396         move_iterators/1.cc: Likewise.
9397         * testsuite/25_algorithms/nth_element/58800.cc: Include correct
9398         header for vector.
9399         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
9400
9401 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
9402
9403         PR libstdc++/69446
9404         * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9405
9406 2016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
9407
9408         TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
9409         * include/c_compatibility/math.h: Import the TR29124 functions
9410         into the global namespace.
9411         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
9412         xfail and make compile-only.
9413         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
9414         * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
9415         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
9416         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
9417         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
9418         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
9419         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
9420         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
9421         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
9422         * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
9423         * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
9424         * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
9425         * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
9426         * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
9427         * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
9428         * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
9429         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
9430         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
9431         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
9432         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
9433
9434 2016-01-22  Jonathan Wakely  <jwakely@redhat.com>
9435
9436         PR libstdc++/69116
9437         * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
9438         define result_type for types which can be safely used with valarrays.
9439         * testsuite/26_numerics/valarray/69116.cc: New.
9440
9441         PR libstdc++/69413
9442         * config/os/gnu-linux/os_defines.h: Define
9443         _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
9444         * include/c_global/cmath (isinf, isnan): Check it.
9445         * doc/xml/manual/internals.xml: Document it.
9446         * doc/html/*: Regenerate.
9447
9448 2016-01-21  Jonathan Wakely  <jwakely@redhat.com>
9449
9450         PR libstdc++/69406
9451         * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
9452         * include/ext/type_traits.h: Likewise.
9453         * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
9454         for presence of C headers.
9455         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
9456         dg-error line number.
9457         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
9458         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
9459         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
9460
9461 2016-01-20  Torvald Riegel  <triegel@redhat.com>
9462
9463         PR libstdc++/69310
9464         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9465
9466 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
9467
9468         PR libstdc++/60401
9469         * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
9470         copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
9471         lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
9472         nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
9473         tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
9474         Add using declarations.
9475         * testsuite/26_numerics/headers/cmath/60401.cc: New.
9476
9477         PR libstdc++/69386
9478         * include/c_global/ccomplex: Ensure C++ language linkage.
9479         * include/c_global/cmath: Likewise.
9480         * include/c_global/cstdlib: Likewise.
9481         * include/c_global/ctgmath: Likewise.
9482         * testsuite/17_intro/headers/c++2011/linkage.cc: New.
9483
9484 2016-01-19  Jonathan Wakely  <jwakely@redhat.com>
9485
9486         PR libstdc++/14608
9487         PR libstdc++/60401
9488         * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
9489         --enable-cheaders=c_global configs.
9490         * include/Makefile.in: Regenerate.
9491         * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
9492         test and allow inclusion from C files.
9493         * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
9494         (at_quick_exit, quick_exit): Add using directives.
9495         * include/c_global/cmath: Use #include_next for math.h.
9496         * include/c_global/cstdlib: Use #include_next for stdlib.h.
9497         * testsuite/26_numerics/headers/cmath/14608.cc: New.
9498         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
9499         Remove xfail for most targets.
9500         * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
9501
9502 2016-01-18  Torvald Riegel  <triegel@redhat.com>
9503
9504         * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
9505         (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
9506         and move after its definition.
9507         * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
9508         * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
9509         __GXX_WEAK__, and only provide transactional clones if
9510         _GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
9511         functions.
9512
9513 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
9514
9515         PR libstdc++/60637
9516         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
9517
9518         PR libstdc++/69243
9519         * include/std/functional (_Function_base::_M_not_empty_function):
9520         Change overloads for pointers to take arguments by value.
9521         * testsuite/20_util/function/cons/57465.cc: Add tests for
9522         pointer-to-member cases.
9523
9524         PR libstdc++/69340
9525         * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
9526         Use macros for exception handling and fix unused parameter warning.
9527
9528 2016-01-17  John David Anglin  <danglin@gcc.gnu.org>
9529
9530         PR libstdc++/68734
9531         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
9532
9533 2016-01-17  Torvald Riegel  <triegel@redhat.com>
9534
9535         * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
9536
9537 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
9538
9539         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
9540         __int128 symbols.
9541
9542 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9543
9544         PR libstdc++/69293
9545         * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
9546         static assertion that type is constructible from the arguments.
9547         * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
9548         * testsuite/20_util/uses_allocator/69293_neg.cc: New.
9549         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
9550
9551         PR libstdc++/69294
9552         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9553         and isnan on AIX. Quote variables.
9554         * configure: Regenerate.
9555
9556 2016-01-15  Torvald Riegel  <triegel@redhat.com>
9557
9558         * include/bits/basic_string.h (basic_string): Declare friends.
9559         * include/bits/c++config (_GLIBCXX_TXN_SAFE,
9560         _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
9561         * include/std/stdexcept (logic_error, domain_error, invalid_argument,
9562         length_error, out_of_range, runtime_error, range_error,
9563         underflow_error, overflow_error): Declare members as transaction-safe.
9564         (logic_error, runtime_error): Declare friend functions.
9565         * libsupc++/exception (exception, bad_exception): Declare members as
9566         transaction-safe.
9567         * src/c++11/cow-stdexcept.cc: Define transactional clones for the
9568         transaction-safe members of exceptions and helper functions.
9569         * libsupc++/eh_exception.cc: Adjust and define transactional clones.
9570         * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
9571         (CXXABI_1.3.10): New.
9572         * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
9573         (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
9574         * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
9575         * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
9576         * include/Makefile.in: Regenerate.
9577         * config.h.in: Regenerate.
9578         * configure: Regenerate.
9579         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
9580
9581 2016-01-15  Steve Ellcey  <sellcey@imgtec.com>
9582
9583         * include/ext/random.tcc: Use __builtin_isfinite instead of
9584         std::isfinite.
9585
9586 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9587
9588         * include/bits/std_mutex.h: Fix Doxygen @file name.
9589
9590 2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
9591             Jonathan Wakely  <jwakely@redhat.com>
9592             Florian Goth <CaptainSifff@gmx.de>
9593
9594         Implement TR29124 C++ special Math Functions.
9595         * include/Makefile.am: Add new headers.
9596         * include/Makefile.in: Regenerate.
9597         * include/bits/specfun.h: New.
9598         * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
9599         * include/tr1/bessel_function.tcc: Ditto.
9600         * include/tr1/beta_function.tcc: Ditto.
9601         * include/tr1/cmath: Ditto.
9602         * include/tr1/ell_integral.tcc: Ditto.
9603         * include/tr1/exp_integral.tcc: Ditto.
9604         * include/tr1/gamma.tcc: Ditto.
9605         * include/tr1/hypergeometric.tcc: Ditto.
9606         * include/tr1/legendre_function.tcc: Ditto.
9607         * include/tr1/modified_bessel_func.tcc: Ditto.
9608         * include/tr1/poly_hermite.tcc: Ditto.
9609         * include/tr1/poly_laguerre.tcc: Ditto.
9610         * include/tr1/riemann_zeta.tcc: Ditto.
9611         * include/tr1/special_function_util.h: Ditto.
9612         * testsuite/ext/special_functions/conf_hyperg: New.
9613         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
9614         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
9615         * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
9616         * testsuite/ext/special_functions/hyperg: New.
9617         * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
9618         * testsuite/ext/special_functions/hyperg/check_value.cc: New.
9619         * testsuite/ext/special_functions/hyperg/compile.cc: New.
9620         * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
9621         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
9622         * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
9623         * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
9624         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
9625         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
9626         * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
9627         * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
9628         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
9629         * testsuite/special_functions/03_beta/check_nan.cc: New.
9630         * testsuite/special_functions/03_beta/check_value.cc: New.
9631         * testsuite/special_functions/03_beta/compile.cc: New.
9632         * testsuite/special_functions/03_beta/compile_2.cc: New.
9633         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
9634         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
9635         * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
9636         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
9637         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
9638         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
9639         * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
9640         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
9641         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
9642         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
9643         * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
9644         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
9645         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
9646         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
9647         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
9648         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
9649         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
9650         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
9651         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
9652         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
9653         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
9654         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
9655         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
9656         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
9657         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
9658         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
9659         * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
9660         * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
9661         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
9662         * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
9663         * testsuite/special_functions/11_ellint_1/check_value.cc: New.
9664         * testsuite/special_functions/11_ellint_1/compile.cc: New.
9665         * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
9666         * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
9667         * testsuite/special_functions/12_ellint_2/check_value.cc: New.
9668         * testsuite/special_functions/12_ellint_2/compile.cc: New.
9669         * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
9670         * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
9671         * testsuite/special_functions/13_ellint_3/check_value.cc: New.
9672         * testsuite/special_functions/13_ellint_3/compile.cc: New.
9673         * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
9674         * testsuite/special_functions/14_expint/check_nan.cc: New.
9675         * testsuite/special_functions/14_expint/check_value.cc: New.
9676         * testsuite/special_functions/14_expint/compile.cc: New.
9677         * testsuite/special_functions/14_expint/compile_2.cc: New.
9678         * testsuite/special_functions/15_hermite/check_nan.cc: New.
9679         * testsuite/special_functions/15_hermite/check_value.cc: New.
9680         * testsuite/special_functions/15_hermite/compile.cc: New.
9681         * testsuite/special_functions/15_hermite/compile_2.cc: New.
9682         * testsuite/special_functions/16_laguerre/check_nan.cc: New.
9683         * testsuite/special_functions/16_laguerre/check_value.cc: New.
9684         * testsuite/special_functions/16_laguerre/compile.cc: New.
9685         * testsuite/special_functions/16_laguerre/compile_2.cc: New.
9686         * testsuite/special_functions/17_legendre/check_nan.cc: New.
9687         * testsuite/special_functions/17_legendre/check_value.cc: New.
9688         * testsuite/special_functions/17_legendre/compile.cc: New.
9689         * testsuite/special_functions/17_legendre/compile_2.cc: New.
9690         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
9691         * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
9692         * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
9693         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
9694         * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
9695         * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
9696         * testsuite/special_functions/19_sph_bessel/compile.cc: New.
9697         * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
9698         * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
9699         * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
9700         * testsuite/special_functions/20_sph_legendre/compile.cc: New.
9701         * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
9702         * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
9703         * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
9704         * testsuite/special_functions/21_sph_neumann/compile.cc: New.
9705         * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
9706         * testsuite/util/specfun_testcase.h: New.
9707         * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
9708         * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
9709         * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
9710         * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
9711         * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
9712         * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
9713         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
9714
9715 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
9716
9717         PR libstdc++/48891
9718         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9719         and isnan functions.
9720         * config.h.in: Regenerate.
9721         * configure: Regenerate.
9722         * include/c_global/cmath (isinf(double), isnan(double))
9723         [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
9724         * testsuite/26_numerics/headers/cmath/48891.cc: New.
9725
9726 2016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9727
9728         PR libstdc++/66006
9729         * configure.host (abi_baseline_pair): Use separate baseline for
9730         Solaris 11+ and Solaris 10 with gld.
9731         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
9732         * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
9733         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
9734
9735 2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
9736
9737         PR libstdc++/68877
9738         * include/std/type_traits: Following N4511, reimplement __is_swappable
9739         and __is_nothrow_swappable. Move __is_swappable to namespace std,
9740         adjust callers. Use __is_nothrow_swappable in swap.
9741         * include/bits/move.h: Use __is_nothrow_swappable in swap.
9742         * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
9743         __is_swappable related tests.
9744         * testsuite/20_util/is_swappable/value.cc: New.
9745         * testsuite/20_util/is_swappable/requirements/
9746         explicit_instantiation.cc: New.
9747         * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
9748         * testsuite/25_algorithms/swap/68877.cc: New.
9749
9750 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
9751
9752         * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
9753
9754         PR libstdc++/69005
9755         PR libstdc++/69222
9756         * include/std/functional (function::_Invoke): Remove, use result_of.
9757         (function::_Callable): Replace alias template with class template
9758         and use partial specialization instead of _NotSelf alias template.
9759         (function(_Functor)): Add "not self" constraint so that _Callable is
9760         not used while type is incomplete.
9761         * testsuite/20_util/function/69222.cc: New.
9762
9763 2016-01-11  Jonathan Wakely  <jwakely@redhat.com>
9764
9765         PR libstdc++/60976
9766         * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
9767         Define partial specialization.
9768         * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
9769         destroy members to std::allocator explicit specialization.
9770
9771 2016-01-08  Jonathan Wakely  <jwakely@redhat.com>
9772
9773         * testsuite/26_numerics/headers/cmath/
9774         c99_classification_macros_c++.cc: Rename to ...
9775         * testsuite/26_numerics/headers/cmath/
9776         c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
9777         * testsuite/26_numerics/headers/cmath/
9778         c99_classification_macros_c++0x.cc: Rename to ...
9779         * testsuite/26_numerics/headers/cmath/
9780         c99_classification_macros_c++11.cc: Here.
9781
9782         PR libstdc++/69190
9783         * include/bits/uses_allocator.h: Add missing include.
9784
9785 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
9786
9787         PR libstdc++/69105
9788         PR libstdc++/69106
9789         PR libstdc++/69114
9790         * include/bits/stl_iterator.h (back_insert_iterator,
9791         front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
9792         * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
9793         * include/std/future (__future::base::_State_baseV2::__setter):
9794         Likewise.
9795         * include/std/scoped_allocator (__outermost): Likewise.
9796         * testsuite/20_util/scoped_allocator/69114.cc: New.
9797         * testsuite/20_util/uses_allocator/69114.cc: New.
9798         * testsuite/30_threads/promise/69106.cc: New.
9799
9800 2016-01-06  Jonathan Wakely  <jwakely@redhat.com>
9801
9802         PR libstdc++/69092
9803         * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
9804         Remove _GLIBCXX_NOEXCEPT.
9805         testsuite/21_strings/basic_string/cons/char/69092.cc: New.
9806
9807         * include/Makefile.am: Adjust.
9808         * include/Makefile.in: Regenerate.
9809         * include/bits/mutex.h: Rename to bits/std_mutex.h.
9810         * include/std/condition_variable: Adjust include.
9811         * include/std/mutex: Likewise.
9812
9813 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
9814
9815         Update copyright years.
9816 \f
9817 Copyright (C) 2016 Free Software Foundation, Inc.
9818
9819 Copying and distribution of this file, with or without modification,
9820 are permitted in any medium without royalty provided the copyright
9821 notice and this notice are preserved.