Use _GLIBCXX_THROW macro in bitmap_allocator
[platform/upstream/gcc.git] / libstdc++-v3 / ChangeLog
1 2016-12-07  Jonathan Wakely  <jwakely@redhat.com>
2
3         * include/ext/bitmap_allocator.h (bitmap_allocator::_S_refill_pool)
4         (bitmap_allocator::_M_allocate_single_object)
5         (bitmap_allocator::_M_get): Use _GLIBCXX_THROW macro.
6
7         * testsuite/18_support/bad_exception/59392.cc: Disable for C++17.
8
9         * testsuite/18_support/headers/new/synopsis.cc: Add C++14 and C++17
10         declarations.
11         * testsuite/18_support/headers/new/synopsis_cxx98.cc: New test.
12
13 2016-12-06  Felipe Magno de Almeida  <felipe@expertisesolutions.com.br>
14
15         * src/c++11/cow-stdexcept.cc: Add special case for 16 bit pointers.
16
17         * crossconfig.m4: Add avr target for cross-compilation.
18         * configure: Regenerate.
19
20 2016-12-06  Jonathan Wakely  <jwakely@redhat.com>
21
22         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Update for new
23         data member name.
24         * testsuite/libstdc++-prettyprinters/cxx17.cc: Remove redundant test.
25
26         * include/bits/shared_ptr_base.h
27         (__shared_ptr_access<T, L, false, true>::operator->()): Fix assertion.
28
29 2016-12-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
30
31         Constrain optional's __constexpr_addressof in its return type
32         and use a constexpr addressof for optional, if available.
33         * include/experimental/optional (__constexpr_addressof):
34         Constrain in the return type instead of in a template parameter.
35         (_Has_addressof_mem)
36         (_Has_addressof_free, _Has_addressof, __constexpr_addressof):
37         Guard with #ifndef __cpp_lib_addressof_constexpr.
38         (operator->()): Use std::__addressof if it's constexpr.
39
40 2016-12-06  Tim Shen  <timshen@google.com>
41
42         * include/std/variant (visit): Make visit constexpr. Also cleanup
43         __get_alternative and __storage, since we don't support reference/void
44         alternatives any more.
45         * testsuite/20_util/variant/compile.cc: Add tests.
46
47 2016-12-06  Tim Shen  <timshen@google.com>
48
49         * include/bits/enable_special_members.h: Make
50         _Enable_default_constructor constexpr.
51         * include/std/variant (variant::emplace, variant::swap, std::swap,
52         std::hash): Sfinae on emplace and std::swap; handle __poison_hash bases
53         of duplicated types.
54
55 2016-12-06  Tim Shen  <timshen@google.com>
56
57         * include/std/variant (std::get, operator==): Implement constexpr
58         comparison and get<>.
59         * testsuite/20_util/variant/compile.cc: Tests.
60
61 2016-12-06  Tim Shen  <timshen@google.com>
62
63         * include/std/variant (__erased_use_alloc_ctor,
64         _Variant_base::_Variant_base, variant::variant): Remove uses-allocator
65         related functions.
66         * testsuite/20_util/variant/compile.cc: Remove related tests.
67         * testsuite/20_util/variant/run.cc: Remove related tests.
68
69 2016-12-06  Aditya Kumar  <hiraditya@msn.com>
70
71         * src/c++11/shared_ptr.cc (_Sp_locker::_Sp_locker(const void* p)): Add
72         noexcept on constructor.
73         (_Sp_locker::_Sp_locker(const void* p1, const void* p2)): Same.
74
75 2016-12-06  Jonathan Wakely  <jwakely@redhat.com>
76
77         * include/bits/basic_string.h (basic_string::find, basic_string::rfind)
78         (basic_string::find_first_of, basic_string::find_last_of)
79         (basic_string::find_first_not_of, basic_string::find_last_not_of):
80         Make all overloads noexcept.
81         (basic_string::compare(const _CharT*)): Make noexcept.
82
83 2016-12-03  John David Anglin  <danglin@gcc.gnu.org>
84
85         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Regenerate.
86
87 2016-12-01  David Edelsohn  <dje.gcc@gmail.com>
88
89         * testsuite/26_numerics/headers/cmath/hypot.cc: XFAIL on AIX.
90
91 2016-12-01  Ville Voutilainen  <ville.voutilainen@gmail.com>
92
93         Implement LWG 2766,
94         Swapping non-swappable types and LWG 2749,
95         swappable traits for variants.
96         * include/bits/move.h (swap(_Tp&, _Tp&)): Constrain
97         with __is_tuple_like.
98         * include/bits/stl_pair.h (swap(pair<_T1, _T2>&, pair<_T1, _T2>&)):
99         Add a deleted overload.
100         * include/bits/unique_ptr.h
101         (swap(unique_ptr<_Tp, _Dp>&, unique_ptr<_Tp, _Dp>&)): Likewise.
102         * include/std/array
103         (swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&)): Likewise.
104         * include/std/optional
105         (swap(optional<_Tp>&, optional<_Tp>&)): Likewise.
106         * include/std/tuple (__is_tuple_like_impl, __is_tuple_like):
107         Move to type_traits.
108         (swap(tuple<_Elements...>&, tuple<_Elements...>&)): Add a deleted
109         overload.
110         * include/std/type_traits (__is_tuple_like_impl, __is_tuple_like):
111         New.
112         (swap(_Tp&, _Tp&)): Constrain with __is_tuple_like.
113         * include/std/utility (__is_tuple_like_impl): Move to type_traits.
114         * include/std/variant
115         (swap(variant<_Types...>&, variant<_Types...>&)):
116         Add a deleted overload.
117         * testsuite/20_util/optional/swap/2.cc: Add tests for disabled
118         swaps.
119         * testsuite/20_util/pair/swap_cxx17.cc: New.
120         * testsuite/20_util/tuple/swap_cxx17.cc: Likewise.
121         * testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc:
122         Likewise.
123         * testsuite/20_util/variant/compile.cc: Add tests for disabled
124         swaps.
125         * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
126         New.
127         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
128         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
129         Likewise.
130
131 2016-12-01  Ville Voutilainen  <ville.voutilainen@gmail.com>
132
133         The convertible_to traits need to use a variadic catch-all for the
134         false-cases.
135         * include/std/istream (__is_convertible_to_basic_istream):
136         Change the parameter of the false-case of __check to a variadic.
137         * include/std/ostream (__is_convertible_to_basic_ostream):
138         Likewise.
139
140 2016-12-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
141
142         * crossconfig.m4 (*-linux*): Add link-check for memalign.
143         * configure: Regenerated.
144
145 2016-12-01  Tim Shen  <timshen@google.com>
146
147         PR libstdc++/71500
148         * include/bits/regex.h (basic_regex::basic_regex): Use ECMAScript
149         when the syntax is not specified.
150         * include/bits/regex_compiler.h (_RegexTranslator,
151         _RegexTranslatorBase): Partially support icase in ranges.
152         * include/bits/regex_compiler.tcc (_BracketMatcher::_M_apply):
153         Refactor _M_apply to make the control flow easier to follow, and
154         call _M_translator._M_match_range as added previously.
155         * testsuite/28_regex/traits/char/icase.cc: Add new tests.
156         * testsuite/28_regex/traits/char/user_defined.cc: Add new tests.
157
158 2016-11-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
159
160         Fix testsuite failures caused by the patch implementing LWG 2534.
161         * include/std/istream (__is_convertible_to_basic_istream):
162         Change the return types of __check, introduce istream_type.
163         (operator>>(_Istream&&, _Tp&&)):
164         Use __is_convertible_to_basic_istream::istream_type as the return type.
165         * include/std/ostream (__is_convertible_to_basic_ostream):
166         Change the return types of __check, introduce ostream_type.
167         (operator>>(_Ostream&&, _Tp&&)):
168         Use __is_convertible_to_basic_ostream::ostream_type as the return type.
169
170 2016-11-30  Tim Shen  <timshen@google.com>
171
172         * include/bits/shared_ptr_base.h
173         (__shared_ptr_access<T, L, true, false>::operator*()): Fix assertion.
174
175 2016-11-30  David Edelsohn  <dje.gcc@gmail.com>
176
177         * testsuite/18_support/50594.cc: XFAIL on AIX.
178         * testsuite/ext/mt_allocator/check_new.cc: Same.
179         * testsuite/ext/pool_allocator/check_new.cc: Same.
180         * testsuite/27_io/ios_base/storage/11584.cc: Same.
181
182 2016-11-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
183
184         Implement LWG 2534, Constrain rvalue stream operators.
185         * include/std/istream (__is_convertible_to_basic_istream): New.
186         (__is_extractable): Likewise.
187         (operator>>(basic_istream<_CharT, _Traits>&&, _Tp&&)):
188         Turn the stream parameter into a template parameter
189         and constrain.
190         * include/std/ostream (__is_convertible_to_basic_ostream): New.
191         (__is_insertable): Likewise.
192         (operator<<(basic_ostream<_CharT, _Traits>&&, const _Tp&)):
193         Turn the stream parameter into a template parameter
194         and constrain.
195         * testsuite/27_io/basic_istream/extractors_other/char/4.cc: New.
196         * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
197         Likewise.
198         * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: Likewise.
199         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: Likewise.
200
201 2016-11-30  Christophe Lyon  <christophe.lyon@linaro.org>
202
203         * testsuite/experimental/type_erased_allocator/2.cc: Add
204         dg-require-thread-fence.
205
206 2016-11-29  David Edelsohn  <dje.gcc@gmail.com>
207
208         PR libstdc++/68838
209         * testsuite/lib/libstdc++.exp (DEFAULT_CXXFLAGS): Add -Wl,-bmaxdata on
210         AIX.
211         * testsuite/23_containers/vector/profile/vector.cc: Remove
212         dg-additional-options.
213
214 2016-11-26  Tim Shen  <timshen@google.com>
215
216         PR libstdc++/78441
217         * include/std/variant: Propagate cv qualifications to types returned
218         by variant_alternative.
219         * testsuite/20_util/variant/compile.cc: Tests.
220
221 2016-11-23  Felix Morgner  <felix.morgner@gmail.com>
222             Jonathan Wakely  <jwakely@redhat.com>
223
224         PR libstdc++/78490
225         * include/experimental/propagate_const (propagate_const::operator=):
226         Add missing return statements.
227         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
228         Adjust dg-error line numbers.
229         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
230
231 2016-11-22  Uros Bizjak  <ubizjak@gmail.com>
232
233         * testsuite/Makefile.am
234         (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection
235         of -j argument.
236         * testsuite/Makefile.in: Regenereate.
237
238 2016-11-22  Jonathan Wakely  <jwakely@redhat.com>
239
240         PR libstdc++/78465
241         * testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests
242         with preprocessor conditions.
243
244 2016-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
245
246         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Update comments.
247         (__CORRECT_ISO_CPP11_MATH_H_PROTO): Rename to ...
248         (__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): ... this.
249         Add test for C++11 <math.h> integral overloads.
250         * configure: Regenerate.
251         * config.h.in: Regenerate.
252
253         * include/c_global/cmath [__cplusplus >= 201103L]: Reflect
254         __CORRECT_ISO_CPP11_MATH_H_PROTO to
255         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
256         * include/c_global/cmath [_GLIBCXX_USE_C99_MATH &&
257         !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC && __cplusplus >= 201103L]
258         (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO_INT.
259         (std::isfinite): Likewise.
260         (std::isinf): Likewise.
261         (std::isnan): Likewise.
262         (std::isnormal): Likewise.
263         (std::signbit): Likewise.
264         (std::isgreater): Likewise.
265         (std::isgreaterequal): Likewise.
266         (std::isless): Likewise.
267         (std::islessequal): Likewise.
268         (std::islessgreater): Likewise.
269         (std::isunordered): Likewise.
270         [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]
271         (std::acosh): Likewise.
272         (std::asinh): Likewise.
273         (std::atanh): Likewise.
274         (std::cbrt): Likewise.
275         (std::copysign): Likewise.
276         (std::erf): Likewise.
277         (std::erfc): Likewise.
278         (std::exp2): Likewise.
279         (std::expm1): Likewise.
280         (std::fdim): Likewise.
281         (std::fma): Likewise.
282         (std::fmax): Likewise.
283         (std::fmin): Likewise.
284         (std::hypot): Likewise.
285         (std::ilogb): Likewise.
286         (std::lgamma): Likewise.
287         (std::llrint): Likewise.
288         (std::llround): Likewise.
289         (std::log1p): Likewise.
290         (std::log2): Likewise.
291         (std::logb): Likewise.
292         (std::lrint): Likewise.
293         (std::lround): Likewise.
294         (std::nearbyint): Likewise.
295         (std::nextafter): Likewise.
296         (std::nexttoward): Likewise.
297         (std::remainder): Likewise.
298         (std::remquo): Likewise.
299         (std::rint): Likewise.
300         (std::round): Likewise.
301         (std::scalbln): Likewise.
302         (std::scalbn): Likewise.
303         (std::tgamma): Likewise.
304         (std::trunc): Likewise.
305         * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1 && __cplusplus >=
306         201103L]: Reflect __CORRECT_ISO_CPP11_MATH_H_PROTO to
307         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
308
309 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
310
311         PR libstdc++/59406
312         * include/bits/functional_hash.h: Add comment noting difference from
313         FNV-1a.
314         * include/tr1/functional_hash.h: Likewise.
315         * libsupc++/hash_bytes.cc: Likewise.
316
317         * include/bits/basic_string.h: Reuse _If_sv alias template for new
318         constructor.
319
320         * doc/xml/manual/intro.xml: Document LWG 2770 status. Remove entries
321         for 2742 and 2748.
322         * doc/html/*: Regenerate.
323         * include/std/utility (__tuple_size_cv_impl): New helper to safely
324         detect tuple_size<T>::value, as per LWG 2770.
325         (tuple_size<cv T>): Adjust partial specializations to derive from
326         __tuple_size_cv_impl.
327         * testsuite/20_util/tuple/cv_tuple_size.cc: Test SFINAE-friendliness.
328
329         * testsuite/libstdc++-prettyprinters/cxx17.cc: Adjust test for
330         variant<T&>.
331
332 2016-11-15  Tim Shen  <timshen@google.com>
333
334         * include/std/variant: Remove variant<T&>, variant<void>, variant<>
335         support to rebase on the post-Issaquah design.
336         * testsuite/20_util/variant/compile.cc: Likewise.
337
338 2016-11-15  Matthias Klose  <doko@ubuntu.com>
339
340         * configure: Regenerate.
341
342 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
343
344         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Fix license
345         text.
346         * testsuite/20_util/any/assign/emplace.cc: Likewise.
347         * testsuite/20_util/any/cons/in_place.cc: Likewise.
348         * testsuite/20_util/any/make_any.cc: Likewise.
349         * testsuite/20_util/any/requirements.cc: Likewise.
350         * testsuite/20_util/any/typedefs.cc: Likewise.
351         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
352         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
353         Likewise.
354         * testsuite/20_util/in_place/requirements.cc: Likewise.
355         * testsuite/20_util/optional/77288.cc: Likewise.
356         * testsuite/20_util/optional/assignment/1.cc: Likewise.
357         * testsuite/20_util/optional/assignment/2.cc: Likewise.
358         * testsuite/20_util/optional/assignment/3.cc: Likewise.
359         * testsuite/20_util/optional/assignment/4.cc: Likewise.
360         * testsuite/20_util/optional/assignment/5.cc: Likewise.
361         * testsuite/20_util/optional/assignment/6.cc: Likewise.
362         * testsuite/20_util/optional/assignment/7.cc: Likewise.
363         * testsuite/20_util/optional/cons/77727.cc: Likewise.
364         * testsuite/20_util/optional/cons/move.cc: Likewise.
365         * testsuite/20_util/optional/cons/value.cc: Likewise.
366         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
367         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
368         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
369         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
370         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
371         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
372         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
373         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
374         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
375         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
376         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
377         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
378         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
379         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
380         * testsuite/20_util/optional/hash.cc: Likewise.
381         * testsuite/20_util/optional/make_optional.cc: Likewise.
382         * testsuite/20_util/optional/observers/1.cc: Likewise.
383         * testsuite/20_util/optional/observers/2.cc: Likewise.
384         * testsuite/20_util/optional/observers/3.cc: Likewise.
385         * testsuite/20_util/optional/observers/4.cc: Likewise.
386         * testsuite/20_util/optional/observers/5.cc: Likewise.
387         * testsuite/20_util/optional/observers/6.cc: Likewise.
388         * testsuite/20_util/optional/relops/1.cc: Likewise.
389         * testsuite/20_util/optional/relops/2.cc: Likewise.
390         * testsuite/20_util/optional/relops/3.cc: Likewise.
391         * testsuite/20_util/optional/relops/4.cc: Likewise.
392         * testsuite/20_util/optional/relops/5.cc: Likewise.
393         * testsuite/20_util/optional/relops/6.cc: Likewise.
394         * testsuite/20_util/optional/requirements.cc: Likewise.
395         * testsuite/20_util/optional/swap/1.cc: Likewise.
396         * testsuite/20_util/optional/typedefs.cc: Likewise.
397         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
398         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
399         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
400         Likewise.
401         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
402         * testsuite/20_util/variant/hash.cc: Likewise.
403         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
404         * testsuite/experimental/any/typedefs.cc: Likewise.
405         * testsuite/experimental/array/make_array.cc: Likewise.
406         * testsuite/experimental/array/neg.cc: Likewise.
407         * testsuite/experimental/chrono/value.cc: Likewise.
408         * testsuite/experimental/deque/erasure.cc: Likewise.
409         * testsuite/experimental/forward_list/erasure.cc: Likewise.
410         * testsuite/experimental/list/erasure.cc: Likewise.
411         * testsuite/experimental/map/erasure.cc: Likewise.
412         * testsuite/experimental/memory/observer_ptr/assignment/assign.cc:
413         Likewise.
414         * testsuite/experimental/memory/observer_ptr/cons/cons.cc: Likewise.
415         * testsuite/experimental/memory/observer_ptr/hash/hash.cc: Likewise.
416         * testsuite/experimental/memory/observer_ptr/make_observer.cc:
417         Likewise.
418         * testsuite/experimental/memory/observer_ptr/relops/relops.cc:
419         Likewise.
420         * testsuite/experimental/memory/observer_ptr/requirements.cc: Likewise.
421         * testsuite/experimental/memory/observer_ptr/swap/swap.cc: Likewise.
422         * testsuite/experimental/memory/observer_ptr/typedefs.cc: Likewise.
423         * testsuite/experimental/optional/77288.cc: Likewise.
424         * testsuite/experimental/optional/assignment/1.cc: Likewise.
425         * testsuite/experimental/optional/assignment/2.cc: Likewise.
426         * testsuite/experimental/optional/assignment/3.cc: Likewise.
427         * testsuite/experimental/optional/assignment/4.cc: Likewise.
428         * testsuite/experimental/optional/assignment/5.cc: Likewise.
429         * testsuite/experimental/optional/assignment/6.cc: Likewise.
430         * testsuite/experimental/optional/cons/77727.cc: Likewise.
431         * testsuite/experimental/optional/cons/move.cc: Likewise.
432         * testsuite/experimental/optional/cons/value.cc: Likewise.
433         * testsuite/experimental/optional/cons/value_neg.cc: Likewise.
434         * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
435         * testsuite/experimental/optional/constexpr/make_optional.cc: Likewise.
436         * testsuite/experimental/optional/constexpr/observers/1.cc: Likewise.
437         * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
438         * testsuite/experimental/optional/constexpr/observers/3.cc: Likewise.
439         * testsuite/experimental/optional/constexpr/observers/4.cc: Likewise.
440         * testsuite/experimental/optional/constexpr/observers/5.cc: Likewise.
441         * testsuite/experimental/optional/constexpr/relops/1.cc: Likewise.
442         * testsuite/experimental/optional/constexpr/relops/2.cc: Likewise.
443         * testsuite/experimental/optional/constexpr/relops/3.cc: Likewise.
444         * testsuite/experimental/optional/constexpr/relops/4.cc: Likewise.
445         * testsuite/experimental/optional/constexpr/relops/5.cc: Likewise.
446         * testsuite/experimental/optional/constexpr/relops/6.cc: Likewise.
447         * testsuite/experimental/optional/make_optional.cc: Likewise.
448         * testsuite/experimental/optional/observers/1.cc: Likewise.
449         * testsuite/experimental/optional/observers/2.cc: Likewise.
450         * testsuite/experimental/optional/observers/3.cc: Likewise.
451         * testsuite/experimental/optional/observers/4.cc: Likewise.
452         * testsuite/experimental/optional/observers/5.cc: Likewise.
453         * testsuite/experimental/optional/relops/1.cc: Likewise.
454         * testsuite/experimental/optional/relops/2.cc: Likewise.
455         * testsuite/experimental/optional/relops/3.cc: Likewise.
456         * testsuite/experimental/optional/relops/4.cc: Likewise.
457         * testsuite/experimental/optional/relops/5.cc: Likewise.
458         * testsuite/experimental/optional/relops/6.cc: Likewise.
459         * testsuite/experimental/optional/requirements.cc: Likewise.
460         * testsuite/experimental/optional/swap/1.cc: Likewise.
461         * testsuite/experimental/optional/typedefs.cc: Likewise.
462         * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
463         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
464         Likewise.
465         * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
466         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
467         * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
468         * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
469         * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
470         * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
471         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
472         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
473         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
474         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
475         * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
476         * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
477         * testsuite/experimental/random/randint.cc: Likewise.
478         * testsuite/experimental/ratio/value.cc: Likewise.
479         * testsuite/experimental/set/erasure.cc: Likewise.
480         * testsuite/experimental/string/erasure.cc: Likewise.
481         * testsuite/experimental/string_view/typedefs.cc: Likewise.
482         * testsuite/experimental/system_error/value.cc: Likewise.
483         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
484         * testsuite/experimental/type_traits/value.cc: Likewise.
485         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
486         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
487         * testsuite/experimental/vector/erasure.cc: Likewise.
488
489         * doc/xml/manual/intro.xml: Document LWG 2742 status.
490         * doc/html/*: Regenerate.
491         * include/bits/basic_string.h
492         (basic_string(const T&, size_type, size_type, const Allocator&)): Add
493         constructor for substring of basic_string_view, as per LWG 2742 but
494         with additional constraint to fix ambiguity.
495         * testsuite/21_strings/basic_string/cons/char/9.cc: New test.
496         * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: New test.
497
498         * doc/xml/manual/intro.xml: Document LWG 2748 status.
499         * include/std/optional (optional<T>::swap): Use is_nothrow_swappable_v
500         for exception specification.
501         (swap(optional<T>&, optional<T>&)): Disable when T is not swappable.
502         * testsuite/20_util/optional/swap/2.cc: New test.
503
504 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
505
506         Implement P0513R0, Poisoning the Hash.
507         * include/bits/functional_hash.h (__poison_hash): New.
508         * include/bits/unique_ptr.h
509         (hash<unique_ptr<_Tp, _Dp>>): Derive from __poison_hash.
510         * include/std/optional (hash<optional<_Tp>>): Likewise.
511         * include/std/variant (hash<variant<_Types...>>): Likewise.
512         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
513         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
514         * testsuite/20_util/optional/hash.cc: New.
515         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
516         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Adjust.
517         * testsuite/20_util/unique_ptr/hash/1.cc: Add tests for
518         poisoned fancy pointer hashes.
519         * testsuite/20_util/variant/hash.cc: New.
520
521 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
522
523         Implement P0504R0 (Revisiting in-place tag types for
524         any/optional/variant).
525         * include/std/any (any(_ValueType&& __value)): Constrain
526         the __is_in_place_type with the decayed type.
527         (make_any): Adjust to use the new tag type.
528         * include/std/utility (in_place_tag): Remove.
529         (in_place_t): Turn into a non-reference tag type.
530         (__in_place, __in_place_type, __in_place_index): Remove.
531         (in_place): Turn into an inline variable of non-reference
532         tag type.
533         (in_place<_Tp>): Remove.
534         (in_place_index<_Idx>): Remove.
535         (in_place_type_t): New.
536         (in_place_type): Turn into a variable template of non-reference
537         type.
538         (in_place_index_t): New.
539         (in_place_index): Turn into a variable template of non-reference
540         type.
541         * include/std/variant
542         (_Variant_storage(in_place_index_t<_Np>, _Args&&...)): Adjust to
543         use the new tag type.
544         (_Union(in_place_index_t<0>, _Args&&...)): Likewise.
545         (_Union(in_place_index_t<_Np>, _Args&&...)): Likewise.
546         (_Variant_base()): Likewise.
547         (variant(_Tp&&)): Likewise.
548         (variant(in_place_type_t<_Tp>, _Args&&...)): Likewise.
549         (variant(in_place_type_t<_Tp>, initializer_list<_Up>,
550         _Args&&...)): Likewise.
551         (variant(in_place_index_t<_Np>, _Args&&...)): Likewise.
552         (variant(in_place_index_t<_Np>, initializer_list<_Up>,
553         _Args&&...)): Likewise
554         (variant(allocator_arg_t, const _Alloc&)): Likewise.
555         (variant(allocator_arg_t, const _Alloc&, _Tp&&)): Likewise.
556         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
557         _Args&&...)): Likewise.
558         (variant(allocator_arg_t, const _Alloc&, in_place_type_t<_Tp>,
559         initializer_list<_Up>, _Args&&...)): Likewise.
560         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
561         _Args&&...)): Likewise.
562         (variant(allocator_arg_t, const _Alloc&, in_place_index_t<_Np>,
563         initializer_list<_Up>, _Args&&...)): Likewise.
564         (emplace(_Args&&...)): Likewise.
565         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
566         * testsuite/20_util/any/cons/explicit.cc: Likewise.
567         * testsuite/20_util/any/cons/in_place.cc: Likewise.
568         * testsuite/20_util/any/requirements.cc: Add tests to
569         check that any is not constructible from the new in_place_type_t
570         of any value category.
571         * testsuite/20_util/in_place/requirements.cc: Adjust to
572         use the new tag type.
573         * testsuite/20_util/variant/compile.cc: Likewise.
574         * testsuite/20_util/variant/run.cc: Likewise.
575
576 2016-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
577
578         Use constexpr addressof in optional, SFINAE housekeeping
579         for any, optional and tuple.
580         * include/std/any (__do_emplace(_Args&&...)): New.
581         (__do_emplace(initializer_list<_Up>, _Args&&...)): Likewise.
582         (__any_constructible): Likewise.
583         (__any_constructible_t): Use __any_constructible.
584         (operator=(_ValueType&&)): SFINAE in the return type.
585         (emplace(_Args&&...)): Likewise.
586         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
587         * include/std/optional (_Has_addressof_mem): Remove.
588         (_Has_addressof_free): Likewise.
589         (_Has_addressof): Likewise.
590         (__constexpr_addressof(_Tp&)): Likewise.
591         (operator->): Use std::__addressof.
592         * include/std/tuple (operator=(const tuple<_UElements...>&)):
593         SFINAE in return type.
594         (operator=(tuple<_UElements...>&&)): Likewise.
595         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
596
597 2016-11-14  Jonathan Wakely  <jwakely@redhat.com>
598
599         * include/bits/move.h (addressof(const _Tp&&)): Add deleted overload,
600         as per LWG 2598.
601
602         * include/std/future (future::share(), future<R&>::share())
603         (future<void>::share()): Add noexcept, as per LWG 2556.
604
605 2016-11-13  Jonathan Wakely  <jwakely@redhat.com>
606
607         PR libstdc++/78326
608         * include/experimental/memory_resource (memory_resource::_S_max_align):
609         Change access to protected.
610
611         * doc/xml/manual/status_cxx2017.xml: Update status.
612         * doc/html/manual/status.html: Regenerate.
613         * include/bits/shared_ptr.h (shared_ptr(unique_ptr<_Yp, _Del>)): Add
614         extension constructor to maintain C++14 behaviour.
615         * include/bits/shared_ptr_base.h (__sp_array_delete): Add new struct.
616         (__shared_count(_Ptr, false_type), __shared_count(_Ptr, true_type)):
617         New constructors.
618         (__sp_compatible_with, __sp_is_constructible): Add specializations
619         for array support.
620         (__sp_is_constructible_arr, __sp_is_constructible_arrN): New helpers.
621         (__shared_ptr_access): New base class for observer member functions.
622         (__shared_ptr::element_type): Use remove_extent.
623         (__shared_ptr::_UniqCompatible): Add __sp_compatible_with check.
624         (__shared_ptr(_Yp*)): Use tag dispatching to call new __shared_count
625         constructor.
626         (__shared_ptr(unique_ptr<_Yp, _Del>)): Add extension constructor.
627         (__shared_ptr::operator*, __shared_ptr::operator->): Remove and
628         inherit from __shared_ptr_access base class.
629         (__shared_ptr::__has_esft_base): Return false for array types.
630         (__weak_ptr::element_type): Use remove_extent.
631         * include/experimental/bits/shared_ptr.h (__libfund_v1): Remove.
632         (__shared_ptr<__libfund_v1<_Tp>>): Remove specializations.
633         (__wak_ptr<__libfund_v1<_Tp>>): Likewise.
634         (experimental::__sp_compatible_v): Redefine using
635         __sp_compatible_with.
636         (experimental::__sp_is_constructible_v): Redefine using
637         __sp_is_constructible.
638         (get_deleter, operator<<): Change argument from __shared_ptr to
639         shared_ptr.
640         * testsuite/20_util/shared_ptr/cons/array.cc: New test.
641         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Adjust for
642         new behaviour.
643         * testsuite/20_util/shared_ptr/observers/array.cc: Test observers for
644         arrays.
645         * testsuite/20_util/shared_ptr/observers/array_neg.cc: New test.
646
647 2016-11-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
648
649         Implement P0403R1, Literal suffixes for basic_string_view.
650         * include/std/string_view
651         (operator""sv(const char*, size_t)): New.
652         (operator""sv(const wchar_t*, size_t)): Likewise.
653         (operator""sv(const char16_t*, size_t)): Likewise.
654         (operator""sv(const char32_t*, size_t)): Likewise.
655         * testsuite/21_strings/basic_string_view/literals/types.cc: New.
656         * testsuite/21_strings/basic_string_view/literals/values.cc: Likewise.
657         * testsuite/experimental/string_view/literals/values.cc: Add
658         tests for literals with embedded NULs.
659
660 2016-11-12  Jonathan Wakely  <jwakely@redhat.com>
661
662         * src/filesystem/ops.cc (is_empty): Fix typo in exception message.
663
664         * include/std/future (future_error): Fix public typo to private.
665
666 2016-11-11  Jonathan Wakely  <jwakely@redhat.com>
667
668         * include/std/future (future_error): Make existing constructor
669         private and add constructor from future_errc.
670
671         * include/bits/shared_ptr.h (hash<shared_ptr<T>>): Use element_type.
672         * include/bits/shared_ptr_base.h (hash<__shared_ptr<T, L>>): Likewise.
673
674 2016-11-10  François Dumont  <fdumont@gcc.gnu.org>
675
676         * src/c++11/debug.cc (format_word): Delete.
677         (print_literal): New. Replace call to print_word for literals.
678
679 2016-11-09  Tim Shen  <timshen@google.com>
680
681         * include/bits/regex.h (regex_iterator::regex_iterator()):
682         Define end() as _M_pregex == nullptr.
683         * include/bits/regex.tcc (regex_iterator::operator==(),
684         regex_iterator::operator++()): Fix operator==() and operator++() to
685         look at null-ness of _M_pregex on both sides.
686         * testsuite/28_regex/regression.cc: New testcase.
687
688 2016-11-07  Jason Merrill  <jason@redhat.com>
689
690         * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM)
691         (_GLIBCXX_NOEXCEPT_QUAL): New.
692         * include/std/type_traits (is_function): Use them.
693         * libsubc++/new (launder): Likewise.
694         * libsupc++/cxxabi.h (__pbase_type_info::__masks): Add
695         __noexcept_mask.
696         * libsupc++/pbase_type_info.cc (__do_catch): Handle function
697         pointer conversion.
698
699 2016-11-07  François Dumont  <fdumont@gcc.gnu.org>
700
701         * config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of
702         over-aligned types symbols.
703
704 2016-10-28  Jonathan Wakely  <jwakely@redhat.com>
705
706         * include/experimental/bits/fs_path.h (__is_path_src)
707         (_S_range_begin, _S_range_end): Overload to treat string_view as a
708         Source object.
709         (path::operator+=, path::compare): Overload for basic_string_view.
710         * testsuite/experimental/filesystem/path/construct/string_view.cc:
711         New test.
712         * testsuite/experimental/filesystem/path/construct/
713         string_view_cxx17.cc: New test.
714
715         * include/experimental/bits/fs_path.h
716         (path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from
717         iterator's value_type.
718         (path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise.
719         Do not use operation not supported by input iterators.
720         (path::__is_path_iter_src): Add partial specialization for const
721         encoded character types.
722         * testsuite/experimental/filesystem/path/construct/range.cc: Test
723         construction from input iterators with const value types.
724
725         * doc/xml/manual/status_cxx2017.xml: Update status.
726         * doc/html/*: Regenerate.
727         * include/std/type_traits (has_unique_object_representations): Guard
728         with __has_builtin check.
729         * libsupc++/new (launder): Define for C++17.
730         * testsuite/18_support/launder/1.cc: New test.
731         * testsuite/18_support/launder/requirements.cc: New test.
732         * testsuite/18_support/launder/requirements_neg.cc: New test.
733
734 2016-10-27  Uros Bizjak  <ubizjak@gmail.com>
735
736         PR libstdc++/70975
737         * src/filesystem/ops.cc (do_copy_file) [_GLIBCXX_USE_SENDFILE]:
738         Pass non-null pointer to sendfile for offset argument.
739
740 2016-10-27  Jonathan Wakely  <jwakely@redhat.com>
741
742         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
743         default.cc: Fix effective target selector.
744         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
745         parms.cc: Likewise.
746         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
747         equal.cc: Likewise.
748         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
749         generate.cc: Likewise.
750         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
751         inequal.cc: Likewise.
752         * testsuite/ext/random/uniform_inside_sphere_distribution/operators/
753         serialize.cc: Likewise.
754
755         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
756         Use end() function to get end iterator.
757         * testsuite/experimental/filesystem/iterators/pop.cc: Remove printf
758         statements that were present for debugging.
759         * testsuite/experimental/filesystem/iterators/
760         recursive_directory_iterator.cc: Use end() function to get end
761         iterator.
762         * testsuite/experimental/filesystem/operations/last_write_time.cc:
763         Only require file timestamps to be accurate to one second.
764
765 2016-10-26  François Dumont  <fdumont@gcc.gnu.org>
766
767         * include/bits/stl_map.h (map()): Make default.
768         * include/bits/stl_multimap.h (multimap()): Likewise.
769         * include/bits/stl_multiset.h (multiset()): Likewise.
770         * include/bits/stl_set.h (set()): Likewise.
771         * include/bits/stl_tree.h (_Rb_tree_impl()): Add conditional noexcept.
772         (_Rb_tree()): Make default.
773
774 2016-10-26  Bernd Edlinger  <bernd.edlinger@hotmail.de>
775
776         PR libstdc++/78110
777         * libsupc++/new_opa.cc: Don't include <malloc.h> in a free standing
778         environment.  Declare memalign directly in that case.
779
780 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
781
782         * testsuite/experimental/filesystem/iterators/pop.cc: Remove
783         unreliable dependency on directory order.
784
785 2016-10-26  Edward Smith-Rowland  <3dw4rd@verizon.net>
786
787         Implement uniform_inside_sphere_distribution extension.
788         * include/ext/random: Implement uniform_inside_sphere_distribution.
789         * include/ext/random.tcc: Ditto.
790         * testsuite/ext/random/uniform_inside_sphere_distribution/
791         cons/default.cc: New.
792         * testsuite/ext/random/uniform_inside_sphere_distribution/
793         cons/parms.cc: New.
794         * testsuite/ext/random/uniform_inside_sphere_distribution/
795         operators/equal.cc: New.
796         * testsuite/ext/random/uniform_inside_sphere_distribution/
797         operators/generate.cc: New.
798         * testsuite/ext/random/uniform_inside_sphere_distribution/
799         operators/inequal.cc: New.
800         * testsuite/ext/random/uniform_inside_sphere_distribution/
801         operators/serialize.cc: New.
802
803 2016-10-26  Jonathan Wakely  <jwakely@redhat.com>
804
805         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
806         Overload pop (LWG 2706).
807         * src/filesystem/dir.cc (recursive_directory_iterator::pop): Define
808         new overload.
809         * testsuite/experimental/filesystem/iterators/pop.cc: New test.
810
811         * src/filesystem/dir.cc (recursive_directory_iterator::increment):
812         Reset state on error.
813         * testsuite/experimental/filesystem/iterators/
814         recursive_directory_iterator.cc: Check state after increment error.
815
816         PR libstdc++/78111
817         * src/filesystem/ops.cc (canonical): Set error for non-existent path.
818
819 2016-10-26  Uros Bizjak  <ubizjak@gmail.com>
820
821         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
822         for PATH_MAX in realpath test.
823         * configure: Regenerate.
824
825 2016-10-25  Jonathan Wakely  <jwakely@redhat.com>
826
827         * src/filesystem/ops.cc
828         (last_write_time(const path&, file_time_type, error_code&)): Handle
829         negative times correctly.
830         * testsuite/experimental/filesystem/operations/last_write_time.cc:
831         Test writing file times.
832
833         * src/filesystem/ops.cc (do_copy_file): Report an error if source or
834         destination is not a regular file (LWG 2712).
835         (equivalent): Fix error handling and result when only one file exists.
836         * testsuite/experimental/filesystem/operations/copy.cc: Remove files
837         created by tests. Test copying directories.
838         * testsuite/experimental/filesystem/operations/copy_file.cc: Remove
839         files created by tests.
840         * testsuite/experimental/filesystem/operations/equivalent.cc: New.
841         * testsuite/experimental/filesystem/operations/is_empty.cc: New.
842         * testsuite/experimental/filesystem/operations/read_symlink.cc: Remove
843         file created by test.
844         * testsuite/experimental/filesystem/operations/remove_all.cc: New.
845         * testsuite/util/testsuite_fs.h (~scoped_file): Only try to remove
846         file if path is non-empty, to support removal by other means.
847
848 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
849
850         * src/filesystem/ops.cc (is_empty): Fix error handling.
851         * testsuite/experimental/filesystem/operations/is_empty.cc: New test.
852
853         PR libstdc++/71337
854         * src/filesystem/ops.cc (temp_directory_path): Pass error_code
855         argument to other filesystem operations.
856         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
857         Add testcase for inaccessible directory.
858
859         * src/filesystem/dir.cc (open_dir): Return same value for errors
860         whether ignored or not.
861         (_Dir::advance(error_code*, directory_options)): Return false on
862         error.
863         (directory_iterator(const path&, directory_options, error_code*)):
864         Create end iterator on error (LWG 2723).
865         (recursive_directory_iterator(const path&, directory_options,
866         error_code*)): Likewise.
867         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
868         Update expected behaviour on error.
869         * testsuite/experimental/filesystem/iterators/
870         recursive_directory_iterator.cc: Likewise.
871
872         * src/filesystem/ops.cc (close_fd): Remove.
873         (do_copy_file): Just use close(3) instead of close_fd, to prevent
874         retrying on error.
875
876         * src/filesystem/ops.cc (do_copy_file): Return an error if either
877         source or destination is not a regular file.
878         (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683
879         resolutions.
880         (read_symlink): Add missing ec.clear().
881         * testsuite/experimental/filesystem/operations/copy.cc: Update
882         expected behaviour for copying directories with create_symlinks.
883         Verify that error_code arguments are cleared if there's no error.
884         * testsuite/experimental/filesystem/operations/read_symlink.cc: New.
885
886 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
887
888         Cross-port exception-safety and move fixes of std::any to
889         std::experimental::any.
890         * include/experimental/any (operator=(const any&)):
891         Make strongly exception-safe.
892         (operator=(any&&)): clear() unconditionally in the case where
893         rhs has a value.
894         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
895         * testsuite/experimental/any/assign/2.cc: Adjust.
896         * testsuite/experimental/any/assign/exception.cc: New.
897         * testsuite/experimental/any/cons/2.cc: Adjust.
898         * testsuite/experimental/any/misc/any_cast_neg.cc: Ajust.
899
900 2016-10-24  Ville Voutilainen  <ville.voutilainen@gmail.com>
901
902         Cross-port the latest resolution of LWG2756 and some
903         bug-fixes to experimental::optional.
904         PR libstdc++/77288
905         PR libstdc++/77727
906         * include/experimental/optional (_Optional_base):
907         Remove constructors that take a _Tp.
908         (__is_optional_impl, __is_optional): Remove.
909         (__converts_from_optional): New.
910         (optional(_Up&&)): Fix constraints, call base with in_place.
911         (optional(const optional<_Up>&)): Fix constraints, use emplace.
912         (optional(optional<_Up>&&)): Likewise.
913         (operator=(_Up&&)): Fix constraints.
914         (operator=(const optional<_Up>&)): Likewise.
915         (operator=(optional<_Up>&&)): Likewise.
916         (emplace(_Args&&...)): Constrain.
917         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
918         * testsuite/experimental/optional/77288.cc: New.
919         * testsuite/experimental/optional/assignment/5.cc: Adjust.
920         * testsuite/experimental/optional/cons/77727.cc: New.
921         * testsuite/experimental/optional/cons/value.cc: Adjust.
922
923 2016-10-24  Jonathan Wakely  <jwakely@redhat.com>
924
925         * include/bits/stl_vector.h (vector::_M_data_ptr, vector::data):
926         Change return type of non-standard C++98 extension to match C++11.
927
928 2016-10-22  François Dumont  <fdumont@gcc.gnu.org>
929
930         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_ALGO)
931         (_GLIBCXX_END_NAMESPACE_ALGO): Default to respectively
932         _GLIBCXX_BEGIN_NAMESPACE_VERSION and _GLIBCXX_END_NAMESPACE_VERSION.
933         (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER, _GLIBCXX_END_NAMESPACE_CONTAINER):
934         Likewise.
935
936 2016-10-22  Jonathan Wakely  <jwakely@redhat.com>
937
938         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
939         Ignore symlink_nofollow flag if file is not a symlink.
940         * testsuite/experimental/filesystem/operations/permissions.cc: Test
941         symlink_nofollow on non-symlinks.
942
943 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
944
945         * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks):
946         Replace with symlink_nofollow (LWG 2720).
947         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
948         Handle symlink_nofollow.
949         * testsuite/experimental/filesystem/operations/create_symlink.cc: New
950         test.
951         * testsuite/experimental/filesystem/operations/permissions.cc: Test
952         overload taking error_code.
953
954         * include/experimental/bits/fs_ops.h
955         (exists(const path&, error_code&)): Clear error if status is known
956         (LWG 2725).
957         (status(const path&, error_code&)): Handle EOVERFLOW.
958         * testsuite/experimental/filesystem/operations/exists.cc: Test
959         overload taking an error_code.
960
961         * include/experimental/bits/fs_path.h (path::path(string_type&&))
962         (path::operator=(string&&), path::assign(string_type&&)): Define
963         construction and assignment from string_type rvalues (LWG 2707).
964
965 2016-10-21  Eelis van der Weegen  <eelis@eelis.net>
966
967         * include/bits/stl_algo.h (__gen_two_uniform_ints): Move logic out
968         of shuffle into new function.
969         (shuffle): Call __gen_two_uniform_ints.
970         (__sample<ForwardIterator, OutputIterator, Cat, Size, URBG>): Use
971         __gen_two_uniform_ints and perform two samples at a time.
972
973 2016-10-21  Jonathan Wakely  <jwakely@redhat.com>
974
975         * include/Makefile.am: Add <bits/refwrap.h> and <bits/std_function.h>.
976         Order alphabetically.
977         * include/Makefile.in: Regenerate.
978         * include/bits/refwrap.h: New header.
979         (_Maybe_get_result_type,_Weak_result_type_impl, _Weak_result_type)
980         (_Reference_wrapper_base_impl, _Reference_wrapper_base)
981         (reference_wrapper, ref, cref): Move here from <functional>.
982         * include/bits/shared_ptr_base.h: Include <bits/refwrap.h> and
983         <bits/stl_function.h> instead of <functional>.
984         * include/bits/std_function.h: New header.
985         (_Maybe_unary_or_binary_function, bad_function_call)
986         (__is_location_invariant, _Nocopy_types, _Any_data)
987         (_Simple_type_wrapper, _Function_base, _Function_handler, function):
988         Move here from <functional>.
989         * include/bits/unique_ptr.h: Include <bits/stl_function.h>.
990         * include/std/functional: Include new headers and move components to
991         them.
992         * include/std/future: Include <bits/std_function.h> instead of
993         <functional>.
994         * include/std/mutex: Likewise.
995         * include/std/regex: Likewise.
996         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
997         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
998         * testsuite/20_util/default_delete/void_neg.cc: Likewise.
999         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
1000         lines.
1001         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
1002         * testsuite/30_threads/packaged_task/49668.cc: Include <functional>.
1003
1004         * libsupc++/exception_ptr.h (make_exception_ptr): Qualify new.
1005         * testsuite/18_support/exception_ptr/make_exception_ptr_2.cc: New
1006         test.
1007
1008 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
1009
1010         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&))
1011         (shared_ptr(auto_ptr&&)): Adjust template parameter lists.
1012         * include/bits/shared_ptr.h (__sp_compatible_with)
1013         (__sp_is_constructible): New helper traits for shared_ptr.
1014         (shared_ptr::_Convertible): Replace with _Constructible.
1015         (shared_ptr::_Constructible, shared_ptr::_Assignable): Forward checks
1016         to base class.
1017         (shared_ptr::shared_ptr, shared_ptr::operator=): Constrain template
1018         with _Constructible and _Assignable.
1019         (shared_ptr::shared_ptr(shared_ptr<_Tp1>, _Tp*)): Use element_type
1020         instead of _Tp.
1021         (operator<): Likewise.
1022         (operator>): Define in terms of operator<.
1023         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
1024         element_type instead of _Tp.
1025         (reinterpret_pointer_cast): Define for C++17.
1026         (weak_ptr::_Convertible): Replace with _Constructible.
1027         (weak_ptr::_Constructible, weak_ptr::_Assignable): Forward checks
1028         to base class.
1029         (weak_ptr::weak_ptr, weak_ptr::operator=): Constrain templates
1030         with _Constructible and _Assignable.
1031         * include/bits/shared_ptr_base.h (__shared_ptr::_Convertible): Replace
1032         with _Compatible.
1033         (__shared_ptr::_SafeConv): New constraint for incoming raw pointers.
1034         (__shared_ptr::_Compatible): New constraint for converting from
1035         other types of shared_ptr and weak_ptr.
1036         (__shared_ptr::_Assignable): Define in terms of _Compatible.
1037         (__shared_ptr::_UniqCompatible, __shared_ptr::_UniqAssignable): New
1038         constraints for converting from unique_ptr.
1039         (__shared_ptr::__shared_ptr, __shared_ptr::operator=): Constrain
1040         template with _SaveConf, _Compatible and _Assignable. Remove
1041         __glibcxx_function_requires concept checks. Add static assertion for
1042         deleter expression being well-formed.
1043         (__shared_ptr::__shared_ptr(__shared_ptr<_Tp1>, _Tp*))
1044         (__shared_ptr::operator*, __shared_ptr::operator->)
1045         (__shared_ptr::get, __shared_ptr::_M_ptr): Use element_type instead
1046         of _Tp.
1047         (operator<): Likewise.
1048         (operator>): Define in terms of operator<.
1049         (static_pointer_cast, const_pointer_cast, dynamic_pointer_cast): Use
1050         element_type instead of _Tp.
1051         (reinterpret_pointer_cast): Define for C++17.
1052         (weak_ptr::_Convertible): Replace with _Compatible.
1053         (weak_ptr::_Compatible, weak_ptr::_Assignable): New constraints for
1054         conversions from other types of weak_ptr and shared_ptr.
1055         (__weak_ptr::__weak_ptr, __weak_ptr::operator=): Constrain templates
1056         with _Constructible and _Assignable.
1057         (__weak_ptr::_M_ptr): Use element_type instead of _Tp.
1058         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Adjust
1059         dg-error pattern.
1060         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Test conversions.
1061         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
1062         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1063         * testsuite/20_util/shared_ptr/casts/reinterpret.cc: New test.
1064
1065 2016-10-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
1066
1067         Do the operator= SFINAE in the return type for optional,
1068         not in the template parameters.
1069         * include/std/optional (operator=(_Up&&)): Move SFINAE
1070         from template parameters to the return type.
1071         (operator=(const optional<_Up>&)): Likewise.
1072         (operator=(optional<_Up>&&)): Likewise.
1073
1074 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
1075
1076         * include/bits/allocator.h: Remove trailing whitespace, tab-indent.
1077         * include/ext/new_allocator.h: Likewise.
1078
1079         PR libstdc++/78052
1080         * include/bits/allocator.h (allocator<void>::construct)
1081         (allocator<void>::destroy): Define.
1082         * testsuite/20_util/allocator/void.cc: New test.
1083
1084         * testsuite/20_util/enable_shared_from_this/56383.cc: Add tests for
1085         additional ambiguous cases.
1086
1087 2016-10-19  Jonathan Wakely  <jwakely@redhat.com>
1088
1089         * include/backward/auto_ptr.h (__shared_ptr(auto_ptr&&)): Call
1090         _M_enable_shared_from_this_with instead of
1091         __enable_shared_from_this_helper.
1092         * include/bits/shared_ptr.h (__enable_shared_from_this_helper):
1093         Remove overload for std::enable_shared_from_this..
1094         (__enable_shared_from_this_base): Define friend function to select a
1095         std::enable_shared_from_this base class.
1096         * include/bits/shared_ptr_base.h (__enable_shared_from_this_helper):
1097         Remove all overloads.
1098         (__shared_ptr): Change all relevant constructors to call
1099         _M_enable_shared_from_this_with instead of
1100         __enable_shared_from_this_helper.
1101         (__shared_ptr::__efst_base_t, __shared_ptr::__has_efst_base): Helpers
1102         to detect accessible and unambiguous enable_shared_from_this bases.
1103         (__shared_ptr::_M_enable_shared_from_this_with): New function to
1104         replace __enable_shared_from_this_helper overloads.
1105         (__enable_shared_from_this_helper): Remove overload for
1106         std::__enable_shared_from_this.
1107         (__enable_shared_from_this_base): Define friend function to select a
1108         std::__enable_shared_from_this base class.
1109         * include/experimental/bits/shared_ptr.h (experimental::shared_ptr):
1110         Change relevant constructors to call _M_enable_shared_from_this_with.
1111         (experimental::shared_ptr::__efst_base_t)
1112         (experimental::shared_ptr::__has_efst_base): Helpers to detect
1113         accessible and unambiguous enable_shared_from_this bases.
1114         (experimental::shared_ptr::_M_enable_shared_from_this_with): Define.
1115         (experimental::__enable_shared_from_this_helper): Remove overload for
1116         std::experimental::enable_shared_from_this.
1117         (experimental::__expt_enable_shared_from_this_base): Define friend
1118         function to select a std::experimental::enable_shared_from_this base.
1119         * testsuite/experimental/memory/shared_ptr/cons/
1120         enable_shared_from_this.cc: New test.
1121         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
1122         Adjust expected behaviour for shared_ptr<A[]>.
1123
1124         * include/debug/vector (__gnu_debug::vector::emplace_back): Fix return
1125         type.
1126
1127         * include/backward/auto_ptr.h (dauto_ptr): Correct comment about
1128         conversions from auto_ptr<Derived> rvalues to auto_ptr<Base>.
1129         * testsuite/20_util/auto_ptr/assign_neg.cc: Remove redundant dg-error
1130         directives that only match notes, not errors.
1131
1132         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
1133         Add tests for valid and invalid conversions.
1134         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
1135         Likewise.
1136
1137         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests
1138         to new file.
1139         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file.  Fix
1140         test for incompatible deleters to not also use incompatible types.
1141         Add tests for incompatible array types.
1142
1143         * include/experimental/bits/shared_ptr.h
1144         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_Compatible): Just use
1145         is_convertible for non-array specialization.
1146         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_UniqCompatible): New
1147         constraint for conversions from unique_ptr.
1148         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::__shared_ptr): Constrain.
1149         (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::reset): Likewise.
1150         (__sp_compatible_v): New variable template for trait.
1151         (__sp_is_constructible): New trait to check shared_ptr constraints.
1152         (__sp_is_constructible_v): New variable template for trait.
1153         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_SafeConv): New
1154         constraint for construction/reset, using __sp_is_constructible_v.
1155         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_UniqCompatible): New
1156         constraint for conversions from unique_ptr.
1157         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::__shared_ptr): Constrain.
1158         (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::reset): Likewise.
1159         (shared_ptr::_SafeConv): Constraint for checking constructors.
1160         (shared_ptr(Tp1*), shared_ptr(_Tp1, _Deleter))
1161         (shared_ptr(_Tp1, _Deleter, _Alloc)): Constrain with _SafeConv.
1162         (shared_ptr(const weak_ptr<_Tp1>&)): Constrain with _Compatible.
1163         (shared_ptr(auto_ptr<_Tp1>&&)): Fix, remove TODO.
1164         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
1165         Remove tests using invalid conversions.
1166         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc:
1167         New test.
1168         * testsuite/experimental/memory/shared_ptr/cons/torture.cc: New test.
1169         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Remove
1170         tests using invalid conversions.
1171         * testsuite/experimental/memory/shared_ptr/modifiers/reset_neg.cc: New
1172         test.
1173         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
1174         Remove tests using invalid conversions.
1175
1176         PR libstdc++/77990
1177         * include/bits/unique_ptr.h (__uniq_ptr_impl): New type to
1178         encapsulate implementation details.
1179         (unique_ptr::unique_ptr(_Up)): Don't copy deleter object.
1180         (unique_ptr::get, unique_ptr::get_deleter, unique_ptr::release):
1181         Call member functions of implementation object.
1182         (unique_ptr<T[], D>): Likewise.
1183         * python/libstdcxx/v6/printers.py (UniquePointerPrinter): Adjust for
1184         new implementation.
1185         * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Likewise.
1186         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
1187         lines.
1188         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
1189         * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
1190         * testsuite/20_util/unique_ptr/cons/77990.cc: New test.
1191
1192 2016-10-18  Jonathan Wakely  <jwakely@redhat.com>
1193
1194         * include/experimental/bits/shared_ptr.h: Fix indentation.
1195
1196         * include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)):
1197         Remove const from parameter.
1198         (operator<(const shared_ptr<T>&, nullptr_t)): Use correct
1199         specialization of std::less.
1200         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
1201         Test comparison with nullptr and actually call test functions.
1202
1203         * include/bits/uses_allocator.h (__is_uses_allocator_constructible_v)
1204         (__is_nothrow_uses_allocator_constructible_v): Only define for C++14
1205         and later.
1206
1207 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1208
1209         * testsuite/27_io/basic_filebuf/close/12790-1.cc: Remove 'test'
1210         variables.
1211         * testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
1212         * testsuite/27_io/basic_filebuf/close/char/12790-1.cc: Likewise.
1213         * testsuite/27_io/basic_filebuf/close/char/12790-2.cc: Likewise.
1214         * testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
1215         * testsuite/27_io/basic_filebuf/close/char/12790-4.cc: Likewise.
1216         * testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
1217         * testsuite/27_io/basic_filebuf/close/char/3.cc: Likewise.
1218         * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise.
1219         * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise.
1220         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc: Likewise.
1221         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc: Likewise.
1222         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
1223         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc: Likewise.
1224         * testsuite/27_io/basic_filebuf/cons/2020.cc: Likewise.
1225         * testsuite/27_io/basic_filebuf/cons/char/1.cc: Likewise.
1226         * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
1227         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: Likewise.
1228         * testsuite/27_io/basic_filebuf/imbue/12206.cc: Likewise.
1229         * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
1230         * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
1231         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
1232         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
1233         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
1234         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
1235         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
1236         * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
1237         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise.
1238         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
1239         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
1240         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
1241         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
1242         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
1243         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
1244         * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
1245         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
1246         * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: Likewise.
1247         * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise.
1248         * testsuite/27_io/basic_filebuf/open/12790-1.cc: Likewise.
1249         * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
1250         * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
1251         * testsuite/27_io/basic_filebuf/open/char/3.cc: Likewise.
1252         * testsuite/27_io/basic_filebuf/open/char/4.cc: Likewise.
1253         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1254         * testsuite/27_io/basic_filebuf/overflow/char/1.cc: Likewise.
1255         * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Likewise.
1256         * testsuite/27_io/basic_filebuf/overflow/char/2.cc: Likewise.
1257         * testsuite/27_io/basic_filebuf/overflow/char/3599.cc: Likewise.
1258         * testsuite/27_io/basic_filebuf/overflow/char/9169.cc: Likewise.
1259         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Likewise.
1260         * testsuite/27_io/basic_filebuf/overflow/char/9988.cc: Likewise.
1261         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
1262         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
1263         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
1264         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
1265         * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: Likewise.
1266         * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise.
1267         * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise.
1268         * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Likewise.
1269         * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise.
1270         * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise.
1271         * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: Likewise.
1272         * testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc: Likewise.
1273         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
1274         * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Likewise.
1275         * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Likewise.
1276         * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Likewise.
1277         * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise.
1278         * testsuite/27_io/basic_filebuf/seekoff/45628-2.cc: Likewise.
1279         * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
1280         * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise.
1281         * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
1282         * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: Likewise.
1283         * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: Likewise.
1284         * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc: Likewise.
1285         * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc: Likewise.
1286         * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc: Likewise.
1287         * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc: Likewise.
1288         * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
1289         * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
1290         * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
1291         * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Likewise.
1292         * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Likewise.
1293         * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
1294         * testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Likewise.
1295         * testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: Likewise.
1296         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
1297         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: Likewise.
1298         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc: Likewise.
1299         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc: Likewise.
1300         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc: Likewise.
1301         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc: Likewise.
1302         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise.
1303         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Likewise.
1304         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.
1305         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
1306         Likewise.
1307         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
1308         * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Likewise.
1309         * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Likewise.
1310         * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Likewise.
1311         * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise.
1312         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
1313         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise.
1314         * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc: Likewise.
1315         * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc: Likewise.
1316         * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc: Likewise.
1317         * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc: Likewise.
1318         * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise.
1319         * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
1320         * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise.
1321         * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
1322         * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Likewise.
1323         * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
1324         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Likewise.
1325         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc: Likewise.
1326         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc: Likewise.
1327         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc: Likewise.
1328         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc: Likewise.
1329         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
1330         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
1331         Likewise.
1332         * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
1333         * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: Likewise.
1334         * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
1335         * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Likewise.
1336         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1337         * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise.
1338         * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise.
1339         * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Likewise.
1340         * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise.
1341         * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise.
1342         * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: Likewise.
1343         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise.
1344         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
1345         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Likewise.
1346         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
1347         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
1348         * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise.
1349         * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: Likewise.
1350         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Likewise.
1351         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Likewise.
1352         * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise.
1353         * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise.
1354         * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise.
1355         * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise.
1356         * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise.
1357         * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: Likewise.
1358         * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: Likewise.
1359         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Likewise.
1360         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
1361         * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: Likewise.
1362         * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Likewise.
1363         * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
1364         * testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Likewise.
1365         * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise.
1366         * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Likewise.
1367         * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Likewise.
1368         * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise.
1369         * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise.
1370         * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: Likewise.
1371         * testsuite/27_io/basic_filebuf/sputc/char/59427.cc: Likewise.
1372         * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Likewise.
1373         * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise.
1374         * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise.
1375         * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Likewise.
1376         * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Likewise.
1377         * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: Likewise.
1378         * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: Likewise.
1379         * testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.
1380         * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Likewise.
1381         * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Likewise.
1382         * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise.
1383         * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise.
1384         * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Likewise.
1385         * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise.
1386         * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise.
1387         * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: Likewise.
1388         * testsuite/27_io/basic_filebuf/sync/char/1057.cc: Likewise.
1389         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Likewise.
1390         * testsuite/27_io/basic_filebuf/underflow/char/1.cc: Likewise.
1391         * testsuite/27_io/basic_filebuf/underflow/char/2.cc: Likewise.
1392         * testsuite/27_io/basic_filebuf/underflow/char/3.cc: Likewise.
1393         * testsuite/27_io/basic_filebuf/underflow/char/45841.cc: Likewise.
1394         * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: Likewise.
1395         * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
1396         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise.
1397         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise.
1398         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise.
1399         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise.
1400         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: Likewise.
1401         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Likewise.
1402         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise.
1403         * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
1404         * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
1405         * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise.
1406         * testsuite/27_io/basic_filebuf/underflow/wchar_t/45841.cc: Likewise.
1407         * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise.
1408         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Likewise.
1409         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
1410         * testsuite/27_io/basic_fstream/cons/1.cc: Likewise.
1411         * testsuite/27_io/basic_fstream/rdbuf/char/2832.cc: Likewise.
1412         * testsuite/27_io/basic_ifstream/cons/2020.cc: Likewise.
1413         * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise.
1414         * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise.
1415         * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise.
1416         * testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
1417         * testsuite/27_io/basic_ios/cons/2020.cc: Likewise.
1418         * testsuite/27_io/basic_ios/cons/char/1.cc: Likewise.
1419         * testsuite/27_io/basic_ios/cons/char/2.cc: Likewise.
1420         * testsuite/27_io/basic_ios/cons/char/3.cc: Likewise.
1421         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
1422         * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
1423         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
1424         * testsuite/27_io/basic_ios/imbue/14072.cc: Likewise.
1425         * testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
1426         * testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
1427         * testsuite/27_io/basic_istream/cons/3.cc: Likewise.
1428         * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Likewise.
1429         * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: Likewise.
1430         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1431         Likewise.
1432         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1433         Likewise.
1434         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1435         Likewise.
1436         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1437         Likewise.
1438         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1439         Likewise.
1440         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1441         Likewise.
1442         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1443         Likewise.
1444         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1445         Likewise.
1446         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1447         Likewise.
1448         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1449         Likewise.
1450         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1451         Likewise.
1452         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
1453         Likewise.
1454         * testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc:
1455         Likewise.
1456         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1457         exceptions_badbit_throw.cc: Likewise.
1458         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1459         exceptions_failbit.cc: Likewise.
1460         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1461         exceptions_failbit_throw.cc: Likewise.
1462         * testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc:
1463         Likewise.
1464         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
1465         Likewise.
1466         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc:
1467         Likewise.
1468         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc:
1469         Likewise.
1470         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc:
1471         Likewise.
1472         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
1473         Likewise.
1474         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc:
1475         Likewise.
1476         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
1477         Likewise.
1478         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
1479         Likewise.
1480         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc:
1481         Likewise.
1482         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1483         Likewise.
1484         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
1485         Likewise.
1486         * testsuite/27_io/basic_istream/extractors_arithmetic/
1487         wchar_t/9555-ia.cc: Likewise.
1488         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1489         dr696.cc: Likewise.
1490         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1491         exceptions_badbit_throw.cc: Likewise.
1492         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1493         exceptions_failbit.cc: Likewise.
1494         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
1495         exceptions_failbit_throw.cc: Likewise.
1496         * testsuite/27_io/basic_istream/extractors_character/char/1.cc:
1497         Likewise.
1498         * testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc:
1499         Likewise.
1500         * testsuite/27_io/basic_istream/extractors_character/char/2.cc:
1501         Likewise.
1502         * testsuite/27_io/basic_istream/extractors_character/char/3.cc:
1503         Likewise.
1504         * testsuite/27_io/basic_istream/extractors_character/char/4.cc:
1505         Likewise.
1506         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1507         Likewise.
1508         * testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc:
1509         Likewise.
1510         * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
1511         Likewise.
1512         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1513         11095-i.cc: Likewise.
1514         * testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc:
1515         Likewise.
1516         * testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc:
1517         Likewise.
1518         * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
1519         Likewise.
1520         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
1521         9555-ic.cc: Likewise.
1522         * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
1523         * testsuite/27_io/basic_istream/extractors_other/char/2.cc: Likewise.
1524         * testsuite/27_io/basic_istream/extractors_other/char/26181.cc:
1525         Likewise.
1526         * testsuite/27_io/basic_istream/extractors_other/char/3.cc: Likewise.
1527         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1528         Likewise.
1529         * testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc:
1530         Likewise.
1531         * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
1532         Likewise.
1533         * testsuite/27_io/basic_istream/extractors_other/char/
1534         error_failbit.cc: Likewise.
1535         * testsuite/27_io/basic_istream/extractors_other/char/
1536         exceptions_badbit_throw.cc: Likewise.
1537         * testsuite/27_io/basic_istream/extractors_other/char/
1538         exceptions_failbit_throw.cc: Likewise.
1539         * testsuite/27_io/basic_istream/extractors_other/char/
1540         exceptions_null.cc: Likewise.
1541         * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc:
1542         Likewise.
1543         * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc: Likewise.
1544         * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: Likewise.
1545         * testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
1546         Likewise.
1547         * testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc: Likewise.
1548         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc:
1549         Likewise.
1550         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc:
1551         Likewise.
1552         * testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc:
1553         Likewise.
1554         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1555         error_failbit.cc: Likewise.
1556         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1557         exceptions_badbit_throw.cc: Likewise.
1558         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1559         exceptions_failbit_throw.cc: Likewise.
1560         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
1561         exceptions_null.cc: Likewise.
1562         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1563         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1564         * testsuite/27_io/basic_istream/get/char/3.cc: Likewise.
1565         * testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
1566         * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
1567         * testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise.
1568         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1569         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1570         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1571         * testsuite/27_io/basic_istream/getline/char/4.cc: Likewise.
1572         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
1573         * testsuite/27_io/basic_istream/getline/char/6.cc: Likewise.
1574         * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
1575         * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Likewise.
1576         * testsuite/27_io/basic_istream/getline/wchar_t/3.cc: Likewise.
1577         * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise.
1578         * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Likewise.
1579         * testsuite/27_io/basic_istream/getline/wchar_t/6.cc: Likewise.
1580         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1581         * testsuite/27_io/basic_istream/ignore/char/2.cc: Likewise.
1582         * testsuite/27_io/basic_istream/ignore/char/3.cc: Likewise.
1583         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1584         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1585         * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
1586         * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
1587         * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
1588         * testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise.
1589         * testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise.
1590         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1591         * testsuite/27_io/basic_istream/peek/char/12296.cc: Likewise.
1592         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1593         * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
1594         * testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
1595         * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
1596         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1597         * testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
1598         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1599         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1600         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1601         * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
1602         * testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
1603         * testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
1604         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc: Likewise.
1605         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Likewise.
1606         * testsuite/27_io/basic_istream/readsome/char/8258.cc: Likewise.
1607         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
1608         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
1609         * testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
1610         * testsuite/27_io/basic_istream/seekg/char/2.cc: Likewise.
1611         * testsuite/27_io/basic_istream/seekg/char/26211.cc: Likewise.
1612         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1613         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1614         * testsuite/27_io/basic_istream/seekg/char/
1615         exceptions_badbit_throw.cc: Likewise.
1616         * testsuite/27_io/basic_istream/seekg/char/fstream.cc: Likewise.
1617         * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise.
1618         * testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
1619         * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
1620         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
1621         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
1622         * testsuite/27_io/basic_istream/seekg/wchar_t/
1623         exceptions_badbit_throw.cc: Likewise.
1624         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
1625         * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
1626         * testsuite/27_io/basic_istream/sentry/char/1.cc: Likewise.
1627         * testsuite/27_io/basic_istream/sentry/char/2.cc: Likewise.
1628         * testsuite/27_io/basic_istream/sentry/char/3.cc: Likewise.
1629         * testsuite/27_io/basic_istream/sentry/pod/1.cc: Likewise.
1630         * testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
1631         * testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
1632         * testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
1633         * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise.
1634         * testsuite/27_io/basic_istream/tellg/char/2.cc: Likewise.
1635         * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
1636         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1637         * testsuite/27_io/basic_istream/tellg/char/
1638         exceptions_badbit_throw.cc: Likewise.
1639         * testsuite/27_io/basic_istream/tellg/char/fstream.cc: Likewise.
1640         * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise.
1641         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
1642         * testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
1643         * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
1644         * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
1645         * testsuite/27_io/basic_istream/tellg/wchar_t/
1646         exceptions_badbit_throw.cc: Likewise.
1647         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
1648         * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
1649         * testsuite/27_io/basic_istream/ws/char/1.cc: Likewise.
1650         * testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
1651         * testsuite/27_io/basic_istringstream/cons/2020.cc: Likewise.
1652         * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Likewise.
1653         * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: Likewise.
1654         * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
1655         * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
1656         * testsuite/27_io/basic_ofstream/cons/2020.cc: Likewise.
1657         * testsuite/27_io/basic_ofstream/cons/char/1.cc: Likewise.
1658         * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
1659         * testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc: Likewise.
1660         * testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
1661         * testsuite/27_io/basic_ostream/cons/char/9827.cc: Likewise.
1662         * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: Likewise.
1663         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1664         * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
1665         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
1666         * testsuite/27_io/basic_ostream/ends/char/2.cc: Likewise.
1667         * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
1668         * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
1669         * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise.
1670         * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
1671         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1672         * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
1673         * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
1674         Likewise.
1675         * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
1676         * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
1677         * testsuite/27_io/basic_ostream/flush/wchar_t/
1678         exceptions_badbit_throw.cc: Likewise.
1679         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1680         Likewise.
1681         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1682         Likewise.
1683         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc:
1684         Likewise.
1685         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc:
1686         Likewise.
1687         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc:
1688         Likewise.
1689         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc:
1690         Likewise.
1691         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc:
1692         Likewise.
1693         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
1694         Likewise.
1695         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
1696         Likewise.
1697         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1698         exceptions_badbit_throw.cc: Likewise.
1699         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1700         exceptions_failbit_throw.cc: Likewise.
1701         * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc:
1702         Likewise.
1703         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1704         Likewise.
1705         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
1706         Likewise.
1707         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc:
1708         Likewise.
1709         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc:
1710         Likewise.
1711         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc:
1712         Likewise.
1713         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc:
1714         Likewise.
1715         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc:
1716         Likewise.
1717         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
1718         Likewise.
1719         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1720         9555-oa.cc: Likewise.
1721         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1722         exceptions_badbit_throw.cc: Likewise.
1723         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
1724         exceptions_failbit_throw.cc: Likewise.
1725         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc:
1726         Likewise.
1727         * testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc:
1728         Likewise.
1729         * testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc:
1730         Likewise.
1731         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc: Likewise.
1732         * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
1733         Likewise.
1734         * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
1735         Likewise.
1736         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc: Likewise.
1737         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc: Likewise.
1738         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc: Likewise.
1739         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc: Likewise.
1740         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc: Likewise.
1741         * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
1742         Likewise.
1743         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1744         11095-od.cc: Likewise.
1745         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1746         11095-oe.cc: Likewise.
1747         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1748         11095-of.cc: Likewise.
1749         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc:
1750         Likewise.
1751         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1752         28277-1.cc: Likewise.
1753         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1754         28277-2.cc: Likewise.
1755         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1756         28277-3.cc: Likewise.
1757         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1758         28277-4.cc: Likewise.
1759         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc:
1760         Likewise.
1761         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc:
1762         Likewise.
1763         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc:
1764         Likewise.
1765         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc:
1766         Likewise.
1767         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1768         Likewise.
1769         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1770         Likewise.
1771         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1772         9555-oc.cc: Likewise.
1773         * testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
1774         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Likewise.
1775         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Likewise.
1776         * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: Likewise.
1777         * testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc:
1778         Likewise.
1779         * testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc:
1780         Likewise.
1781         * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
1782         Likewise.
1783         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
1784         Likewise.
1785         * testsuite/27_io/basic_ostream/inserters_other/char/
1786         error_failbit.cc: Likewise.
1787         * testsuite/27_io/basic_ostream/inserters_other/char/
1788         exceptions_badbit_throw.cc: Likewise.
1789         * testsuite/27_io/basic_ostream/inserters_other/char/
1790         exceptions_failbit_throw.cc: Likewise.
1791         * testsuite/27_io/basic_ostream/inserters_other/char/
1792         exceptions_null.cc: Likewise.
1793         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: Likewise.
1794         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc: Likewise.
1795         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc: Likewise.
1796         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc: Likewise.
1797         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1798         9318-out.cc: Likewise.
1799         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1800         9424-out.cc: Likewise.
1801         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1802         9555-oo.cc: Likewise.
1803         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1804         error_code.cc: Likewise.
1805         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1806         error_failbit.cc: Likewise.
1807         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1808         exceptions_badbit_throw.cc: Likewise.
1809         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1810         exceptions_failbit_throw.cc: Likewise.
1811         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
1812         exceptions_null.cc: Likewise.
1813         * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
1814         * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
1815         * testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc: Likewise.
1816         * testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc: Likewise.
1817         * testsuite/27_io/basic_ostream/seekp/char/
1818         exceptions_badbit_throw.cc: Likewise.
1819         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc: Likewise.
1820         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc: Likewise.
1821         * testsuite/27_io/basic_ostream/seekp/wchar_t/
1822         exceptions_badbit_throw.cc: Likewise.
1823         * testsuite/27_io/basic_ostream/sentry/char/1.cc: Likewise.
1824         * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
1825         * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
1826         * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
1827         * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
1828         * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
1829         * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
1830         * testsuite/27_io/basic_ostream/tellp/char/
1831         exceptions_badbit_throw.cc: Likewise.
1832         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
1833         * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
1834         * testsuite/27_io/basic_ostream/tellp/wchar_t/
1835         exceptions_badbit_throw.cc: Likewise.
1836         * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
1837         * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
1838         * testsuite/27_io/basic_ostringstream/cons/2020.cc: Likewise.
1839         * testsuite/27_io/basic_ostringstream/cons/char/3.cc: Likewise.
1840         * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
1841         * testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc: Likewise.
1842         * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
1843         * testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise.
1844         * testsuite/27_io/basic_ostringstream/str/char/2.cc: Likewise.
1845         * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
1846         * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
1847         * testsuite/27_io/basic_streambuf/cons/2020.cc: Likewise.
1848         * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
1849         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Likewise.
1850         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
1851         * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise.
1852         * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
1853         * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
1854         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise.
1855         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
1856         * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
1857         * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: Likewise.
1858         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Likewise.
1859         * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
1860         * testsuite/27_io/basic_streambuf/overflow/char/2.cc: Likewise.
1861         * testsuite/27_io/basic_streambuf/overflow/char/3599.cc: Likewise.
1862         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
1863         * testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc: Likewise.
1864         * testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc: Likewise.
1865         * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
1866         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
1867         * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
1868         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
1869         * testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc: Likewise.
1870         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
1871         * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
1872         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
1873         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
1874         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
1875         * testsuite/27_io/basic_stringbuf/cons/2020.cc: Likewise.
1876         * testsuite/27_io/basic_stringbuf/cons/char/1.cc: Likewise.
1877         * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
1878         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Likewise.
1879         * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
1880         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Likewise.
1881         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
1882         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Likewise.
1883         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
1884         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Likewise.
1885         * testsuite/27_io/basic_stringbuf/overflow/char/2.cc: Likewise.
1886         * testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: Likewise.
1887         * testsuite/27_io/basic_stringbuf/overflow/char/3599.cc: Likewise.
1888         * testsuite/27_io/basic_stringbuf/overflow/char/9988.cc: Likewise.
1889         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc: Likewise.
1890         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc: Likewise.
1891         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Likewise.
1892         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc: Likewise.
1893         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc: Likewise.
1894         * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: Likewise.
1895         * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
1896         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
1897         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
1898         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
1899         * testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc: Likewise.
1900         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
1901         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc: Likewise.
1902         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise.
1903         * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: Likewise.
1904         * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: Likewise.
1905         * testsuite/27_io/basic_stringbuf/seekoff/char/2.cc: Likewise.
1906         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
1907         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
1908         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: Likewise.
1909         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc: Likewise.
1910         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
1911         * testsuite/27_io/basic_stringbuf/seekpos/char/2.cc: Likewise.
1912         * testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: Likewise.
1913         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Likewise.
1914         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
1915         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc: Likewise.
1916         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: Likewise.
1917         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc: Likewise.
1918         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Likewise.
1919         * testsuite/27_io/basic_stringbuf/setbuf/char/2.cc: Likewise.
1920         * testsuite/27_io/basic_stringbuf/setbuf/char/3.cc: Likewise.
1921         * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: Likewise.
1922         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Likewise.
1923         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc: Likewise.
1924         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc: Likewise.
1925         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
1926         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise.
1927         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
1928         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
1929         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
1930         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
1931         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
1932         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise.
1933         * testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc: Likewise.
1934         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise.
1935         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc: Likewise.
1936         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Likewise.
1937         * testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc: Likewise.
1938         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Likewise.
1939         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc: Likewise.
1940         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Likewise.
1941         * testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc: Likewise.
1942         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Likewise.
1943         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc: Likewise.
1944         * testsuite/27_io/basic_stringbuf/str/char/1.cc: Likewise.
1945         * testsuite/27_io/basic_stringbuf/str/char/2.cc: Likewise.
1946         * testsuite/27_io/basic_stringbuf/str/char/3.cc: Likewise.
1947         * testsuite/27_io/basic_stringbuf/str/char/3955.cc: Likewise.
1948         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Likewise.
1949         * testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc: Likewise.
1950         * testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc: Likewise.
1951         * testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc: Likewise.
1952         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
1953         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
1954         * testsuite/27_io/basic_stringbuf/sync/char/1057.cc: Likewise.
1955         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
1956         * testsuite/27_io/basic_stringstream/cons/2020.cc: Likewise.
1957         * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Likewise.
1958         * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: Likewise.
1959         * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
1960         * testsuite/27_io/basic_stringstream/str/char/2.cc: Likewise.
1961         * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
1962         * testsuite/27_io/basic_stringstream/str/char/4.cc: Likewise.
1963         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
1964         * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
1965         * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
1966         * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
1967         * testsuite/27_io/fpos/11450.cc: Likewise.
1968         * testsuite/27_io/fpos/14252.cc: Likewise.
1969         * testsuite/27_io/fpos/14320-1.cc: Likewise.
1970         * testsuite/27_io/fpos/14320-2.cc: Likewise.
1971         * testsuite/27_io/fpos/14320-3.cc: Likewise.
1972         * testsuite/27_io/fpos/14320-4.cc: Likewise.
1973         * testsuite/27_io/fpos/14320-5.cc: Likewise.
1974         * testsuite/27_io/fpos/14775.cc: Likewise.
1975         * testsuite/27_io/fpos/mbstate_t/1.cc: Likewise.
1976         * testsuite/27_io/fpos/mbstate_t/12065.cc: Likewise.
1977         * testsuite/27_io/fpos/mbstate_t/2.cc: Likewise.
1978         * testsuite/27_io/fpos/mbstate_t/3.cc: Likewise.
1979         * testsuite/27_io/ios_base/callbacks/1.cc: Likewise.
1980         * testsuite/27_io/ios_base/failure/what-1.cc: Likewise.
1981         * testsuite/27_io/ios_base/failure/what-2.cc: Likewise.
1982         * testsuite/27_io/ios_base/failure/what-3.cc: Likewise.
1983         * testsuite/27_io/ios_base/failure/what-big.cc: Likewise.
1984         * testsuite/27_io/ios_base/state/1.cc: Likewise.
1985         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
1986         * testsuite/27_io/ios_base/storage/11584.cc: Likewise.
1987         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1988         * testsuite/27_io/ios_base/sync_with_stdio/2.cc: Likewise.
1989         * testsuite/27_io/manipulators/adjustfield/char/1.cc: Likewise.
1990         * testsuite/27_io/manipulators/adjustfield/char/2.cc
1991         * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: Likewise.
1992         * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
1993         * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
1994         * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
1995         * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
1996         * testsuite/27_io/manipulators/extended/get_money/char/51288.cc:
1997         Likewise.
1998         * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
1999         Likewise.
2000         * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
2001         Likewise.
2002         * testsuite/27_io/manipulators/extended/get_time/char/1.cc
2003         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
2004         * testsuite/27_io/manipulators/extended/get_time/wchar_t/1.cc: Likewise.
2005         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Likewise.
2006         * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
2007         * testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
2008         Likewise.
2009         * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
2010         Likewise.
2011         * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
2012         Likewise.
2013         * testsuite/27_io/manipulators/extended/put_time/char/1.cc: Likewise.
2014         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
2015         * testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: Likewise.
2016         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Likewise.
2017         * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
2018         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
2019         * testsuite/27_io/manipulators/standard/char/dr2344.cc: Likewise.
2020         * testsuite/27_io/manipulators/standard/char/quoted.cc: Likewise.
2021         * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
2022         * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
2023         * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: Likewise.
2024         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Likewise.
2025         * testsuite/27_io/objects/char/1.cc: Likewise.
2026         * testsuite/27_io/objects/char/10.cc: Likewise.
2027         * testsuite/27_io/objects/char/3045.cc: Likewise.
2028         * testsuite/27_io/objects/char/41037.cc: Likewise.
2029         * testsuite/27_io/objects/char/5.cc: Likewise.
2030         * testsuite/27_io/objects/char/6.cc: Likewise.
2031         * testsuite/27_io/objects/char/6548_xin.cc: Likewise.
2032         * testsuite/27_io/objects/char/6648-1_xin.cc: Likewise.
2033         * testsuite/27_io/objects/char/6648-2_xin.cc: Likewise.
2034         * testsuite/27_io/objects/char/7744_xin.cc: Likewise.
2035         * testsuite/27_io/objects/char/8.cc: Likewise.
2036         * testsuite/27_io/objects/char/9.cc: Likewise.
2037         * testsuite/27_io/objects/char/9661-2_xin.cc: Likewise.
2038         * testsuite/27_io/objects/char/dr455.cc: Likewise.
2039         * testsuite/27_io/objects/wchar_t/1.cc: Likewise.
2040         * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
2041         * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
2042         * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
2043         * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
2044         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
2045         * testsuite/27_io/objects/wchar_t/3045.cc: Likewise.
2046         * testsuite/27_io/objects/wchar_t/41037.cc: Likewise.
2047         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
2048         * testsuite/27_io/objects/wchar_t/6548_xin.cc: Likewise.
2049         * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: Likewise.
2050         * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: Likewise.
2051         * testsuite/27_io/objects/wchar_t/7744_xin.cc: Likewise.
2052         * testsuite/27_io/objects/wchar_t/8.cc: Likewise.
2053         * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
2054         * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: Likewise.
2055         * testsuite/27_io/objects/wchar_t/9662.cc: Likewise.
2056         * testsuite/27_io/objects/wchar_t/dr455.cc: Likewise.
2057         * testsuite/27_io/types/3.cc: Likewise.
2058
2059 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
2060
2061         PR libstdc++/77994
2062         * include/bits/stl_algo.h (sample): Convert size argument to iterator
2063         difference type.
2064         * include/experimental/algorithm (experimental::sample): Likewise.
2065         * testsuite/25_algorithms/sample/2.cc: New test.
2066
2067 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2068
2069         * testsuite/unordered_map/insert/57619.C: Rename to 57619.cc.
2070         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
2071
2072 2016-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2073
2074         * testsuite/array/capacity/empty.cc: Remove 'test' variables.
2075         * testsuite/array/capacity/max_size.cc: Likewise.
2076         * testsuite/array/capacity/size.cc: Likewise.
2077         * testsuite/array/comparison_operators/equal.cc: Likewise.
2078         * testsuite/array/comparison_operators/greater.cc: Likewise.
2079         * testsuite/array/comparison_operators/greater_or_equal.cc: Likewise.
2080         * testsuite/array/comparison_operators/less.cc: Likewise.
2081         * testsuite/array/comparison_operators/less_or_equal.cc: Likewise.
2082         * testsuite/array/comparison_operators/not_equal.cc: Likewise.
2083         * testsuite/array/element_access/54388.cc: Likewise.
2084         * testsuite/array/element_access/at_out_of_range.cc: Likewise.
2085         * testsuite/array/element_access/back.cc: Likewise.
2086         * testsuite/array/element_access/data.cc: Likewise.
2087         * testsuite/array/element_access/front.cc: Likewise.
2088         * testsuite/array/iterators/end_is_one_past.cc: Likewise.
2089         * testsuite/array/requirements/contiguous.cc: Likewise.
2090         * testsuite/array/requirements/fill.cc: Likewise.
2091         * testsuite/array/requirements/member_swap.cc: Likewise.
2092         * testsuite/array/requirements/zero_sized_arrays.cc: Likewise.
2093         * testsuite/array/specialized_algorithms/swap.cc: Likewise.
2094         * testsuite/array/tuple_interface/tuple_element.cc: Likewise.
2095         * testsuite/array/tuple_interface/tuple_element_cpp14.cc: Likewise.
2096         * testsuite/array/tuple_interface/tuple_size.cc: Likewise.
2097         * testsuite/bitset/all/1.cc: Likewise.
2098         * testsuite/bitset/cons/1.cc: Likewise.
2099         * testsuite/bitset/cons/16020.cc: Likewise.
2100         * testsuite/bitset/cons/2.cc: Likewise.
2101         * testsuite/bitset/cons/3.cc: Likewise.
2102         * testsuite/bitset/cons/50268.cc: Likewise.
2103         * testsuite/bitset/cons/6282.cc: Likewise.
2104         * testsuite/bitset/cons/dr1325-2.cc: Likewise.
2105         * testsuite/bitset/cons/dr396.cc: Likewise.
2106         * testsuite/bitset/ext/15361.cc: Likewise.
2107         * testsuite/bitset/input/1.cc: Likewise.
2108         * testsuite/bitset/operations/1.cc: Likewise.
2109         * testsuite/bitset/operations/13838.cc: Likewise.
2110         * testsuite/bitset/operations/2.cc: Likewise.
2111         * testsuite/bitset/test/1.cc: Likewise.
2112         * testsuite/bitset/to_string/1.cc: Likewise.
2113         * testsuite/bitset/to_string/dr396.cc: Likewise.
2114         * testsuite/bitset/to_ullong/1.cc: Likewise.
2115         * testsuite/bitset/to_ulong/1.cc: Likewise.
2116         * testsuite/deque/allocator/copy.cc: Likewise.
2117         * testsuite/deque/allocator/copy_assign.cc: Likewise.
2118         * testsuite/deque/allocator/ext_ptr.cc: Likewise.
2119         * testsuite/deque/allocator/minimal.cc: Likewise.
2120         * testsuite/deque/allocator/move.cc: Likewise.
2121         * testsuite/deque/allocator/move_assign.cc: Likewise.
2122         * testsuite/deque/allocator/swap.cc: Likewise.
2123         * testsuite/deque/capacity/29134-2.cc: Likewise.
2124         * testsuite/deque/capacity/29134.cc: Likewise.
2125         * testsuite/deque/capacity/moveable.cc: Likewise.
2126         * testsuite/deque/capacity/resize_size.cc: Likewise.
2127         * testsuite/deque/capacity/shrink_to_fit.cc: Likewise.
2128         * testsuite/deque/cons/1.cc: Likewise.
2129         * testsuite/deque/cons/2.cc: Likewise.
2130         * testsuite/deque/cons/assign/1.cc: Likewise.
2131         * testsuite/deque/cons/cons_size.cc: Likewise.
2132         * testsuite/deque/cons/moveable.cc: Likewise.
2133         * testsuite/deque/modifiers/erase/1.cc: Likewise.
2134         * testsuite/deque/modifiers/erase/2.cc: Likewise.
2135         * testsuite/deque/modifiers/erase/3.cc: Likewise.
2136         * testsuite/deque/modifiers/erase/moveable.cc: Likewise.
2137         * testsuite/deque/modifiers/moveable.cc: Likewise.
2138         * testsuite/deque/modifiers/push_back/49836.cc: Likewise.
2139         * testsuite/deque/modifiers/push_front/49836.cc: Likewise.
2140         * testsuite/deque/modifiers/swap/1.cc: Likewise.
2141         * testsuite/deque/modifiers/swap/2.cc: Likewise.
2142         * testsuite/deque/modifiers/swap/3.cc: Likewise.
2143         * testsuite/deque/operators/1.cc: Likewise.
2144         * testsuite/deque/operators/2.cc: Likewise.
2145         * testsuite/forward_list/allocator/copy.cc: Likewise.
2146         * testsuite/forward_list/allocator/copy_assign.cc: Likewise.
2147         * testsuite/forward_list/allocator/ext_ptr.cc: Likewise.
2148         * testsuite/forward_list/allocator/minimal.cc: Likewise.
2149         * testsuite/forward_list/allocator/move.cc: Likewise.
2150         * testsuite/forward_list/allocator/move_assign.cc: Likewise.
2151         * testsuite/forward_list/allocator/swap.cc: Likewise.
2152         * testsuite/forward_list/capacity/1.cc: Likewise.
2153         * testsuite/forward_list/capacity/resize_size.cc: Likewise.
2154         * testsuite/forward_list/comparable.cc: Likewise.
2155         * testsuite/forward_list/cons/1.cc: Likewise.
2156         * testsuite/forward_list/cons/2.cc: Likewise.
2157         * testsuite/forward_list/cons/3.cc: Likewise.
2158         * testsuite/forward_list/cons/4.cc: Likewise.
2159         * testsuite/forward_list/cons/5.cc: Likewise.
2160         * testsuite/forward_list/cons/6.cc: Likewise.
2161         * testsuite/forward_list/cons/7.cc: Likewise.
2162         * testsuite/forward_list/cons/8.cc: Likewise.
2163         * testsuite/forward_list/cons/9.cc: Likewise.
2164         * testsuite/forward_list/cons/cons_size.cc: Likewise.
2165         * testsuite/forward_list/cons/moveable.cc: Likewise.
2166         * testsuite/forward_list/debug/clear.cc: Likewise.
2167         * testsuite/forward_list/debug/construct4_neg.cc: Likewise.
2168         * testsuite/forward_list/debug/erase_after1_neg.cc: Likewise.
2169         * testsuite/forward_list/debug/move_assign_neg.cc: Likewise.
2170         * testsuite/forward_list/debug/move_constructor.cc: Likewise.
2171         * testsuite/forward_list/debug/move_neg.cc: Likewise.
2172         * testsuite/forward_list/debug/splice_after.cc: Likewise.
2173         * testsuite/forward_list/debug/swap.cc: Likewise.
2174         * testsuite/forward_list/modifiers/1.cc: Likewise.
2175         * testsuite/forward_list/modifiers/2.cc: Likewise.
2176         * testsuite/forward_list/modifiers/3.cc: Likewise.
2177         * testsuite/forward_list/modifiers/4.cc: Likewise.
2178         * testsuite/forward_list/modifiers/5.cc: Likewise.
2179         * testsuite/forward_list/modifiers/6.cc: Likewise.
2180         * testsuite/forward_list/operations/1.cc: Likewise.
2181         * testsuite/forward_list/operations/2.cc: Likewise.
2182         * testsuite/forward_list/operations/3.cc: Likewise.
2183         * testsuite/forward_list/operations/4.cc: Likewise.
2184         * testsuite/forward_list/operations/5.cc: Likewise.
2185         * testsuite/forward_list/operations/6.cc: Likewise.
2186         * testsuite/forward_list/operations/7.cc: Likewise.
2187         * testsuite/forward_list/operations/remove_freed.cc: Likewise.
2188         * testsuite/list/61347.cc: Likewise.
2189         * testsuite/list/allocator/copy.cc: Likewise.
2190         * testsuite/list/allocator/copy_assign.cc: Likewise.
2191         * testsuite/list/allocator/minimal.cc: Likewise.
2192         * testsuite/list/allocator/move.cc: Likewise.
2193         * testsuite/list/allocator/move_assign.cc: Likewise.
2194         * testsuite/list/allocator/swap.cc: Likewise.
2195         * testsuite/list/capacity/1.h: Likewise.
2196         * testsuite/list/capacity/29134.cc: Likewise.
2197         * testsuite/list/capacity/resize_size.cc: Likewise.
2198         * testsuite/list/cons/1.h: Likewise.
2199         * testsuite/list/cons/2.h: Likewise.
2200         * testsuite/list/cons/3.h: Likewise.
2201         * testsuite/list/cons/4.h: Likewise.
2202         * testsuite/list/cons/5.h: Likewise.
2203         * testsuite/list/cons/6.h: Likewise.
2204         * testsuite/list/cons/7.h: Likewise.
2205         * testsuite/list/cons/8.h: Likewise.
2206         * testsuite/list/cons/9.h: Likewise.
2207         * testsuite/list/cons/cons_size.cc: Likewise.
2208         * testsuite/list/cons/moveable.h: Likewise.
2209         * testsuite/list/debug/invalidation/1.cc: Likewise.
2210         * testsuite/list/debug/invalidation/2.cc: Likewise.
2211         * testsuite/list/debug/invalidation/3.cc: Likewise.
2212         * testsuite/list/debug/invalidation/4.cc: Likewise.
2213         * testsuite/list/modifiers/1.h: Likewise.
2214         * testsuite/list/modifiers/2.h: Likewise.
2215         * testsuite/list/modifiers/3.h: Likewise.
2216         * testsuite/list/modifiers/insert/25288.h: Likewise.
2217         * testsuite/list/modifiers/swap/1.h: Likewise.
2218         * testsuite/list/modifiers/swap/2.h: Likewise.
2219         * testsuite/list/modifiers/swap/3.h: Likewise.
2220         * testsuite/list/operations/1.h: Likewise.
2221         * testsuite/list/operations/2.h: Likewise.
2222         * testsuite/list/operations/3.h: Likewise.
2223         * testsuite/list/operations/4.h: Likewise.
2224         * testsuite/list/operations/42352.cc: Likewise.
2225         * testsuite/map/allocator/copy.cc: Likewise.
2226         * testsuite/map/allocator/copy_assign.cc: Likewise.
2227         * testsuite/map/allocator/init-list.cc: Likewise.
2228         * testsuite/map/allocator/minimal.cc: Likewise.
2229         * testsuite/map/allocator/move.cc: Likewise.
2230         * testsuite/map/allocator/move_assign.cc: Likewise.
2231         * testsuite/map/allocator/swap.cc: Likewise.
2232         * testsuite/map/capacity/29134.cc: Likewise.
2233         * testsuite/map/cons/moveable.cc: Likewise.
2234         * testsuite/map/debug/construct5_neg.cc: Likewise.
2235         * testsuite/map/debug/move_assign_neg.cc: Likewise.
2236         * testsuite/map/debug/move_neg.cc: Likewise.
2237         * testsuite/map/element_access/1.cc: Likewise.
2238         * testsuite/map/element_access/2.cc: Likewise.
2239         * testsuite/map/element_access/39901.cc: Likewise.
2240         * testsuite/map/init-list.cc: Likewise.
2241         * testsuite/map/modifiers/dr130.cc: Likewise.
2242         * testsuite/map/modifiers/emplace/1.cc: Likewise.
2243         * testsuite/map/modifiers/extract.cc: Likewise.
2244         * testsuite/map/modifiers/insert/1.cc: Likewise.
2245         * testsuite/map/modifiers/insert/16813.cc: Likewise.
2246         * testsuite/map/modifiers/insert/2.cc: Likewise.
2247         * testsuite/map/modifiers/insert/3.cc: Likewise.
2248         * testsuite/map/modifiers/insert/4.cc: Likewise.
2249         * testsuite/map/modifiers/insert/5.cc: Likewise.
2250         * testsuite/map/modifiers/insert_or_assign/1.cc: Likewise.
2251         * testsuite/map/modifiers/merge.cc: Likewise.
2252         * testsuite/map/modifiers/swap/1.cc: Likewise.
2253         * testsuite/map/modifiers/swap/2.cc: Likewise.
2254         * testsuite/map/modifiers/swap/3.cc: Likewise.
2255         * testsuite/map/modifiers/try_emplace/1.cc: Likewise.
2256         * testsuite/map/operations/1.cc: Likewise.
2257         * testsuite/map/operations/count.cc: Likewise.
2258         * testsuite/map/operators/1_neg.cc: Likewise.
2259         * testsuite/map/operators/2.cc: Likewise.
2260         * testsuite/multimap/allocator/copy.cc: Likewise.
2261         * testsuite/multimap/allocator/copy_assign.cc: Likewise.
2262         * testsuite/multimap/allocator/init-list.cc: Likewise.
2263         * testsuite/multimap/allocator/minimal.cc: Likewise.
2264         * testsuite/multimap/allocator/move.cc: Likewise.
2265         * testsuite/multimap/allocator/move_assign.cc: Likewise.
2266         * testsuite/multimap/allocator/swap.cc: Likewise.
2267         * testsuite/multimap/capacity/29134.cc: Likewise.
2268         * testsuite/multimap/cons/moveable.cc: Likewise.
2269         * testsuite/multimap/debug/construct5_neg.cc: Likewise.
2270         * testsuite/multimap/debug/move_assign_neg.cc: Likewise.
2271         * testsuite/multimap/debug/move_neg.cc: Likewise.
2272         * testsuite/multimap/init-list.cc: Likewise.
2273         * testsuite/multimap/modifiers/dr130.cc: Likewise.
2274         * testsuite/multimap/modifiers/emplace/1.cc: Likewise.
2275         * testsuite/multimap/modifiers/extract.cc: Likewise.
2276         * testsuite/multimap/modifiers/insert/1.cc: Likewise.
2277         * testsuite/multimap/modifiers/insert/2.cc: Likewise.
2278         * testsuite/multimap/modifiers/insert/22102.cc: Likewise.
2279         * testsuite/multimap/modifiers/insert/3.cc: Likewise.
2280         * testsuite/multimap/modifiers/insert/4.cc: Likewise.
2281         * testsuite/multimap/modifiers/merge.cc: Likewise.
2282         * testsuite/multimap/modifiers/swap/1.cc: Likewise.
2283         * testsuite/multimap/modifiers/swap/2.cc: Likewise.
2284         * testsuite/multimap/modifiers/swap/3.cc: Likewise.
2285         * testsuite/multimap/operations/1.cc: Likewise.
2286         * testsuite/multimap/operations/count.cc: Likewise.
2287         * testsuite/multiset/allocator/copy.cc: Likewise.
2288         * testsuite/multiset/allocator/copy_assign.cc: Likewise.
2289         * testsuite/multiset/allocator/init-list.cc: Likewise.
2290         * testsuite/multiset/allocator/minimal.cc: Likewise.
2291         * testsuite/multiset/allocator/move.cc: Likewise.
2292         * testsuite/multiset/allocator/move_assign.cc: Likewise.
2293         * testsuite/multiset/allocator/swap.cc: Likewise.
2294         * testsuite/multiset/capacity/29134.cc: Likewise.
2295         * testsuite/multiset/cons/moveable.cc: Likewise.
2296         * testsuite/multiset/debug/construct5_neg.cc: Likewise.
2297         * testsuite/multiset/debug/invalidation/2.cc: Likewise.
2298         * testsuite/multiset/debug/move_assign_neg.cc: Likewise.
2299         * testsuite/multiset/debug/move_neg.cc: Likewise.
2300         * testsuite/multiset/init-list.cc: Likewise.
2301         * testsuite/multiset/modifiers/dr130.cc: Likewise.
2302         * testsuite/multiset/modifiers/emplace/1.cc: Likewise.
2303         * testsuite/multiset/modifiers/extract.cc: Likewise.
2304         * testsuite/multiset/modifiers/insert/1.cc: Likewise.
2305         * testsuite/multiset/modifiers/insert/2.cc: Likewise.
2306         * testsuite/multiset/modifiers/insert/22102.cc: Likewise.
2307         * testsuite/multiset/modifiers/insert/3.cc: Likewise.
2308         * testsuite/multiset/modifiers/insert/4.cc: Likewise.
2309         * testsuite/multiset/modifiers/merge.cc: Likewise.
2310         * testsuite/multiset/modifiers/swap/1.cc: Likewise.
2311         * testsuite/multiset/modifiers/swap/2.cc: Likewise.
2312         * testsuite/multiset/modifiers/swap/3.cc: Likewise.
2313         * testsuite/multiset/operations/1.cc: Likewise.
2314         * testsuite/multiset/operations/count.cc: Likewise.
2315         * testsuite/priority_queue/moveable.cc: Likewise.
2316         * testsuite/queue/moveable.cc: Likewise.
2317         * testsuite/set/allocator/copy.cc: Likewise.
2318         * testsuite/set/allocator/copy_assign.cc: Likewise.
2319         * testsuite/set/allocator/init-list.cc: Likewise.
2320         * testsuite/set/allocator/minimal.cc: Likewise.
2321         * testsuite/set/allocator/move.cc: Likewise.
2322         * testsuite/set/allocator/move_assign.cc: Likewise.
2323         * testsuite/set/allocator/swap.cc: Likewise.
2324         * testsuite/set/capacity/29134.cc: Likewise.
2325         * testsuite/set/cons/moveable.cc: Likewise.
2326         * testsuite/set/debug/construct5_neg.cc: Likewise.
2327         * testsuite/set/debug/invalidation/2.cc: Likewise.
2328         * testsuite/set/debug/move_assign_neg.cc: Likewise.
2329         * testsuite/set/debug/move_neg.cc: Likewise.
2330         * testsuite/set/init-list.cc: Likewise.
2331         * testsuite/set/modifiers/17948.cc: Likewise.
2332         * testsuite/set/modifiers/dr130.cc: Likewise.
2333         * testsuite/set/modifiers/emplace/1.cc: Likewise.
2334         * testsuite/set/modifiers/extract.cc: Likewise.
2335         * testsuite/set/modifiers/insert/1.cc: Likewise.
2336         * testsuite/set/modifiers/insert/2.cc: Likewise.
2337         * testsuite/set/modifiers/insert/3.cc: Likewise.
2338         * testsuite/set/modifiers/merge.cc: Likewise.
2339         * testsuite/set/modifiers/swap/1.cc: Likewise.
2340         * testsuite/set/modifiers/swap/2.cc: Likewise.
2341         * testsuite/set/modifiers/swap/3.cc: Likewise.
2342         * testsuite/set/operations/1.cc: Likewise.
2343         * testsuite/set/operations/count.cc: Likewise.
2344         * testsuite/set/operators/1_neg.cc: Likewise.
2345         * testsuite/unordered_map/allocator/copy.cc: Likewise.
2346         * testsuite/unordered_map/allocator/copy_assign.cc: Likewise.
2347         * testsuite/unordered_map/allocator/minimal.cc: Likewise.
2348         * testsuite/unordered_map/allocator/move.cc: Likewise.
2349         * testsuite/unordered_map/allocator/move_assign.cc: Likewise.
2350         * testsuite/unordered_map/allocator/swap.cc: Likewise.
2351         * testsuite/unordered_map/cons/moveable.cc: Likewise.
2352         * testsuite/unordered_map/debug/construct5_neg.cc: Likewise.
2353         * testsuite/unordered_map/debug/move_assign_neg.cc: Likewise.
2354         * testsuite/unordered_map/debug/move_neg.cc: Likewise.
2355         * testsuite/unordered_map/dr761.cc: Likewise.
2356         * testsuite/unordered_map/erase/1.cc: Likewise.
2357         * testsuite/unordered_map/erase/24061-map.cc: Likewise.
2358         * testsuite/unordered_map/erase/54276.cc: Likewise.
2359         * testsuite/unordered_map/hash_policy/dr1189.cc: Likewise.
2360         * testsuite/unordered_map/init-list.cc: Likewise.
2361         * testsuite/unordered_map/insert/24061-map.cc: Likewise.
2362         * testsuite/unordered_map/insert/57619.C: Likewise.
2363         * testsuite/unordered_map/insert/array_syntax.cc: Likewise.
2364         * testsuite/unordered_map/insert/array_syntax_move.cc: Likewise.
2365         * testsuite/unordered_map/insert/map_range.cc: Likewise.
2366         * testsuite/unordered_map/insert/map_single.cc: Likewise.
2367         * testsuite/unordered_map/insert/map_single_move-1.cc: Likewise.
2368         * testsuite/unordered_map/insert/map_single_move-2.cc: Likewise.
2369         * testsuite/unordered_map/modifiers/61667.cc: Likewise.
2370         * testsuite/unordered_map/modifiers/emplace.cc: Likewise.
2371         * testsuite/unordered_map/modifiers/extract.cc: Likewise.
2372         * testsuite/unordered_map/modifiers/insert_or_assign.cc: Likewise.
2373         * testsuite/unordered_map/modifiers/merge.cc: Likewise.
2374         * testsuite/unordered_map/modifiers/reserve.cc: Likewise.
2375         * testsuite/unordered_map/modifiers/try_emplace.cc: Likewise.
2376         * testsuite/unordered_map/operations/count.cc: Likewise.
2377         * testsuite/unordered_map/operators/1.cc: Likewise.
2378         * testsuite/unordered_map/operators/2.cc: Likewise.
2379         * testsuite/unordered_multimap/allocator/copy.cc: Likewise.
2380         * testsuite/unordered_multimap/allocator/copy_assign.cc: Likewise.
2381         * testsuite/unordered_multimap/allocator/minimal.cc: Likewise.
2382         * testsuite/unordered_multimap/allocator/move.cc: Likewise.
2383         * testsuite/unordered_multimap/allocator/move_assign.cc: Likewise.
2384         * testsuite/unordered_multimap/allocator/swap.cc: Likewise.
2385         * testsuite/unordered_multimap/cons/moveable.cc: Likewise.
2386         * testsuite/unordered_multimap/debug/construct5_neg.cc: Likewise.
2387         * testsuite/unordered_multimap/debug/move_assign_neg.cc: Likewise.
2388         * testsuite/unordered_multimap/debug/move_neg.cc: Likewise.
2389         * testsuite/unordered_multimap/erase/1.cc: Likewise.
2390         * testsuite/unordered_multimap/erase/2.cc: Likewise.
2391         * testsuite/unordered_multimap/erase/24061-multimap.cc: Likewise.
2392         * testsuite/unordered_multimap/erase/51845-multimap.cc: Likewise.
2393         * testsuite/unordered_multimap/erase/54276.cc: Likewise.
2394         * testsuite/unordered_multimap/hash_policy/dr1189.cc: Likewise.
2395         * testsuite/unordered_multimap/init-list.cc: Likewise.
2396         * testsuite/unordered_multimap/insert/24061-multimap.cc: Likewise.
2397         * testsuite/unordered_multimap/insert/51866.cc: Likewise.
2398         * testsuite/unordered_multimap/insert/52476.cc: Likewise.
2399         * testsuite/unordered_multimap/insert/53115.cc: Likewise.
2400         * testsuite/unordered_multimap/insert/57619.C: Likewise.
2401         * testsuite/unordered_multimap/insert/hint.cc: Likewise.
2402         * testsuite/unordered_multimap/insert/multimap_range.cc: Likewise.
2403         * testsuite/unordered_multimap/insert/multimap_single.cc: Likewise.
2404         * testsuite/unordered_multimap/insert/multimap_single_move-1.cc:
2405         Likewise.
2406         * testsuite/unordered_multimap/insert/multimap_single_move-2.cc:
2407         Likewise.
2408         * testsuite/unordered_multimap/modifiers/emplace.cc: Likewise.
2409         * testsuite/unordered_multimap/modifiers/extract.cc: Likewise.
2410         * testsuite/unordered_multimap/modifiers/merge.cc: Likewise.
2411         * testsuite/unordered_multimap/modifiers/reserve.cc: Likewise.
2412         * testsuite/unordered_multimap/operations/count.cc: Likewise.
2413         * testsuite/unordered_multimap/operators/1.cc: Likewise.
2414         * testsuite/unordered_multimap/operators/2.cc: Likewise.
2415         * testsuite/unordered_multiset/allocator/copy.cc: Likewise.
2416         * testsuite/unordered_multiset/allocator/copy_assign.cc: Likewise.
2417         * testsuite/unordered_multiset/allocator/minimal.cc: Likewise.
2418         * testsuite/unordered_multiset/allocator/move.cc: Likewise.
2419         * testsuite/unordered_multiset/allocator/move_assign.cc: Likewise.
2420         * testsuite/unordered_multiset/allocator/swap.cc: Likewise.
2421         * testsuite/unordered_multiset/cons/copy.cc: Likewise.
2422         * testsuite/unordered_multiset/cons/moveable.cc: Likewise.
2423         * testsuite/unordered_multiset/debug/construct5_neg.cc: Likewise.
2424         * testsuite/unordered_multiset/debug/move_assign_neg.cc: Likewise.
2425         * testsuite/unordered_multiset/debug/move_neg.cc: Likewise.
2426         * testsuite/unordered_multiset/erase/1.cc: Likewise.
2427         * testsuite/unordered_multiset/erase/2.cc: Likewise.
2428         * testsuite/unordered_multiset/erase/24061-multiset.cc: Likewise.
2429         * testsuite/unordered_multiset/hash_policy/dr1189.cc: Likewise.
2430         * testsuite/unordered_multiset/init-list.cc: Likewise.
2431         * testsuite/unordered_multiset/insert/24061-multiset.cc: Likewise.
2432         * testsuite/unordered_multiset/insert/51866.cc: Likewise.
2433         * testsuite/unordered_multiset/insert/52476.cc: Likewise.
2434         * testsuite/unordered_multiset/insert/53115.cc: Likewise.
2435         * testsuite/unordered_multiset/insert/hash_policy.cc: Likewise.
2436         * testsuite/unordered_multiset/insert/multiset_range.cc: Likewise.
2437         * testsuite/unordered_multiset/insert/multiset_single.cc: Likewise.
2438         * testsuite/unordered_multiset/insert/multiset_single_move.cc: Likewise.
2439         * testsuite/unordered_multiset/modifiers/emplace.cc: Likewise.
2440         * testsuite/unordered_multiset/modifiers/extract.cc: Likewise.
2441         * testsuite/unordered_multiset/modifiers/merge.cc: Likewise.
2442         * testsuite/unordered_multiset/modifiers/reserve.cc: Likewise.
2443         * testsuite/unordered_multiset/operations/count.cc: Likewise.
2444         * testsuite/unordered_multiset/operators/1.cc: Likewise.
2445         * testsuite/unordered_set/allocator/copy.cc: Likewise.
2446         * testsuite/unordered_set/allocator/copy_assign.cc: Likewise.
2447         * testsuite/unordered_set/allocator/ext_ptr.cc: Likewise.
2448         * testsuite/unordered_set/allocator/minimal.cc: Likewise.
2449         * testsuite/unordered_set/allocator/move.cc: Likewise.
2450         * testsuite/unordered_set/allocator/move_assign.cc: Likewise.
2451         * testsuite/unordered_set/allocator/swap.cc: Likewise.
2452         * testsuite/unordered_set/buckets/swap.cc: Likewise.
2453         * testsuite/unordered_set/cons/moveable.cc: Likewise.
2454         * testsuite/unordered_set/debug/construct5_neg.cc: Likewise.
2455         * testsuite/unordered_set/debug/debug_functions.cc: Likewise.
2456         * testsuite/unordered_set/debug/move_assign_neg.cc: Likewise.
2457         * testsuite/unordered_set/debug/move_neg.cc: Likewise.
2458         * testsuite/unordered_set/erase/1.cc: Likewise.
2459         * testsuite/unordered_set/erase/24061-set.cc: Likewise.
2460         * testsuite/unordered_set/hash_policy/26132.cc: Likewise.
2461         * testsuite/unordered_set/hash_policy/71181.cc: Likewise.
2462         * testsuite/unordered_set/hash_policy/dr1189.cc: Likewise.
2463         * testsuite/unordered_set/hash_policy/load_factor.cc: Likewise.
2464         * testsuite/unordered_set/hash_policy/power2_rehash.cc: Likewise.
2465         * testsuite/unordered_set/hash_policy/prime_rehash.cc: Likewise.
2466         * testsuite/unordered_set/hash_policy/rehash.cc: Likewise.
2467         * testsuite/unordered_set/init-list.cc: Likewise.
2468         * testsuite/unordered_set/insert/24061-set.cc: Likewise.
2469         * testsuite/unordered_set/insert/hash_policy.cc: Likewise.
2470         * testsuite/unordered_set/insert/move_range.cc: Likewise.
2471         * testsuite/unordered_set/insert/set_range.cc: Likewise.
2472         * testsuite/unordered_set/insert/set_single.cc: Likewise.
2473         * testsuite/unordered_set/insert/set_single_move.cc: Likewise.
2474         * testsuite/unordered_set/max_load_factor/robustness.cc: Likewise.
2475         * testsuite/unordered_set/modifiers/emplace.cc: Likewise.
2476         * testsuite/unordered_set/modifiers/extract.cc: Likewise.
2477         * testsuite/unordered_set/modifiers/merge.cc: Likewise.
2478         * testsuite/unordered_set/modifiers/reserve.cc: Likewise.
2479         * testsuite/unordered_set/modifiers/swap.cc: Likewise.
2480         * testsuite/unordered_set/operations/count.cc: Likewise.
2481         * testsuite/unordered_set/operators/1.cc: Likewise.
2482         * testsuite/vector/allocator/copy.cc: Likewise.
2483         * testsuite/vector/allocator/copy_assign.cc: Likewise.
2484         * testsuite/vector/allocator/ext_ptr.cc: Likewise.
2485         * testsuite/vector/allocator/minimal.cc: Likewise.
2486         * testsuite/vector/allocator/move.cc: Likewise.
2487         * testsuite/vector/allocator/move_assign.cc: Likewise.
2488         * testsuite/vector/allocator/swap.cc: Likewise.
2489         * testsuite/vector/bool/6886.cc: Likewise.
2490         * testsuite/vector/bool/72847.cc: Likewise.
2491         * testsuite/vector/bool/allocator/copy.cc: Likewise.
2492         * testsuite/vector/bool/allocator/copy_assign.cc: Likewise.
2493         * testsuite/vector/bool/allocator/ext_ptr.cc: Likewise.
2494         * testsuite/vector/bool/allocator/move.cc: Likewise.
2495         * testsuite/vector/bool/allocator/move_assign.cc: Likewise.
2496         * testsuite/vector/bool/allocator/swap.cc: Likewise.
2497         * testsuite/vector/bool/capacity/1.cc: Likewise.
2498         * testsuite/vector/bool/capacity/29134.cc: Likewise.
2499         * testsuite/vector/bool/capacity/shrink_to_fit.cc: Likewise.
2500         * testsuite/vector/bool/cons/1.cc: Likewise.
2501         * testsuite/vector/bool/cons/2.cc: Likewise.
2502         * testsuite/vector/bool/modifiers/erase/1.cc: Likewise.
2503         * testsuite/vector/bool/modifiers/insert/1.cc: Likewise.
2504         * testsuite/vector/bool/modifiers/insert/31370.cc: Likewise.
2505         * testsuite/vector/bool/modifiers/swap/1.cc: Likewise.
2506         * testsuite/vector/bool/modifiers/swap/2.cc: Likewise.
2507         * testsuite/vector/bool/swap.cc: Likewise.
2508         * testsuite/vector/capacity/1.cc: Likewise.
2509         * testsuite/vector/capacity/2.cc: Likewise.
2510         * testsuite/vector/capacity/29134-2.cc: Likewise.
2511         * testsuite/vector/capacity/29134.cc: Likewise.
2512         * testsuite/vector/capacity/44190.cc: Likewise.
2513         * testsuite/vector/capacity/8230.cc: Likewise.
2514         * testsuite/vector/capacity/reserve/moveable.cc: Likewise.
2515         * testsuite/vector/capacity/reserve/moveable2.cc: Likewise.
2516         * testsuite/vector/capacity/resize/1.cc: Likewise.
2517         * testsuite/vector/capacity/resize/moveable.cc: Likewise.
2518         * testsuite/vector/capacity/resize/moveable2.cc: Likewise.
2519         * testsuite/vector/capacity/resize/resize_size.cc: Likewise.
2520         * testsuite/vector/capacity/shrink_to_fit.cc: Likewise.
2521         * testsuite/vector/capacity/shrink_to_fit2.cc: Likewise.
2522         * testsuite/vector/cons/3.cc: Likewise.
2523         * testsuite/vector/cons/4.cc: Likewise.
2524         * testsuite/vector/cons/cons_size.cc: Likewise.
2525         * testsuite/vector/cons/moveable.cc: Likewise.
2526         * testsuite/vector/data_access/1.cc: Likewise.
2527         * testsuite/vector/debug/debug_functions.cc: Likewise.
2528         * testsuite/vector/debug/move_assign_neg.cc: Likewise.
2529         * testsuite/vector/debug/move_neg.cc: Likewise.
2530         * testsuite/vector/debug/multithreaded_swap.cc: Likewise.
2531         * testsuite/vector/element_access/1.cc: Likewise.
2532         * testsuite/vector/ext_pointer/citerators.cc: Likewise.
2533         * testsuite/vector/ext_pointer/data_access.cc: Likewise.
2534         * testsuite/vector/ext_pointer/modifiers/element.cc: Likewise.
2535         * testsuite/vector/ext_pointer/modifiers/erase.cc: Likewise.
2536         * testsuite/vector/ext_pointer/modifiers/insert.cc: Likewise.
2537         * testsuite/vector/ext_pointer/resize.cc: Likewise.
2538         * testsuite/vector/modifiers/1.cc: Likewise.
2539         * testsuite/vector/modifiers/2.cc: Likewise.
2540         * testsuite/vector/modifiers/emplace/self_emplace.cc: Likewise.
2541         * testsuite/vector/modifiers/erase/1.cc: Likewise.
2542         * testsuite/vector/modifiers/erase/moveable.cc: Likewise.
2543         * testsuite/vector/modifiers/insert/1.cc: Likewise.
2544         * testsuite/vector/modifiers/insert/self_insert.cc: Likewise.
2545         * testsuite/vector/modifiers/moveable.cc: Likewise.
2546         * testsuite/vector/modifiers/moveable2.cc: Likewise.
2547         * testsuite/vector/modifiers/push_back/49836.cc: Likewise.
2548         * testsuite/vector/modifiers/swap/1.cc: Likewise.
2549         * testsuite/vector/modifiers/swap/2.cc: Likewise.
2550         * testsuite/vector/modifiers/swap/3.cc: Likewise.
2551         * testsuite/vector/zero_sized_allocations.cc: Likewise.
2552
2553 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
2554
2555         PR libstdc++/77998
2556         * include/std/future (__future_base::_Deferred_state)
2557         (__future_base::_Async_state_impl): Use decltype to deduce return
2558         type, instead of _Invoker::result_type.
2559         * include/std/thread (thread::_Invoker::operator()): Likewise.
2560         (thread::_Invoker::result_type): Remove.
2561
2562         PR libstdc++/77987
2563         * include/bits/unique_ptr.h (unique_ptr<T[], D>::reset<U>(U)): Copy
2564         value to pointer of the correct type to swap, to support conversions
2565         allowed by LWG 2118 / N4089.
2566         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for
2567         incompatible deleters from ...
2568         * testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here.
2569         * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for
2570         incompatible pointers to ...
2571         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move
2572         destructor definition to base class. Test for invalid derived-to-base
2573         conversion.
2574
2575         * doc/xml/manual/status_cxx2017.xml: Update status.
2576         * doc/html/*: Regenerate.
2577         * include/bits/deque.tcc (deque::emplace_front, deque::emplace_back):
2578         Return a reference in C++17 mode.
2579         * include/bits/forward_list.h (forward_list::emplace_front): Likewise.
2580         * include/bits/stl_bvector.h (vector<bool>::emplace_back): Likewise.
2581         * include/bits/stl_deque.h (deque::emplace_front, deque::emplace_back):
2582         Likewise.
2583         * include/bits/stl_list.h (list::emplace_front, list::emplace_back):
2584         Likewise.
2585         * include/bits/stl_queue.h (queue::emplace): Likewise.
2586         * include/bits/stl_stack.h (stack::emplace): Likewise.
2587         * include/bits/stl_vector.h (vector::emplace_back): Likewise.
2588         * include/bits/vector.tcc (vector::emplace_back): Likewise.
2589         * include/debug/deque (__gnu_debug::deque::emplace_front)
2590         (__gnu_debug::deque::emplace_back): Likewise.
2591         * include/debug/vector (__gnu_debug::vector::emplace_back): Likewise.
2592         * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
2593         New.
2594         * testsuite/23_containers/forward_list/modifiers/
2595         emplace_cxx17_return.cc: New.
2596         * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: New.
2597         * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: New.
2598         * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: New.
2599         * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: New.
2600         * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
2601         New.
2602
2603 2016-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
2604
2605         * testsuite/22_locale/classification/isblank.cc: Remove 'test'
2606         variables.
2607         * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
2608         * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Likewise.
2609         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
2610         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
2611         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise.
2612         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Likewise.
2613         * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
2614         * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc: Likewise.
2615         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
2616         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
2617         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise.
2618         * testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
2619         * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Likewise.
2620         * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
2621         * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise.
2622         * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise.
2623         * testsuite/22_locale/codecvt/in/wchar_t/5.cc: Likewise.
2624         * testsuite/22_locale/codecvt/in/wchar_t/6.cc: Likewise.
2625         * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise.
2626         * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
2627         * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
2628         * testsuite/22_locale/codecvt/length/char/1.cc: Likewise.
2629         * testsuite/22_locale/codecvt/length/char/2.cc: Likewise.
2630         * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Likewise.
2631         * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
2632         * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
2633         * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
2634         * testsuite/22_locale/codecvt/length/wchar_t/5.cc: Likewise.
2635         * testsuite/22_locale/codecvt/length/wchar_t/6.cc: Likewise.
2636         * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise.
2637         * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
2638         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Likewise.
2639         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
2640         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
2641         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise.
2642         * testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
2643         * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Likewise.
2644         * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
2645         * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise.
2646         * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
2647         * testsuite/22_locale/codecvt/out/wchar_t/5.cc: Likewise.
2648         * testsuite/22_locale/codecvt/out/wchar_t/6.cc: Likewise.
2649         * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
2650         * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
2651         * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Likewise.
2652         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
2653         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
2654         * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
2655         * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
2656         * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
2657         * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
2658         * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
2659         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
2660         * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
2661         * testsuite/22_locale/collate/hash/char/1.cc: Likewise.
2662         * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
2663         * testsuite/22_locale/collate/hash/wchar_t/1.cc: Likewise.
2664         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
2665         * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
2666         * testsuite/22_locale/collate/transform/char/28277.cc: Likewise.
2667         * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
2668         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
2669         * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise.
2670         * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
2671         * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
2672         * testsuite/22_locale/ctype/cons/char/1.cc: Likewise.
2673         * testsuite/22_locale/ctype/is/char/1.cc: Likewise.
2674         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
2675         * testsuite/22_locale/ctype/is/char/3.cc: Likewise.
2676         * testsuite/22_locale/ctype/is/char/9858.cc: Likewise.
2677         * testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
2678         * testsuite/22_locale/ctype/is/wchar_t/11740.cc: Likewise.
2679         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
2680         * testsuite/22_locale/ctype/narrow/char/1.cc: Likewise.
2681         * testsuite/22_locale/ctype/narrow/char/19955.cc: Likewise.
2682         * testsuite/22_locale/ctype/narrow/char/2.cc: Likewise.
2683         * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Likewise.
2684         * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Likewise.
2685         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise.
2686         * testsuite/22_locale/ctype/scan/char/1.cc: Likewise.
2687         * testsuite/22_locale/ctype/scan/wchar_t/1.cc: Likewise.
2688         * testsuite/22_locale/ctype/to/char/1.cc: Likewise.
2689         * testsuite/22_locale/ctype/to/wchar_t/1.cc: Likewise.
2690         * testsuite/22_locale/ctype/widen/char/1.cc: Likewise.
2691         * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Likewise.
2692         * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
2693         * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise.
2694         * testsuite/22_locale/ctype_base/11844.cc: Likewise.
2695         * testsuite/22_locale/facet/1.cc: Likewise.
2696         * testsuite/22_locale/facet/2.cc: Likewise.
2697         * testsuite/22_locale/facet/25421.cc: Likewise.
2698         * testsuite/22_locale/global_templates/1.cc: Likewise.
2699         * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
2700         Likewise.
2701         * testsuite/22_locale/global_templates/user_facet_hierarchies.cc:
2702         Likewise.
2703         * testsuite/22_locale/locale/13630.cc: Likewise.
2704         * testsuite/22_locale/locale/cons/12352.cc: Likewise.
2705         * testsuite/22_locale/locale/cons/12438.cc: Likewise.
2706         * testsuite/22_locale/locale/cons/2.cc: Likewise.
2707         * testsuite/22_locale/locale/cons/29217.cc: Likewise.
2708         * testsuite/22_locale/locale/cons/38365.cc: Likewise.
2709         * testsuite/22_locale/locale/cons/38368.cc: Likewise.
2710         * testsuite/22_locale/locale/cons/4.cc: Likewise.
2711         * testsuite/22_locale/locale/cons/40184.cc: Likewise.
2712         * testsuite/22_locale/locale/cons/5.cc: Likewise.
2713         * testsuite/22_locale/locale/cons/6.cc: Likewise.
2714         * testsuite/22_locale/locale/cons/7.cc: Likewise.
2715         * testsuite/22_locale/locale/cons/7222-c.cc: Likewise.
2716         * testsuite/22_locale/locale/cons/7222-env.cc: Likewise.
2717         * testsuite/22_locale/locale/cons/8.cc: Likewise.
2718         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
2719         * testsuite/22_locale/locale/global_locale_objects/1.cc: Likewise.
2720         * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
2721         * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
2722         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
2723         * testsuite/22_locale/locale/operations/1.cc: Likewise.
2724         * testsuite/22_locale/locale/operations/2.cc: Likewise.
2725         * testsuite/22_locale/messages/13631.cc: Likewise.
2726         * testsuite/22_locale/messages/members/char/1.cc: Likewise.
2727         * testsuite/22_locale/messages/members/char/2.cc: Likewise.
2728         * testsuite/22_locale/messages/members/char/3.cc: Likewise.
2729         * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
2730         * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
2731         * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
2732         * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
2733         * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
2734         * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
2735         * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
2736         * testsuite/22_locale/money_get/get/char/14.cc: Likewise.
2737         * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
2738         * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
2739         * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
2740         * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
2741         * testsuite/22_locale/money_get/get/char/19.cc: Likewise.
2742         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2743         * testsuite/22_locale/money_get/get/char/22131.cc: Likewise.
2744         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2745         * testsuite/22_locale/money_get/get/char/38399.cc: Likewise.
2746         * testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
2747         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2748         * testsuite/22_locale/money_get/get/char/5.cc: Likewise.
2749         * testsuite/22_locale/money_get/get/char/6.cc: Likewise.
2750         * testsuite/22_locale/money_get/get/char/7.cc: Likewise.
2751         * testsuite/22_locale/money_get/get/char/8.cc: Likewise.
2752         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2753         * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
2754         * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
2755         * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
2756         * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
2757         * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
2758         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Likewise.
2759         * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
2760         * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
2761         * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
2762         * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
2763         * testsuite/22_locale/money_get/get/wchar_t/19.cc: Likewise.
2764         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2765         * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
2766         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2767         * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
2768         * testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
2769         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2770         * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
2771         * testsuite/22_locale/money_get/get/wchar_t/6.cc: Likewise.
2772         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
2773         * testsuite/22_locale/money_get/get/wchar_t/8.cc: Likewise.
2774         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
2775         * testsuite/22_locale/money_put/put/char/12971.cc: Likewise.
2776         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
2777         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
2778         * testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
2779         * testsuite/22_locale/money_put/put/char/4.cc: Likewise.
2780         * testsuite/22_locale/money_put/put/char/5.cc: Likewise.
2781         * testsuite/22_locale/money_put/put/char/6.cc: Likewise.
2782         * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
2783         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
2784         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
2785         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2786         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2787         * testsuite/22_locale/money_put/put/wchar_t/39168.cc: Likewise.
2788         * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
2789         * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
2790         * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
2791         * testsuite/22_locale/moneypunct/40712.cc: Likewise.
2792         * testsuite/22_locale/moneypunct/members/char/1.cc: Likewise.
2793         * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
2794         * testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise.
2795         * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
2796         * testsuite/22_locale/moneypunct/requirements/false/intl.cc: Likewise.
2797         * testsuite/22_locale/moneypunct/requirements/true/intl.cc: Likewise.
2798         * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
2799         * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
2800         * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
2801         * testsuite/22_locale/num_get/get/char/11.cc: Likewise.
2802         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
2803         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
2804         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
2805         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
2806         * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
2807         * testsuite/22_locale/num_get/get/char/2.cc: Likewise.
2808         * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
2809         * testsuite/22_locale/num_get/get/char/23953.cc: Likewise.
2810         * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
2811         * testsuite/22_locale/num_get/get/char/37958.cc: Likewise.
2812         * testsuite/22_locale/num_get/get/char/39168.cc: Likewise.
2813         * testsuite/22_locale/num_get/get/char/39802.cc: Likewise.
2814         * testsuite/22_locale/num_get/get/char/4.cc: Likewise.
2815         * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
2816         * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
2817         * testsuite/22_locale/num_get/get/char/7.cc: Likewise.
2818         * testsuite/22_locale/num_get/get/char/8.cc: Likewise.
2819         * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
2820         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
2821         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
2822         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
2823         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
2824         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
2825         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
2826         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
2827         * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
2828         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Likewise.
2829         * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
2830         * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
2831         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
2832         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
2833         * testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
2834         * testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.
2835         * testsuite/22_locale/num_get/get/wchar_t/4.cc: Likewise.
2836         * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
2837         * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
2838         * testsuite/22_locale/num_get/get/wchar_t/7.cc: Likewise.
2839         * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
2840         * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
2841         * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
2842         * testsuite/22_locale/num_put/put/char/10.cc: Likewise.
2843         * testsuite/22_locale/num_put/put/char/11.cc: Likewise.
2844         * testsuite/22_locale/num_put/put/char/12.cc: Likewise.
2845         * testsuite/22_locale/num_put/put/char/14220.cc: Likewise.
2846         * testsuite/22_locale/num_put/put/char/15565.cc: Likewise.
2847         * testsuite/22_locale/num_put/put/char/2.cc: Likewise.
2848         * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
2849         * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
2850         * testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
2851         * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
2852         * testsuite/22_locale/num_put/put/char/38196.cc: Likewise.
2853         * testsuite/22_locale/num_put/put/char/38210.cc: Likewise.
2854         * testsuite/22_locale/num_put/put/char/4.cc: Likewise.
2855         * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
2856         * testsuite/22_locale/num_put/put/char/6.cc: Likewise.
2857         * testsuite/22_locale/num_put/put/char/7.cc: Likewise.
2858         * testsuite/22_locale/num_put/put/char/8.cc: Likewise.
2859         * testsuite/22_locale/num_put/put/char/9.cc: Likewise.
2860         * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
2861         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
2862         * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
2863         * testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise.
2864         * testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise.
2865         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2866         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: Likewise.
2867         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
2868         * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
2869         * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
2870         * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
2871         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
2872         * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
2873         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
2874         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
2875         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
2876         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
2877         * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
2878         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
2879         * testsuite/22_locale/num_put/put/wchar_t/9.cc: Likewise.
2880         * testsuite/22_locale/numpunct/members/char/1.cc: Likewise.
2881         * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
2882         * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
2883         * testsuite/22_locale/numpunct/members/char/cache_1.cc: Likewise.
2884         * testsuite/22_locale/numpunct/members/char/cache_2.cc: Likewise.
2885         * testsuite/22_locale/numpunct/members/pod/1.cc: Likewise.
2886         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Likewise.
2887         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
2888         * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: Likewise.
2889         * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: Likewise.
2890         * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
2891         * testsuite/22_locale/time_get/date_order/char/1.cc: Likewise.
2892         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Likewise.
2893         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
2894         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
2895         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
2896         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
2897         * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
2898         * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
2899         * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
2900         * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
2901         * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
2902         * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
2903         * testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
2904         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
2905         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
2906         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
2907         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
2908         * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
2909         * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
2910         * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
2911         * testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
2912         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
2913         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
2914         * testsuite/22_locale/time_get/get_monthname/char/3.cc: Likewise.
2915         * testsuite/22_locale/time_get/get_monthname/char/4.cc: Likewise.
2916         * testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
2917         * testsuite/22_locale/time_get/get_monthname/char/6.cc: Likewise.
2918         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
2919         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
2920         * testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc: Likewise.
2921         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: Likewise.
2922         * testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
2923         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
2924         * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
2925         * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
2926         * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
2927         * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
2928         * testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
2929         * testsuite/22_locale/time_get/get_time/char/6.cc: Likewise.
2930         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
2931         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
2932         * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
2933         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
2934         * testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
2935         * testsuite/22_locale/time_get/get_time/wchar_t/6.cc: Likewise.
2936         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
2937         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
2938         * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
2939         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
2940         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
2941         * testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
2942         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
2943         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
2944         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
2945         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
2946         * testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
2947         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
2948         * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
2949         * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
2950         * testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
2951         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
2952         * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
2953         * testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise.
2954         * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
2955         * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
2956         * testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
2957         * testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
2958         * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
2959         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
2960         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
2961         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
2962         * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
2963         * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
2964         * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
2965         * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
2966         * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
2967         * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
2968         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
2969         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
2970         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
2971         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
2972         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
2973         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
2974         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
2975         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
2976         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
2977         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
2978         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
2979         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
2980         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
2981         * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
2982         * testsuite/30_threads/async/42819.cc: Likewise.
2983         * testsuite/30_threads/async/any.cc: Likewise.
2984         * testsuite/30_threads/async/async.cc: Likewise.
2985         * testsuite/30_threads/async/except.cc: Likewise.
2986         * testsuite/30_threads/async/launch.cc: Likewise.
2987         * testsuite/30_threads/async/sync.cc: Likewise.
2988         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2989         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2990         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
2991         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
2992         * testsuite/30_threads/condition_variable/members/3.cc: Likewise.
2993         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2994         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
2995         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
2996         * testsuite/30_threads/future/members/45133.cc: Likewise.
2997         * testsuite/30_threads/future/members/get.cc: Likewise.
2998         * testsuite/30_threads/future/members/get2.cc: Likewise.
2999         * testsuite/30_threads/future/members/share.cc: Likewise.
3000         * testsuite/30_threads/future/members/valid.cc: Likewise.
3001         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
3002         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
3003         * testsuite/30_threads/lock/1.cc: Likewise.
3004         * testsuite/30_threads/lock/2.cc: Likewise.
3005         * testsuite/30_threads/lock/3.cc: Likewise.
3006         * testsuite/30_threads/lock/4.cc: Likewise.
3007         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
3008         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
3009         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
3010         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
3011         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
3012         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
3013         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
3014         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
3015         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
3016         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
3017         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
3018         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
3019         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
3020         * testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
3021         Likewise.
3022         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
3023         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
3024         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
3025         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
3026         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
3027         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
3028         * testsuite/30_threads/promise/cons/move.cc: Likewise.
3029         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
3030         * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
3031         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
3032         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
3033         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
3034         * testsuite/30_threads/promise/members/swap.cc: Likewise.
3035         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
3036         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
3037         Likewise.
3038         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
3039         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
3040         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
3041         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
3042         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
3043         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
3044         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
3045         Likewise.
3046         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
3047         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
3048         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
3049         Likewise.
3050         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
3051         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
3052         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
3053         Likewise.
3054         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
3055         Likewise.
3056         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
3057         Likewise.
3058         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
3059         Likewise.
3060         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
3061         Likewise.
3062         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
3063         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
3064         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
3065         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
3066         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
3067         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
3068         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
3069         * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
3070         * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
3071         * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
3072         * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
3073         * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
3074         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
3075         * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
3076         * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
3077         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
3078         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
3079         * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
3080         * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
3081         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
3082         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
3083         * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
3084         * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
3085         * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
3086         * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
3087         * testsuite/30_threads/this_thread/1.cc: Likewise.
3088         * testsuite/30_threads/this_thread/2.cc: Likewise.
3089         * testsuite/30_threads/this_thread/3.cc: Likewise.
3090         * testsuite/30_threads/this_thread/4.cc: Likewise.
3091         * testsuite/30_threads/this_thread/60421.cc: Likewise.
3092         * testsuite/30_threads/thread/cons/1.cc: Likewise.
3093         * testsuite/30_threads/thread/cons/2.cc: Likewise.
3094         * testsuite/30_threads/thread/cons/3.cc: Likewise.
3095         * testsuite/30_threads/thread/cons/4.cc: Likewise.
3096         * testsuite/30_threads/thread/cons/5.cc: Likewise.
3097         * testsuite/30_threads/thread/cons/6.cc: Likewise.
3098         * testsuite/30_threads/thread/cons/7.cc: Likewise.
3099         * testsuite/30_threads/thread/cons/8.cc: Likewise.
3100         * testsuite/30_threads/thread/cons/9.cc: Likewise.
3101         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
3102         * testsuite/30_threads/thread/members/1.cc: Likewise.
3103         * testsuite/30_threads/thread/members/2.cc: Likewise.
3104         * testsuite/30_threads/thread/members/3.cc: Likewise.
3105         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
3106         * testsuite/30_threads/thread/swap/1.cc: Likewise.
3107         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
3108         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
3109         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
3110         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
3111         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
3112         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
3113         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
3114         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
3115         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
3116         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
3117         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
3118         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
3119         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
3120         * testsuite/30_threads/try_lock/1.cc: Likewise.
3121         * testsuite/30_threads/try_lock/2.cc: Likewise.
3122         * testsuite/30_threads/try_lock/3.cc: Likewise.
3123         * testsuite/30_threads/try_lock/4.cc: Likewise.
3124         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
3125         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
3126         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
3127         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
3128         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
3129         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
3130         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
3131         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
3132         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
3133         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
3134         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
3135         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3136         not_shared.cc: Likewise.
3137         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3138         not_shared2.cc: Likewise.
3139         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3140         not_shared3.cc: Likewise.
3141         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3142         shared.cc: Likewise.
3143         * testsuite/tr1/2_general_utilities/enable_shared_from_this/
3144         still_shared.cc: Likewise.
3145         * testsuite/tr1/2_general_utilities/shared_ptr/assign/assign.cc:
3146         Likewise.
3147         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
3148         Likewise.
3149         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
3150         Likewise.
3151         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
3152         auto_ptr_rvalue_neg.cc: Likewise.
3153         * testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr.cc:
3154         Likewise.
3155         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
3156         shared_ptr_neg.cc: Likewise.
3157         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
3158         Likewise.
3159         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
3160         Likewise.
3161         * testsuite/tr1/2_general_utilities/shared_ptr/cons/copy.cc: Likewise.
3162         * testsuite/tr1/2_general_utilities/shared_ptr/cons/default.cc:
3163         Likewise.
3164         * testsuite/tr1/2_general_utilities/shared_ptr/cons/pointer.cc:
3165         Likewise.
3166         * testsuite/tr1/2_general_utilities/shared_ptr/cons/weak_ptr.cc:
3167         Likewise.
3168         * testsuite/tr1/2_general_utilities/shared_ptr/dest/dest.cc: Likewise.
3169         * testsuite/tr1/2_general_utilities/shared_ptr/misc/24595.cc: Likewise.
3170         * testsuite/tr1/2_general_utilities/shared_ptr/misc/io.cc: Likewise.
3171         * testsuite/tr1/2_general_utilities/shared_ptr/misc/swap.cc: Likewise.
3172         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset.cc:
3173         Likewise.
3174         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
3175         Likewise.
3176         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap.cc:
3177         Likewise.
3178         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/swap_neg.cc:
3179         Likewise.
3180         * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
3181         Likewise.
3182         * testsuite/tr1/2_general_utilities/shared_ptr/observers/get.cc:
3183         Likewise.
3184         * testsuite/tr1/2_general_utilities/shared_ptr/observers/unique.cc:
3185         Likewise.
3186         * testsuite/tr1/2_general_utilities/shared_ptr/observers/use_count.cc:
3187         Likewise.
3188         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3189         default_weaktoshared.cc: Likewise.
3190         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3191         mutex_weaktoshared.cc: Likewise.
3192         * testsuite/tr1/3_function_objects/bind/all_bound.cc: Likewise.
3193         * testsuite/tr1/3_function_objects/bind/mixed.cc: Likewise.
3194         * testsuite/tr1/3_function_objects/bind/nested.cc: Likewise.
3195         * testsuite/tr1/3_function_objects/bind/placeholders.cc: Likewise.
3196         * testsuite/tr1/3_function_objects/bind/ref.cc: Likewise.
3197         * testsuite/tr1/3_function_objects/function/1.cc: Likewise.
3198         * testsuite/tr1/3_function_objects/function/2.cc: Likewise.
3199         * testsuite/tr1/3_function_objects/function/3.cc: Likewise.
3200         * testsuite/tr1/3_function_objects/function/4.cc: Likewise.
3201         * testsuite/tr1/3_function_objects/function/5.cc: Likewise.
3202         * testsuite/tr1/3_function_objects/function/6.cc: Likewise.
3203         * testsuite/tr1/3_function_objects/function/7.cc: Likewise.
3204         * testsuite/tr1/3_function_objects/function/8.cc: Likewise.
3205         * testsuite/tr1/3_function_objects/function/9.cc: Likewise.
3206         * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
3207         Likewise.
3208         * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
3209         Likewise.
3210         * testsuite/tr1/3_function_objects/result_of.cc: Likewise.
3211         * testsuite/tr1/4_metaprogramming/add_const/value.cc: Likewise.
3212         * testsuite/tr1/4_metaprogramming/add_cv/value.cc: Likewise.
3213         * testsuite/tr1/4_metaprogramming/add_pointer/value.cc: Likewise.
3214         * testsuite/tr1/4_metaprogramming/add_reference/value.cc: Likewise.
3215         * testsuite/tr1/4_metaprogramming/add_volatile/value.cc: Likewise.
3216         * testsuite/tr1/4_metaprogramming/aligned_storage/value.cc: Likewise.
3217         * testsuite/tr1/4_metaprogramming/alignment_of/value.cc: Likewise.
3218         * testsuite/tr1/4_metaprogramming/extent/value.cc: Likewise.
3219         * testsuite/tr1/4_metaprogramming/has_nothrow_assign/value.cc: Likewise.
3220         * testsuite/tr1/4_metaprogramming/has_nothrow_constructor/value.cc:
3221         Likewise.
3222         * testsuite/tr1/4_metaprogramming/has_nothrow_copy/value.cc: Likewise.
3223         * testsuite/tr1/4_metaprogramming/has_trivial_assign/value.cc: Likewise.
3224         * testsuite/tr1/4_metaprogramming/has_trivial_constructor/value.cc:
3225         Likewise.
3226         * testsuite/tr1/4_metaprogramming/has_trivial_copy/value.cc: Likewise.
3227         * testsuite/tr1/4_metaprogramming/has_trivial_destructor/value.cc:
3228         Likewise.
3229         * testsuite/tr1/4_metaprogramming/has_virtual_destructor/value.cc:
3230         Likewise.
3231         * testsuite/tr1/4_metaprogramming/integral_constant/
3232         static_definition.cc: Likewise.
3233         * testsuite/tr1/4_metaprogramming/integral_constant/
3234         true_false_value.cc: Likewise.
3235         * testsuite/tr1/4_metaprogramming/is_abstract/value.cc: Likewise.
3236         * testsuite/tr1/4_metaprogramming/is_arithmetic/value.cc: Likewise.
3237         * testsuite/tr1/4_metaprogramming/is_array/value.cc: Likewise.
3238         * testsuite/tr1/4_metaprogramming/is_base_of/value.cc: Likewise.
3239         * testsuite/tr1/4_metaprogramming/is_class/value.cc: Likewise.
3240         * testsuite/tr1/4_metaprogramming/is_compound/value.cc: Likewise.
3241         * testsuite/tr1/4_metaprogramming/is_const/value.cc: Likewise.
3242         * testsuite/tr1/4_metaprogramming/is_convertible/value.cc: Likewise.
3243         * testsuite/tr1/4_metaprogramming/is_empty/value.cc: Likewise.
3244         * testsuite/tr1/4_metaprogramming/is_enum/24808.cc: Likewise.
3245         * testsuite/tr1/4_metaprogramming/is_enum/value.cc: Likewise.
3246         * testsuite/tr1/4_metaprogramming/is_floating_point/value.cc: Likewise.
3247         * testsuite/tr1/4_metaprogramming/is_function/24808.cc: Likewise.
3248         * testsuite/tr1/4_metaprogramming/is_function/value.cc: Likewise.
3249         * testsuite/tr1/4_metaprogramming/is_fundamental/value.cc: Likewise.
3250         * testsuite/tr1/4_metaprogramming/is_integral/value.cc: Likewise.
3251         * testsuite/tr1/4_metaprogramming/is_member_function_pointer/value.cc:
3252         Likewise.
3253         * testsuite/tr1/4_metaprogramming/is_member_object_pointer/value.cc:
3254         Likewise.
3255         * testsuite/tr1/4_metaprogramming/is_member_pointer/value.cc: Likewise.
3256         * testsuite/tr1/4_metaprogramming/is_object/24808.cc: Likewise.
3257         * testsuite/tr1/4_metaprogramming/is_object/value.cc: Likewise.
3258         * testsuite/tr1/4_metaprogramming/is_pod/value.cc: Likewise.
3259         * testsuite/tr1/4_metaprogramming/is_pointer/value.cc: Likewise.
3260         * testsuite/tr1/4_metaprogramming/is_polymorphic/value.cc: Likewise.
3261         * testsuite/tr1/4_metaprogramming/is_reference/value.cc: Likewise.
3262         * testsuite/tr1/4_metaprogramming/is_same/value.cc: Likewise.
3263         * testsuite/tr1/4_metaprogramming/is_scalar/value.cc: Likewise.
3264         * testsuite/tr1/4_metaprogramming/is_signed/value.cc: Likewise.
3265         * testsuite/tr1/4_metaprogramming/is_union/value.cc: Likewise.
3266         * testsuite/tr1/4_metaprogramming/is_unsigned/value.cc: Likewise.
3267         * testsuite/tr1/4_metaprogramming/is_void/value.cc: Likewise.
3268         * testsuite/tr1/4_metaprogramming/is_volatile/value.cc: Likewise.
3269         * testsuite/tr1/4_metaprogramming/rank/value.cc: Likewise.
3270         * testsuite/tr1/4_metaprogramming/remove_all_extents/value.cc: Likewise.
3271         * testsuite/tr1/4_metaprogramming/remove_const/value.cc: Likewise.
3272         * testsuite/tr1/4_metaprogramming/remove_cv/value.cc: Likewise.
3273         * testsuite/tr1/4_metaprogramming/remove_extent/value.cc: Likewise.
3274         * testsuite/tr1/4_metaprogramming/remove_pointer/value.cc: Likewise.
3275         * testsuite/tr1/4_metaprogramming/remove_reference/value.cc: Likewise.
3276         * testsuite/tr1/4_metaprogramming/remove_volatile/value.cc: Likewise.
3277         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3278         equal.cc: Likewise.
3279         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3280         not_equal.cc: Likewise.
3281         * testsuite/tr1/5_numerical_facilities/random/discard_block/operators/
3282         serialize.cc: Likewise.
3283         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3284         cons/default.cc: Likewise.
3285         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3286         cons/gen1.cc: Likewise.
3287         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3288         operators/equal.cc: Likewise.
3289         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3290         operators/not_equal.cc: Likewise.
3291         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
3292         operators/serialize.cc: Likewise.
3293         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3294         cons/default.cc: Likewise.
3295         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3296         cons/gen1.cc: Likewise.
3297         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3298         operators/equal.cc: Likewise.
3299         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3300         operators/not_equal.cc: Likewise.
3301         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
3302         operators/serialize.cc: Likewise.
3303         * testsuite/tr1/5_numerical_facilities/random/minstd_rand.cc: Likewise.
3304         * testsuite/tr1/5_numerical_facilities/random/minstd_rand0.cc: Likewise.
3305         * testsuite/tr1/5_numerical_facilities/random/mt19937.cc: Likewise.
3306         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3307         default.cc: Likewise.
3308         * testsuite/tr1/5_numerical_facilities/random/random_device/cons/
3309         token.cc: Likewise.
3310         * testsuite/tr1/5_numerical_facilities/random/ranlux3.cc: Likewise.
3311         * testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc: Likewise.
3312         * testsuite/tr1/5_numerical_facilities/random/ranlux4.cc: Likewise.
3313         * testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc
3314         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3315         cons/default.cc: Likewise.
3316         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3317         cons/gen1.cc: Likewise.
3318         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3319         operators/equal.cc: Likewise.
3320         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3321         operators/not_equal.cc: Likewise.
3322         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
3323         operators/serialize.cc: Likewise.
3324         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3325         cons/default.cc: Likewise.
3326         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3327         cons/gen1.cc: Likewise.
3328         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3329         operators/equal.cc: Likewise.
3330         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3331         operators/not_equal.cc: Likewise.
3332         * testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/
3333         operators/serialize.cc: Likewise.
3334         * testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
3335         Likewise.
3336         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3337         default.cc: Likewise.
3338         * testsuite/tr1/5_numerical_facilities/random/uniform_int/cons/
3339         range.cc: Likewise.
3340         * testsuite/tr1/5_numerical_facilities/random/xor_combine/cons/
3341         default.cc: Likewise.
3342         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3343         equal.cc: Likewise.
3344         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3345         not_equal.cc: Likewise.
3346         * testsuite/tr1/5_numerical_facilities/random/xor_combine/operators/
3347         serialize.cc: Likewise.
3348         * testsuite/tr1/5_numerical_facilities/special_functions/
3349         08_cyl_bessel_i/check_value.cc: Likewise.
3350         * testsuite/tr1/5_numerical_facilities/special_functions/
3351         08_cyl_bessel_i/pr56216.cc: Likewise.
3352         * testsuite/tr1/5_numerical_facilities/special_functions/
3353         09_cyl_bessel_j/check_value.cc: Likewise.
3354         * testsuite/tr1/5_numerical_facilities/special_functions/
3355         10_cyl_bessel_k/check_value.cc: Likewise.
3356         * testsuite/tr1/5_numerical_facilities/special_functions/
3357         11_cyl_neumann/check_value.cc: Likewise.
3358         * testsuite/tr1/5_numerical_facilities/special_functions/
3359         16_hermite/check_value.cc: Likewise.
3360         * testsuite/tr1/5_numerical_facilities/special_functions/
3361         21_sph_bessel/check_value.cc: Likewise.
3362         * testsuite/tr1/5_numerical_facilities/special_functions/
3363         23_sph_neumann/check_value.cc: Likewise.
3364         * testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise.
3365         * testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise.
3366         * testsuite/tr1/6_containers/array/capacity/size.cc: Likewise.
3367         * testsuite/tr1/6_containers/array/comparison_operators/equal.cc:
3368         Likewise.
3369         * testsuite/tr1/6_containers/array/comparison_operators/greater.cc:
3370         Likewise.
3371         * testsuite/tr1/6_containers/array/comparison_operators/
3372         greater_or_equal.cc: Likewise.
3373         * testsuite/tr1/6_containers/array/comparison_operators/less.cc:
3374         Likewise.
3375         * testsuite/tr1/6_containers/array/comparison_operators/
3376         less_or_equal.cc: Likewise.
3377         * testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc:
3378         Likewise.
3379         * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
3380         Likewise.
3381         * testsuite/tr1/6_containers/array/element_access/back.cc: Likewise.
3382         * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
3383         * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
3384         * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc:
3385         Likewise.
3386         * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
3387         * testsuite/tr1/6_containers/array/requirements/contiguous.cc: Likewise.
3388         * testsuite/tr1/6_containers/array/requirements/member_swap.cc:
3389         Likewise.
3390         * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
3391         Likewise.
3392         * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
3393         Likewise.
3394         * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
3395         * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
3396         Likewise.
3397         * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
3398         Likewise.
3399         * testsuite/tr1/6_containers/hash/24799.cc: Likewise.
3400         * testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise.
3401         *
3402         testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
3403         Likewise.
3404         * testsuite/tr1/6_containers/tuple/cons/assignment.cc: Likewise.
3405         * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise.
3406         * testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise.
3407         * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc:
3408         Likewise.
3409         * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
3410         Likewise.
3411         * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: Likewise.
3412         * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Likewise.
3413         * testsuite/tr1/6_containers/tuple/element_access/get.cc: Likewise.
3414         * testsuite/tr1/6_containers/tuple/tuple_size.cc: Likewise.
3415         * testsuite/tr1/6_containers/unordered_map/24064.cc: Likewise.
3416         * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
3417         Likewise.
3418         * testsuite/tr1/6_containers/unordered_map/erase/1.cc: Likewise.
3419         * testsuite/tr1/6_containers/unordered_map/erase/24061-map.cc: Likewise.
3420         * testsuite/tr1/6_containers/unordered_map/find/map1.cc: Likewise.
3421         * testsuite/tr1/6_containers/unordered_map/insert/24061-map.cc:
3422         Likewise.
3423         * testsuite/tr1/6_containers/unordered_map/insert/array_syntax.cc:
3424         Likewise.
3425         * testsuite/tr1/6_containers/unordered_map/insert/map_range.cc:
3426         Likewise.
3427         * testsuite/tr1/6_containers/unordered_map/insert/map_single.cc:
3428         Likewise.
3429         * testsuite/tr1/6_containers/unordered_map/swap/1.cc: Likewise.
3430         * testsuite/tr1/6_containers/unordered_map/swap/2.cc: Likewise.
3431         * testsuite/tr1/6_containers/unordered_multimap/capacity/
3432         29134-multimap.cc: Likewise.
3433         * testsuite/tr1/6_containers/unordered_multimap/erase/1.cc: Likewise.
3434         * testsuite/tr1/6_containers/unordered_multimap/erase/
3435         24061-multimap.cc: Likewise.
3436         * testsuite/tr1/6_containers/unordered_multimap/find/multimap1.cc:
3437         Likewise.
3438         * testsuite/tr1/6_containers/unordered_multimap/insert/
3439         24061-multimap.cc: Likewise.
3440         * testsuite/tr1/6_containers/unordered_multimap/insert/
3441         multimap_range.cc: Likewise.
3442         * testsuite/tr1/6_containers/unordered_multimap/insert/
3443         multimap_single.cc: Likewise.
3444         * testsuite/tr1/6_containers/unordered_multimap/swap/1.cc: Likewise.
3445         * testsuite/tr1/6_containers/unordered_multimap/swap/2.cc: Likewise.
3446         * testsuite/tr1/6_containers/unordered_multiset/24054.cc: Likewise.
3447         * testsuite/tr1/6_containers/unordered_multiset/capacity/
3448         29134-multiset.cc: Likewise.
3449         * testsuite/tr1/6_containers/unordered_multiset/erase/1.cc: Likewise.
3450         * testsuite/tr1/6_containers/unordered_multiset/erase/
3451         24061-multiset.cc: Likewise.
3452         * testsuite/tr1/6_containers/unordered_multiset/find/multiset1.cc:
3453         Likewise.
3454         * testsuite/tr1/6_containers/unordered_multiset/insert/
3455         24061-multiset.cc: Likewise.
3456         * testsuite/tr1/6_containers/unordered_multiset/insert/
3457         multiset_range.cc: Likewise.
3458         * testsuite/tr1/6_containers/unordered_multiset/insert/
3459         multiset_single.cc: Likewise.
3460         * testsuite/tr1/6_containers/unordered_multiset/swap/1.cc: Likewise.
3461         * testsuite/tr1/6_containers/unordered_multiset/swap/2.cc: Likewise.
3462         * testsuite/tr1/6_containers/unordered_set/23465.cc: Likewise.
3463         * testsuite/tr1/6_containers/unordered_set/26132.cc: Likewise.
3464         * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
3465         Likewise.
3466         * testsuite/tr1/6_containers/unordered_set/erase/1.cc: Likewise.
3467         * testsuite/tr1/6_containers/unordered_set/erase/24061-set.cc: Likewise.
3468         * testsuite/tr1/6_containers/unordered_set/find/set1.cc: Likewise.
3469         * testsuite/tr1/6_containers/unordered_set/insert/24061-set.cc:
3470         Likewise.
3471         * testsuite/tr1/6_containers/unordered_set/insert/set_range.cc:
3472         Likewise.
3473         * testsuite/tr1/6_containers/unordered_set/insert/set_single.cc:
3474         Likewise.
3475         * testsuite/tr1/6_containers/unordered_set/swap/1.cc: Likewise.
3476         * testsuite/tr1/6_containers/unordered_set/swap/2.cc: Likewise.
3477         * testsuite/tr1/6_containers/utility/pair.cc: Likewise.
3478         * testsuite/tr1/7_regular_expressions/match_results/ctors/char/
3479         default.cc: Likewise.
3480         * testsuite/tr1/7_regular_expressions/regex_traits/char/
3481         translate_nocase.cc: Likewise.
3482         * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc:
3483         Likewise.
3484         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/
3485         translate_nocase.cc: Likewise.
3486         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc:
3487         Likewise.
3488         * testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.
3489         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise.
3490
3491 2016-10-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
3492
3493         Make sure the return value of malloc_allocator::allocate
3494         is zero-initialized so that checking it for non-zero works
3495         later.
3496         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
3497         Initialize the return value.
3498         * testsuite/ext/malloc_allocator/sanity.cc: New.
3499
3500 2016-10-14  Eelis van der Weegen  <eelis@eelis.net>
3501
3502         * include/bits/stl_algo.h (shuffle): Extract two random numbers from
3503         each generator invocation when its range is large enough.
3504
3505 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
3506
3507         * testsuite/experimental/algorithm/sample.cc: Qualify calls to
3508         resolve ambiguity between std::sample and std::experimental::sample.
3509
3510         * include/std/functional (_Mu<A, false, true>, _Mu<A, true, false>):
3511         Simplify forwarding from tuple of references.
3512         (_Maybe_wrap_member_pointer): Remove.
3513         (_Bind::__call, _Bind::__call_c, _Bind::__call_v, _Bind::__call_c_v):
3514         Use std::__invoke.
3515         (_Bind::_Mu_type, _Bind::_Res_type_impl, _Bind::_Res_type)
3516         (_Bind::__dependent, _Bind::_Res_type_cv): New helpers to simplify
3517         return type deduction.
3518         (_Bind::operator(), _Bind::operator() const): Use new helpers.
3519         (_Bind::operator() volatile, _Bind::operator() const volatile):
3520         Likewise. Add deprecated attribute for C++17 mode.
3521         (_Bind_result::__call): Use std::__invoke.
3522         (_Bind_result::operator() volatile)
3523         (_Bind_result::operator() const volatile): Add deprecated attribute.
3524         (_Bind_helper::__maybe_type, _Bindres_helper::__maybe_type): Remove.
3525         (_Bind_helper, _Bindres_helper): Don't use _Maybe_wrap_member_pointer.
3526         (bind, bind<R>): Don't use __maybe_type.
3527         * src/c++11/compatibility-thread-c++0x.cc
3528         (_Maybe_wrap_member_pointer): Define here for compatibility symbols.
3529         * testsuite/20_util/bind/68912.cc: Don't test volatile-qualification
3530         in C++17 mode.
3531         * testsuite/20_util/bind/cv_quals.cc: Likewise.
3532         * testsuite/20_util/bind/cv_quals_2.cc: Likewise.
3533
3534         * include/std/scoped_allocator (scoped_allocator_adaptor): Forward
3535         piecewise construction arguments as tuples of references, to avoid
3536         copies (related to LWG 2511).
3537         * testsuite/20_util/scoped_allocator/construct_pair.cc: New test.
3538
3539 2016-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
3540
3541         * testsuite/26_numerics/accumulate/1.cc: Remove 'test' variables.
3542         * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
3543         * testsuite/26_numerics/complex/13450.cc: Likewise.
3544         * testsuite/26_numerics/complex/50880.cc: Likewise.
3545         * testsuite/26_numerics/complex/c99.cc: Likewise.
3546         * testsuite/26_numerics/complex/cons/48760.cc: Likewise.
3547         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
3548         * testsuite/26_numerics/complex/dr781_dr1137.cc: Likewise.
3549         * testsuite/26_numerics/complex/dr844.cc: Likewise.
3550         * testsuite/26_numerics/complex/inserters_extractors/char/1.cc:
3551         Likewise.
3552         * testsuite/26_numerics/complex/inserters_extractors/wchar_t/1.cc:
3553         Likewise.
3554         * testsuite/26_numerics/complex/value_operations/1.cc: Likewise.
3555         * testsuite/26_numerics/complex/value_operations/dr387.cc: Likewise.
3556         * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
3557         * testsuite/26_numerics/headers/cmath/
3558         c99_classification_macros_c++11.c: Likewise.c
3559         * testsuite/26_numerics/headers/cmath/
3560         c99_classification_macros_c++98.cc: Likewise.
3561         * testsuite/26_numerics/headers/cmath/c_math.cc: Likewise.
3562         * testsuite/26_numerics/headers/cmath/dr550.cc: Likewise.
3563         * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
3564         * testsuite/26_numerics/headers/cmath/powi.cc: Likewise.
3565         * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
3566         * testsuite/26_numerics/inner_product/1.cc: Likewise.
3567         * testsuite/26_numerics/iota/1.cc: Likewise.
3568         * testsuite/26_numerics/partial_sum/1.cc: Likewise.
3569         * testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
3570         Likewise.
3571         * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
3572         Likewise.
3573         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3574         equal.cc: Likewise.
3575         * testsuite/26_numerics/random/bernoulli_distribution/operators/
3576         inequal.cc: Likewise.
3577         * testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
3578         Likewise.
3579         * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
3580         Likewise.
3581         * testsuite/26_numerics/random/binomial_distribution/operators/
3582         equal.cc: Likewise.
3583         * testsuite/26_numerics/random/binomial_distribution/operators/
3584         inequal.cc: Likewise.
3585         * testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
3586         Likewise.
3587         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
3588         Likewise.
3589         * testsuite/26_numerics/random/cauchy_distribution/operators/equal.cc:
3590         Likewise.
3591         * testsuite/26_numerics/random/cauchy_distribution/operators/
3592         inequal.cc: Likewise.
3593         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3594         default.cc: Likewise.
3595         * testsuite/26_numerics/random/chi_squared_distribution/cons/
3596         parms.cc: Likewise.
3597         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3598         equal.cc: Likewise.
3599         * testsuite/26_numerics/random/chi_squared_distribution/operators/
3600         inequal.cc: Likewise.
3601         * testsuite/26_numerics/random/default_random_engine.cc: Likewise.
3602         * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
3603         Likewise.
3604         * testsuite/26_numerics/random/discard_block_engine/operators/equal.cc:
3605         Likewise.
3606         * testsuite/26_numerics/random/discard_block_engine/operators/
3607         inequal.cc: Likewise.
3608         * testsuite/26_numerics/random/discard_block_engine/operators/
3609         serialize.cc: Likewise.
3610         * testsuite/26_numerics/random/discrete_distribution/cons/
3611         default.cc: Likewise.
3612         * testsuite/26_numerics/random/discrete_distribution/cons/
3613         initlist.cc: Likewise.
3614         * testsuite/26_numerics/random/discrete_distribution/cons/
3615         num_xbound_fun.cc: Likewise.
3616         * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
3617         Likewise.
3618         * testsuite/26_numerics/random/discrete_distribution/operators/
3619         equal.cc: Likewise.
3620         * testsuite/26_numerics/random/discrete_distribution/operators/
3621         inequal.cc: Likewise.
3622         * testsuite/26_numerics/random/exponential_distribution/cons/
3623         default.cc: Likewise.
3624         * testsuite/26_numerics/random/exponential_distribution/cons/
3625         parms.cc: Likewise.
3626         * testsuite/26_numerics/random/exponential_distribution/operators/
3627         equal.cc: Likewise.
3628         * testsuite/26_numerics/random/exponential_distribution/operators/
3629         inequal.cc: Likewise.
3630         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3631         default.cc: Likewise.
3632         * testsuite/26_numerics/random/extreme_value_distribution/cons/
3633         parms.cc: Likewise.
3634         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3635         equal.cc: Likewise.
3636         * testsuite/26_numerics/random/extreme_value_distribution/operators/
3637         inequal.cc: Likewise.
3638         * testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
3639         Likewise.
3640         * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
3641         Likewise.
3642         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3643         equal.cc: Likewise.
3644         * testsuite/26_numerics/random/fisher_f_distribution/operators/
3645         inequal.cc: Likewise.
3646         * testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
3647         Likewise.
3648         * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
3649         Likewise.
3650         * testsuite/26_numerics/random/gamma_distribution/operators/equal.cc:
3651         Likewise.
3652         * testsuite/26_numerics/random/gamma_distribution/operators/
3653         inequal.cc: Likewise.
3654         * testsuite/26_numerics/random/geometric_distribution/cons/
3655         default.cc: Likewise.
3656         * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
3657         Likewise.
3658         * testsuite/26_numerics/random/geometric_distribution/operators/
3659         equal.cc: Likewise.
3660         * testsuite/26_numerics/random/geometric_distribution/operators/
3661         inequal.cc: Likewise.
3662         * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
3663         Likewise.
3664         * testsuite/26_numerics/random/independent_bits_engine/operators/
3665         equal.cc: Likewise.
3666         * testsuite/26_numerics/random/independent_bits_engine/operators/
3667         inequal.cc: Likewise.
3668         * testsuite/26_numerics/random/independent_bits_engine/operators/
3669         serialize.cc: Likewise.
3670         * testsuite/26_numerics/random/knuth_b.cc: Likewise.
3671         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3672         55215.cc: Likewise.
3673         * testsuite/26_numerics/random/linear_congruential_engine/cons/
3674         default.cc: Likewise.
3675         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3676         51795.cc: Likewise.
3677         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3678         equal.cc: Likewise.
3679         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3680         inequal.cc: Likewise.
3681         * testsuite/26_numerics/random/linear_congruential_engine/operators/
3682         serialize.cc: Likewise.
3683         * testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
3684         Likewise.
3685         * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
3686         Likewise.
3687         * testsuite/26_numerics/random/lognormal_distribution/operators/
3688         equal.cc: Likewise.
3689         * testsuite/26_numerics/random/lognormal_distribution/operators/
3690         inequal.cc: Likewise.
3691         * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
3692         Likewise.
3693         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
3694         default.cc: Likewise.
3695         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3696         equal.cc: Likewise.
3697         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3698         inequal.cc: Likewise.
3699         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
3700         serialize.cc: Likewise.
3701         * testsuite/26_numerics/random/minstd_rand.cc: Likewise.
3702         * testsuite/26_numerics/random/minstd_rand0.cc: Likewise.
3703         * testsuite/26_numerics/random/mt19937.cc: Likewise.
3704         * testsuite/26_numerics/random/mt19937_64.cc: Likewise.
3705         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3706         default.cc: Likewise.
3707         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
3708         parms.cc: Likewise.
3709         * testsuite/26_numerics/random/negative_binomial_distribution/
3710         operators/equal.cc: Likewise.
3711         * testsuite/26_numerics/random/negative_binomial_distribution/
3712         operators/inequal.cc: Likewise.
3713         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
3714         Likewise.
3715         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
3716         Likewise.
3717         * testsuite/26_numerics/random/normal_distribution/operators/
3718         equal.cc: Likewise.
3719         * testsuite/26_numerics/random/normal_distribution/operators/
3720         inequal.cc: Likewise.
3721         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3722         default.cc: Likewise.
3723         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3724         initlist_fun.cc: Likewise.
3725         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3726         num_xbound_fun.cc: Likewise.
3727         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
3728         range.cc: Likewise.
3729         * testsuite/26_numerics/random/piecewise_constant_distribution/
3730         operators/equal.cc: Likewise.
3731         * testsuite/26_numerics/random/piecewise_constant_distribution/
3732         operators/inequal.cc: Likewise.
3733         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3734         default.cc: Likewise.
3735         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3736         initlist_fun.cc: Likewise.
3737         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3738         num_xbound_fun.cc: Likewise.
3739         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
3740         range.cc: Likewise.
3741         * testsuite/26_numerics/random/piecewise_linear_distribution/
3742         operators/equal.cc: Likewise.
3743         * testsuite/26_numerics/random/piecewise_linear_distribution/
3744         operators/inequal.cc: Likewise.
3745         * testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
3746         Likewise.
3747         * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
3748         Likewise.
3749         * testsuite/26_numerics/random/poisson_distribution/operators/
3750         equal.cc: Likewise.
3751         * testsuite/26_numerics/random/poisson_distribution/operators/
3752         inequal.cc: Likewise.
3753         * testsuite/26_numerics/random/random_device/cons/default.cc: Likewise.
3754         * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
3755         * testsuite/26_numerics/random/ranlux24.cc: Likewise.
3756         * testsuite/26_numerics/random/ranlux24_base.cc: Likewise.
3757         * testsuite/26_numerics/random/ranlux48.cc: Likewise.
3758         * testsuite/26_numerics/random/ranlux48_base.cc: Likewise.
3759         * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Likewise.
3760         * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
3761         Likewise.
3762         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3763         equal.cc: Likewise.
3764         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3765         inequal.cc: Likewise.
3766         * testsuite/26_numerics/random/shuffle_order_engine/operators/
3767         serialize.cc: Likewise.
3768         * testsuite/26_numerics/random/student_t_distribution/cons/
3769         default.cc: Likewise.
3770         * testsuite/26_numerics/random/student_t_distribution/cons/
3771         parms.cc: Likewise.
3772         * testsuite/26_numerics/random/student_t_distribution/operators/
3773         equal.cc: Likewise.
3774         * testsuite/26_numerics/random/student_t_distribution/operators/
3775         inequal.cc: Likewise.
3776         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3777         55215.cc: Likewise.
3778         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
3779         default.cc: Likewise.
3780         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3781         equal.cc: Likewise.
3782         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3783         inequal.cc: Likewise.
3784         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
3785         serialize.cc: Likewise.
3786         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3787         default.cc: Likewise.
3788         * testsuite/26_numerics/random/uniform_int_distribution/cons/
3789         parms.cc: Likewise.
3790         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3791         equal.cc: Likewise.
3792         * testsuite/26_numerics/random/uniform_int_distribution/operators/
3793         inequal.cc: Likewise.
3794         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3795         default.cc: Likewise.
3796         * testsuite/26_numerics/random/uniform_real_distribution/cons/
3797         parms.cc: Likewise.
3798         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3799         equal.cc: Likewise.
3800         * testsuite/26_numerics/random/uniform_real_distribution/operators/
3801         inequal.cc: Likewise.
3802         * testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
3803         Likewise.
3804         * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
3805         Likewise.
3806         * testsuite/26_numerics/random/weibull_distribution/operators/
3807         equal.cc: Likewise.
3808         * testsuite/26_numerics/random/weibull_distribution/operators/
3809         inequal.cc: Likewise.
3810         * testsuite/26_numerics/slice/1.cc: Likewise.
3811         * testsuite/26_numerics/slice_array/array_assignment.cc: Likewise.
3812         * testsuite/26_numerics/valarray/27867.cc: Likewise.
3813         * testsuite/26_numerics/valarray/28277.cc: Likewise.
3814         * testsuite/26_numerics/valarray/30416.cc: Likewise.
3815         * testsuite/26_numerics/valarray/dr543.cc: Likewise.
3816         * testsuite/26_numerics/valarray/dr630-1.cc: Likewise.
3817         * testsuite/26_numerics/valarray/dr630-2.cc: Likewise.
3818         * testsuite/26_numerics/valarray/dr630-3.C: Likewise.
3819         * testsuite/26_numerics/valarray/init-list.cc: Likewise.
3820         * testsuite/26_numerics/valarray/moveable.cc: Likewise.
3821         * testsuite/26_numerics/valarray/operators.cc: Likewise.
3822         * testsuite/26_numerics/valarray/swap.cc: Likewise.
3823         * testsuite/experimental/deque/erasure.cc: Likewise.
3824         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
3825         Likewise.
3826         * testsuite/experimental/filesystem/iterators/
3827         recursive_directory_iterator.cc: Likewise.
3828         * testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
3829         * testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
3830         * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
3831         * testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
3832         * testsuite/experimental/filesystem/operations/create_directories.cc:
3833         Likewise.
3834         * testsuite/experimental/filesystem/operations/create_directory.cc:
3835         Likewise.
3836         * testsuite/experimental/filesystem/operations/current_path.cc:
3837         Likewise.
3838         * testsuite/experimental/filesystem/operations/exists.cc: Likewise.
3839         * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
3840         * testsuite/experimental/filesystem/operations/last_write_time.cc:
3841         Likewise.
3842         * testsuite/experimental/filesystem/operations/permissions.cc: Likewise.
3843         * testsuite/experimental/filesystem/operations/status.cc: Likewise.
3844         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
3845         Likewise.
3846         * testsuite/experimental/filesystem/path/native/string.cc: Likewise.
3847         * testsuite/experimental/forward_list/erasure.cc: Likewise.
3848         * testsuite/experimental/list/erasure.cc: Likewise.
3849         * testsuite/experimental/map/erasure.cc: Likewise.
3850         * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Likewise.
3851         * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
3852         Likewise.
3853         * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: Likewise.
3854         * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: Likewise.
3855         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: Likewise.
3856         * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc:
3857         Likewise.
3858         * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: Likewise.
3859         * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc:
3860         Likewise.
3861         * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
3862         Likewise.
3863         * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc:
3864         Likewise.
3865         * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise.
3866         * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Likewise.
3867         * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: Likewise.
3868         * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
3869         Likewise.
3870         * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
3871         Likewise.
3872         * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
3873         Likewise.
3874         * testsuite/experimental/memory/shared_ptr/observers/use_count.cc:
3875         Likewise.
3876         * testsuite/experimental/memory_resource/1.cc: Likewise.
3877         * testsuite/experimental/memory_resource/null_memory_resource.cc:
3878         Likewise.
3879         * testsuite/experimental/memory_resource/resource_adaptor.cc: Likewise.
3880         * testsuite/experimental/set/erasure.cc: Likewise.
3881         * testsuite/experimental/string/erasure.cc: Likewise.
3882         * testsuite/experimental/string_view/capacity/1.cc: Likewise.
3883         * testsuite/experimental/string_view/cons/char/1.cc: Likewise.
3884         * testsuite/experimental/string_view/cons/char/2.cc: Likewise.
3885         * testsuite/experimental/string_view/cons/char/3.cc: Likewise.
3886         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
3887         * testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise.
3888         * testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise.
3889         * testsuite/experimental/string_view/element_access/char/1.cc: Likewise.
3890         * testsuite/experimental/string_view/element_access/char/empty.cc:
3891         Likewise.
3892         * testsuite/experimental/string_view/element_access/char/
3893         front_back.cc: Likewise.
3894         * testsuite/experimental/string_view/element_access/wchar_t/1.cc:
3895         Likewise.
3896         * testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
3897         Likewise.
3898         * testsuite/experimental/string_view/element_access/wchar_t/
3899         front_back.cc: Likewise.
3900         * testsuite/experimental/string_view/inserters/char/1.cc: Likewise.
3901         * testsuite/experimental/string_view/inserters/char/2.cc: Likewise.
3902         * testsuite/experimental/string_view/inserters/char/3.cc: Likewise.
3903         * testsuite/experimental/string_view/inserters/pod/10081-out.cc:
3904         Likewise.
3905         * testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise.
3906         * testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise.
3907         * testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise.
3908         * testsuite/experimental/string_view/modifiers/remove_prefix/char/
3909         1.cc: Likewise.
3910         * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
3911         1.cc: Likewise.
3912         * testsuite/experimental/string_view/modifiers/remove_suffix/char/
3913         1.cc: Likewise.
3914         * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
3915         1.cc: Likewise.
3916         * testsuite/experimental/string_view/operations/compare/char/1.cc:
3917         Likewise.
3918         * testsuite/experimental/string_view/operations/compare/char/
3919         13650.cc: Likewise.
3920         * testsuite/experimental/string_view/operations/compare/wchar_t/
3921         1.cc: Likewise.
3922         * testsuite/experimental/string_view/operations/compare/wchar_t/
3923         13650.cc: Likewise.
3924         * testsuite/experimental/string_view/operations/copy/char/1.cc:
3925         Likewise.
3926         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
3927         Likewise.
3928         * testsuite/experimental/string_view/operations/data/char/1.cc:
3929         Likewise.
3930         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
3931         Likewise.
3932         * testsuite/experimental/string_view/operations/find/char/1.cc:
3933         Likewise.
3934         * testsuite/experimental/string_view/operations/find/char/2.cc:
3935         Likewise.
3936         * testsuite/experimental/string_view/operations/find/char/3.cc:
3937         Likewise.
3938         * testsuite/experimental/string_view/operations/find/char/4.cc:
3939         Likewise.
3940         * testsuite/experimental/string_view/operations/find/wchar_t/1.cc:
3941         Likewise.
3942         * testsuite/experimental/string_view/operations/find/wchar_t/2.cc:
3943         Likewise.
3944         * testsuite/experimental/string_view/operations/find/wchar_t/3.cc:
3945         Likewise.
3946         * testsuite/experimental/string_view/operations/find/wchar_t/4.cc:
3947         Likewise.
3948         * testsuite/experimental/string_view/operations/rfind/char/1.cc:
3949         Likewise.
3950         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
3951         Likewise.
3952         * testsuite/experimental/string_view/operations/rfind/char/3.cc:
3953         Likewise.
3954         * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc:
3955         Likewise.
3956         * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc:
3957         Likewise.
3958         * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc:
3959         Likewise.
3960         * testsuite/experimental/string_view/operations/substr/char/1.cc:
3961         Likewise.
3962         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
3963         Likewise.
3964         * testsuite/experimental/string_view/operations/to_string/1.cc:
3965         Likewise.
3966         * testsuite/experimental/string_view/operators/char/2.cc: Likewise.
3967         * testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise.
3968         * testsuite/experimental/unordered_map/erasure.cc: Likewise.
3969         * testsuite/experimental/unordered_set/erasure.cc: Likewise.
3970         * testsuite/experimental/vector/erasure.cc: Likewise.
3971         * testsuite/ext/array_allocator/1.cc: Likewise.
3972         * testsuite/ext/array_allocator/2.cc: Likewise.
3973         * testsuite/ext/array_allocator/3.cc: Likewise.
3974         * testsuite/ext/array_allocator/variadic_construct.cc: Likewise.
3975         * testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
3976         * testsuite/ext/codecvt/1.cc: Likewise.
3977         * testsuite/ext/codecvt/char-1.cc: Likewise.
3978         * testsuite/ext/codecvt/char-2.cc: Likewise.
3979         * testsuite/ext/codecvt/wchar_t.cc: Likewise.
3980         * testsuite/ext/enc_filebuf/char/13189.cc: Likewise.
3981         * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
3982         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
3983         * testsuite/ext/ext_pointer/1.cc: Likewise.
3984         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
3985         * testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
3986         * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: Likewise.
3987         * testsuite/ext/mt_allocator/tune-1.cc: Likewise.
3988         * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
3989         * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
3990         * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
3991         * testsuite/ext/mt_allocator/variadic_construct.cc: Likewise.
3992         * testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
3993         * testsuite/ext/pod_char_traits.cc: Likewise.
3994         * testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
3995         * testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
3996         * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
3997         * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
3998         Likewise.
3999         * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
4000         Likewise.
4001         * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
4002         Likewise.
4003         * testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
4004         * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
4005         * testsuite/ext/random/beta_distribution/operators/equal.cc: Likewise.
4006         * testsuite/ext/random/beta_distribution/operators/inequal.cc: Likewise.
4007         * testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
4008         * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
4009         * testsuite/ext/random/hoyt_distribution/operators/equal.cc: Likewise.
4010         * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: Likewise.
4011         * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
4012         Likewise.
4013         * testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
4014         Likewise.
4015         * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
4016         Likewise.
4017         * testsuite/ext/random/hypergeometric_distribution/operators/
4018         equal.cc: Likewise.
4019         * testsuite/ext/random/hypergeometric_distribution/operators/
4020         inequal.cc: Likewise.
4021         * testsuite/ext/random/hypergeometric_distribution/operators/
4022         serialize.cc: Likewise.
4023         * testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
4024         * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
4025         * testsuite/ext/random/k_distribution/operators/equal.cc: Likewise.
4026         * testsuite/ext/random/k_distribution/operators/inequal.cc: Likewise.
4027         * testsuite/ext/random/k_distribution/operators/serialize.cc: Likewise.
4028         * testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
4029         * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
4030         * testsuite/ext/random/logistic_distribution/operators/equal.cc:
4031         Likewise.
4032         * testsuite/ext/random/logistic_distribution/operators/inequal.cc:
4033         Likewise.
4034         * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
4035         Likewise.
4036         * testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
4037         * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
4038         * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
4039         Likewise.
4040         * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
4041         Likewise.
4042         * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
4043         Likewise.
4044         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
4045         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
4046         * testsuite/ext/random/normal_mv_distribution/operators/equal.cc:
4047         Likewise.
4048         * testsuite/ext/random/normal_mv_distribution/operators/inequal.cc:
4049         Likewise.
4050         * testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
4051         * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
4052         * testsuite/ext/random/pareto_distribution/operators/equal.cc: Likewise.
4053         * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
4054         Likewise.
4055         * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
4056         Likewise.
4057         * testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
4058         * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
4059         * testsuite/ext/random/rice_distribution/operators/equal.cc: Likewise.
4060         * testsuite/ext/random/rice_distribution/operators/inequal.cc: Likewise.
4061         * testsuite/ext/random/rice_distribution/operators/serialize.cc:
4062         Likewise.
4063         * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
4064         default.cc: Likewise.
4065         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
4066         equal.cc: Likewise.
4067         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
4068         inequal.cc: Likewise.
4069         * testsuite/ext/random/simd_fast_mersenne_twister_engine/operators/
4070         serialize.cc: Likewise.
4071         * testsuite/ext/random/triangular_distribution/cons/default.cc:
4072         Likewise.
4073         * testsuite/ext/random/triangular_distribution/cons/parms.cc: Likewise.
4074         * testsuite/ext/random/triangular_distribution/operators/equal.cc:
4075         Likewise.
4076         * testsuite/ext/random/triangular_distribution/operators/inequal.cc:
4077         Likewise.
4078         * testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
4079         Likewise.
4080         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4081         equal.cc: Likewise.
4082         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4083         generate.cc: Likewise.
4084         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4085         inequal.cc: Likewise.
4086         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
4087         serialize.cc: Likewise.
4088         * testsuite/ext/random/von_mises_distribution/cons/default.cc: Likewise.
4089         * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
4090         * testsuite/ext/random/von_mises_distribution/operators/equal.cc:
4091         Likewise.
4092         * testsuite/ext/random/von_mises_distribution/operators/inequal.cc:
4093         Likewise.
4094         * testsuite/ext/rope/2.cc: Likewise.
4095         * testsuite/ext/rope/3.cc: Likewise.
4096         * testsuite/ext/rope/4.cc: Likewise.
4097         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
4098         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
4099         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Likewise.
4100         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
4101         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
4102         * testsuite/ext/stdio_filebuf/char/10063-1.cc: Likewise.
4103         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
4104         * testsuite/ext/stdio_filebuf/char/10063-3.cc: Likewise.
4105         * testsuite/ext/stdio_filebuf/char/2.cc: Likewise.
4106         * testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.
4107         * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: Likewise.
4108         * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: Likewise.
4109         * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: Likewise.
4110         * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: Likewise.
4111         * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
4112         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
4113         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: Likewise.
4114         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: Likewise.
4115         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: Likewise.
4116         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: Likewise.
4117         * testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
4118         * testsuite/ext/type_traits/add_unsigned.cc: Likewise.
4119         * testsuite/ext/type_traits/remove_unsigned.cc: Likewise.
4120         * testsuite/ext/vstring/capacity/29134.cc: Likewise.
4121         * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
4122         * testsuite/ext/vstring/cons/58415-1.cc: Likewise.
4123         * testsuite/ext/vstring/cons/moveable.cc: Likewise.
4124         * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
4125         * testsuite/ext/vstring/element_access/char/front_back.cc: Likewise.
4126         * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
4127         * testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise.
4128         * testsuite/ext/vstring/hash/char/1.cc: Likewise.
4129         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
4130         * testsuite/ext/vstring/init-list.cc: Likewise.
4131         * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
4132         * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise.
4133         * testsuite/ext/vstring/modifiers/assign/move_assign.cc: Likewise.
4134         * testsuite/ext/vstring/modifiers/pop_back/char/1.cc: Likewise.
4135         * testsuite/ext/vstring/modifiers/pop_back/wchar_t/1.cc: Likewise.
4136         * testsuite/ext/vstring/operators/1.cc: Likewise.
4137         * testsuite/ext/vstring/operators/2.cc: Likewise.
4138
4139 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
4140
4141         PR libstdc++/65122
4142         * include/ext/malloc_allocator.h (malloc_allocator::allocate): Use
4143         aligned_alloc for types with extended alignment if available,
4144         otherwise throw bad_alloc if malloc doesn't return a suitable value.
4145         * include/ext/bitmap_allocator.h (bitmap_allocator::allocate)
4146         (bitmap_allocator::deallocate): Use aligned new/delete for types with
4147         extended alignment.
4148         * include/ext/mt_allocator.h (__mt_alloc::allocate)
4149         (__mt_alloc::deallocate): Likewise.
4150         * include/ext/new_allocator.h (new_allocator::allocate)
4151         (new_allocator::deallocate): Likewise.
4152         * include/ext/pool_allocator.h (__pool_alloc::allocate)
4153         (__pool_alloc::deallocate): Likewise.
4154         * testsuite/20_util/allocator/overaligned.cc: New test.
4155         * testsuite/ext/bitmap_allocator/overaligned.cc: New test.
4156         * testsuite/ext/malloc_allocator/overaligned.cc: New test.
4157         * testsuite/ext/mt_allocator/overaligned.cc: New test.
4158         * testsuite/ext/new_allocator/overaligned.cc: New test.
4159         * testsuite/ext/pool_allocator/overaligned.cc: New test.
4160
4161 2016-10-14  Tim Shen  <timshen@google.com>
4162
4163         PR libstdc++/77944
4164         * include/std/variant: Include <bits/funcexcept.h> for __try and
4165         __catch.
4166
4167 2016-10-14  Jonathan Wakely  <jwakely@redhat.com>
4168
4169         * include/std/functional (_Reference_wrapper_base_impl): Remove.
4170         (_Refwrap_base_arg1, _Refwrap_base_arg2): New helpers using __void_t.
4171         (_Reference_wrapper_base): Inherit from new helpers.
4172
4173 2016-10-13  Paolo Carlini  <paolo.carlini@oracle.com>
4174
4175         * testsuite/24_iterators/container_access.cc: Remove 'test' variables.
4176         * testsuite/24_iterators/istream_iterator/2.cc: Likewise.
4177         * testsuite/24_iterators/istreambuf_iterator/2.cc: Likewise.
4178         * testsuite/24_iterators/istreambuf_iterator/2627.cc: Likewise.
4179         * testsuite/24_iterators/operations/next.cc: Likewise.
4180         * testsuite/24_iterators/operations/prev.cc: Likewise.
4181         * testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
4182         * testsuite/24_iterators/random_access_iterator/26020.cc: Likewise.
4183         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
4184         * testsuite/24_iterators/reverse_iterator/11729.cc: Likewise.
4185         * testsuite/24_iterators/reverse_iterator/3.cc: Likewise.
4186         * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
4187         * testsuite/25_algorithms/all_of/1.cc: Likewise.
4188         * testsuite/25_algorithms/any_of/1.cc: Likewise.
4189         * testsuite/25_algorithms/binary_search/2.cc: Likewise.
4190         * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
4191         * testsuite/25_algorithms/clamp/1.cc: Likewise.
4192         * testsuite/25_algorithms/clamp/2.cc: Likewise.
4193         * testsuite/25_algorithms/copy/1.cc: Likewise.
4194         * testsuite/25_algorithms/copy/2.cc: Likewise.
4195         * testsuite/25_algorithms/copy/3.cc: Likewise.
4196         * testsuite/25_algorithms/copy/34595.cc: Likewise.
4197         * testsuite/25_algorithms/copy/4.cc: Likewise.
4198         * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
4199         * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
4200         * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
4201         * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
4202         * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
4203         * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
4204         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
4205         Likewise.
4206         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
4207         Likewise.
4208         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
4209         Likewise.
4210         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
4211         Likewise.
4212         * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
4213         * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
4214         * testsuite/25_algorithms/copy_n/1.cc: Likewise.
4215         * testsuite/25_algorithms/copy_n/2.cc: Likewise.
4216         * testsuite/25_algorithms/copy_n/3.cc: Likewise.
4217         * testsuite/25_algorithms/copy_n/4.cc: Likewise.
4218         * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
4219         * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
4220         * testsuite/25_algorithms/equal_range/2.cc: Likewise.
4221         * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
4222         * testsuite/25_algorithms/fill/1.cc: Likewise.
4223         * testsuite/25_algorithms/fill/2.cc: Likewise.
4224         * testsuite/25_algorithms/fill/3.cc: Likewise.
4225         * testsuite/25_algorithms/fill/4.cc: Likewise.
4226         * testsuite/25_algorithms/fill_n/1.cc: Likewise.
4227         * testsuite/25_algorithms/find/39546.cc: Likewise.
4228         * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: Likewise.
4229         * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Likewise.
4230         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
4231         Likewise.
4232         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
4233         Likewise.
4234         * testsuite/25_algorithms/find_if/1.cc: Likewise.
4235         * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
4236         * testsuite/25_algorithms/for_each/1.cc: Likewise.
4237         * testsuite/25_algorithms/heap/1.cc: Likewise.
4238         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
4239         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
4240         * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
4241         * testsuite/25_algorithms/includes/1.cc: Likewise.
4242         * testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
4243         * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
4244         * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
4245         * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
4246         * testsuite/25_algorithms/is_heap/1.cc: Likewise.
4247         * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
4248         * testsuite/25_algorithms/is_partitioned/1.cc: Likewise.
4249         * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
4250         * testsuite/25_algorithms/is_permutation/2.cc: Likewise.
4251         * testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
4252         * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
4253         * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
4254         * testsuite/25_algorithms/iter_swap/20577.cc: Likewise.
4255         * testsuite/25_algorithms/lower_bound/2.cc: Likewise.
4256         * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
4257         * testsuite/25_algorithms/make_heap/complexity.cc: Likewise.
4258         * testsuite/25_algorithms/max/1.cc: Likewise.
4259         * testsuite/25_algorithms/max/2.cc: Likewise.
4260         * testsuite/25_algorithms/max/3.cc: Likewise.
4261         * testsuite/25_algorithms/max/37547.cc: Likewise.
4262         * testsuite/25_algorithms/max/4.cc: Likewise.
4263         * testsuite/25_algorithms/min/1.cc: Likewise.
4264         * testsuite/25_algorithms/min/2.cc: Likewise.
4265         * testsuite/25_algorithms/min/3.cc: Likewise.
4266         * testsuite/25_algorithms/min/37547.cc: Likewise.
4267         * testsuite/25_algorithms/min/4.cc: Likewise.
4268         * testsuite/25_algorithms/minmax/1.cc: Likewise.
4269         * testsuite/25_algorithms/minmax/2.cc: Likewise.
4270         * testsuite/25_algorithms/minmax/3.cc: Likewise.
4271         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
4272         * testsuite/25_algorithms/minmax_element/1.cc: Likewise.
4273         * testsuite/25_algorithms/move/1.cc: Likewise.
4274         * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
4275         * testsuite/25_algorithms/move_backward/1.cc: Likewise.
4276         * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
4277         * testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
4278         * testsuite/25_algorithms/none_of/1.cc: Likewise.
4279         * testsuite/25_algorithms/nth_element/1.cc: Likewise.
4280         * testsuite/25_algorithms/nth_element/2.cc: Likewise.
4281         * testsuite/25_algorithms/nth_element/3.cc: Likewise.
4282         * testsuite/25_algorithms/nth_element/moveable.cc: Likewise.
4283         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
4284         * testsuite/25_algorithms/partial_sort/2.cc: Likewise.
4285         * testsuite/25_algorithms/partial_sort/check_compare_by_value.cc:
4286         Likewise.
4287         * testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.
4288         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
4289         * testsuite/25_algorithms/partial_sort_copy/2.cc: Likewise.
4290         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
4291         * testsuite/25_algorithms/partition/1.cc: Likewise.
4292         * testsuite/25_algorithms/partition/moveable.cc: Likewise.
4293         * testsuite/25_algorithms/partition_copy/1.cc: Likewise.
4294         * testsuite/25_algorithms/partition_point/1.cc: Likewise.
4295         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
4296         * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
4297         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
4298         * testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
4299         * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
4300         * testsuite/25_algorithms/rotate/1.cc: Likewise.
4301         * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
4302         * testsuite/25_algorithms/rotate/moveable2.cc: Likewise.
4303         * testsuite/25_algorithms/rotate/rotate.cc: Likewise.
4304         * testsuite/25_algorithms/search/1.cc: Likewise.
4305         * testsuite/25_algorithms/search_n/58358.cc: Likewise.
4306         * testsuite/25_algorithms/shuffle/1.cc: Likewise.
4307         * testsuite/25_algorithms/sort/1.cc: Likewise.
4308         * testsuite/25_algorithms/sort/check_compare_by_value.cc: Likewise.
4309         * testsuite/25_algorithms/sort/moveable.cc: Likewise.
4310         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
4311         * testsuite/25_algorithms/sort/vectorbool.cc: Likewise.
4312         * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc: Likewise.
4313         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
4314         * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
4315         * testsuite/25_algorithms/stable_partition/mem_check.cc: Likewise.
4316         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
4317         * testsuite/25_algorithms/stable_sort/2.cc: Likewise.
4318         * testsuite/25_algorithms/stable_sort/3.cc: Likewise.
4319         * testsuite/25_algorithms/stable_sort/49559.cc: Likewise.
4320         * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
4321         Likewise.
4322         * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
4323         * testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.
4324         * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
4325         * testsuite/25_algorithms/swap_ranges/1.cc: Likewise.
4326         * testsuite/25_algorithms/unique/11480.cc: Likewise.
4327         * testsuite/25_algorithms/unique/2.cc: Likewise.
4328         * testsuite/25_algorithms/unique/moveable.cc: Likewise.
4329         * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
4330         * testsuite/25_algorithms/unique_copy/2.cc: Likewise.
4331         * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
4332         * testsuite/25_algorithms/upper_bound/2.cc: Likewise.
4333         * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
4334         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Likewise.
4335         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc:
4336         Likewise.
4337         * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc:
4338         Likewise.
4339         * testsuite/28_regex/algorithms/regex_match/basic/
4340         string_range_00_03.cc: Likewise.
4341         * testsuite/28_regex/algorithms/regex_match/basic/
4342         string_range_01_03.cc: Likewise.
4343         * testsuite/28_regex/algorithms/regex_match/basic/
4344         string_range_02_03.cc: Likewise.
4345         * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
4346         Likewise.
4347         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
4348         Likewise.
4349         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
4350         Likewise.
4351         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc:
4352         Likewise.
4353         * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
4354         Likewise.
4355         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
4356         Likewise.
4357         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
4358         Likewise.
4359         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
4360         Likewise.
4361         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
4362         Likewise.
4363         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Likewise.
4364         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
4365         Likewise.
4366         * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc:
4367         Likewise.
4368         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
4369         Likewise.
4370         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/
4371         anymatcher.cc: Likewise.
4372         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
4373         Likewise.
4374         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
4375         Likewise.
4376         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
4377         Likewise.
4378         * testsuite/28_regex/algorithms/regex_match/extended/
4379         cstring_questionmark.cc: Likewise.
4380         * testsuite/28_regex/algorithms/regex_match/extended/
4381         cstring_range.cc: Likewise.
4382         * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
4383         Likewise.
4384         * testsuite/28_regex/algorithms/regex_match/extended/
4385         string_range_00_03.cc: Likewise.
4386         * testsuite/28_regex/algorithms/regex_match/extended/
4387         string_range_01_03.cc: Likewise.
4388         * testsuite/28_regex/algorithms/regex_match/extended/
4389         string_range_02_03.cc: Likewise.
4390         * testsuite/28_regex/algorithms/regex_match/extended/
4391         wstring_locale.cc: Likewise.
4392         * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
4393         Likewise.
4394         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc: Likewise.
4395         * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
4396         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
4397         Likewise.
4398         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
4399         Likewise.
4400         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Likewise.
4401         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Likewise.
4402         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
4403         Likewise.
4404         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
4405         * testsuite/28_regex/basic_regex/assign/char/cstring_op.cc: Likewise.
4406         * testsuite/28_regex/basic_regex/assign/char/moveable.cc: Likewise.
4407         * testsuite/28_regex/basic_regex/assign/char/pstring.cc: Likewise.
4408         * testsuite/28_regex/basic_regex/assign/char/range.cc: Likewise.
4409         * testsuite/28_regex/basic_regex/assign/char/string.cc: Likewise.
4410         * testsuite/28_regex/basic_regex/assign/char/string_op.cc: Likewise.
4411         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring.cc: Likewise.
4412         * testsuite/28_regex/basic_regex/assign/wchar_t/cstring_op.cc: Likewise.
4413         * testsuite/28_regex/basic_regex/assign/wchar_t/pstring.cc: Likewise.
4414         * testsuite/28_regex/basic_regex/assign/wchar_t/range.cc: Likewise.
4415         * testsuite/28_regex/basic_regex/assign/wchar_t/string.cc: Likewise.
4416         * testsuite/28_regex/basic_regex/assign/wchar_t/string_op.cc: Likewise.
4417         * testsuite/28_regex/basic_regex/ctors/basic/pstring_wchar_t.cc:
4418         Likewise.
4419         * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
4420         Likewise.
4421         * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
4422         * testsuite/28_regex/basic_regex/ctors/extended/
4423         string_range_01_02_03.cc: Likewise.
4424         * testsuite/28_regex/basic_regex/ctors/move_char.cc: Likewise.
4425         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
4426         * testsuite/28_regex/basic_regex/ctors/wchar_t/cstring.cc: Likewise.
4427         * testsuite/28_regex/basic_regex/ctors/wchar_t/default.cc: Likewise.
4428         * testsuite/28_regex/basic_regex/ctors/wchar_t/range.cc: Likewise.
4429         * testsuite/28_regex/basic_regex/imbue/string.cc: Likewise.
4430         * testsuite/28_regex/constants/error_type.cc: Likewise.
4431         * testsuite/28_regex/constants/match_flag_type.cc: Likewise.
4432         * testsuite/28_regex/init-list.cc: Likewise.
4433         * testsuite/28_regex/iterators/regex_iterator/char/64140.cc: Likewise.
4434         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
4435         Likewise.
4436         * testsuite/28_regex/iterators/regex_iterator/char/
4437         string_position_01.cc
4438         * testsuite/28_regex/iterators/regex_iterator/ctors/char/default.cc:
4439         Likewise.
4440         * testsuite/28_regex/iterators/regex_iterator/ctors/wchar_t/
4441         default.cc: Likewise.
4442         * testsuite/28_regex/iterators/regex_iterator/typedefs.cc: Likewise.
4443         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
4444         Likewise.
4445         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
4446         Likewise.
4447         * testsuite/28_regex/iterators/regex_token_iterator/64303.cc: Likewise.
4448         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
4449         Likewise.
4450         * testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
4451         default.cc: Likewise.
4452         * testsuite/28_regex/iterators/regex_token_iterator/ctors/wchar_t/
4453         default.cc: Likewise.
4454         * testsuite/28_regex/iterators/regex_token_iterator/typedefs.cc:
4455         Likewise.
4456         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4457         string_01.cc: Likewise.
4458         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
4459         wstring_02.cc: Likewise.
4460         * testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
4461         * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
4462         * testsuite/28_regex/match_results/format.cc: Likewise.
4463         * testsuite/28_regex/match_results/out_of_range_submatches.cc: Likewise.
4464         * testsuite/28_regex/match_results/swap.cc: Likewise.
4465         * testsuite/28_regex/match_results/typedefs.cc: Likewise.
4466         * testsuite/28_regex/regex_error/regex_error.cc: Likewise.
4467         * testsuite/28_regex/regression.cc: Likewise.
4468         * testsuite/28_regex/sub_match/cast_char.cc: Likewise.
4469         * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
4470         * testsuite/28_regex/sub_match/embedded_zeros_cmp.cc: Likewise.
4471         * testsuite/28_regex/sub_match/length.cc: Likewise.
4472         * testsuite/28_regex/traits/char/ctor.cc: Likewise.
4473         * testsuite/28_regex/traits/char/isctype.cc: Likewise.
4474         * testsuite/28_regex/traits/char/length.cc: Likewise.
4475         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
4476         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
4477         * testsuite/28_regex/traits/char/transform.cc: Likewise.
4478         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
4479         * testsuite/28_regex/traits/char/translate.cc: Likewise.
4480         * testsuite/28_regex/traits/char/translate_nocase.cc: Likewise.
4481         * testsuite/28_regex/traits/char/user_defined.cc: Likewise.
4482         * testsuite/28_regex/traits/char/value.cc: Likewise.
4483         * testsuite/28_regex/traits/wchar_t/ctor.cc: Likewise.
4484         * testsuite/28_regex/traits/wchar_t/isctype.cc: Likewise.
4485         * testsuite/28_regex/traits/wchar_t/length.cc: Likewise.
4486         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: Likewise.
4487         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
4488         * testsuite/28_regex/traits/wchar_t/transform.cc: Likewise.
4489         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: Likewise.
4490         * testsuite/28_regex/traits/wchar_t/translate.cc: Likewise.
4491         * testsuite/28_regex/traits/wchar_t/translate_nocase.cc: Likewise.
4492         * testsuite/28_regex/traits/wchar_t/user_defined.cc: Likewise.
4493         * testsuite/28_regex/traits/wchar_t/value.cc: Likewise.
4494         * testsuite/29_atomics/atomic/60658.cc: Likewise.
4495         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
4496         * testsuite/29_atomics/atomic_flag/clear/1.cc: Likewise.
4497         * testsuite/backward/11460.cc: Likewise.
4498         * testsuite/backward/hash_map/1.cc: Likewise.
4499         * testsuite/backward/hash_map/25896.cc: Likewise.
4500         * testsuite/backward/hash_set/1.cc: Likewise.
4501         * testsuite/backward/hash_set/25896.cc: Likewise.
4502         * testsuite/decimal/binary-arith.cc: Likewise.
4503         * testsuite/decimal/comparison.cc: Likewise.
4504         * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
4505         * testsuite/decimal/compound-assignment.cc: Likewise.
4506         * testsuite/decimal/conversion-from-float.cc: Likewise.
4507         * testsuite/decimal/conversion-from-integral.cc: Likewise.
4508         * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
4509         * testsuite/decimal/conversion-to-integral.cc: Likewise.
4510         * testsuite/decimal/ctor.cc: Likewise.
4511         * testsuite/decimal/incdec-memfunc.cc: Likewise.
4512         * testsuite/decimal/incdec.cc: Likewise.
4513         * testsuite/decimal/make-decimal.cc: Likewise.
4514         * testsuite/decimal/pr54036-1.cc: Likewise.
4515         * testsuite/decimal/pr54036-2.cc: Likewise.
4516         * testsuite/decimal/pr54036-3.cc: Likewise.
4517         * testsuite/decimal/unary-arith.cc: Likewise.
4518         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: Likewise.
4519         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
4520         Likewise.
4521         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: Likewise.
4522         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
4523         Likewise.
4524         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
4525         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
4526         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
4527         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Likewise.
4528         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
4529         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Likewise.
4530         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
4531         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Likewise.
4532         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
4533         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Likewise.
4534         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
4535         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
4536         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Likewise.
4537         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
4538         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Likewise.
4539         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
4540         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
4541         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
4542         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
4543         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
4544         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
4545         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
4546         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
4547         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
4548         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
4549         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
4550         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
4551         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
4552         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
4553         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
4554         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
4555         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
4556         * testsuite/special_functions/18_riemann_zeta/check_value.cc: Likewise.
4557         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
4558         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
4559         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
4560         * testsuite/special_functions/20_sph_legendre/check_value.cc: Likewise.
4561         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
4562         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
4563         * testsuite/tr2/bases/value.cc: Likewise.
4564         * testsuite/tr2/direct_bases/value.cc: Likewise.
4565         * testsuite/util/debug/checks.h: Likewise.
4566         * testsuite/util/debug/unordered_checks.h: Likewise.
4567         * testsuite/util/testsuite_allocator.h: Likewise.
4568         * testsuite/util/testsuite_api.h: Likewise.
4569         * testsuite/util/testsuite_common_types.h: Likewise.
4570         * testsuite/util/testsuite_random.h: Likewise.
4571         * testsuite/util/testsuite_rvalref.h: Likewise.
4572
4573 2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
4574
4575         * include/bits/shared_ptr_base.h: Include <functional>.
4576         [!__cpp_rtti]: Do not include <typeinfo>.
4577         * include/experimental/array: Do not include <functional>.
4578         * include/experimental/memory: Include <bits/functional_hash.h>
4579         instead of <functional>.
4580         * include/experimental/propagate_const: Include <bits/stl_function.h>,
4581         <bits/functional_hash.h>, and <bits/move.h> instead of <functional>.
4582         * include/experimental/tuple: Do not include <functional>.
4583         * include/std/future: Include <functional>.
4584         * include/std/memory: Do not include <functional>.
4585         * include/std/mutex: [_GLIBCXX_HAVE_TLS]: Likewise.
4586         * src/c++11/compatibility-thread-c++0x.cc: Include <functional>.
4587         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Add
4588         missing includes.
4589         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4590         * testsuite/20_util/specialized_algorithms/memory_management_tools/
4591         1.cc: Likewise.
4592         * testsuite/30_threads/call_once/60497.cc: Likewise.
4593         * testsuite/30_threads/lock/2.cc: Likewise.
4594         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
4595         * testsuite/experimental/algorithm/sample.cc: Likewise.
4596         * testsuite/experimental/array/make_array.cc: Likewise.
4597         * testsuite/experimental/array/neg.cc: Likewise. Adjust dg-error line.
4598         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
4599         Adjust dg-error lines.
4600         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
4601         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
4602         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
4603         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
4604         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
4605
4606         * testsuite/experimental/algorithm/sample.cc: Add missing header.
4607
4608         * include/experimental/propagate_const (element_type): Qualify
4609         declval.
4610
4611         * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
4612         instead of assert.
4613
4614         * include/experiumental/functional (boyer_moore_searcher)
4615         (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
4616         with _GLIBCXX_STD_C.
4617         * include/std/functional: Likewise.
4618
4619         * include/std/chrono (floor): Replace non-constexpr operation.
4620         * testsuite/20_util/duration_cast/rounding.cc: Test conversion to
4621         durations with floating pointer representations.
4622
4623         * src/c++11/compatibility-thread-c++0x.cc (_Bind_simple)
4624         (_Bind_simple_helper, __bind_simple): Restore for ABI compat symbols.
4625
4626         * include/std/functional (_Bind_simple, _Bind_simple_helper)
4627         (__bind_simple): Remove.
4628         * include/std/future: Include <bits/invoke.h> instead of <functional>.
4629         (__future_base::_Task_state::_M_run)
4630         (__future_base::_Task_state::_M_run_delayed): Use lambda expressions
4631         instead of __bind_simple.
4632         (__future_base::_Task_state::_S_maybe_wrap_ref): Remove.
4633         (async): Use thread::__make_invoker instead of __bind_simple.
4634         * include/std/thread: Include <tuple> and <bits/invoke.h> instead of
4635         <functional>.
4636         (thread::_Invoker, thread::__make_invoker): Define helpers to do
4637         INVOKE(DECAY_COPY(f), DECAY_COPY(args)...).
4638
4639         * include/std/functional (_Not_fn): Make exception specifications
4640         depend on whether negating the result can throw.
4641         * testsuite/20_util/not_fn/1.cc: Move to ...
4642         * testsuite/20_util/function_objects/not_fn/1.cc: ... here. Add tests
4643         for types that can throw when negated and that cannot be negated.
4644
4645         * include/bits/invoke.h (__invoke): Fix exception-specification.
4646         * include/std/functional (invoke): Likewise.
4647         * testsuite/20_util/function_objects/invoke/1.cc: New test.
4648
4649 2016-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
4650
4651         * testsuite/util/testsuite_hooks.h: Rewrite VERIFY in terms of
4652         __builtin_printf and __builtin_abort.
4653         * testsuite/lib/libstdc++.exp: Remove _GLIBCXX_ASSERT use.
4654         * scripts/testsuite_flags.in: Likewise.
4655         * testsuite/22_locale/time_get/get/char/1.cc: Likewise.
4656         * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
4657         * testsuite/22_locale/time_get/get/wchar_t/1.cc: Likewise.
4658         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
4659         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise, adjust.
4660         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
4661         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
4662         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
4663         * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
4664         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
4665         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
4666         Likewise.
4667         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
4668         Likewise.
4669         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
4670         Likewise.
4671         * testsuite/27_io/objects/char/7.cc: Likewise.
4672         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
4673         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
4674         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
4675         * testsuite/18_support/50594.cc: Remove 'test' variable, adjust.
4676         * testsuite/18_support/bad_alloc/what.cc: Likewise.
4677         * testsuite/18_support/bad_cast/what.cc: Likewise.
4678         * testsuite/18_support/bad_exception/what.cc: Likewise.
4679         * testsuite/18_support/bad_typeid/what.cc: Likewise.
4680         * testsuite/18_support/exception/38732.cc: Likewise.
4681         * testsuite/18_support/exception/what.cc: Likewise.
4682         * testsuite/18_support/exception_ptr/64241.cc: Likewise.
4683         * testsuite/18_support/exception_ptr/current_exception.cc: Likewise.
4684         * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
4685         * testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
4686         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
4687         * testsuite/18_support/nested_exception/cons.cc: Likewise.
4688         * testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
4689         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
4690         * testsuite/18_support/nested_exception/rethrow_nested.cc: Likewise.
4691         * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
4692         * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
4693         * testsuite/18_support/numeric_limits/digits10.cc: Likewise.
4694         * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
4695         * testsuite/18_support/numeric_limits/epsilon.cc: Likewise.
4696         * testsuite/18_support/numeric_limits/is_iec559.cc: Likewise.
4697         * testsuite/18_support/numeric_limits/is_signed.cc: Likewise.
4698         * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
4699         * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
4700         * testsuite/18_support/numeric_limits/min_max.cc: Likewise.
4701         * testsuite/18_support/numeric_limits/specialization_default_values.cc:
4702         Likewise.
4703         * testsuite/18_support/type_info/hash_code.cc: Likewise.
4704         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
4705         * testsuite/19_diagnostics/error_category/cons/default.cc: Likewise.
4706         * testsuite/19_diagnostics/error_category/operators/equal.cc: Likewise.
4707         * testsuite/19_diagnostics/error_category/operators/
4708         not_equal.cc: Likewise.
4709         * testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
4710         * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
4711         * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
4712         * testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
4713         * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
4714         * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
4715         * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
4716         * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
4717         * testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
4718         Likewise.
4719         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
4720         * testsuite/19_diagnostics/error_condition/operators/equal.cc:
4721         Likewise.
4722         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
4723         Likewise.
4724         * testsuite/19_diagnostics/logic_error/what-1.cc: Likewise.
4725         * testsuite/19_diagnostics/logic_error/what-2.cc: Likewise.
4726         * testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
4727         * testsuite/19_diagnostics/logic_error/what-big.cc: Likewise.
4728         * testsuite/19_diagnostics/runtime_error/what-1.cc: Likewise.
4729         * testsuite/19_diagnostics/runtime_error/what-2.cc: Likewise.
4730         * testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
4731         * testsuite/19_diagnostics/runtime_error/what-big.cc: Likewise.
4732         * testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
4733         * testsuite/19_diagnostics/system_error/what-1.cc: Likewise.
4734         * testsuite/19_diagnostics/system_error/what-2.cc: Likewise.
4735         * testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
4736         * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
4737         * testsuite/19_diagnostics/system_error/what-big.cc: Likewise.
4738         * testsuite/20_util/addressof/1.cc: Likewise.
4739         * testsuite/20_util/align/1.cc: Likewise.
4740         * testsuite/20_util/align/2.cc: Likewise.
4741         * testsuite/20_util/allocator/1.cc: Likewise.
4742         * testsuite/20_util/allocator/10378.cc: Likewise.
4743         * testsuite/20_util/allocator/8230.cc: Likewise.
4744         * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
4745         Likewise.
4746         * testsuite/20_util/allocator_traits/members/construct.cc: Likewise.
4747         * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
4748         * testsuite/20_util/allocator_traits/members/max_size.cc: Likewise.
4749         * testsuite/20_util/any/assign/exception.cc: Likewise.
4750         * testsuite/20_util/auto_ptr/1.cc: Likewise.
4751         * testsuite/20_util/auto_ptr/2.cc: Likewise.
4752         * testsuite/20_util/auto_ptr/3.cc: Likewise.
4753         * testsuite/20_util/auto_ptr/4.cc: Likewise.
4754         * testsuite/20_util/auto_ptr/5.cc: Likewise.
4755         * testsuite/20_util/auto_ptr/6.cc: Likewise.
4756         * testsuite/20_util/auto_ptr/7.cc: Likewise.
4757         * testsuite/20_util/bind/all_bound.cc: Likewise.
4758         * testsuite/20_util/bind/conv_result.cc: Likewise.
4759         * testsuite/20_util/bind/cv_quals.cc: Likewise.
4760         * testsuite/20_util/bind/cv_quals_2.cc
4761         * testsuite/20_util/bind/nested.cc: Likewise.
4762         * testsuite/20_util/bind/placeholders.cc: Likewise.
4763         * testsuite/20_util/bind/ref.cc: Likewise.
4764         * testsuite/20_util/bind/ref2.cc: Likewise.
4765         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
4766         * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
4767         * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
4768         * testsuite/20_util/duration/arithmetic/58850.cc: Likewise.
4769         * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise.
4770         * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.
4771         * testsuite/20_util/duration/comparison_operators/1.cc: Likewise.
4772         * testsuite/20_util/duration/cons/1.cc: Likewise.
4773         * testsuite/20_util/duration/cons/2.cc: Likewise.
4774         * testsuite/20_util/enable_if/requirements/typedefs.cc: Likewise.
4775         * testsuite/20_util/enable_if/requirements/typedefs_neg.cc: Likewise.
4776         * testsuite/20_util/enable_shared_from_this/members/assign.cc:
4777         Likewise.
4778         * testsuite/20_util/exchange/1.cc: Likewise.
4779         * testsuite/20_util/forward/a.cc: Likewise.
4780         * testsuite/20_util/forward/b.cc: Likewise.
4781         * testsuite/20_util/forward/d.cc: Likewise.
4782         * testsuite/20_util/function/1.cc: Likewise.
4783         * testsuite/20_util/function/2.cc: Likewise.
4784         * testsuite/20_util/function/3.cc: Likewise.
4785         * testsuite/20_util/function/4.cc: Likewise.
4786         * testsuite/20_util/function/43397.cc: Likewise.
4787         * testsuite/20_util/function/5.cc: Likewise.
4788         * testsuite/20_util/function/6.cc: Likewise.
4789         * testsuite/20_util/function/7.cc: Likewise.
4790         * testsuite/20_util/function/8.cc: Likewise.
4791         * testsuite/20_util/function/9.cc: Likewise.
4792         * testsuite/20_util/function/assign/move.cc: Likewise.
4793         * testsuite/20_util/function/cons/move.cc: Likewise.
4794         * testsuite/20_util/function_objects/dr660.cc: Likewise.
4795         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Likewise.
4796         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
4797         * testsuite/20_util/hash/chi2_q_document_words.cc: Likewise.
4798         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
4799         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
4800         * testsuite/20_util/hash/operators/size_t.cc: Likewise.
4801         * testsuite/20_util/hash/quality.cc: Likewise.
4802         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
4803         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
4804         * testsuite/20_util/is_function/24808.cc: Likewise.
4805         * testsuite/20_util/is_object/24808.cc: Likewise.
4806         * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
4807         * testsuite/20_util/move_if_noexcept/constexpr.cc: Likewise.
4808         * testsuite/20_util/owner_less/cmp.cc: Likewise.
4809         * testsuite/20_util/pair/1.cc: Likewise.
4810         * testsuite/20_util/pair/2.cc: Likewise.
4811         * testsuite/20_util/pair/3.cc: Likewise.
4812         * testsuite/20_util/pair/4.cc: Likewise.
4813         * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
4814         * testsuite/20_util/pair/moveable.cc: Likewise.
4815         * testsuite/20_util/pair/piecewise.cc: Likewise.
4816         * testsuite/20_util/pair/swap.cc: Likewise.
4817         * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
4818         * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
4819         * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise.
4820         * testsuite/20_util/ratio/cons/cons1.cc: Likewise.
4821         * testsuite/20_util/ratio/operations/45866.cc: Likewise.
4822         * testsuite/20_util/ratio/operations/47913.cc: Likewise.
4823         * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
4824         * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
4825         * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
4826         * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
4827         * testsuite/20_util/scoped_allocator/1.cc: Likewise.
4828         * testsuite/20_util/scoped_allocator/2.cc: Likewise.
4829         * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
4830         * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
4831         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
4832         * testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
4833         * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
4834         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
4835         Likewise.
4836         * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
4837         * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
4838         * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
4839         * testsuite/20_util/shared_ptr/cons/alloc.cc: Likewise.
4840         * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
4841         * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
4842         * testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
4843         * testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
4844         * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
4845         * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
4846         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
4847         * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: Likewise.
4848         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Likewise.
4849         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
4850         Likewise.
4851         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
4852         Likewise.
4853         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
4854         * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
4855         * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
4856         * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
4857         * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
4858         * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
4859         * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
4860         * testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
4861         * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
4862         * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
4863         * testsuite/20_util/shared_ptr/misc/io.cc: Likewise.
4864         * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
4865         * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
4866         * testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc: Likewise.
4867         * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
4868         * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
4869         * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
4870         * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
4871         * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
4872         * testsuite/20_util/shared_ptr/observers/owner_before.cc: Likewise.
4873         * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
4874         * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
4875         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
4876         Likewise.
4877         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4878         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
4879         move_iterators/1.cc: Likewise.
4880         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
4881         move_iterators/1.cc: Likewise.
4882         * testsuite/20_util/temporary_buffer.cc: Likewise.
4883         * testsuite/20_util/time_point/1.cc: Likewise.
4884         * testsuite/20_util/time_point/2.cc: Likewise.
4885         * testsuite/20_util/time_point/3.cc: Likewise.
4886         * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
4887         * testsuite/20_util/tuple/48476.cc: Likewise.
4888         * testsuite/20_util/tuple/comparison_operators/comparisons.cc:
4889         Likewise.
4890         * testsuite/20_util/tuple/cons/allocators.cc: Likewise.
4891         * testsuite/20_util/tuple/cons/assignment.cc: Likewise.
4892         * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
4893         * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
4894         * testsuite/20_util/tuple/creation_functions/23978.cc: Likewise.
4895         * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
4896         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
4897         * testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
4898         Likewise.
4899         * testsuite/20_util/tuple/creation_functions/make_tuple.cc: Likewise.
4900         * testsuite/20_util/tuple/creation_functions/tie.cc: Likewise.
4901         * testsuite/20_util/tuple/creation_functions/tie2.cc: Likewise.
4902         * testsuite/20_util/tuple/cv_tuple_size.cc: Likewise.
4903         * testsuite/20_util/tuple/element_access/get.cc: Likewise.
4904         * testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
4905         * testsuite/20_util/tuple/moveable.cc: Likewise.
4906         * testsuite/20_util/tuple/swap.cc: Likewise.
4907         * testsuite/20_util/tuple/tuple_size.cc: Likewise.
4908         * testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
4909         * testsuite/20_util/typeindex/hash.cc: Likewise.
4910         * testsuite/20_util/typeindex/hash_code.cc: Likewise.
4911         * testsuite/20_util/typeindex/name.cc: Likewise.
4912         * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
4913         * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
4914         * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
4915         * testsuite/20_util/unique_ptr/assign/nullptr.cc: Likewise.
4916         * testsuite/20_util/unique_ptr/cons/auto_ptr.cc: Likewise.
4917         * testsuite/20_util/unique_ptr/cons/nullptr.cc: Likewise.
4918         * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
4919         * testsuite/20_util/unique_ptr/cons/pointer_array.cc: Likewise.
4920         * testsuite/20_util/unique_ptr/cons/ptr_deleter.cc: Likewise.
4921         * testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
4922         * testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
4923         * testsuite/20_util/unique_ptr/hash/1.cc: Likewise.
4924         * testsuite/20_util/unique_ptr/modifiers/43183.cc: Likewise.
4925         * testsuite/20_util/unique_ptr/specialized_algorithms/
4926         comparisons.cc: Likewise.
4927         * testsuite/20_util/unique_ptr/specialized_algorithms/
4928         comparisons_array.cc: Likewise.
4929         * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
4930         Likewise.
4931         * testsuite/20_util/uses_allocator/construction.cc: Likewise.
4932         * testsuite/20_util/uses_allocator/value.cc: Likewise.
4933         * testsuite/20_util/variant/run.cc: Likewise.
4934         * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
4935         * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
4936         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
4937         Likewise.
4938         * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
4939         * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
4940         Likewise.
4941         * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
4942         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
4943         Likewise.
4944         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
4945         Likewise.
4946         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
4947         Likewise.
4948         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
4949         Likewise.
4950         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
4951         Likewise.
4952         * testsuite/21_strings/basic_string/capacity/1.cc: Likewise.
4953         * testsuite/21_strings/basic_string/capacity/char/1.cc: Likewise.
4954         * testsuite/21_strings/basic_string/capacity/char/18654.cc: Likewise.
4955         * testsuite/21_strings/basic_string/capacity/char/2.cc: Likewise.
4956         * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
4957         Likewise.
4958         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Likewise.
4959         * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
4960         Likewise.
4961         * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Likewise.
4962         * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
4963         Likewise.
4964         * testsuite/21_strings/basic_string/cons/char/1.cc: Likewise.
4965         * testsuite/21_strings/basic_string/cons/char/2.cc: Likewise.
4966         * testsuite/21_strings/basic_string/cons/char/3.cc: Likewise.
4967         * testsuite/21_strings/basic_string/cons/char/4.cc: Likewise.
4968         * testsuite/21_strings/basic_string/cons/char/42261.cc: Likewise.
4969         * testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
4970         * testsuite/21_strings/basic_string/cons/char/6.cc: Likewise.
4971         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
4972         * testsuite/21_strings/basic_string/cons/char/8.cc: Likewise.
4973         * testsuite/21_strings/basic_string/cons/char/moveable.cc: Likewise.
4974         * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Likewise.
4975         * testsuite/21_strings/basic_string/cons/wchar_t/1.cc: Likewise.
4976         * testsuite/21_strings/basic_string/cons/wchar_t/2.cc: Likewise.
4977         * testsuite/21_strings/basic_string/cons/wchar_t/3.cc: Likewise.
4978         * testsuite/21_strings/basic_string/cons/wchar_t/4.cc: Likewise.
4979         * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
4980         * testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
4981         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Likewise.
4982         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
4983         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
4984         * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
4985         * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
4986         Likewise.
4987         * testsuite/21_strings/basic_string/element_access/char/1.cc: Likewise.
4988         * testsuite/21_strings/basic_string/element_access/char/2.cc: Likewise.
4989         * testsuite/21_strings/basic_string/element_access/char/3.cc: Likewise.
4990         * testsuite/21_strings/basic_string/element_access/char/4.cc: Likewise.
4991         * testsuite/21_strings/basic_string/element_access/char/58163.cc:
4992         Likewise.
4993         * testsuite/21_strings/basic_string/element_access/char/empty.cc:
4994         Likewise.
4995         * testsuite/21_strings/basic_string/element_access/char/front_back.cc:
4996         Likewise.
4997         * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
4998         Likewise.
4999         * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc:
5000         Likewise.
5001         * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc:
5002         Likewise.
5003         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
5004         Likewise.
5005         * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
5006         Likewise.
5007         * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
5008         Likewise.
5009         * testsuite/21_strings/basic_string/element_access/wchar_t/
5010         front_back.cc: Likewise.
5011         * testsuite/21_strings/basic_string/init-list.cc: Likewise.
5012         * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
5013         Likewise.
5014         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
5015         Likewise.
5016         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
5017         Likewise.
5018         * testsuite/21_strings/basic_string/inserters_extractors/char/
5019         28277.cc: Likewise.
5020         * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
5021         Likewise.
5022         * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
5023         Likewise.
5024         * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
5025         Likewise.
5026         * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
5027         Likewise.
5028         * testsuite/21_strings/basic_string/inserters_extractors/char/8.cc:
5029         Likewise.
5030         * testsuite/21_strings/basic_string/inserters_extractors/char/9.cc:
5031         Likewise.
5032         * testsuite/21_strings/basic_string/inserters_extractors/pod/
5033         10081-in.cc: Likewise.
5034         * testsuite/21_strings/basic_string/inserters_extractors/pod/
5035         10081-out.cc: Likewise.
5036         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
5037         Likewise.
5038         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
5039         10.cc: Likewise.
5040         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
5041         11.cc: Likewise.
5042         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
5043         28277.cc: Likewise.
5044         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
5045         Likewise.
5046         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
5047         Likewise.
5048         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
5049         Likewise.
5050         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
5051         Likewise.
5052         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc:
5053         Likewise.
5054         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc:
5055         Likewise.
5056         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc:
5057         Likewise.
5058         * testsuite/21_strings/basic_string/modifiers/append/char/2.cc:
5059         Likewise.
5060         * testsuite/21_strings/basic_string/modifiers/append/char/3.cc:
5061         Likewise.
5062         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
5063         Likewise.
5064         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
5065         Likewise.
5066         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/2.cc:
5067         Likewise.
5068         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/3.cc:
5069         Likewise.
5070         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
5071         Likewise.
5072         * testsuite/21_strings/basic_string/modifiers/assign/char/1.cc:
5073         Likewise.
5074         * testsuite/21_strings/basic_string/modifiers/assign/char/2.cc:
5075         Likewise.
5076         * testsuite/21_strings/basic_string/modifiers/assign/char/3.cc:
5077         Likewise.
5078         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
5079         Likewise.
5080         * testsuite/21_strings/basic_string/modifiers/assign/char/
5081         move_assign.cc: Likewise.
5082         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/1.cc:
5083         Likewise.
5084         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/2.cc:
5085         Likewise.
5086         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/3.cc:
5087         Likewise.
5088         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
5089         Likewise.
5090         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
5091         move_assign.cc: Likewise.
5092         * testsuite/21_strings/basic_string/modifiers/insert/char/1.cc:
5093         Likewise.
5094         * testsuite/21_strings/basic_string/modifiers/insert/char/2.cc:
5095         Likewise.
5096         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
5097         Likewise.
5098         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/1.cc:
5099         Likewise.
5100         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/2.cc:
5101         Likewise.
5102         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
5103         Likewise.
5104         * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
5105         Likewise.
5106         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
5107         Likewise.
5108         * testsuite/21_strings/basic_string/modifiers/replace/char/1.cc:
5109         Likewise.
5110         * testsuite/21_strings/basic_string/modifiers/replace/char/2.cc:
5111         Likewise.
5112         * testsuite/21_strings/basic_string/modifiers/replace/char/3.cc:
5113         Likewise.
5114         * testsuite/21_strings/basic_string/modifiers/replace/char/4.cc:
5115         Likewise.
5116         * testsuite/21_strings/basic_string/modifiers/replace/char/5.cc:
5117         Likewise.
5118         * testsuite/21_strings/basic_string/modifiers/replace/char/6.cc:
5119         Likewise.
5120         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
5121         Likewise.
5122         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/1.cc:
5123         Likewise.
5124         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/2.cc:
5125         Likewise.
5126         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/3.cc:
5127         Likewise.
5128         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/4.cc:
5129         Likewise.
5130         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/5.cc:
5131         Likewise.
5132         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/6.cc:
5133         Likewise.
5134         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
5135         Likewise.
5136         * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
5137         Likewise.
5138         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
5139         Likewise.
5140         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
5141         Likewise.
5142         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
5143         Likewise.
5144         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
5145         Likewise.
5146         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
5147         Likewise.
5148         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
5149         Likewise.
5150         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
5151         Likewise.
5152         * testsuite/21_strings/basic_string/numeric_conversions/char/
5153         stoull.cc: Likewise.
5154         * testsuite/21_strings/basic_string/numeric_conversions/char/
5155         to_string.cc: Likewise.
5156         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5157         dr1261.cc: Likewise.
5158         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5159         stod.cc: Likewise.
5160         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5161         stof.cc: Likewise.
5162         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5163         stoi.cc: Likewise.
5164         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5165         stol.cc: Likewise.
5166         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5167         stold.cc: Likewise.
5168         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5169         stoll.cc: Likewise.
5170         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5171         stoul.cc: Likewise.
5172         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5173         stoull.cc: Likewise.
5174         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
5175         to_wstring.cc: Likewise.
5176         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
5177         Likewise.
5178         * testsuite/21_strings/basic_string/operations/compare/char/13650.cc:
5179         Likewise.
5180         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
5181         Likewise.
5182         * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
5183         Likewise.
5184         * testsuite/21_strings/basic_string/operations/compare/wchar_t/
5185         13650.cc: Likewise.
5186         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
5187         Likewise.
5188         * testsuite/21_strings/basic_string/operations/data/char/1.cc:
5189         Likewise.
5190         * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
5191         Likewise.
5192         * testsuite/21_strings/basic_string/operations/find/char/1.cc:
5193         Likewise.
5194         * testsuite/21_strings/basic_string/operations/find/char/2.cc:
5195         Likewise.
5196         * testsuite/21_strings/basic_string/operations/find/char/3.cc:
5197         Likewise.
5198         * testsuite/21_strings/basic_string/operations/find/char/4.cc:
5199         Likewise.
5200         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
5201         Likewise.
5202         * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
5203         Likewise.
5204         * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc:
5205         Likewise.
5206         * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc:
5207         Likewise.
5208         * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc:
5209         Likewise.
5210         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
5211         Likewise.
5212         * testsuite/21_strings/basic_string/operations/rfind/char/1.cc:
5213         Likewise.
5214         * testsuite/21_strings/basic_string/operations/rfind/char/2.cc:
5215         Likewise.
5216         * testsuite/21_strings/basic_string/operations/rfind/char/3.cc:
5217         Likewise.
5218         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/1.cc:
5219         Likewise.
5220         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/2.cc:
5221         Likewise.
5222         * testsuite/21_strings/basic_string/operations/rfind/wchar_t/3.cc:
5223         Likewise.
5224         * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
5225         Likewise.
5226         * testsuite/21_strings/basic_string/operations/substr/wchar_t/
5227         1.cc: Likewise.
5228         * testsuite/21_strings/basic_string/operators/char/1.cc: Likewise.
5229         * testsuite/21_strings/basic_string/operators/char/2.cc: Likewise.
5230         * testsuite/21_strings/basic_string/operators/char/3.cc: Likewise.
5231         * testsuite/21_strings/basic_string/operators/char/4.cc: Likewise.
5232         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
5233         * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Likewise.
5234         * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Likewise.
5235         * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise.
5236         * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
5237         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
5238         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
5239         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
5240         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
5241         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
5242         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
5243         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
5244         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
5245         * testsuite/21_strings/basic_string_view/element_access/char/
5246         1.cc: Likewise.
5247         * testsuite/21_strings/basic_string_view/element_access/char/
5248         empty.cc: Likewise.
5249         * testsuite/21_strings/basic_string_view/element_access/char/
5250         front_back.cc: Likewise.
5251         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5252         1.cc: Likewise.
5253         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5254         empty.cc: Likewise.
5255         * testsuite/21_strings/basic_string_view/element_access/wchar_t/
5256         front_back.cc: Likewise.
5257         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
5258         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
5259         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
5260         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
5261         Likewise.
5262         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
5263         Likewise.
5264         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
5265         Likewise.
5266         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
5267         Likewise.
5268         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5269         char/1.cc: Likewise.
5270         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
5271         wchar_t/1.cc: Likewise.
5272         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5273         char/1.cc: Likewise.
5274         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
5275         wchar_t/1.cc: Likewise.
5276         * testsuite/21_strings/basic_string_view/operations/compare/char/
5277         1.cc: Likewise.
5278         * testsuite/21_strings/basic_string_view/operations/compare/char/
5279         13650.cc: Likewise.
5280         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5281         1.cc: Likewise.
5282         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
5283         13650.cc: Likewise.
5284         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
5285         Likewise.
5286         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
5287         Likewise.
5288         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
5289         Likewise.
5290         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
5291         Likewise.
5292         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
5293         Likewise.
5294         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
5295         Likewise.
5296         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
5297         Likewise.
5298         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
5299         Likewise.
5300         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5301         1.cc: Likewise.
5302         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5303         2.cc: Likewise.
5304         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5305         3.cc: Likewise.
5306         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/
5307         4.cc: Likewise.
5308         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5309         1.cc: Likewise.
5310         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5311         2.cc: Likewise.
5312         * testsuite/21_strings/basic_string_view/operations/rfind/char/
5313         3.cc: Likewise.
5314         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5315         1.cc: Likewise.
5316         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5317         2.cc: Likewise.
5318         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/
5319         3.cc: Likewise.
5320         * testsuite/21_strings/basic_string_view/operations/string_conversion/
5321         1.cc: Likewise.
5322         * testsuite/21_strings/basic_string_view/operations/substr/char/
5323         1.cc: Likewise.
5324         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
5325         1.cc: Likewise.
5326         * testsuite/21_strings/basic_string_view/operators/char/2.cc:
5327         Likewise.
5328         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
5329         Likewise.
5330         * testsuite/21_strings/c_strings/char/1.cc: Likewise.
5331         * testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
5332         * testsuite/21_strings/char_traits/requirements/char/1.cc: Likewise.
5333         * testsuite/21_strings/char_traits/requirements/char/57704.cc:
5334         Likewise.
5335         * testsuite/21_strings/char_traits/requirements/short/1.cc: Likewise.
5336         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Likewise.
5337
5338         * doc/xml/manual/test.xml: Fix typo.
5339
5340 2016-10-12  Jonathan Wakely  <jwakely@redhat.com>
5341
5342         * doc/xml/manual/status_cxx2017.xml: Add std::sample status.
5343         * doc/html/*: Regenerate.
5344         * include/experimental/algorithm (__sample): Move to bits/stl_algo.h
5345         and into namespace std.
5346         * include/bits/stl_algo.h (__sample): Define here. Fix invalid use
5347         of input iterator. Defend against overloaded comma operator.
5348         (sample): Define for C++17.
5349         * testsuite/25_algorithms/sample/1.cc: New test.
5350
5351         * testsuite/util/testsuite_common_types.h
5352         (bitwise_assignment_operators): Use direct-initialization for C++11
5353         and later, to avoid CopyConstructible requirement.
5354         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
5355         line numbers.
5356         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
5357         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
5358         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
5359         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
5360         Adjust expected errors and line numbers.
5361
5362         * include/std/mutex [_GLIBCXX_HAVE_TLS] (_Once_call): Remove.
5363         (call_once) [_GLIBCXX_HAVE_TLS]: Simplify by removing _Once_call.
5364
5365         * include/bits/stl_uninitialized.h
5366         (__uninitialized_default_novalue_n_1<true>): Add missing return.
5367         * testsuite/20_util/specialized_algorithms/memory_management_tools/
5368         1.cc: Check return values of uninitialized_xxx_n algorithms.
5369
5370         * libsupc++/nested_exception.h (throw_with_nested): Remove return.
5371
5372         * doc/xml/manual/intro.xml: Document LWG 2442 status.
5373         * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove.
5374         [_GLIBCXX_HAVE_TLS] (_Once_call): Declare primary template and define
5375         partial specialization to unpack args and forward to std::invoke.
5376         (call_once) [_GLIBCXX_HAVE_TLS]: Use forward_as_tuple and _Once_call
5377         instead of __bind_simple and __once_call_impl.
5378         (call_once) [!_GLIBCXX_HAVE_TLS]: Use __invoke instead of
5379         __bind_simple.
5380         * testsuite/30_threads/call_once/dr2442.cc: New test.
5381
5382 2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
5383
5384         * include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
5385         _M_assign_dispatch directly with correct tag.
5386
5387         * doc/xml/manual/intro.xml: Document LWG 2484 status.
5388         * libsupc++/nested_exception.h (_Throw_with_nested_impl)
5389         (_Throw_with_nested_helper): Remove.
5390         (__throw_with_nested_impl): New overloaded functions to implement
5391         throw_with_nested logic.
5392         (throw_with_nested): Call __throw_with_nested_impl.
5393         (_Rethrow_if_nested_impl): Remove
5394         (__rethrow_if_nested_impl): New overloaded functions to implement
5395         rethrow_if_nested logic.
5396         (rethrow_if_nested): Call __rethrow_if_nested_impl.
5397         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
5398         problem cases from LWG 2484.
5399
5400         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
5401         Register printer for std::__cxx11::list.
5402         * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
5403         std::__cxx11::list as well as std::list.
5404
5405         * include/experimental/string_view (basic_string_view::_S_compare):
5406         Remove redundant const from return type.
5407         * include/std/string_view (basic_string_view:_S_compare): Likewise.
5408
5409         * include/bits/std_mutex.h (mutex::native_handle)
5410         (lock_guard(mutex_type&, adopt_lock_t)
5411         (unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
5412         * include/std/mutex (recursive_mutex, timed_mutex)
5413         (recursive_timed_mutex): Likewise.
5414
5415 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5416
5417         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5418         Replace <literallayout> with nested <variablelist> elements. Update
5419         some more outdated text.
5420         * doc/html/*: Regenerate.
5421
5422 2016-10-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
5423
5424         Make any's copy assignment operator exception-safe,
5425         don't copy the underlying value when any is moved,
5426         make in_place constructors explicit.
5427         * include/std/any (any(in_place_type_t<_ValueType>, _Args&&...)):
5428         Make explicit.
5429         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
5430         Likewise.
5431         (operator=(const any&)): Make strongly exception-safe.
5432         (operator=(any&&)): reset() unconditionally in the case where
5433         rhs has a value.
5434         (operator=(_ValueType&&)): Indent the return type.
5435         (_Manager_internal<_Tp>::_S_manage): Move in _Op_xfer, don't copy.
5436         * testsuite/20_util/any/assign/2.cc: Adjust.
5437         * testsuite/20_util/any/assign/exception.cc: New.
5438         * testsuite/20_util/any/cons/2.cc: Adjust.
5439         * testsuite/20_util/any/cons/explicit.cc: New.
5440         * testsuite/20_util/any/misc/any_cast_neg.cc: Ajust.
5441
5442 2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
5443
5444         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
5445         Describe other subdirectories and add markup. Remove outdated
5446         reference to check-script target.
5447         * doc/html/*: Regenerate.
5448
5449         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status.
5450
5451         * libsupc++/eh_ptr.cc (exception_ptr): Replace _GLIBCXX_USE_NOEXCEPT
5452         with noexcept.
5453
5454         * include/std/functional (_Bind_result::__enable_if_void): Use alias
5455         template instead of class template.
5456         (_Bind_result::__disable_if_void): Likewise.
5457         (_Bind_result::__call): Adjust uses of __enable_if_void and
5458         __disable_if_void.
5459
5460         * doc/xml/manual/intro.xml: Document DR 2296 status.
5461         * doc/xml/manual/status_cxx2017.xml: Update status.
5462         * include/bits/move.h (__addressof): Add _GLIBCXX_CONSTEXPR and
5463         call __builtin_addressof.
5464         (addressof): Add _GLIBCXX17_CONSTEXPR.
5465         * testsuite/20_util/addressof/requirements/constexpr.cc: New test.
5466         * testsuite/20_util/forward/c_neg.cc: Adjust dg-error lineno.
5467         * testsuite/20_util/forward/f_neg.cc: Likewise.
5468
5469         * include/bits/allocator.h (allocator<T>::is_always_equal): Define.
5470         * testsuite/20_util/allocator/requirements/typedefs.cc: Test for
5471         is_always_equal.
5472         * testsuite/util/testsuite_allocator.h
5473         (uneq_allocator::is_always_equal): Define as false_type.
5474
5475         * include/experimental/numeric (gcd, lcm): Make bool arguments
5476         ill-formed.
5477         * include/std/numeric (gcd, lcm): Likewise.
5478         * testsuite/26_numerics/gcd/gcd_neg.cc: New test.
5479         * testsuite/26_numerics/lcm/lcm_neg.cc: New test.
5480
5481         * include/bits/shared_ptr.h (enable_shared_from_this::weak_from_this):
5482         Add noexcept.
5483         * include/bits/shared_ptr_base.h
5484         (__enable_shared_from_this::weak_from_this): Likewise.
5485         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
5486         Test exception-specification of weak_from_this.
5487
5488 2016-10-07  Jonathan Wakely  <jwakely@redhat.com>
5489
5490         * doc/xml/manual/status_cxx1998.xml: Improve documentation of
5491         implementation-defined properties.
5492         * doc/xml/manual/status_cxx2011.xml: Likewise.
5493         * doc/xml/manual/status_cxx2017.xml: Likewise.
5494
5495         * doc/xml/manual/status_cxx2017.xml: Update status.
5496         * include/std/type_traits (has_unique_object_representations): Define.
5497         * testsuite/20_util/has_unique_object_representations/value.cc: New.
5498         * testsuite/20_util/has_unique_object_representations/requirements/
5499         explicit_instantiation.cc: New.
5500         * testsuite/20_util/has_unique_object_representations/requirements/
5501         typedefs.cc: New.
5502
5503 2016-10-06  Jonathan Wakely  <jwakely@redhat.com>
5504
5505         * doc/xml/manual/status_cxx2011.xml: Update status.
5506         * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
5507         New helpers for recursive OUTERMOST.
5508         (__outermost): Use __outermost_type::_S_outermost.
5509         (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
5510         (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
5511         __outermost_type helper.
5512         (scoped_allocator_adaptor::_Constructible): New alias template.
5513         (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
5514         Constrain template constructors.
5515         * testsuite/20_util/scoped_allocator/3.cc: New test.
5516         * testsuite/20_util/scoped_allocator/outermost.cc: New test.
5517
5518 2016-10-05  Jonathan Wakely  <jwakely@redhat.com>
5519
5520         PR libstdc++/70564
5521         * testsuite/20_util/not_fn/1.cc: Fix test.
5522         * testsuite/experimental/functional/not_fn.cc: Likewise.
5523
5524         PR libstdc++/70101
5525         * include/bits/stl_queue.h (priority_queue): Fix allocator-extended
5526         constructors.
5527         * testsuite/23_containers/priority_queue/allocator.cc: New test.
5528
5529         PR libstdc++/77864
5530         * include/bits/stl_map.h (map::map()): Use nothrow constructibility
5531         of comparison function in conditional noexcept.
5532         * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
5533         * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
5534         * include/bits/stl_set.h (set::set()): Likewise.
5535         * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
5536         New test.
5537         * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
5538         Likewise.
5539         * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
5540         Likewise.
5541         * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
5542         Likewise.
5543
5544         * include/bits/node_handle.h (_Node_handle): Remove invalid and unused
5545         alias declaration.
5546
5547         PR libstdc++/70564
5548         * include/experimental/functional (_Not_fn): Remove.
5549         (not_fn): Use std::_Not_fn.
5550         * include/std/functional (_Not_fn): Add second parameter to
5551         disambiguate copying from initialization by not_fn. Define for C++14.
5552         (not_fn): Add second argument to initialization.
5553         * testsuite/20_util/not_fn/1.cc: Copy call wrapper using
5554         direct-initialization.
5555
5556 2016-10-03  François Dumont  <fdumont@gcc.gnu.org>
5557
5558         * src/c++11/shared_ptr.cc (mask, invalid, get_mutex): Move
5559         declaration...
5560         * src/c++11/mutex_pool.h: ... here. New.
5561         * src/c++11/debug.cc: Use latter.
5562
5563 2016-10-03  Jonathan Wakely  <jwakely@redhat.com>
5564
5565         * doc/xml/manual/status_cxx2017.xml: Update gcd/lcm status.
5566         * doc/html/*: Regenerate.
5567         * include/experimental/numeric (__abs): Move to <numeric>.
5568         (gcd, lcm): Use __detail::gcd and __detail::lcm.
5569         * include/std/numeric (__detail::__abs_integral)
5570         (__detail::__gcd, __detail::__lcm): Define.
5571         (gcd, lcm): Define for C++17.
5572         * testsuite/26_numerics/gcd/1.cc: New test.
5573         * testsuite/26_numerics/lcm/1.cc: New test.
5574         * testsuite/experimental/numeric/gcd.cc: Swap contents with ...
5575         * testsuite/experimental/numeric/lcd.cc: ... this.
5576
5577         PR libstdc++/68323
5578         PR libstdc++/77794
5579         * config/abi/pre/gnu-versioned-namespace.ver: Add exports for
5580         __cxa_thread_atexit and __gnu_cxx::__freeres.
5581         * include/Makefile.am: Add <experimental/bits/lfts_config.h>
5582         * include/Makefile.in: Regenerate.
5583         * include.bits/basic_string.h: Fix nesting of versioned namespaces.
5584         * include/bits/c++config: Declare versioned namespaces for literals.
5585         * include/bits/regex.h (basic_regex, match_results): Add workarounds
5586         for PR c++/59256.
5587         * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
5588         * include/std/chrono: Likewise.
5589         * include/std/complex: Likewise.
5590         * include/std/string_view: Likewise.
5591         * include/std/variant: Likewise. Add workaround for PR c++/59256.
5592         * include/experimental/bits/fs_fwd.h: Declare versioned namespace.
5593         * include/experimental/bits/lfts_config.h: Declare versioned
5594         namespaces.
5595         * include/experimental/algorithm: Include
5596         <experimental/bits/lfts_config.h>.
5597         * include/experimental/any: Likewise.
5598         * include/experimental/bits/erase_if.h: Likewise.
5599         * include/experimental/chrono: Likewise.
5600         * include/experimental/functional: Likewise.
5601         * include/experimental/memory_resource: Likewise.
5602         * include/experimental/optional: Likewise.
5603         * include/experimental/propagate_const: Likewise.
5604         * include/experimental/random: Likewise.
5605         * include/experimental/ratio: Likewise.
5606         * include/experimental/system_error: Likewise.
5607         * include/experimental/tuple: Likewise.
5608         * include/experimental/type_traits: Likewise.
5609         * include/experimental/utility: Likewise.
5610         * include/experimental/string_view: Likewise. Fix nesting of
5611         versioned namespaces.
5612         * include/experimental/bits/string_view.tcc: Reopen inline namespace
5613         for non-inline function definitions.
5614         * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
5615         * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
5616         * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
5617         * testsuite/experimental/propagate_const/assignment/move_neg.cc:
5618         Likewise.
5619         * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
5620         * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
5621         * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
5622         * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
5623         * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
5624         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
5625
5626         PR libstdc++/77814
5627         * include/bits/std_abs.h: Use "C++" language linkage.
5628         * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
5629         the end. Add <stdalign.h>.
5630
5631 2016-10-03  Ville Voutilainen  <ville.voutilainen@gmail.com>
5632
5633         PR libstdc++/77802
5634         * testsuite/20_util/tuple/77802.cc: New.
5635
5636         Revert:
5637         2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
5638         Implement LWG 2729 for tuple.
5639         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
5640         Suppress conditionally.
5641         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
5642         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
5643         (_Tuple_impl(const _Head&)): Constrain.
5644         (_Tuple_impl(_UHead&&)): Likewise.
5645         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
5646         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
5647         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
5648         (operator=(const tuple&)): Enable conditionally.
5649         (operator=(tuple&&)): Suppress conditionally.
5650         (operator=(const tuple<_UElements...>&)): Constrain.
5651         (operator=(tuple<_UElements...>&&)): Likewise.
5652         (operator=(const tuple&)): Enable conditionally (2-param tuple).
5653         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
5654         (operator=(const tuple<_U1, _U2>&)): Constrain.
5655         (operator=(tuple<_U1, _U2>&&)): Likewise.
5656         (operator=(const pair<_U1, _U2>&)): Likewise.
5657         (operator=(pair<_U1, _U2>&&)): Likewise.
5658         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
5659         * testsuite/20_util/tuple/tuple_traits.cc: New.
5660
5661 2016-09-30  Jonathan Wakely  <jwakely@redhat.com>
5662
5663         PR libstdc++/77795
5664         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check
5665         for gets.
5666         * config.h.in: Regenerate.
5667         * configure: Regenerate.
5668         * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare
5669         for C++98 and C++11.
5670         * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise.
5671         * testsuite/27_io/headers/cstdio/functions_neg.cc: New test.
5672
5673         * doc/xml/manual/intro.xml: Document LWG 2192 changes.
5674         * doc/html/*: Regenerate.
5675         * include/Makefile.am: Add bits/std_abs.h.
5676         * include/Makefile.in: Regenerate.
5677         * include/bits/std_abs.h: New header defining all required overloads
5678         of std::abs in one place (LWG 2294).
5679         * include/c_global/cmath (abs(double), abs(float), abs(long double)):
5680         Move to bits/std_abs.h.
5681         (abs<_Tp>(_Tp)): Remove.
5682         * include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
5683         Move to bits/std_abs.h.
5684         * testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
5685         * testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
5686         * testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
5687         * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.
5688
5689         PR libstdc++/77801
5690         * include/experimental/numeric: Include <numeric>.
5691         (__abs): Define.
5692         (gcd, lcm): Use __abs instead of std::abs.
5693         * testsuite/experimental/numeric/77801.cc: New test.
5694         * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs.
5695         * testsuite/experimental/numeric/lcm.cc: Likewise.
5696
5697 2016-09-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
5698
5699         Make optional::reset noexcept, make optional::value
5700         work in constant expressions.
5701         * include/std/optional (_M_get): Make constexpr.
5702         (reset): Make noexcept.
5703         * testsuite/20_util/optional/assignment/7.cc: New.
5704         * testsuite/20_util/optional/observers/6.cc: New.
5705
5706 2016-09-29  Jonathan Wakely  <jwakely@redhat.com>
5707
5708         * include/c_global/cmath (hypot, __hypot3): Move C++17 overloads
5709         outside _GLIBCXX_USE_C99_MATH_TR1 condition.
5710
5711 2016-09-29  Alan Modra  <amodra@gmail.com>
5712
5713         * configure.ac (LONG_DOUBLE_COMPAT_FLAGS): New ACSUBST.
5714         * src/Makefile.am (compatibility-ldbl.o, compatibility-ldbl.lo):
5715         Use LONG_DOUBLE_COMPAT_FLAGS.
5716         * Makefile.in: Regenerate.
5717         * configure: Regenerate.
5718         * doc/Makefile.in: Regenerate.
5719         * include/Makefile.in: Regenerate.
5720         * libsupc++/Makefile.in: Regenerate.
5721         * po/Makefile.in: Regenerate.
5722         * python/Makefile.in: Regenerate.
5723         * src/Makefile.in: Regenerate.
5724         * src/c++11/Makefile.in: Regenerate.
5725         * src/c++98/Makefile.in: Regenerate.
5726         * src/filesystem/Makefile.in: Regenerate.
5727         * testsuite/Makefile.in: Regenerate.
5728
5729 2016-09-28  Jonathan Wakely  <jwakely@redhat.com>
5730
5731         * include/std/chrono (system_clock): Fix typo in comment.
5732
5733         * include/experimental/bits/fs_fwd.h (file_time_type): Simplify
5734         definition.
5735         * src/filesystem/ops.cc (file_time): Take error_code parameter and
5736         check for overflow.
5737         (do_copy_file, last_write_time): Pass error_code in file_time calls.
5738         * testsuite/experimental/filesystem/operations/last_write_time.cc:
5739         New.
5740         * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
5741
5742         PR libstdc++/77686
5743         * include/std/functional (_Any_data): Add may_alias attribute.
5744
5745 2016-09-27  Jonathan Wakely  <jwakely@redhat.com>
5746
5747         * doc/xml/manual/status_cxx2017.xml: Update status.
5748         * doc/html/*: Regenerate.
5749         * include/std/functional (__cpp_lib_boyer_moore_searcher): Define.
5750         * testsuite/20_util/function_objects/searchers.cc: Test feature macro.
5751
5752         * doc/xml/manual/status_cxx2017.xml: Update status.
5753         * include/c_global/cmath (hypot): Add three-dimensional overloads.
5754         * testsuite/26_numerics/headers/cmath/hypot.cc: New.
5755
5756 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5757
5758         PR libstdc++/77727
5759         * include/std/optional (optional(const optional<_Up>&)):
5760         Default-initialize the base and use emplace.
5761         (optional(optional<_Up>&&)): Likewise.
5762         * testsuite/20_util/optional/cons/77727.cc: New.
5763
5764 2016-09-26  François Dumont  <fdumont@gcc.gnu.org>
5765
5766         * include/debug/safe_base.h
5767         (_Safe_iterator_base::_M_detach_single): Make public.
5768
5769 2016-09-26  Jonathan Wakely  <jwakely@redhat.com>
5770
5771         * include/bits/range_access.h (__cpp_lib_array_constexpr): Do not
5772         redefine macro defined in <bits/stl_iterator.h>.
5773
5774         * include/bits/stl_map.h (map::extract(const_iterator)): Assert that
5775         iterator is not past-the-end.
5776         * include/bits/stl_multimap.h (multimap::extract(const_iterator)):
5777         Likewise.
5778         * include/bits/stl_multiset.h (multiset::extract(const_iterator)):
5779         Likewise.
5780         * include/bits/stl_set.h (set::extract(const_iterator)): Likewise.
5781         * include/bits/unordered_map.h (unordered_map::extract(const_iterator))
5782         (unordered_multimap::extract(const_iterator)): Likewise.
5783         * include/bits/unordered_set.h (unordered_set::extract(const_iterator))
5784         (unordered_multiset::extract(const_iterator)): Likewise.
5785
5786 2016-09-26  Ville Voutilainen  <ville.voutilainen@gmail.com>
5787
5788         PR libstdc++/77717
5789         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
5790         Fix an out-of-bounds access.
5791
5792 2016-09-26  Marek Polacek  <polacek@redhat.com>
5793
5794         PR c/7652
5795         * libsupc++/hash_bytes.cc: Add [[gnu::fallthrough]].
5796
5797 2016-09-25  François Dumont  <fdumont@gcc.gnu.org>
5798
5799         * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove
5800         functional.
5801         (get_safe_base_mutex): Get mutex based on address lowest non nil bits.
5802         * testsuite/23_containers/vector/debug/mutex_association.cc: New.
5803
5804         * include/debug/bitset (bitset::reference::reference(const _Base_ref&,
5805         bitset*)): Remove __unused__ attribute.
5806         * include/debug/safe_base.h (_Safe_iterator_base): Make
5807         _Safe_sequence_base a friend.
5808         (_Safe_iterator_base::_M_attach): Make protected.
5809         (_Safe_iterator_base::_M_attach_single): Likewise.
5810         (_Safe_iterator_base::_M_detach): Likewise.
5811         (_Safe_iterator_base::_M_detach_single): Likewise.
5812         (_Safe_sequence_base): Make _Safe_iterator_base a friend.
5813         (_Safe_sequence_base::_Safe_sequence_base(_Safe_sequence_base&&)): New.
5814         (_Safe_sequence_base::_M_swap): Make protected.
5815         (_Safe_sequence_base::_M_attach): Make private.
5816         (_Safe_sequence_base::_M_attach_single): Likewise.
5817         (_Safe_sequence_base::_M_detach): Likewise.
5818         (_Safe_sequence_base::_M_detach_single): Likewise.
5819         * include/debug/safe_container.h
5820         (_Safe_container::_Safe_container(_Safe_container&&)): Make default.
5821         * include/debug/safe_iterator.h
5822         (_Safe_iterator::operator++()): Name __scoped_lock instance.
5823         * include/debug/safe_iterator.tcc: Remove trailing line.
5824         * include/debug/safe_unordered_base.h
5825         (_Safe_local_iterator_base::_M_attach): Make protected.
5826         (_Safe_local_iterator_base::_M_attach_single): Likewise.
5827         (_Safe_local_iterator_base::_M_detach): Likewise.
5828         (_Safe_local_iterator_base::_M_detach_single): Likewise.
5829         (_Safe_unordered_container_base): Make _Safe_local_iterator_base friend.
5830         (_Safe_unordered_container_base::_M_attach_local): Make private.
5831         (_Safe_unordered_container_base::_M_attach_local_single): Likewise.
5832         (_Safe_unordered_container_base::_M_detach_local): Likewise.
5833         (_Safe_unordered_container_base::_M_detach_local_single): Likewise.
5834
5835         * include/parallel/algo.h: Generalize usage of std::__iterator_category.
5836         Adjust whitespaces.
5837
5838 2016-09-23  Jonathan Wakely  <jwakely@redhat.com>
5839
5840         PR libstdc++/56166
5841         PR libstdc++/77582
5842         * include/bits/basic_string.h (basic_string::clear()): Drop reference
5843         and use empty rep.
5844         * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
5845         Likewise.
5846         * testsuite/21_strings/basic_string/56166.cc: New.
5847         * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
5848
5849         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
5850         (basic_string::erase(size_type, size_type)): Add fast path for
5851         truncating the string, by calling _M_set_length directly.
5852         (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
5853         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
5854         (basic_string::resize(size_type, _CharT)): Likewise.
5855
5856 2016-09-22  Jason Merrill  <jason@redhat.com>
5857
5858         * configure.ac: Define HAVE_MEMALIGN for newlib.
5859
5860 2015-09-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5861
5862         * config/cpu/m68k/atomicity.h: Adjust comment.
5863         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
5864         explicit atomicity_dir setup via configure.host.
5865         * configure.host (rtems-*): Set atomicity_dir.
5866         * configure: Regenerate.
5867
5868 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5869
5870         Implement C++17 node extraction and insertion (P0083R5)
5871         * doc/xml/manual/status_cxx2017.xml: Document status.
5872         * doc/html/*: Regenerate.
5873         * include/Makefile.am: Add bits/node_handle.h and reorder.
5874         * include/Makefile.in: Regenerate.
5875         * include/bits/hashtable.h (_Hashtable::node_type)
5876         (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
5877         (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
5878         (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
5879         (_Hash_merge_helper): Define primary template.
5880         * include/bits/node_handle.h: New header.
5881         * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
5882         friend.
5883         (map::node_type, map::insert_return_type, map::extract, map::merge)
5884         (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
5885         Define new members.
5886         (_Rb_tree_merge_helper): Specialize for map.
5887         * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
5888         as friend.
5889         (multimap::node_type, multimap::extract, multimap::merge)
5890         (multimap::insert(node_type&&))
5891         (multimap::insert(const_iterator, node_type&&)): Define.
5892         (_Rb_tree_merge_helper): Specialize for multimap.
5893         * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
5894         as friend.
5895         (multiset::node_type, multiset::extract, multiset::merge)
5896         (multiset::insert(node_type&&))
5897         (multiset::insert(const_iterator, node_type&&)): Define.
5898         * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
5899         friend.
5900         (set::node_type, set::insert_return_type, set::extract, set::merge)
5901         (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
5902         Define.
5903         (_Rb_tree_merge_helper): Specialize for set.
5904         * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
5905         (_Rb_tree::node_type, _Rb_tree::insert_return_type)
5906         (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
5907         (_Rb_tree::_M_reinsert_node_hint_unique)
5908         (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
5909         (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
5910         (_Rb_tree_merge_helper): Specialize for multiset.
5911         * include/bits/unordered_map.h (unordered_map): Declare
5912         unordered_map<> and unordered_multimap<> as friends.
5913         (unordered_map::node_type, unordered_map::insert_return_type)
5914         (unordered_map::extract, unordered_map::merge)
5915         (unordered_map::insert(node_type&&))
5916         (unordered_map::insert(const_iterator, node_type&&))
5917         (unordered_multimap): Declare _Hash_merge_helper as friend.
5918         (unordered_multimap::node_type, unordered_multimap::extract)
5919         (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
5920         (unordered_multimap::insert(const_iterator, node_type&&)): Define.
5921         (_Hash_merge_helper): Specialize for unordered maps and multimaps.
5922         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
5923         Declare _Hash_merge_helper as friend.
5924         (unordered_set::node_type, unordered_set::insert_return_type)
5925         (unordered_set::extract, unordered_set::merge)
5926         (unordered_set::insert(node_type&&))
5927         (unordered_set::insert(const_iterator, node_type&&)): Define.
5928         (unordered_multiset::node_type, unordered_multiset::extract)
5929         (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
5930         (unordered_multiset::insert(const_iterator, node_type&&)): Define.
5931         (_Hash_merge_helper): Specialize for unordered sets and multisets.
5932         * include/debug/map.h (map): Add using declarations or forwarding
5933         functions for new members.
5934         * include/debug/map.h (multimap): Likewise.
5935         * include/debug/map.h (multiset): Likewise.
5936         * include/debug/map.h (set): Likewise.
5937         * include/debug/unordered_map (unordered_map, unordered_multimap):
5938         Likewise.
5939         * include/debug/unordered_set( unordered_set, unordered_multiset):
5940         Likewise.
5941         * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
5942         helper function.
5943         (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
5944         (StdNodeHandlePrinter): Define printer for node handles.
5945         (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
5946         * testsuite/23_containers/map/modifiers/extract.cc: New.
5947         * testsuite/23_containers/map/modifiers/merge.cc: New.
5948         * testsuite/23_containers/multimap/modifiers/extract.cc: New.
5949         * testsuite/23_containers/multimap/modifiers/merge.cc: New.
5950         * testsuite/23_containers/multiset/modifiers/extract.cc: New.
5951         * testsuite/23_containers/multiset/modifiers/merge.cc: New.
5952         * testsuite/23_containers/set/modifiers/extract.cc: New.
5953         * testsuite/23_containers/set/modifiers/merge.cc: New.
5954         * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
5955         * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
5956         * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
5957         New.
5958         * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
5959         * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
5960         New.
5961         * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
5962         * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
5963         * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
5964         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
5965         dg-error lineno.
5966         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
5967
5968 2016-09-22  Ville Voutilainen  <ville.voutilainen@gmail.com>
5969
5970         Fix tests on old arm platforms for optional.
5971         * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
5972
5973 2016-09-22  Jonathan Wakely  <jwakely@redhat.com>
5974
5975         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
5976         recent change to _Variant_storage.
5977         * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
5978         reference type.
5979
5980         * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
5981         std::forward and ::new. Cast pointer to void*.
5982         * include/std/variant (_Variant_storage, _Union, _Variant_base)
5983         (__access, __visit_invoke, variant, visit): Qualify std::forward.
5984         * testsuite/20_util/variant/compile.cc: Test for ADL problems.
5985
5986 2016-09-22  Tim Shen  <timshen@google.com>
5987
5988         * include/std/variant (variant::operator=): Fix assignment
5989         on references.
5990         * testsuite/20_util/variant/compile.cc: Add test.
5991
5992 2016-09-22  Tim Shen  <timshen@google.com>
5993
5994         PR libstdc++/77641
5995         * include/std/variant (_Variant_storage::_Variant_storage):
5996         Change _Variant_storage's union to be default constructible.
5997         * testsuite/20_util/variant/compile.cc: New test.
5998
5999 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
6000
6001         PR libstdc++/77288
6002         * include/std/optional (__is_optional_impl, __is_optional): Remove.
6003         (__converts_from_optional, __assigns_from_optional): New.
6004         (optional(_Up&&)): Use is_same instead of __is_optional.
6005         (optional(const optional<_Up>&)): Constrain with
6006         __converts_from_optional.
6007         (optional(optional<_Up>&&)): Likewise.
6008         (operator=(_Up&&)): Use is_same instead of __is_optional, check
6009         is_same and is_scalar.
6010         (operator=(const optional<_Up>&)): Constrain with
6011         __converts_from_optional and __assigns_from_optional.
6012         (operator=(optional<_Up>&&)): Likewise.
6013         * testsuite/20_util/optional/77288.cc: New.
6014         * testsuite/20_util/optional/cons/value.cc: Adjust.
6015
6016 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
6017
6018         Implement LWG 2729 for tuple.
6019         * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
6020         Suppress conditionally.
6021         (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
6022         (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
6023         (_Tuple_impl(const _Head&)): Constrain.
6024         (_Tuple_impl(_UHead&&)): Likewise.
6025         (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
6026         (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
6027         (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
6028         (operator=(const tuple&)): Enable conditionally.
6029         (operator=(tuple&&)): Suppress conditionally.
6030         (operator=(const tuple<_UElements...>&)): Constrain.
6031         (operator=(tuple<_UElements...>&&)): Likewise.
6032         (operator=(const tuple&)): Enable conditionally (2-param tuple).
6033         (operator=(tuple&&)): Suppress conditionally (2-param tuple).
6034         (operator=(const tuple<_U1, _U2>&)): Constrain.
6035         (operator=(tuple<_U1, _U2>&&)): Likewise.
6036         (operator=(const pair<_U1, _U2>&)): Likewise.
6037         (operator=(pair<_U1, _U2>&&)): Likewise.
6038         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
6039         * testsuite/20_util/tuple/tuple_traits.cc: New.
6040
6041 2016-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
6042
6043         PR libstdc++/77537
6044         Implement LWG 2729 for pair.
6045         * include/bits/stl_pair.h (_PCC): New.
6046         (_ConstructiblePair, _ImplicitlyConvertiblePair):
6047         Turn into static member functions of _PCC.
6048         (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
6049         (_PCCP): New.
6050         (pair(const _T1&, const _T2&)): Adjust.
6051         (_PCCFP): New.
6052         (pair(const pair<_U1, _U2>&)): Adjust.
6053         (pair(_U1&&, const _T2&)): Likewise.
6054         (pair(const _T1&, _U2&&)): Likewise.
6055         (pair(_U1&&, _U2&&)): Likewise.
6056         (pair(pair<_U1, _U2>&&)): Likewise.
6057         (operator=(const pair&)): Make conditionally deleted.
6058         (operator=(pair&&)): Make conditionally suppressed.
6059         (operator=(const pair<_U1, _U2>&)): Constrain.
6060         (operator=(pair<_U1, _U2>&&): Likewise.
6061         * include/std/type_traits (__nonesuch): New.
6062         * testsuite/20_util/pair/traits.cc: New.
6063
6064 2016-09-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
6065
6066         PR libstdc++/77619
6067         * include/bits/stl_construct.h: (_Construct_novalue): New.
6068         (_Destroy_n_aux, _Destroy_n): New.
6069         * include/bits/stl_uninitialized.h: (type_traits):
6070         New include in C++11 mode.
6071         (__uninitialized_default_novalue_1): New.
6072         (__uninitialized_default_novalue_n_1): Likewise.
6073         (__uninitialized_default_novalue): Likewise.
6074         (__uninitialized_default_novalue_n): Likewise.
6075         (__uninitialized_copy_n_pair): Likewise.
6076         (uninitialized_default_construct):
6077         Use __uninitialized_default_novalue.
6078         (uninitialized_default_construct_n):
6079         Use __uninitialized_default_novalue_n.
6080         (uninitialized_value_construct): Use __uninitialized_default.
6081         (uninitialized_value_construct_n): Use __uninitialized_default_n.
6082         (uninitialized_move): Use uninitialized_copy.
6083         (uninitialized_move_n): Use __uninitialized_copy_n_pair.
6084         (destroy_at): Use _Destroy.
6085         (destroy): Likewise.
6086         (destroy_n): Likewise.
6087         * testsuite/20_util/specialized_algorithms/
6088         memory_management_tools/1.cc: Add tests for exceptions,
6089         add tests for trivial cases for construct and move.
6090
6091 2016-09-20  Jonathan Wakely  <jwakely@redhat.com>
6092
6093         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
6094         (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
6095
6096 2016-09-19  Jonathan Wakely  <jwakely@redhat.com>
6097
6098         PR libstdc++/77645
6099         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
6100         (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
6101         division to int to work with Python 3.
6102
6103         * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
6104
6105         * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
6106         display_hint to be set by subclasses.
6107         (StdVariantPrinter): Use array for display_hint. Adjust output to be
6108         more similar to std::any and std::optional output.
6109         (register_type_printers): Add type printers for basic_string_view
6110         typedefs and experimental::any. Adjust type printers for
6111         fundamentals_v1 templates to match fundamentals_v2 and later.
6112         * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
6113
6114         PR libstdc++/77645
6115         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
6116         argument.
6117         (ListWorkerBase.get_value_from_node): Define new method.
6118         (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
6119
6120 2016-09-17  Jonathan Wakely  <jwakely@redhat.com>
6121
6122         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
6123         (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
6124         Register for C++17 components in namespace std. Strip inline namespace
6125         from typename.
6126
6127 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
6128
6129         * doc/xml/manual/profile_mode.xml: Fix typo.
6130         * doc/html/manual/profile_mode_devel.html: Regenerate.
6131
6132 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
6133             Marc Glisse  <marc.glisse@inria.fr>
6134
6135         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
6136         (operator new(size_t, align_val_t)): Replace modulus operator with
6137         mask.
6138
6139 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
6140
6141         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
6142         Increase alignment if less than sizeof(void*).
6143         [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
6144         Increase size if not a multiple of alignment.
6145
6146 2016-09-15  Jonathan Wakely  <jwakely@redhat.com>
6147
6148         * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
6149         * doc/html/*: Regenerate.
6150
6151         * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
6152         -Wno-deprecated.
6153         * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
6154
6155 2016-09-14  Marek Polacek  <polacek@redhat.com>
6156
6157         * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
6158         -Wno-deprecated.
6159
6160 2016-09-14  Christophe Lyon  <christophe.lyon@linaro.org>
6161
6162         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
6163         Move dg-do directive before dg-skip.
6164         * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
6165         Move dg-do directive before dg-require.
6166         * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
6167         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
6168         * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
6169         * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
6170         * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
6171         * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
6172         * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
6173         * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
6174         * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
6175         * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
6176         * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
6177         * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
6178         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
6179         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
6180         * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
6181         Likewise.
6182         * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
6183         * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
6184         * testsuite/27_io/objects/char/12048-5.cc: Likewise.
6185         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
6186         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
6187
6188 2016-09-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
6189
6190         Implement P0040R3, Extending memory management tools.
6191         * include/bits/stl_uninitialized.h (utility): New include
6192         in C++17 mode.
6193         (uninitialized_default_construct): New.
6194         (uninitialized_default_construct_n): Likewise.
6195         (uninitialized_value_construct): Likewise.
6196         (uninitialized_value_construct_n): Likewise.
6197         (uninitialized_move): Likewise.
6198         (uninitialized_move_n): Likewise.
6199         (destroy_at, destroy, destroy_n): Likewise.
6200         * testsuite/20_util/specialized_algorithms/memory_management_tools/
6201         1.cc: New.
6202
6203 2016-09-12  Jason Merrill  <jason@redhat.com>
6204
6205         * config/abi/pre/gnu.ver: Use [jmy] for size_t.
6206
6207 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
6208
6209         Implement P0253R1, Fixing a design mistake in the searchers
6210         interface in Library Fundamentals.
6211         * include/std/functional: (utility): New include in C++17 mode.
6212         (default_searcher): Use a pair as return type, adjust the definition.
6213         (boyer_moore_searcher): Likewise.
6214         (boyer_moore_horspool_searcher): Likewise.
6215         * testsuite/20_util/function_objects/searchers.cc: Adjust.
6216
6217 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
6218
6219         Implement C++17 string searchers.
6220         * include/std/functional: (unordered_map, vector): New includes
6221         in C++17 mode.
6222         (array, bits/stl_algo.h): Likewise.
6223         (default_searcher, __boyer_moore_map_base): New.
6224         (__boyer_moore_array_base, __is_std_equal_to): Likewise.
6225         (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
6226         (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
6227         (make_boyer_moore_searcher): Likewise.
6228         (make_boyer_moore_horspool_searcher): Likewise.
6229         * testsuite/20_util/function_objects/searchers.cc: New.
6230
6231 2016-09-12  Matthew Wahab  <matthew.wahab@arm.com>
6232
6233         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
6234         Move dg-do directive before dg-require.
6235         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
6236         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
6237         Likewise.
6238         * testsuite/22_locale/codecvt/utf8.cc: Likewise.
6239         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
6240         * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
6241         * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
6242         * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
6243         * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
6244         * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
6245         * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
6246         * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
6247         * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
6248         * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
6249         * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
6250         * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
6251         Likewise.
6252         * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
6253         Likewise.
6254         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
6255         * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
6256         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
6257         Likewise.
6258         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
6259         Likewise.
6260         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
6261         Likewise.
6262         * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
6263         Likewise.
6264         * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
6265         Likewise.
6266         * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
6267         Likewise.
6268         * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
6269         Likewise.
6270         * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
6271         Likewise.
6272         * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
6273         Likewise.
6274         * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
6275         Likewise.
6276         * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
6277         Likewise.
6278         * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
6279         Likewise.
6280         * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
6281         Likewise.
6282         * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
6283         Likewise.
6284         * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
6285         Likewise.
6286         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
6287         Likewise.
6288         * testsuite/23_containers/forward_list/debug/
6289         iterator_self_move_assign_neg.cc: Likewise.
6290         * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
6291         Likewise.
6292         * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
6293         Likewise.
6294         * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
6295         Likewise.
6296         * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
6297         Likewise.
6298         * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
6299         Likewise.
6300         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
6301         Likewise.
6302         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
6303         Likewise.
6304         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
6305         Likewise.
6306         * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
6307         * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
6308         * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
6309         * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
6310         * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
6311         * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
6312         * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
6313         * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
6314         * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
6315         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
6316         * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
6317         Likewise.
6318         * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
6319         * testsuite/23_containers/map/debug/60499.cc: Likewise.
6320         * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
6321         * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
6322         * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
6323         * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
6324         * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
6325         * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
6326         * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
6327         Likewise.
6328         * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
6329         * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
6330         * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
6331         * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
6332         * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
6333         * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
6334         * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
6335         * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
6336         * testsuite/23_containers/multimap/debug/
6337         iterator_self_move_assign_neg.cc: Likewise.
6338         * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
6339         Likewise.
6340         * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
6341         * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
6342         * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
6343         * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
6344         * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
6345         * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
6346         * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
6347         * testsuite/23_containers/multiset/debug/
6348         iterator_self_move_assign_neg.cc: Likewise.
6349         * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
6350         Likewise.
6351         * testsuite/23_containers/set/debug/60499.cc: Likewise.
6352         * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
6353         * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
6354         * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
6355         * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
6356         * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
6357         * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
6358         * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
6359         Likewise.
6360         * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
6361         * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
6362         * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
6363         * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
6364         * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
6365         Likewise.
6366         * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
6367         * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
6368         * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
6369         Likewise.
6370         * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
6371         Likewise.
6372         * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
6373         Likewise.
6374         * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
6375         * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
6376         * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
6377         * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
6378         * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
6379         * testsuite/23_containers/unordered_map/debug/
6380         invalid_local_iterator_compare_neg.cc: Likewise.
6381         * testsuite/23_containers/unordered_map/debug/
6382         invalid_local_iterator_range_neg.cc: Likewise.
6383         * testsuite/23_containers/unordered_map/debug/
6384         iterator_self_move_assign_neg.cc: Likewise.
6385         * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
6386         Likewise.
6387         * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
6388         Likewise.
6389         * testsuite/23_containers/unordered_map/debug/
6390         use_erased_local_iterator_neg.cc: Likewise.
6391         * testsuite/23_containers/unordered_map/debug/
6392         use_invalid_iterator_neg.cc: Likewise.
6393         * testsuite/23_containers/unordered_map/debug/
6394         use_invalid_local_iterator_neg.cc: Likewise.
6395         * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
6396         * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
6397         Likewise.
6398         * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
6399         Likewise.
6400         * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
6401         Likewise.
6402         * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
6403         Likewise.
6404         * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
6405         Likewise.
6406         * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
6407         Likewise.
6408         * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
6409         Likewise.
6410         * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
6411         Likewise.
6412         * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
6413         Likewise.
6414         * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
6415         Likewise.
6416         * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
6417         Likewise.
6418         * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
6419         Likewise.
6420         * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
6421         Likewise.
6422         * testsuite/23_containers/unordered_multimap/debug/
6423         invalid_local_iterator_compare_neg.cc: Likewise.
6424         * testsuite/23_containers/unordered_multimap/debug/
6425         invalid_local_iterator_range_neg.cc: Likewise.
6426         * testsuite/23_containers/unordered_multimap/debug/
6427         iterator_self_move_assign_neg.cc: Likewise.
6428         * testsuite/23_containers/unordered_multimap/debug/
6429         max_load_factor_neg.cc: Likewise.
6430         * testsuite/23_containers/unordered_multimap/debug/
6431         self_move_assign_neg.cc: Likewise.
6432         * testsuite/23_containers/unordered_multimap/debug/
6433         use_erased_local_iterator_neg.cc: Likewise.
6434         * testsuite/23_containers/unordered_multimap/debug/
6435         use_invalid_iterator_neg.cc: Likewise.
6436         * testsuite/23_containers/unordered_multimap/debug/
6437         use_invalid_local_iterator_neg.cc: Likewise.
6438         * testsuite/23_containers/unordered_multiset/debug/60499.cc:
6439         Likewise.
6440         * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
6441         Likewise.
6442         * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
6443         Likewise.
6444         * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
6445         Likewise.
6446         * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
6447         Likewise.
6448         * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
6449         Likewise.
6450         * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
6451         Likewise.
6452         * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
6453         Likewise.
6454         * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
6455         Likewise.
6456         * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
6457         Likewise.
6458         * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
6459         Likewise.
6460         * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
6461         Likewise.
6462         * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
6463         Likewise.
6464         * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
6465         Likewise.
6466         * testsuite/23_containers/unordered_multiset/debug/
6467         invalid_local_iterator_compare_neg.cc: Likewise.
6468         * testsuite/23_containers/unordered_multiset/debug/
6469         invalid_local_iterator_range_neg.cc: Likewise.
6470         * testsuite/23_containers/unordered_multiset/debug/
6471         iterator_self_move_assign_neg.cc: Likewise.
6472         * testsuite/23_containers/unordered_multiset/debug/
6473         max_load_factor_neg.cc: Likewise.
6474         * testsuite/23_containers/unordered_multiset/debug/
6475         self_move_assign_neg.cc: Likewise.
6476         * testsuite/23_containers/unordered_multiset/debug/
6477         use_erased_local_iterator_neg.cc: Likewise.
6478         * testsuite/23_containers/unordered_multiset/debug/
6479         use_invalid_iterator_neg.cc: Likewise.
6480         * testsuite/23_containers/unordered_multiset/debug/
6481         use_invalid_local_iterator_neg.cc: Likewise.
6482         *  testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
6483         * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
6484         * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
6485         * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
6486         Likewise.
6487         * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
6488         * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
6489         * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
6490         Likewise.
6491         * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
6492         Likewise.
6493         * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
6494         Likewise.
6495         * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
6496         * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
6497         * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
6498         * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
6499         * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
6500         * testsuite/23_containers/unordered_set/debug/
6501         invalid_local_iterator_compare_neg.cc: Likewise.
6502         * testsuite/23_containers/unordered_set/debug/
6503         invalid_local_iterator_range_neg.cc: Likewise.
6504         * testsuite/23_containers/unordered_set/debug/
6505         iterator_self_move_assign_neg.cc: Likewise.
6506         * testsuite/23_containers/unordered_set/debug/
6507         max_load_factor_neg.cc: Likewise.
6508         * testsuite/23_containers/unordered_set/debug/
6509         self_move_assign_neg.cc: Likewise.
6510         * testsuite/23_containers/unordered_set/debug/
6511         use_erased_local_iterator_neg.cc: Likewise.
6512         * testsuite/23_containers/unordered_set/debug/
6513         use_invalid_iterator_neg.cc: Likewise.
6514         * testsuite/23_containers/unordered_set/debug/
6515         use_invalid_local_iterator_neg.cc: Likewise.
6516         * testsuite/23_containers/vector/debug/52433.cc: Likewise.
6517         * testsuite/23_containers/vector/debug/60499.cc: Likewise.
6518         * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
6519         * testsuite/23_containers/vector/debug/
6520         iterator_self_move_assign_neg.cc: Likewise.
6521         * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
6522         Likewise.
6523         * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
6524         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
6525         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
6526         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
6527         * testsuite/29_atomics/atomic/60658.cc: Likewise.
6528         * testsuite/29_atomics/atomic/60695.cc: Likewise.
6529         * testsuite/29_atomics/atomic/62259.cc: Likewise.
6530         * testsuite/29_atomics/atomic/64658.cc: Likewise.
6531         * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
6532         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
6533         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
6534         Likewise.
6535
6536 2016-09-11  Jonathan Wakely  <jwakely@redhat.com>
6537
6538         * libsupc++/new_opant.cc: Include exception_defines.h.
6539         * libsupc++/new_opvant.cc: Likewise.
6540
6541 2016-09-09  Jason Merrill  <jason@redhat.com>
6542
6543         Implement P0035R4, C++17 new of over-aligned types.
6544         * libsupc++/new: Declare aligned new/delete operators.
6545         * config/abi/pre/gnu.ver: Export them.
6546         * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
6547         _aligned_malloc.
6548         * libsupc++/new_opa.cc: New.
6549         * libsupc++/new_opant.cc: New.
6550         * libsupc++/new_opva.cc: New.
6551         * libsupc++/new_opva.cc: New.
6552         * libsupc++/del_opa.cc: New.
6553         * libsupc++/del_opant.cc: New.
6554         * libsupc++/del_opsa.cc: New.
6555         * libsupc++/del_opva.cc: New.
6556         * libsupc++/del_opvant.cc: New.
6557         * libsupc++/del_opvsa.cc: New.
6558         * libsupc++/Makefile.am: Build them.
6559
6560 2016-09-05  Tim Shen  <timshen@google.com>
6561
6562         * include/std/variant: include bits/move.h for std::addressof.
6563
6564 2016-09-05  Mikhail Strelnikov  <mikhail.strelnikov@gmail.com>
6565
6566         * include/std/variant (_Variant_storage::_M_storage()): Use
6567         std::addressof instead of operator& to take address.
6568
6569 2016-09-02  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
6570
6571         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
6572         setrlimit on both native and cross targets.
6573         * configure: Regenerate.
6574
6575 2016-08-31  Jonathan Wakely  <jwakely@redhat.com>
6576
6577         * include/bits/shared_ptr.h (_Assignable): New alias template.
6578         (shared_ptr::operator=(const shared_ptr<_Tp1>&))
6579         (shared_ptr::operator=(shared_ptr<_Tp1>&&))
6580         (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6581         _Assignable.
6582         * include/bits/shared_ptr_base.h (_Assignable): New alias template.
6583         (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
6584         (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
6585         (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
6586         _Assignable.
6587         (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
6588         (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
6589         _Convertible.
6590         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
6591         match on any line.
6592         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
6593         * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
6594         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
6595         expected errors. Remove unnecessary code.
6596         * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
6597
6598         * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
6599         comparison object.
6600         * testsuite/23_containers/set/move_comparison.cc: New test.
6601
6602         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
6603         New test.
6604
6605 2016-08-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
6606
6607         PR libstdc++/77395
6608         * include/std/type_traits (is_constructible): Forward-declare...
6609         (__is_base_to_derived_ref): ...and use here.
6610         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
6611         * testsuite/20_util/is_constructible/77395.cc: New.
6612         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
6613         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
6614         Likewise.
6615         * testsuite/20_util/tuple/77395.cc: New.
6616
6617 2016-08-30  Uros Bizjak  <ubizjak@gmail.com>
6618
6619         * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
6620         directive above dg-require-namedlocale directive.
6621         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
6622         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
6623         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
6624         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
6625         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
6626
6627 2016-08-27  Tim Shen  <timshen@google.com>
6628
6629         PR libstdc++/77356
6630         * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
6631         _M_expression_term): Modify to support dash literal.
6632         * include/bits/regex_scanner.h: Add dash as a token type to make
6633         a different from the mandated dash literal by escaping.
6634         * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
6635         token in bracket expression parsing.
6636         * testsuite/28_regex/regression.cc: Add new testcases.
6637
6638 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6639
6640         PR libstdc++/51960
6641         * doc/xml/manual/intro.xml: Document DR 2127 change.
6642         * doc/html/*: Regenerate.
6643         * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
6644         (operator++(), operator++(int)): Use injected class name.
6645         * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
6646
6647         * testsuite/*: Use { target c++11 } or { target c++14 } instead of
6648         using -std in dg-options.
6649
6650 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6651             Pedro Alves  <palves@redhat.com>
6652
6653         * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
6654         and restore dg-interpreter-batch-mode.
6655         * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
6656         gdb-dg-runtest instead of dg-runtest.
6657         * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
6658
6659 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
6660
6661         * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
6662         precise patterns for basic_string constructors.
6663         (GLIBCXX_3.4.23): Export new constructors.
6664         * doc/xml/manual/intro.xml: Document LWG 2583 status.
6665         * doc/html/*: Regenerate.
6666         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
6667         (basic_string(const basic_string&, size_type, const Alloc&)): Add
6668         new constructor for LWG 2583.
6669         (basic_string(const basic_string&, size_type, size_type)): Remove
6670         default argument.
6671         [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
6672         * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
6673         * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
6674         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
6675
6676 2016-08-24  Aditya Kumar  <hiraditya@msn.com>
6677
6678         * include/bits/algorithmfwd.h: Remove trailing whitespace.
6679         * include/bits/shared_ptr_base.h: Likewise.
6680
6681 2016-08-23  Jonathan Wakely  <jwakely@redhat.com>
6682
6683         * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
6684         * include/profile/array (array): Likewise.
6685         (array::swap): Fix exception specification for zero-sized arrays.
6686
6687         PR libstdc++/77334
6688         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
6689         (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
6690         * testsuite/23_containers/map/77334.cc: New test.
6691
6692         * doc/xml/manual/using.xml: Remove reference to -pthreads option.
6693         * doc/html/*: Regenerate.
6694
6695         * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
6696         * testsuite/experimental/feat-lib-fund.cc: Likewise.
6697
6698         PR libstdc++/71771
6699         * include/bits/stl_iterator.h
6700         (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
6701         define for C++98 mode.
6702         (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
6703         * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
6704         -std=gnu++98.
6705         * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
6706         * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
6707         * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
6708         * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
6709         difference operator.
6710         * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
6711         difference operator for C++98.
6712         * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
6713
6714         * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
6715         * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
6716         (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
6717         * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
6718         (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
6719         Likewise.
6720         * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
6721         _GLIBCXX14_CONSTEXPR.
6722         (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
6723         * include/std/array (array::begin, array::end, array::rbegin)
6724         (array::rend, array::cbegin, array:cend, array::crbegin)
6725         (array::crend, array::operator[], array::at, array::front)
6726         (array::back, array::data): Likewise.
6727         * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
6728         with separate tests for C++11, C++14, and C++17.
6729         * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
6730         * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
6731         * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
6732
6733 2016-08-22  Tim Shen  <timshen@google.com>
6734
6735         Split _M_dfs() into smaller functions.
6736         * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
6737         (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
6738         (_M_handle_line_end_assertion, _M_handle_word_boundary)
6739         (_M_handle_subexpr_lookahead, _M_handle_match)
6740         (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
6741         Add separate function declarations.
6742         * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
6743
6744 2016-08-22  Gleb Natapov  <gleb@scylladb.com>
6745
6746         PR libstdc++/68297
6747         * config/abi/pre/gnu-versioned-namespace.ver: Export
6748         __cxa_init_primary_exception and std::exception_ptr(void*).
6749         * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
6750         export __cxa_init_primary_exception and std::exception_ptr(void*).
6751         * include/Makefile.am: Add new headers.
6752         * include/Makefile.in: Regenerate.
6753         * libsupc++/Makefile.am: Add new headers.
6754         * libsupc++/Makefile.in: Regenerate.
6755         * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
6756         * libsupc++/cxxabi_init_exception.h: New header.
6757         (__cxa_init_primary_exception): Declare.
6758         * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
6759         (__cxa_throw): Use __cxa_init_primary_exception.
6760         * libsupc++/exception (std::exception): Move to ...
6761         * libsupc++/exception.h: New header.
6762         * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
6763         friend declaration.
6764         (__exception_ptr::__dest_thunk): New function template.
6765         (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
6766         Use __cxa_allocate_exception and __cxa_init_primary_exception to
6767         create exception_ptr.
6768         * libsupc++/typeinfo: Include bits/exception.h instead of exception.
6769         * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
6770
6771 2016-08-22  Jonathan Wakely  <jwakely@redhat.com>
6772
6773         * doc/xml/api.xml: Replace hardcoded links for specific versions with
6774         link to docs for all releases.
6775         * doc/html/*: Regenerate.
6776
6777         PR libstdc++/77322
6778         * doc/xml/manual/intro.xml: Document DR 2062 change.
6779         * include/std/functional (function::swap): Add noexcept.
6780         (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
6781         * testsuite/20_util/function/77322.cc: New test.
6782
6783 2016-08-19  Jonathan Wakely  <jwakely@redhat.com>
6784
6785         * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
6786         *-*-solaris* instead of -pthreads.
6787         * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
6788         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
6789         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
6790         * testsuite/23_containers/list/pthread1.cc: Likewise.
6791         * testsuite/23_containers/list/pthread5.cc: Likewise.
6792         * testsuite/23_containers/map/pthread6.cc: Likewise.
6793         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
6794         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
6795         * testsuite/30_threads/shared_mutex/*: Likewise.
6796         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
6797         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6798         default_weaktoshared.cc: Likewise.
6799         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
6800         mutex_weaktoshared.cc: Likewise.
6801         * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
6802         dg-require-effective-target instead of using -std option.
6803         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
6804         Likewise.
6805         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
6806         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
6807         Likewise.
6808         * testsuite/30_threads/async/*: Likewise.
6809         * testsuite/30_threads/call_once/*: Likewise.
6810         * testsuite/30_threads/condition_variable/*: Likewise.
6811         * testsuite/30_threads/condition_variable_any/*: Likewise.
6812         * testsuite/30_threads/future/*: Likewise.
6813         * testsuite/30_threads/lock/*: Likewise.
6814         * testsuite/30_threads/mutex/*: Likewise.
6815         * testsuite/30_threads/packaged_task/*: Likewise.
6816         * testsuite/30_threads/promise/*: Likewise.
6817         * testsuite/30_threads/recursive_mutex/*: Likewise.
6818         * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
6819         * testsuite/30_threads/shared_future/*: Likewise.
6820         * testsuite/30_threads/shared_lock/*: Likewise.
6821         * testsuite/30_threads/shared_timed_mutex/*: Likewise.
6822         * testsuite/30_threads/this_thread/*: Likewise.
6823         * testsuite/30_threads/thread/*: Likewise.
6824         * testsuite/30_threads/timed_mutex/*: Likewise.
6825         * testsuite/30_threads/try_lock/*: Likewise.
6826         * testsuite/30_threads/unique_lock/*: Likewise.
6827
6828         * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
6829         * doc/html/*: Regenerate.
6830         * include/experimental/functional (_Not_fn, not_fn): Match C++17
6831         semantics.
6832         * include/std/functional (_Not_fn, not_fn): Define for C++17.
6833         * testsuite/20_util/not_fn/1.cc: New.
6834         * testsuite/experimental/functional/not_fn.cc: Test abstract class.
6835         Remove test for volatile-qualified wrapper.
6836
6837         * include/std/atomic (atomic::is_always_lock_free): Define.
6838         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
6839         * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
6840         * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
6841         * doc/xml/manual/status_cxx2017.xml: Update status.
6842         * doc/html/*: Regenerate.
6843
6844         * include/experimental/tuple (apply): Qualify call to __apply_impl.
6845         * include/std/tuple (apply): Likewise.
6846         * testsuite/experimental/system_error/value.cc: Fix ambiguities in
6847         C++17 mode.
6848         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
6849         * testsuite/experimental/type_traits/value.cc: Likewise.
6850
6851         * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
6852         and variant.
6853         * doc/html/*: Regenerate.
6854
6855 2016-08-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
6856
6857         Implement the latest proposed resolution of LWG 2756.
6858         * include/std/optional (Optional_base(const _Tp&))
6859         (Optional_base(_Tp&&), using _Base::_Base): Remove.
6860         (optional(nullopt_t)): New.
6861         (optional(_Up&&)): Invoke base directly with in_place
6862         rather than creating a temporary, add default template
6863         argument, change constraints.
6864         (optional(const optional<_Up>&)): Invoke base directly
6865         with in_place, remove unnecessary constraints.
6866         (optional(optional<_Up>&& __t)): Likewise.
6867         (optional(in_place_t, _Args&&...)): New.
6868         (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
6869         (operator=(_Up&&)): Add default template argument, change constraints.
6870         (operator=(const optional<_Up>&)): Put is_same first in the
6871         constraints.
6872         (operator=(optional<_Up>&&)): Likewise.
6873         * testsuite/20_util/optional/assignment/5.cc: Add a test to
6874         verify assignment from something that can't be perfect-forwarded.
6875         * testsuite/20_util/optional/cons/value.cc: Add tests to verify
6876         that a nested optional is disengaged when constructed
6877         from a disengaged element type, and to verify that assignments
6878         from an engaged element type engage the optional.
6879
6880 2016-08-18  Tim Shen  <timshen@google.com>
6881
6882         Implement <variant>
6883
6884         * include/Makefile.am: Add new file std/variant.
6885         * include/Makefile.in: Generated from Makefile.am.
6886         * include/bits/enable_special_members.h: Add a tag type to allow
6887         the construction in non-default constructor.
6888         * include/bits/uses_allocator.h: Add convenience traits to
6889         detect constructibility.
6890         * include/std/variant: Implement <variant>.
6891         * testsuite/20_util/variant/compile.cc: Compile-time tests.
6892         * testsuite/20_util/variant/run.cc: Runtime tests.
6893
6894 2016-08-18  Jonathan Wakely  <jwakely@redhat.com>
6895
6896         * doc/xml/manual/test.xml (test.run.permutations): Expand section.
6897         (test.new_tests): Rewrite section.
6898         (tests.dg.directives): New section.
6899         * doc/html/*: Regenerate.
6900
6901         * doc/xml/manual/test.xml: Improve documentation of test targets.
6902         Document new-abi-baseline, check-debug, and check-parallel targets.
6903
6904         * doc/xml/manual/build_hacking.xml: New section on shared library
6905         versioning.
6906
6907         * doc/xml/manual/build_hacking.xml: Improve markup.
6908         * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
6909         to "Testing".
6910         * doc/xml/faq.xml: Change link text to "Testing".
6911
6912         * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
6913         dg-options directive.
6914
6915 2016-08-17  Jonathan Wakely  <jwakely@redhat.com>
6916
6917         * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
6918         directive and use effective target instead of dg-options.
6919
6920         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
6921         instead of -std in dg-options.
6922         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
6923         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
6924         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
6925         * testsuite/20_util/hash/quality.cc: Likewise.
6926         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
6927         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
6928         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
6929         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
6930         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
6931         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
6932
6933         * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
6934         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
6935         * testsuite/27_io/rvalue_streams.cc: Likewise.
6936
6937         * testsuite/26_numerics/complex/literals/types.cc: Add comment.
6938
6939         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
6940         Remove duplicate dg-options directive.
6941
6942         * testsuite/ext/profile/all.cc: Use effective target instead of
6943         -std=gnu++11. Use dg-additional-options instead of repeating options.
6944
6945         * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
6946         -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
6947         instead of dg-excess-errors.
6948
6949         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
6950         test for C++17.
6951         * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
6952         * testsuite/experimental/ratio/value.cc: Likewise.
6953         * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
6954         C++17.
6955         * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
6956         * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
6957         * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
6958         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
6959         * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
6960         * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
6961         * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
6962         * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
6963         * testsuite/tr1/5_numerical_facilities/special_functions/
6964         10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
6965         C++17 compatibility.
6966
6967         * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
6968         expected signatures for C++14 compatibility.
6969
6970         PR libstdc++/77264
6971         * include/bits/basic_string.h (operator=(__sv_type)
6972         (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
6973         (replace(size_type, size_type, __sv_type))
6974         (replace(const_iterator, const_iterator, __sv_type))
6975         (find(__sv_type, size_type), rfind(__sv_type, size_type))
6976         (compare(size_type, size_type, __sv_type)): Reformat.
6977         (_If_sv): Define helper for SFINAE constaints.
6978         (append(const _Tp&, size_type, size_type))
6979         (assign(const _Tp&, size_type, size_type))
6980         (insert(size_type, const _Tp&, size_type, size_type))
6981         (replace(size_type, size_type, const _Tp&, size_type, size_type)):
6982         Use _If_sv.
6983         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
6984         SFINAE constraints.
6985         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
6986         Likewise.
6987         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
6988         Likewise.
6989         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
6990         Likewise.
6991         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
6992         Likewise.
6993         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
6994         Likewise.
6995         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
6996         Likewise.
6997         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
6998         Likewise.
6999         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7000         Likewise.
7001         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
7002         Likewise.
7003         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
7004         Likewise.
7005
7006 2016-08-16  Jonathan Wakely  <jwakely@redhat.com>
7007
7008         PR libstdc++/72847
7009         * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
7010         pointers to start and end of storage.
7011         * testsuite/23_containers/vector/bool/72847.cc: New test.
7012         * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
7013         _M_finish after deallocating.
7014         (vector<bool>::_M_fill_insert): Likewise.
7015         (vector<bool>::_M_insert_range): Likewise.
7016         (vector<bool>::_M_insert_aux): Likewise.
7017
7018 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
7019
7020         Implement LWG 2744 and LWG 2754.
7021         * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
7022         (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
7023         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
7024         Likewise.
7025         (emplace(_Args&&...)): Likewise.
7026         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
7027         * include/std/utility: (__is_in_place_type_impl): New.
7028         (__is_in_place_type): Likewise.
7029         * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
7030         emplace.
7031         * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
7032         in_place constructor.
7033         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
7034         * testsuite/20_util/any/requirements.cc: Add a test for
7035         in_place-constructing a non-default-constructible type.
7036
7037 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
7038
7039         Add a feature macro for C++17 make_from_tuple.
7040         * include/std/tuple (__cpp_lib_make_from_tuple): New.
7041         (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
7042         Qualify the call to get<>().
7043         * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
7044
7045 2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
7046
7047         * src/filesystem/ops.cc: Always include ostream and
7048         ext/stdio_filebuf.h.
7049         (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
7050         [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
7051         sendfile fails with ENOSYS or EINVAL.
7052
7053 2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
7054
7055         PR libstdc++/72840
7056         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
7057         syntax.
7058
7059 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
7060
7061         Implement C++17 make_from_tuple.
7062         * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
7063         * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
7064
7065 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
7066
7067         Implement LWG 2758.
7068         * include/bits/basic_string.h
7069         (append(__sv_type, size_type, size_type)): Turn into a template,
7070         change parameter type, constrain, add a conversion to __sv_type
7071         from the dependent parameter type.
7072         (assign(__sv_type, size_type, size_type)): Likewise.
7073         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
7074         (replace(size_type, size_type, __sv_type, size_type, size_type)):
7075         Likewise.
7076         (compare(size_type, size_type,__sv_type, size_type, size_type)):
7077         Likewise.
7078         * testsuite/21_strings/basic_string/lwg2758.cc: New.
7079
7080 2016-08-06  Jonathan Wakely  <jwakely@redhat.com>
7081
7082         * doc/xml/manual/status_cxx2017.xml: Update status table.
7083         * doc/html/manual/status.html: Regenerate.
7084
7085         * testsuite/lib/libstdc++.exp: Fix typo in comment.
7086
7087         PR libstdc++/72820
7088         * include/std/functional (_Function_base::_Base_manager::_M_clone):
7089         Qualify new operator.
7090         * testsuite/20_util/function/cons/72820.cc: New test.
7091
7092         * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
7093         * doc/html/manual/status.html: Regenerate.
7094         * include/Makefile.am: Add new header.
7095         * include/Makefile.in: Regenerate.
7096         * include/bits/invoke.h: New header.
7097         (__invoke): Make constexpr. Add && to types in exception specification.
7098         * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
7099         names. Include <bits/invoke.h> and use std::__invoke.
7100         * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
7101         new header.
7102         (invoke): Add && to types in exception specification.
7103         * include/std/tuple (apply, __apply_impl): Define for C++17.
7104         * testsuite/20_util/tuple/apply/1.cc: New test.
7105         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
7106         lineno.
7107
7108 2016-08-05  Jonathan Wakely  <jwakely@redhat.com>
7109
7110         * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
7111         * doc/html/manual/status.html: Regenerate.
7112
7113         * include/std/chrono (floor, ceil, round, abs): New for C++17.
7114         * testsuite/20_util/duration_cast/rounding.cc: New test.
7115         * testsuite/20_util/time_point_cast/rounding.cc: New test.
7116         * doc/xml/manual/status_cxx2017.xml: Update status table.
7117         * doc/html/manual/status.html: Regenerate.
7118         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
7119         dg-error lineno.
7120         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
7121         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
7122         * testsuite/20_util/duration/literals/range.cc: Likewise.
7123
7124         * include/std/functional (__callable_functor): Remove.
7125         (_Function_handler::_M_invoke): Use __invoke instead of
7126         __callable_functor or mem_fn.
7127         (function::_Callable): Use lvalue in result_of expression.
7128         (function): Remove TODO comments about allocators.
7129         * testsuite/20_util/function/cons/refqual.cc: New test.
7130
7131 2016-08-04  Jonathan Wakely  <jwakely@redhat.com>
7132
7133         * doc/xml/manual/status_cxx2017.xml: Update status table.
7134         * include/std/functional (__inv_unwrap): Move to <type_traits>.
7135         (__invoke_impl): Remove exception specifications.
7136         (__invoke, invoke): Add exception specifications using
7137         __is_nothrow_callable.
7138         * include/std/type_traits (__inv_unwrap): Move from <functional>.
7139         (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
7140         (__is_callable, __is_nothrow_callable): New traits.
7141         (is_callable, is_callable_v): New C++17 traits.
7142         (is_nothrow_callable, is_nothrow_callable_v): Likewise.
7143         * testsuite/20_util/is_callable/requirements/
7144         explicit_instantiation.cc: New test.
7145         * testsuite/20_util/is_callable/requirements/
7146         explicit_instantiation_ext.cc: New test.
7147         * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
7148         * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
7149         test.
7150         * testsuite/20_util/is_callable/value.cc: New test.
7151         * testsuite/20_util/is_callable/value_ext.cc: New test.
7152         * testsuite/20_util/is_nothrow_callable/requirements/
7153         explicit_instantiation.cc: New test.
7154         * testsuite/20_util/is_nothrow_callable/requirements/
7155         explicit_instantiation_ext.cc: New test.
7156         * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
7157         New test.
7158         * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
7159         New test.
7160         * testsuite/20_util/is_nothrow_callable/value.cc: New test.
7161         * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
7162
7163         * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
7164         * doc/html/manual/status.html: Regenerate.
7165
7166         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
7167         effective target not dg-options. Move check for feature-test macro to:
7168         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
7169         New test.
7170
7171         * include/std/functional (_Unwrap): Rename to __inv_unwrap.
7172         (__invfwd): Adjust.
7173         (__invoke_impl): Remove unused template parameters.
7174         * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
7175         parameter.
7176         * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
7177         and test __invoke extension for C++11.
7178
7179 2016-08-03  Jonathan Wakely  <jwakely@redhat.com>
7180
7181         * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
7182         Define feature-test macro.
7183         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
7184         for the macro.
7185
7186         * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
7187         * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
7188         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
7189         * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
7190         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
7191
7192         * include/std/utility (as_const): Define.
7193         * testsuite/20_util/as_const/1.cc: New test.
7194         * testsuite/20_util/as_const/rvalue_neg.cc: New test.
7195
7196         * include/bits/shared_ptr.h (owner_less): Add default template
7197         argument.
7198         * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
7199         specialization.
7200         (owner_less<void>): Define specialization.
7201         * include/bits/stl_function.h (__cpp_lib_transparent_operators):
7202         Update value.
7203         * testsuite/20_util/owner_less/void.cc: New test.
7204         * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
7205
7206         * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
7207         Define feature-test macro.
7208         * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
7209         * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
7210         * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
7211         (__cpp_lib_type_trait_variable_templates): Define.
7212
7213         * include/bits/stl_function.h: Remove commented-out macro.
7214         * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
7215         Define feature-test macro.
7216         * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
7217
7218         * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
7219         C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
7220         true.
7221         * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
7222         do #error for C++17.
7223         * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
7224         of __STDCPP_WANT_MATH_SPEC_FUNCS__.
7225         * include/tr1/bessel_function.tcc: Likewise.
7226         * include/tr1/beta_function.tcc: Likewise.
7227         * include/tr1/cmath: Likewise.
7228         * include/tr1/ell_integral.tcc: Likewise.
7229         * include/tr1/exp_integral.tcc: Likewise.
7230         * include/tr1/gamma.tcc: Likewise.
7231         * include/tr1/hypergeometric.tcc: Likewise.
7232         * include/tr1/legendre_function.tcc: Likewise.
7233         * include/tr1/modified_bessel_func.tcc: Likewise.
7234         * include/tr1/poly_hermite.tcc: Likewise.
7235         * include/tr1/poly_laguerre.tcc: Likewise.
7236         * include/tr1/riemann_zeta.tcc: Likewise.
7237         * include/tr1/special_function_util.h: Likewise.
7238         * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
7239
7240         * include/std/type_traits (has_trivial_default_constructor): Remove.
7241         (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
7242         * testsuite/20_util/has_trivial_copy_assign/requirements/
7243         explicit_instantiation.cc: Remove test.
7244         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
7245         line number.
7246         * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
7247         Likewise.
7248         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
7249         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7250         explicit_instantiation.cc: Likewise.
7251         * testsuite/20_util/has_trivial_copy_constructor/requirements/
7252         typedefs.cc: Likewise.
7253         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
7254         * testsuite/20_util/has_trivial_default_constructor/requirements/
7255         explicit_instantiation.cc: Likewise.
7256         * testsuite/20_util/has_trivial_default_constructor/requirements/
7257         typedefs.cc: Likewise.
7258         * testsuite/20_util/has_trivial_default_constructor/value.cc:
7259         Likewise.
7260         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7261         Check has_trivial_default_constructor, has_trivial_copy_constructor,
7262         and has_trivial_copy_assign are not defined.
7263         * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
7264         tests.
7265         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
7266         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
7267         dg-error line number.
7268         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7269         Likewise.
7270
7271 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7272
7273         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
7274         Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
7275         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
7276         Likewise.
7277         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
7278         Likewise.
7279         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
7280         Likewise.
7281         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
7282         Likewise.
7283         * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
7284         Likewise.
7285         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
7286         Likewise.
7287
7288         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
7289         comments.
7290
7291         * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
7292         dg-error to relevant line.
7293         * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
7294         Likewise.
7295         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
7296
7297         * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
7298
7299         * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
7300         options are present that aren't valid for C.
7301         * testsuite/abi/header_cxxabi.c: Likewise.
7302
7303         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
7304         check_value.cc: Do not add special functions to namespace std in TR1
7305         test.
7306
7307         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
7308         run for C++11 and later.
7309         * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
7310         Likewise.
7311         * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
7312         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
7313         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
7314         * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
7315         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
7316         Likewise.
7317         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
7318         Likewise.
7319         * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
7320         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
7321         Likewise.
7322         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
7323         Likewise.
7324         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
7325         Likewise.
7326         * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
7327         * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
7328         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
7329         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
7330         * testsuite/special_functions/03_beta/compile.cc: Likewise.
7331         * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
7332         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
7333         * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
7334         Likewise.
7335         * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
7336         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
7337         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
7338         * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
7339         Likewise.
7340         * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
7341         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
7342         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
7343         * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
7344         Likewise.
7345         * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
7346         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
7347         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
7348         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
7349         Likewise.
7350         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
7351         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
7352         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
7353         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
7354         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
7355         Likewise.
7356         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
7357         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
7358         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
7359         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
7360         Likewise.
7361         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
7362         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
7363         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
7364         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
7365         * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
7366         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
7367         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
7368         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
7369         * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
7370         * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
7371         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
7372         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
7373         * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
7374         * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
7375         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
7376         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
7377         * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
7378         * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
7379         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
7380         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
7381         * testsuite/special_functions/14_expint/compile.cc: Likewise.
7382         * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
7383         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
7384         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
7385         * testsuite/special_functions/15_hermite/compile.cc: Likewise.
7386         * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
7387         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
7388         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
7389         * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
7390         * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
7391         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
7392         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
7393         * testsuite/special_functions/17_legendre/compile.cc: Likewise.
7394         * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
7395         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
7396         * testsuite/special_functions/18_riemann_zeta/check_value.cc:
7397         Likewise.
7398         * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
7399         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
7400         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
7401         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
7402         * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
7403         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
7404         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
7405         * testsuite/special_functions/20_sph_legendre/check_value.cc:
7406         Likewise.
7407         * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
7408         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
7409         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
7410         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
7411         * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
7412         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
7413
7414         * testsuite/tr1/5_numerical_facilities/special_functions/
7415         08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
7416         of [[gnu::unused]].
7417         * testsuite/tr1/5_numerical_facilities/special_functions/
7418         09_cyl_bessel_j/check_value.cc: Likewise.
7419         * testsuite/tr1/5_numerical_facilities/special_functions/
7420         10_cyl_bessel_k/check_value.cc: Likewise.
7421         * testsuite/tr1/5_numerical_facilities/special_functions/
7422         11_cyl_neumann/check_value.cc: Likewise.
7423         * testsuite/tr1/5_numerical_facilities/special_functions/
7424         21_sph_bessel/check_value.cc: Likewise.
7425         * testsuite/tr1/5_numerical_facilities/special_functions/
7426         23_sph_neumann/check_value.cc: Likewise.
7427
7428 2016-08-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7429
7430         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
7431         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
7432         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
7433         * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
7434         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
7435         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
7436
7437 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
7438
7439         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
7440         test if -flto used.
7441
7442         * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
7443         additional flags for compiling libtestc++.a objects.
7444
7445 2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
7446
7447         * include/bits/basic_string.h (data() const): Update comment.
7448         (data()): Add non-const overload for C++17.
7449         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
7450         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
7451
7452         * include/bits/basic_string.tcc: Disable explicit instantiation
7453         declarations for C++17.
7454
7455         * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
7456         ignored "xfail" from { dg-do compile { xfail selector } } directive.
7457         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
7458         Likewise.
7459         * testsuite/26_numerics/headers/cmath/
7460         c99_classification_macros_c++11.cc: Likewise.
7461         * testsuite/26_numerics/headers/cmath/
7462         c99_classification_macros_c++98.cc: Likewise.
7463         * testsuite/26_numerics/headers/cmath/
7464         c99_classification_macros_c.cc: Likewise.
7465
7466         * testsuite/backward/hash_set/check_construct_destroy.cc: Account
7467         for different construct/destroy counts in C++98 mode.
7468
7469         * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
7470
7471         * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
7472         later.
7473         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
7474         Likewise.
7475
7476         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
7477         C++98-compatible initialization for array.
7478
7479         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
7480         unused header and variable from compile-only test.
7481         * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
7482         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
7483         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
7484         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
7485         Likewise.
7486
7487         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
7488         Remove duplicate dg-options directive.
7489
7490         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
7491         808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
7492
7493         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
7494         linker options from compile-only tests.
7495         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7496         Likewise.
7497
7498         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
7499         supported for C++11 and later.
7500         * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
7501         * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
7502
7503 2016-08-01  Uros Bizjak  <ubizjak@gmail.com>
7504
7505         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
7506
7507 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7508
7509         * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
7510         compile-only test.
7511
7512         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7513         Ensure test is compiled with optimization.
7514
7515         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7516         Adjust dg-prune-output pattern for error in C++98 mode.
7517
7518         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
7519         run for C++11 or later.
7520
7521         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
7522         test to not rely on GNU extension (escaped normal characters in POSIX
7523         BRE). Enable tests for other strings which are now supported.
7524
7525         * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
7526         c++11 instead of setting -std=gnu++14.
7527
7528         PR libstdc++/72745
7529         * include/std/array (get): Use positive message for static assertions.
7530         * include/std/functional (_Safe_tuple_element_t): Fix indentation.
7531         * include/std/tuple (tuple_element<I, tuple<>>): Add partial
7532         specialization for invalid indices, with static assertion.
7533         * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
7534
7535         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
7536         dg-error to relevant line.
7537         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
7538         Likewise.
7539         * testsuite/23_containers/forward_list/requirements/dr438/
7540         assign_neg.cc: Likewise.
7541         * testsuite/23_containers/forward_list/requirements/dr438/
7542         constructor_1_neg.cc: Likewise.
7543         * testsuite/23_containers/forward_list/requirements/dr438/
7544         constructor_2_neg.cc: Likewise.
7545         * testsuite/23_containers/forward_list/requirements/dr438/
7546         insert_neg.cc: Likewise.
7547         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
7548         Likewise.
7549         * testsuite/26_numerics/random/linear_congruential_engine/
7550         requirements/non_uint_neg.cc: Likewise.
7551         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
7552         Likewise. Also test for std::atomic_address.
7553
7554 2016-07-31  Ville Voutilainen  <ville.voutilainen@gmail.com>
7555
7556         Add missing variable traits, fix testsuite failures.
7557         * include/bits/uses_allocator.h (uses_allocator_v): New.
7558         * include/std/functional (is_bind_expression_v, is_placeholder_v):
7559         Likewise.
7560         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
7561         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
7562         * testsuite/20_util/duration/literals/range.cc: Likewise.
7563         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
7564         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
7565         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
7566         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
7567         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
7568         Likewise.
7569         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
7570         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
7571         New.
7572
7573 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
7574
7575         * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
7576         not test 128-bit types.
7577         * testsuite/20_util/is_floating_point/value.cc: Likewise.
7578         * testsuite/20_util/is_integral/value.cc: Likewise.
7579         * testsuite/20_util/is_signed/value.cc: Likewise.
7580         * testsuite/20_util/is_unsigned/value.cc: Likewise.
7581         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
7582         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
7583         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
7584         Likewise.
7585         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
7586         Likewise.
7587
7588         * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
7589
7590 2016-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
7591
7592         Implement C++17 variable templates for type traits.
7593         * include/std/chrono (treat_as_floating_point_v): New.
7594         * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
7595         (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
7596         (ratio_greater_equal_v): Likewise.
7597         * include/std/system_error (is_error_code_enum_v)
7598         (is_error_condition_enum_v): Likewise.
7599         * include/std/tuple (tuple_size_v): Likewise.
7600         * type_traits (conjunction_v, disjunction_v, negation_v)
7601         (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
7602         (is_array_v, is_pointer_v, is_lvalue_reference_v)
7603         (is_rvalue_reference_v, is_member_object_pointer_v)
7604         (is_member_function_pointer_v, is_enum_v, is_union_v)
7605         (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
7606         (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
7607         (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
7608         (is_trivially_copyable_v, is_standard_layout_v)
7609         (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
7610         (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
7611         (is_constructible_v, is_default_constructible_v)
7612         (is_copy_constructible_v, is_move_constructible_v)
7613         (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
7614         (is_destructible_v, is_trivially_constructible_v)
7615         (is_trivially_default_constructible_v)
7616         (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
7617         (is_trivially_assignable_v, is_trivially_copy_assignable_v)
7618         (is_trivially_move_assignable_v, is_trivially_destructible_v)
7619         (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
7620         (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
7621         (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
7622         (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
7623         (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
7624         (is_same_v, is_base_of_v, is_convertible_v): Likewise.
7625         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
7626         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
7627         Likewise.
7628         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
7629         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
7630         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
7631
7632 2016-07-29  Andreas Schwab  <schwab@linux-m68k.org>
7633
7634         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
7635         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
7636         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
7637
7638 2016-07-29  Jonathan Wakely  <jwakely@redhat.com>
7639
7640         * doc/xml/manual/abi.xml: Document 6.0.22 library version.
7641         * doc/html/manual/abi.html: Regenerate.
7642
7643         * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
7644         * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
7645         symbols.
7646         * configure: Regenerate.
7647         * testsuite/util/testsuite_abi.cc: Add new symbol version.
7648
7649         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
7650         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
7651         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
7652         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
7653         Likewise.
7654         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
7655         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
7656         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
7657
7658 2016-07-28  Jonathan Wakely  <jwakely@redhat.com>
7659
7660         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
7661         Adjust dg-prune-output pattern for error in C++98 mode.
7662         * testsuite/23_containers/deque/requirements/dr438/
7663         constructor_1_neg.cc: Likewise.
7664         * testsuite/23_containers/deque/requirements/dr438/
7665         constructor_2_neg.cc: Likewise.
7666         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
7667         Likewise.
7668         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
7669         Likewise.
7670         * testsuite/23_containers/list/requirements/dr438/
7671         constructor_1_neg.cc: Likewise.
7672         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
7673         Likewise.
7674         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
7675         Likewise.
7676         * testsuite/23_containers/vector/requirements/dr438/
7677         constructor_1_neg.cc: Likewise.
7678         * testsuite/23_containers/vector/requirements/dr438/
7679         constructor_2_neg.cc: Likewise.
7680         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
7681         Likewise.
7682
7683         * testsuite/23_containers/vector/check_construct_destroy.cc: Account
7684         for different construct/destroy counts in C++98 mode.
7685
7686         * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
7687         dg-options to dg-additional-options so that default options are used.
7688         * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
7689         Likewise.
7690         * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
7691         * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
7692         Likewise.
7693         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
7694         Use dg-additional-options instead of repeating the common options.
7695
7696         * testsuite/22_locale/conversions/string/1.cc: Remove unintended
7697         dg-do compile directive.
7698         * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
7699         dg-do directive.
7700         * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
7701
7702 2016-07-28  Ville Voutilainen  <ville.voutilainen@gmail.com>
7703
7704         Implement std::string_view and P0254r2,
7705         Integrating std::string_view and std::string.
7706         * include/Makefile.am: Add string_view and string_view.tcc
7707         to the exported headers.
7708         * include/Makefile.in: Likewise.
7709         * include/bits/basic_string.h: Include <string_view> in C++17 mode.
7710         (__sv_type): New.
7711         (basic_string(__sv_type, const _Alloc&)): Likewise.
7712         (operator=(__sv_type)): Likewise.
7713         (operator __sv_type()): Likewise.
7714         (operator+=(__sv_type)): Likewise.
7715         (append(__sv_type __sv)): Likewise.
7716         (append(__sv_type, size_type, size_type)): Likewise.
7717         (assign(__sv_type)): Likewise.
7718         (assign(__sv_type, size_type, size_type)): Likewise.
7719         (insert(size_type, __sv_type)): Likewise.
7720         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
7721         (replace(size_type, size_type, __sv_type)): Likewise.
7722         (replace(size_type, size_type, __sv_type, size_type, size_type)):
7723         Likewise.
7724         (replace(const_iterator, const_iterator, __sv_type)): Likewise.
7725         (find(__sv_type, size_type)): Likewise.
7726         (rfind(__sv_type, size_type)): Likewise.
7727         (find_first_of(__sv_type, size_type)): Likewise.
7728         (find_last_of(__sv_type, size_type)): Likewise.
7729         (find_first_not_of(__sv_type, size_type)): Likewise.
7730         (find_last_not_of(__sv_type, size_type)): Likewise.
7731         (compare(__sv_type)): Likewise.
7732         (compare(size_type, size_type, __sv_type)): Likewise.
7733         (compare(size_type, size_type, __sv_type, size_type, size_type)):
7734         Likewise.
7735         * include/bits/string_view.tcc: New.
7736         * include/std/string_view: Likewise.
7737         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
7738         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
7739         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
7740         Likewise.
7741         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
7742         Likewise.
7743         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
7744         Likewise.
7745         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
7746         Likewise.
7747         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
7748         Likewise.
7749         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
7750         Likewise.
7751         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
7752         Likewise.
7753         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
7754         Likewise.
7755         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
7756         Likewise.
7757         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
7758         Likewise.
7759         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
7760         Likewise.
7761         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
7762         Likewise.
7763         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
7764         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
7765         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
7766         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
7767         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
7768         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
7769         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
7770         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
7771         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
7772         * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
7773         Likewise.
7774         * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
7775         Likewise.
7776         * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
7777         Likewise.
7778         * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
7779         Likewise.
7780         * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
7781         Likewise.
7782         * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
7783         Likewise.
7784         * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
7785         Likewise.
7786         * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
7787         Likewise.
7788         * testsuite/21_strings/basic_string_view/include.cc: Likewise.
7789         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
7790         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
7791         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
7792         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
7793         Likewise.
7794         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
7795         Likewise.
7796         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
7797         Likewise.
7798         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
7799         Likewise.
7800         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
7801         Likewise.
7802         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
7803         Likewise.
7804         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
7805         Likewise.
7806         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
7807         Likewise.
7808         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
7809         Likewise.
7810         * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
7811         Likewise.
7812         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
7813         Likewise.
7814         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
7815         Likewise.
7816         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
7817         Likewise.
7818         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
7819         Likewise.
7820         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
7821         Likewise.
7822         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
7823         Likewise.
7824         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
7825         Likewise.
7826         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
7827         Likewise.
7828         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
7829         Likewise.
7830         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
7831         Likewise.
7832         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
7833         Likewise.
7834         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
7835         Likewise.
7836         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
7837         Likewise.
7838         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
7839         Likewise.
7840         * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
7841         Likewise.
7842         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
7843         Likewise.
7844         * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
7845         Likewise.
7846         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
7847         Likewise.
7848         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
7849         Likewise.
7850         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
7851         Likewise.
7852         * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
7853         Likewise.
7854         * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
7855         Likewise.
7856         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
7857         Likewise.
7858         * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
7859         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
7860         Likewise.
7861         * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
7862         Likewise.
7863         * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
7864         Likewise.
7865         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
7866         Likewise.
7867         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
7868         Likewise.
7869         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
7870         Likewise.
7871         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
7872         Likewise.
7873         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
7874         Likewise.
7875         * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
7876         Likewise.
7877         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
7878         * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
7879
7880 2016-07-27  Jonathan Wakely  <jwakely@redhat.com>
7881
7882         * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
7883
7884 2016-07-25  Georeth Chow  <georeth2010@gmail.com>
7885
7886         * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
7887         _S_concat enumerator.
7888         * testsuite/ext/rope/6.cc: New test.
7889
7890 2016-07-25  Jonathan Wakely  <jwakely@redhat.com>
7891
7892         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
7893         std::mt19937, std::thread and std::atomic to simplify test.
7894         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
7895
7896 2016-07-22  Jonathan Wakely  <jwakely@redhat.com>
7897
7898         PR libstdc++/71964
7899         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
7900         (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
7901         * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
7902         * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
7903         * testsuite/23_containers/set/allocator/71964.cc: New test.
7904
7905         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
7906         delete[] instead of delete.
7907
7908 2016-07-21  Jonathan Wakely  <jwakely@redhat.com>
7909
7910         * include/experimental/propagate_const (propagate_const::__t): Rename
7911         to _M_t and remove comment. Qualify std::move and std::forward.
7912         * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
7913
7914         * testsuite/23_containers/vector/zero_sized_allocations.cc:
7915         Define sized deallocation function.
7916         * testsuite/util/testsuite_new_operators.h:
7917         (operator delete(void*, const std::nothrow_t&)): Define nothrow
7918         deallocation function.
7919
7920         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
7921         reads past the end of strings.
7922         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
7923         Likewise.
7924         * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
7925         invalid array accesses.
7926         * testsuite/experimental/string_view/operations/compare/char/1.cc:
7927         Fix read past the end of string.
7928         * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
7929
7930         * testsuite/24_iterators/container_access.cc: Fix missing returns.
7931         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
7932
7933         * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
7934         leak) memory for arguments to placement delete.
7935         * testsuite/20_util/addressof/1.cc: Don't leak memory.
7936         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
7937         * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
7938         Likewise.
7939
7940 2016-07-20  Jonathan Wakely  <jwakely@redhat.com>
7941
7942         * doc/xml/manual/intro.xml: Document DR 2684 status.
7943         * doc/html/*: Regenerate.
7944
7945         * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
7946         (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
7947         (atomic_uint64_t): Define (LWG 2441).
7948         * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
7949         lines.
7950         * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
7951         the new types.
7952         * doc/xml/manual/intro.xml: Document DR 2441 status.
7953
7954         * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
7955         to use perfect forwarding (LWG 2328).
7956         * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
7957         * doc/xml/manual/intro.xml: Document DR 2328 status.
7958
7959         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
7960         static objects for catching nullptr as pointer to member types.
7961
7962 2016-07-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
7963
7964         Clean up optional's comments.
7965         * include/std/optional: Remove incorrect section headers
7966         from comments when redundant, replace bare section
7967         headers with more descriptive comments.
7968
7969 2016-07-15  Jonathan Wakely  <jwakely@redhat.com>
7970
7971         * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
7972         * include/bits/move.h: Likewise.
7973         * include/bits/postypes.h: Likewise.
7974         * include/debug/bitset: Likewise.
7975         * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
7976         * include/ext/string_conversions.h: Change C++0x to __cxx11 in
7977         comment.
7978         * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
7979         * testsuite/util/thread/all.h: Likewise.
7980
7981         * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
7982         and adjust comment.
7983
7984         PR c++/58796
7985         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
7986         nullptr match handlers of pointer type.
7987
7988 2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
7989
7990         Implement C++17 P0025 clamp.
7991         * include/bits/algorithmfwd.h: Declare clamp overloads.
7992         * include/bits/stl_algo.h: Implement clamp.  Feature __cpp_lib_clamp.
7993         * testsuite/25_algorithms/clamp/1.cc: New test.
7994         * testsuite/25_algorithms/clamp/2.cc: New test.
7995         * testsuite/25_algorithms/clamp/constexpr.cc: New test.
7996         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
7997         1.cc: New test.
7998         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
7999         pod.cc: New test.
8000
8001 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
8002
8003         Fix the constraints for any's assignment operator template to properly
8004         reject assignment from a non-copyable lvalue.
8005         * include/std/any (operator=(_ValueType&&)): Constrain the decayed
8006         type for is_copy_constructible,
8007         * testsuite/20_util/any/requirements.cc: Add a test for
8008         non-copyable lvalues.
8009
8010 2016-07-14  Jonathan Wakely  <jwakely@redhat.com>
8011
8012         * include/experimental/functional: Include <parallel/algorithm> in
8013         Parallel Mode.
8014
8015         * testsuite/experimental/functional/searchers.cc: Include <algorithm>
8016         for std::search.
8017
8018         PR libstdc++/70716
8019         * include/bits/forward_list.h (forward_list): Update doxygen comments
8020         to reflect allocator propagation semantics. Remove ambiguous
8021         statements about data being lost.
8022         * include/bits/stl_deque.h (deque): Likewise.
8023         * include/bits/stl_list.h (list): Likewise.
8024         * include/bits/stl_map.h (map): Likewise.
8025         * include/bits/stl_multimap.h (multimap): Likewise.
8026         * include/bits/stl_multiset.h (multiset): Likewise.
8027         * include/bits/stl_set.h (set): Likewise.
8028         * include/bits/stl_vector.h (vector): Likewise.
8029         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
8030         Likewise.
8031         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
8032         Likewise.
8033
8034 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
8035
8036         Implement P0032R3, Homogeneous interface for variant, any and optional,
8037         for the parts concerning any and optional.
8038         * include/std/any (_Storage()): Make constexpr and have it
8039         initialize _M_ptr.
8040         (any()): Make constexpr.
8041         (any(const any&)): Adjust.
8042         (any(any&&)): Likewise.
8043         (__any_constructible_t): New.
8044         (any(_ValueType&&)): Constrain.
8045         (any(in_place_type_t<_Tp>, _Args&&...)): New.
8046         (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
8047         Likewise.
8048         (~any()): Adjust.
8049         (operator=(const any&)): Likewise.
8050         (operator=(any&&)): Likewise.
8051         (operator=(_ValueType&&)): Constrain.
8052         (emplace(_Args&&...)): New.
8053         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
8054         (clear()): Remove.
8055         (reset()): New.
8056         (swap(any&)): Adjust.
8057         (empty()): Remove.
8058         (has_value()): New.
8059         (type()): Adjust.
8060         (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
8061         (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
8062         (make_any(_Args&&...)): Likewise.
8063         (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
8064         * include/std/optional (in_place_t, in_place): Remove.
8065         (bad_optional_access): Add a comment referring to LEWG 72.
8066         (emplace(_Args&&...)): Constrain.
8067         (has_value()): New.
8068         (reset()): Likewise.
8069         (make_optional(_Args&&...)): Likewise.
8070         (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
8071         * include/std/utility (in_place_tag): New.
8072         (__in_place, __in_place_type, __in_place_index): Likewise.
8073         (in_place_t, in_place_type_t, in_place_index_t): Likewise.
8074         (in_place(__in_place*)): Likewise.
8075         (in_place(__in_place_type<_Tp>*)): Likewise.
8076         (in_place(__in_place_index<_Idx>*)): Likewise.
8077         * testsuite/20_util/any/assign/1.cc: Adjust.
8078         * testsuite/20_util/any/assign/emplace.cc: New.
8079         * testsuite/20_util/any/assign/self.cc: Adjust.
8080         * testsuite/20_util/any/cons/1.cc: Likewise.
8081         * testsuite/20_util/any/cons/in_place.cc: New.
8082         * testsuite/20_util/any/make_any.cc: Likewise.
8083         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
8084         * testsuite/20_util/any/misc/swap.cc: Likewise.
8085         * testsuite/20_util/any/modifiers/1.cc: Likewise.
8086         * testsuite/20_util/any/requirements.cc: New.
8087         * testsuite/20_util/in_place/requirements.cc: Likewise.
8088         * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
8089         * testsuite/20_util/optional/in_place.cc: Likewise.
8090         * testsuite/20_util/optional/make_optional.cc: Add tests for
8091         the new overloads of make_optional.
8092
8093 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
8094
8095         Implement P0307R2, Making Optional Greater Equal Again.
8096         * include/experimental/optional (_Has_addressof): Fix the comment.
8097         * include/std/optional (_Has_addressof): Likewise.
8098         (operator=(_Up&&)): Constrain.
8099         (operator=(const optional<_Up>&)): Likewise.
8100         (operator=(optional<_Up>&&)): Likewise.
8101         (__optional_relop_t): New.
8102         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8103         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
8104         Constrain and make transparent.
8105         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8106         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
8107         Constrain and make transparent.
8108         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8109         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8110         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
8111         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
8112         (operator!=(const optional<_Tp>&, _Tp const&)):
8113         Constrain and make transparent.
8114         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
8115         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
8116         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
8117         (operator>(const optional<_Tp>&, const _Tp&)):
8118         Constrain and make transparent.
8119         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
8120         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
8121         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
8122         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
8123         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
8124         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
8125         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8126         * testsuite/20_util/optional/relops/1.cc: Likewise.
8127         * testsuite/20_util/optional/relops/2.cc: Likewise.
8128         * testsuite/20_util/optional/relops/3.cc: Likewise.
8129         * testsuite/20_util/optional/relops/4.cc: Likewise.
8130         * testsuite/20_util/optional/requirements.cc: Add tests to verify
8131         that optional's relops are transparent and don't synthesize
8132         operators. Also test that assignment sfinaes.
8133
8134 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8135
8136         PR libstdc++/71856
8137         * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
8138         * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
8139         Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
8140         on _GLIBCXX_ASSERTIONS.
8141         * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
8142         Include <unistd.h> for sleep.
8143         * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
8144         * include/parallel/merge.h: Likewise.
8145         * include/parallel/multiway_merge.h: Likewise.
8146         * include/parallel/partition.h: Likewise.
8147         * include/parallel/queue.h: Likewise.
8148         * include/parallel/sort.h: Likewise.
8149         * testsuite/25_algorithms/headers/algorithm/
8150         parallel_algorithm_assert.cc: New.
8151
8152         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
8153         (replace(__const_iterator, __const_iterator, initializer_list<C>)):
8154         Forward to different overload.
8155
8156         * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
8157         static.
8158
8159 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8160
8161         Revert "Add non-const overload of std::string::data()".
8162
8163 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
8164
8165         Implement P0307R2, Making Optional Greater Equal Again.
8166         * include/experimental/optional (_Has_addressof): Fix the comment.
8167         * include/std/optional (_Has_addressof): Likewise.
8168         (operator=(_Up&&)): Constrain.
8169         (operator=(const optional<_Up>&)): Likewise.
8170         (operator=(optional<_Up>&&)): Likewise.
8171         (__optional_relop_t): New.
8172         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8173         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
8174         Constrain and make transparent.
8175         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
8176         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
8177         Constrain and make transparent.
8178         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8179         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
8180         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
8181         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
8182         (operator!=(const optional<_Tp>&, _Tp const&)):
8183         Constrain and make transparent.
8184         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
8185         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
8186         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
8187         (operator>(const optional<_Tp>&, const _Tp&)):
8188         Constrain and make transparent.
8189         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
8190         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
8191         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
8192         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
8193         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
8194         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
8195         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8196         * testsuite/20_util/optional/relops/1.cc: Likewise.
8197         * testsuite/20_util/optional/relops/2.cc: Likewise.
8198         * testsuite/20_util/optional/relops/3.cc: Likewise.
8199         * testsuite/20_util/optional/relops/4.cc: Likewise.
8200         * testsuite/20_util/optional/requirements.cc: Add tests to verify
8201         that optional's relops are transparent and don't synthesize
8202         operators. Also test that assignment sfinaes.
8203
8204 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
8205
8206         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
8207         New function.
8208         (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
8209         instead of _M_data().
8210         (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
8211         Likewise.
8212         (append(const basic_string&)): Likewise.
8213         (append(const basic_string&, size_type, size_type)): Likewise.
8214         (assign(const basic_string&, size_type, size_type)): Likewise.
8215         (insert(size_type, const basic_string&)): Likewise.
8216         (insert(size_type, const basic_string&, size_type, size_type)):
8217         Likewise.
8218         (replace(size_type, size_type, const basic_string&, size_type,
8219         size_type)): Likewise.
8220         (replace(__const_iterator, __const_iterator, const basic_string&)):
8221         Likewise.
8222         (c_str(), data()): Use c_str() instead of _M_data().
8223         (data()): Add non-const overload as per LWG 2391 and P0272R1.
8224         (compare(const basic_string&)): Use data() instead of _M_data().
8225         [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
8226         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
8227         Pass raw pointers to _S_copy.
8228         (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
8229         _S_assign.
8230         (find(const _CharT*, size_type, size_type)): Use data instead of
8231         _M_data().
8232         * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
8233         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
8234         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
8235
8236 2016-07-12  Jonathan Wakely  <jwakely@redhat.com>
8237
8238         * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
8239         * doc/xml/manual/intro.xml: Document DR 2458 status.
8240         * doc/html*: Regenerate.
8241
8242         * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
8243         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8244         Only include <array>.
8245         * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
8246         Likewise.
8247         * doc/xml/manual/intro.xml: Document LWG 2212 support.
8248         * doc/html*: Regenerate.
8249
8250         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8251         Add testcase from LWG 2164.
8252
8253 2016-07-11  François Dumont  <fdumont@gcc.gnu.org>
8254
8255         * include/bits/stl_vector.h (push_back(const value_type&)): Forward
8256         to _M_realloc_insert.
8257         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8258         (_M_realloc_insert): Declare new function.
8259         (_M_emplace_back_aux): Remove definition.
8260         * include/bits/vector.tcc (emplace_back(_Args...)):
8261         Use _M_realloc_insert.
8262         (insert(const_iterator, const value_type&)): Likewise.
8263         (_M_insert_rval, _M_emplace_aux): Likewise.
8264         (_M_emplace_back_aux): Remove declaration.
8265         (_M_realloc_insert): Define.
8266         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8267         Adjust expected results for emplacing an lvalue with reallocation.
8268
8269 2016-07-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
8270
8271         Implement std::optional.
8272         * include/Makefile.am: Add optional to exported headers.
8273         * include/Makefile.in: Likewise.
8274         * include/std/optional: New.
8275         * testsuite/20_util/optional/typedefs.cc: Likewise.
8276         * testsuite/20_util/optional/relops/2.cc: Likewise.
8277         * testsuite/20_util/optional/relops/3.cc: Likewise.
8278         * testsuite/20_util/optional/relops/4.cc: Likewise.
8279         * testsuite/20_util/optional/relops/5.cc: Likewise.
8280         * testsuite/20_util/optional/relops/1.cc: Likewise.
8281         * testsuite/20_util/optional/relops/6.cc: Likewise.
8282         * testsuite/20_util/optional/nullopt.cc: Likewise.
8283         * testsuite/20_util/optional/in_place.cc: Likewise.
8284         * testsuite/20_util/optional/make_optional.cc: Likewise.
8285         * testsuite/20_util/optional/assignment/2.cc: Likewise.
8286         * testsuite/20_util/optional/assignment/3.cc: Likewise.
8287         * testsuite/20_util/optional/assignment/4.cc: Likewise.
8288         * testsuite/20_util/optional/assignment/5.cc: Likewise.
8289         * testsuite/20_util/optional/assignment/1.cc: Likewise.
8290         * testsuite/20_util/optional/assignment/6.cc: Likewise.
8291         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
8292         * testsuite/20_util/optional/cons/default.cc: Likewise.
8293         * testsuite/20_util/optional/cons/move.cc: Likewise.
8294         * testsuite/20_util/optional/cons/value.cc: Likewise.
8295         * testsuite/20_util/optional/cons/copy.cc: Likewise.
8296         * testsuite/20_util/optional/requirements.cc: Likewise.
8297         * testsuite/20_util/optional/observers/2.cc: Likewise.
8298         * testsuite/20_util/optional/observers/3.cc: Likewise.
8299         * testsuite/20_util/optional/observers/4.cc: Likewise.
8300         * testsuite/20_util/optional/observers/5.cc: Likewise.
8301         * testsuite/20_util/optional/observers/1.cc: Likewise.
8302         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
8303         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
8304         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
8305         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
8306         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
8307         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
8308         * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
8309         * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
8310         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
8311         * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
8312         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
8313         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
8314         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
8315         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
8316         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
8317         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
8318         * testsuite/20_util/optional/swap/1.cc: Likewise.
8319
8320 2016-07-08  Jonathan Wakely  <jwakely@redhat.com>
8321
8322         * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
8323
8324 2016-07-07  Jonathan Wakely  <jwakely@redhat.com>
8325
8326         * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
8327         * doc/html/*: Regenerate.
8328
8329 2016-07-07  Ville Voutilainen  <ville.voutilainen@gmail.com>
8330
8331         Implement std::any.
8332         * include/Makefile.am: Add any and c++17_warning.h to exported headers.
8333         * include/Makefile.in: Likewise.
8334         * include/std/any: New.
8335         * testsuite/20_util/any/assign/1.cc: Likewise.
8336         * testsuite/20_util/any/assign/2.cc: Likewise.
8337         * testsuite/20_util/any/assign/self.cc: Likewise.
8338         * testsuite/20_util/any/cons/1.cc: Likewise.
8339         * testsuite/20_util/any/cons/2.cc: Likewise.
8340         * testsuite/20_util/any/cons/aligned.cc: Likewise.
8341         * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
8342         * testsuite/20_util/any/misc/any_cast.cc: Likewise.
8343         * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
8344         * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
8345         * testsuite/20_util/any/misc/swap.cc: Likewise.
8346         * testsuite/20_util/any/modifiers/1.cc: Likewise.
8347         * testsuite/20_util/any/observers/type.cc: Likewise.
8348         * testsuite/20_util/any/typedefs.cc: Likewise.
8349
8350 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8351
8352         Add a new header for diagnosing the use of C++17 facilities
8353         in pre-C++17 modes.
8354         * include/bits/c++17_warning.h: New.
8355
8356 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8357
8358         Implement LWG 2451, optional<T> should 'forward' T's
8359         implicit conversions.
8360         * include/experimental/optional (__is_optional_impl, __is_optional):
8361         New.
8362         (optional()): Make constexpr and default.
8363         (optional(_Up&&), optional(const optional<_Up>&),
8364         optional(optional<_Up>&& __t): New.
8365         (operator=(_Up&&)): Constrain.
8366         (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
8367         * testsuite/experimental/optional/cons/value.cc:
8368         Add tests for the functionality added by LWG 2451.
8369         * testsuite/experimental/optional/cons/value_neg.cc: New.
8370
8371 2016-07-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8372
8373         Implement LWG 2509,
8374         any_cast doesn't work with rvalue reference targets and cannot
8375         move with a value target.
8376         * include/experimental/any (any(_ValueType&&)): Constrain and
8377         add an overload that doesn't forward.
8378         (any_cast(any&&)): Constrain and add an overload that moves.
8379         * testsuite/experimental/any/misc/any_cast.cc: Add tests for
8380         the functionality added by LWG 2509.
8381
8382 2016-07-04  François Dumont  <fdumont@gcc.gnu.org>
8383
8384         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
8385         New test.
8386         * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
8387         test.
8388
8389 2016-07-04  Jonathan Wakely  <jwakely@redhat.com>
8390
8391         * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
8392         Define inline. Forward to _M_emplace_aux.
8393         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
8394         (_M_insert_rval, _M_emplace_aux): Declare new functions.
8395         (_Temporary_value): New RAII type using allocator to construct/destroy.
8396         (_S_insert_aux_assign): Remove.
8397         (_M_insert_aux): Make non-variadic.
8398         * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
8399         Use _Temporary_value.
8400         (emplace(const_iterator, _Args&&...)): Remove definition.
8401         (_M_insert_rval, _M_emplace_aux): Define.
8402         (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
8403         (_M_fill_insert): Use _Temporary_value.
8404         * testsuite/23_containers/vector/allocator/construction.cc: New test.
8405         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
8406         Adjust expected results for emplacing an lvalue with reallocation.
8407         * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
8408         expected results to account for construction/destruction of temporary
8409         using allocator.
8410         * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
8411
8412 2016-07-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
8413
8414         PR libstdc++/71313
8415         * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
8416         Call remove_all for children of a directory.
8417         * testsuite/experimental/filesystem/operations/create_directories.cc:
8418         Adjust.
8419
8420 2016-07-02  François Dumont  <fdumont@gcc.gnu.org>
8421
8422         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
8423         dg-error line numbers.
8424         * testsuite/23_containers/array/tuple_interface/
8425         tuple_element_debug_neg.cc: Likewise.
8426         * testsuite/25_algorithms/lexicographical_compare/debug/
8427         irreflexive_neg.cc: Remove.
8428
8429 2016-06-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8430
8431         * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
8432         than specific target.
8433
8434 2016-06-27  François Dumont  <fdumont@gcc.gnu.org>
8435
8436         PR libstdc++/71640
8437         * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
8438         friend declaration.
8439
8440 2016-06-23  François Dumont  <fdumont@gcc.gnu.org>
8441
8442         * include/debug/array (array<>::swap): Fix noexcept qualificaton for
8443         zero-size array.
8444
8445 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8446
8447         * configure.host: Remove mep-* support.
8448
8449 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
8450
8451         * configure: Regenerate.
8452         * configure.host: Remove support for knetbsd.
8453         * crossconfig.m4: Likewise.
8454
8455 2016-06-20  François Dumont  <fdumont@gcc.gnu.org>
8456
8457         PR libstdc++/71181
8458         * include/tr1/hashtable_policy.h
8459         (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
8460         dereferenceable to avoid check on lower_bound result.
8461         (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
8462         (_Prime_rehash_policy::_M_need_rehash): Likewise.
8463         * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
8464         Always return a value greater than input value. Set _M_next_resize to
8465         max value when reaching highest prime number.
8466         * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
8467         being now useless.
8468         * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
8469         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
8470         (test02): New.
8471         * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
8472         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8473         Fix indentation.
8474
8475 2016-06-17  Jonathan Wakely  <jwakely@redhat.com>
8476
8477         PR libstdc++/71545
8478         * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
8479         Remove irreflexive checks.
8480         * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
8481         binary_search): Likewise.
8482         * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
8483         * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
8484         * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
8485         * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
8486         * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
8487         Add constructor from array.
8488
8489 2016-06-16  François Dumont  <fdumont@gcc.gnu.org>
8490
8491         * include/debug/debug.h
8492         (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
8493         (__glibcxx_requires_subscript): Move...
8494         * include/debug/assertions.h: ...here and add __builtin_expect.
8495         (_GLIBCXX_DEBUG_ONLY): Remove ; value.
8496         * include/bits/stl_deque.h
8497         (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
8498         (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
8499         (std::deque<>::back()): Likewise.
8500         (std::deque<>::pop_front()): Likewise.
8501         (std::deque<>::pop_back()): Likewise.
8502         (std::deque<>::swap(deque&)): Add allocator check.
8503         * include/bits/stl_vector.h
8504         (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
8505         (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
8506         (std::vector<>::back()): Likewise.
8507         (std::vector<>::pop_back()): Likewise.
8508         (std::vector<>::swap(vector&)): Add allocator check.
8509
8510 2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>
8511
8512         Provide swappable traits (p0185r1)
8513         * include/std/type_traits (is_swappable, is_nothrow_swappable,
8514         is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
8515         is_nothrow_swappable_v, is_swappable_with_v,
8516         is_nothrow_swappable_with_v): New.
8517         * include/bits/stl_pair.h: Use it as per p0185r1.
8518         * include/bits/stl_queue.h: Likewise.
8519         * include/bits/stl_stack.h: Likewise.
8520         * include/bits/unique_ptr.h: Likewise.
8521         * include/std/tuple: Likewise.
8522         * include/std/array: Likewise. Fix zero-size member swap.
8523         * include/bits/hashtable.h: Use __and_.
8524         * testsuite/20_util/is_nothrow_swappable/requirements/
8525         explicit_instantiation.cc: Change test options to std=gnu++17.
8526         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
8527         Likewise.
8528         * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
8529         * testsuite/20_util/is_swappable/requirements/
8530         explicit_instantiation.cc: Likewise.
8531         * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
8532         * testsuite/20_util/is_swappable/value.cc: Likewise.
8533         * testsuite/20_util/is_nothrow_swappable/requirements/
8534         explicit_instantiation_ext.cc: New.
8535         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
8536         New.
8537         * testsuite/20_util/is_nothrow_swappable/value.h: New.
8538         * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
8539         * testsuite/20_util/is_nothrow_swappable_with/requirements/
8540         explicit_instantiation.cc: New.
8541         * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
8542         New.
8543         * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
8544         * testsuite/20_util/is_swappable/requirements/
8545         explicit_instantiation_ext.cc: New.
8546         * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
8547         * testsuite/20_util/is_swappable/value.h: New.
8548         * testsuite/20_util/is_swappable/value_ext.cc: New.
8549         * testsuite/20_util/is_swappable_with/requirements/
8550         explicit_instantiation.cc: New.
8551         * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
8552         * testsuite/20_util/is_swappable_with/value.cc: New.
8553         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
8554         dg-error line numbers.
8555         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
8556         Likewise.
8557
8558 2016-06-16  Jonathan Wakely  <jwakely@redhat.com>
8559
8560         * include/std/array: Remove trailing whitespace.
8561         * include/std/atomic: Likewise.
8562         * include/std/bitset: Likewise.
8563         * include/std/chrono: Likewise.
8564         * include/std/complex: Likewise.
8565         * include/std/condition_variable: Likewise.
8566         * include/std/fstream: Likewise.
8567         * include/std/functional: Likewise.
8568         * include/std/future: Likewise.
8569         * include/std/iomanip: Likewise.
8570         * include/std/iosfwd: Likewise.
8571         * include/std/istream: Likewise.
8572         * include/std/limits: Likewise.
8573         * include/std/ratio: Likewise.
8574         * include/std/scoped_allocator: Likewise.
8575         * include/std/sstream: Likewise.
8576         * include/std/stdexcept: Likewise.
8577         * include/std/string: Likewise.
8578         * include/std/system_error: Likewise.
8579         * include/std/thread: Likewise.
8580         * include/std/tuple: Likewise.
8581         * include/std/type_traits: Likewise.
8582         * include/std/utility: Likewise.
8583         * include/std/valarray: Likewise.
8584         * include/std/vector: Likewise.
8585
8586         * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
8587         new overloaded functions.
8588         * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
8589         to avoid creating a redundant temporary.
8590         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
8591         test.
8592
8593 2016-06-15  François Dumont  <fdumont@gcc.gnu.org>
8594
8595         * include/bits/stl_deque.h
8596         (std::deque<>::operator=): Call _M_assign_aux.
8597         (std::deque<>::assign(initializer_list<>)): Likewise.
8598         (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8599         (std::deque<>::insert(const_iterator, initializer_list<>)):
8600         Call _M_range_insert_aux.
8601         (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
8602         Likewise.
8603         (std::deque<>::_M_fill_assign): Call _M_fill_insert.
8604         (std::deque<>::_M_move_assign2): Call _M_assign_aux.
8605         * include/bits/deque.tcc
8606         (std::deque<>::operator=): Call _M_range_insert_aux.
8607         (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
8608         Likewise.
8609         * include/bits/stl_vector.h
8610         (std::vector<>::operator=): Call _M_assign_aux.
8611         (std::vector<>::assign(initializer_list<>)): Likewise.
8612         (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
8613         (std::vector<>::insert(const_iterator, initializer_list<>)):
8614         Call _M_range_insert.
8615         * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
8616
8617 2016-06-07  François Dumont  <fdumont@gcc.gnu.org>
8618
8619         * include/std/tuple (_Head_base<>): Default specialization condition at
8620         type declaration.
8621
8622 2016-06-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
8623
8624         Support allocators in tuples of zero size.
8625         * include/std/tuple (tuple<>::tuple(),
8626         tuple<>::tuple(allocator_arg_t, const _Alloc&),
8627         tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
8628         * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
8629
8630 2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
8631
8632         PR libstdc++/71320
8633         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
8634         Add or remove permissions according to perms argument.
8635         * testsuite/experimental/filesystem/operations/permissions.cc: New
8636         test.
8637
8638 2016-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
8639
8640         Protect allocator-overloads of tuple-from-tuple constructors
8641         from cases that would create dangling references.
8642         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8643         const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
8644         tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
8645         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
8646
8647 2016-05-29  Gerald Pfeifer  <gerald@pfeifer.com>
8648
8649         * doc/xml/manual/backwards_compatibility.xml: Adjust
8650         lists.debian.org link to https.
8651         * doc/html/manual/backwards.html: Regenerate.
8652
8653 2016-05-27  Jonathan Wakely  <jwakely@redhat.com>
8654
8655         * doc/xml/manual/abi.xml: Adjust URL to use https.
8656         * doc/html/manual/*: Regenerate.
8657
8658 2016-05-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
8659
8660         PR libstdc++/66338
8661         * include/std/tuple (_TMC): Add a check for _NotSameTuple.
8662         * include/std/tuple (tuple(_UElements&&...)): Remove the separate
8663         check for _NotSameTuple.
8664         * include/std/tuple (_TMCT): New.
8665         * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
8666         * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
8667         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8668               const tuple<_UElements...>&)): Likewise.
8669         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
8670               tuple<_UElements...>&&)): Likewise.
8671         * testsuite/20_util/tuple/cons/66338.cc: New.
8672
8673 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
8674
8675         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
8676         * configure: Regenerate.
8677         * config.h.in: Regenerate.
8678
8679         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
8680         * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
8681         Remove const qualification on function. Replace
8682         _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
8683         (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
8684         (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
8685
8686 2016-05-24  François Dumont  <fdumont@gcc.gnu.org>
8687
8688         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
8689         * include/bits/hashtable_policy.h
8690         (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
8691         having load factor management.
8692         (_Mask_range_hashing): New.
8693         (__clp2): New.
8694         (_Power2_rehash_policy): New.
8695         (_Inserts<>): Remove last template parameter, _Unique_keys, so that
8696         partial specializations only depend on whether iterators are constant
8697         or not.
8698         * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
8699         test new hash policy.
8700         * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
8701         Likewise.
8702         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
8703         Likewise.
8704         * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
8705         Likewise.
8706         * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
8707         Likewise.
8708         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
8709         New.
8710         * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
8711         using the new hash policy.
8712         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
8713
8714 2016-05-24  Jonathan Wakely  <jwakely@redhat.com>
8715
8716         * include/bits/stl_queue.h (priority_queue::value_compare): Define.
8717
8718 2016-05-23  François Dumont  <fdumont@gcc.gnu.org>
8719
8720         * include/debug/safe_iterator.h
8721         (_Safe_iterator<>::operator->()): Implement using underlying iterator
8722         operator ->.
8723         * include/debug/safe_local_iterator.h
8724         (_Safe_local_iterator<>::operator->()): Likewise.
8725
8726 2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8727
8728         * testsuite/experimental/memory_resource/1.cc: Add required argument
8729         to dg-require-atomic-builtins.
8730
8731 2016-05-13  Jonathan Wakely  <jwakely@redhat.com>
8732
8733         PR libstdc++/71073
8734         * include/debug/bitset: Add #pragma GCC system_header.
8735         * include/debug/deque: Likewise.
8736         * include/debug/list: Likewise.
8737         * include/debug/map: Likewise.
8738         * include/debug/set: Likewise.
8739         * include/debug/string: Likewise.
8740         * include/debug/unordered_map: Likewise.
8741         * include/debug/unordered_set: Likewise.
8742         * include/debug/vector: Likewise.
8743         * include/debug/functions.h: Adjust whitespace.
8744
8745 2016-05-12  Jonathan Wakely  <jwakely@redhat.com>
8746
8747         PR libstdc++/71081
8748         * testsuite/experimental/memory_resource/1.cc: Require atomics.
8749
8750 2016-05-11  Jonathan Wakely  <jwakely@redhat.com>
8751
8752         PR libstdc++/71049
8753         * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
8754         exception constructors with __sso_string parameters.
8755
8756 2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
8757
8758         * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
8759         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8760         Test begin and end functions.
8761         * testsuite/experimental/filesystem/iterators/
8762         recursive_directory_iterator.cc: Likewise.
8763
8764         PR libstdc++/71038
8765         * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
8766         * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
8767
8768         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8769         Overload operator* to move from rvalues.
8770
8771         PR libstdc++/71036
8772         * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
8773         * testsuite/experimental/filesystem/operations/create_directory.cc:
8774         New test.
8775
8776         PR libstdc++/71037
8777         * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
8778         base path to exception.
8779         * testsuite/experimental/filesystem/operations/canonical.cc: Test
8780         paths contained in exception.
8781
8782         * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
8783         using declaration.
8784
8785         PR libstdc++/71005
8786         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
8787         New type.
8788         (directory_iterator::operator++(int)): Return proxy.
8789         (recursive_directory_iterator::operator++(int)): Likewise.
8790         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
8791         Test post-increment.
8792         * testsuite/experimental/filesystem/iterators/
8793         recursive_directory_iterator.cc: Likewise.
8794
8795 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8796
8797         PR libstdc++/71004
8798         * testsuite/experimental/filesystem/iterators/
8799         recursive_directory_iterator.cc: Fix test02 to not call member
8800         functions on invalid iterator, and use VERIFY not assert.
8801
8802 2016-05-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
8803
8804         Avoid endless run-time recursion for copying single-element
8805         tuples where the element type is by-value constructible
8806         from any type.
8807         * include/std/tuple (_NotSameTuple): New.
8808         * include/std/tuple (tuple(_UElements&&...): Use it.
8809         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
8810
8811 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
8812
8813         PR libstdc++/71004
8814         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
8815         Initialize scalar member variables in default constructor.
8816         * testsuite/experimental/filesystem/iterators/
8817         recursive_directory_iterator.cc: Test default construction.
8818
8819 2016-05-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8820
8821         * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
8822
8823 2016-05-05  Jonathan Wakely  <jwakely@redhat.com>
8824
8825         * testsuite/experimental/filesystem/path/native/string.cc: Add
8826         dg-require-filesystem-ts directive.
8827
8828 2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
8829
8830         PR libstdc++/70940
8831         * include/experimental/memory_resource
8832         (__resource_adaptor_imp::do_allocate): Do not default-construct
8833         rebound allocator.
8834         (__resource_adaptor_imp::do_deallocate): Likewise. Use
8835         allocator_traits to get pointer type.
8836         (__null_memory_resource::do_allocate): Remove unused parameters.
8837         (__null_memory_resource::do_deallocate): Likewise.
8838         (__null_memory_resource::do_is_equal): Likewise. Add return statement.
8839         * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
8840         * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
8841         move to ...
8842         * testsuite/experimental/memory_resource/1.cc: Here.
8843         * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
8844         * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
8845
8846 2016-04-29  Chris Gregory  <czipperz@gmail.com>
8847
8848         * config/*: Remove trailing whitespace.
8849         * src/*: Likewise.
8850         * testsuite/tr1/*: Likewise.
8851         * testsuite/util/*: Likewise.
8852
8853 2016-04-28  Jonathan Wakely  <jwakely@redhat.com>
8854
8855         PR libstdc++/70766
8856         * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
8857         __addressof.
8858         * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
8859         Likewise.
8860         * include/std/atomic (atomic<_Tp>): Likewise.
8861         * include/std/shared_mutex (shared_lock): Likewise.
8862         * testsuite/24_iterators/istream_iterator/70766.cc: New test.
8863         * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
8864         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
8865         * testsuite/29_atomics/atomic/70766.cc: New test.
8866         * testsuite/30_threads/shared_lock/70766.cc: New test.
8867
8868         * include/bits/hashtable_policy.h (__detail::_Insert_base,
8869         __detail::_Insert): Improve comments.
8870
8871 2016-04-27  Jonathan Wakely  <jwakely@redhat.com>
8872
8873         PR libstdc++/70767
8874         * include/std/limits: Update comments about DRs.
8875         (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
8876         numeric_limits<const volatile _Tp>): Define unconditionally.
8877
8878 2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
8879
8880         PR libstdc++/70762
8881         * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
8882         static counter to return a different path on every call.
8883
8884 2016-04-22  Tim Shen  <timshen@google.com>
8885
8886         PR libstdc++/70745
8887         * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
8888         Fix the match_not_bow and match_not_eow behavior.
8889         * testsuite/28_regex/regression.cc: Add testcase.
8890
8891 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
8892
8893         PR libstdc++/69703
8894         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
8895         __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
8896
8897 2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
8898
8899         PR libstdc++/69703
8900         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
8901         Override endianness bit in mode.
8902         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
8903         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
8904         that little_endian mode is ignored.
8905         * testsuite/experimental/filesystem/path/native/string.cc: New test.
8906
8907         PR libstdc++/70609
8908         * src/filesystem/ops.cc (close_fd): New function.
8909         (do_copy_file): Set permissions before copying file contents. Check
8910         result of closing file descriptors. Don't copy streambuf when file
8911         is empty.
8912         (copy(const path&, const path&, copy_options, error_code&)): Use
8913         lstat for source file when copy_symlinks is set.
8914         * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
8915
8916         * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
8917         operator~ operator&=, operator|=, operator^=): Add noexcept to
8918         overloaded operators for copy_options, perms and directory_options.
8919         * src/filesystem/ops.cc (make_file_type, make_file_status,
8920         is_not_found_errno, file_time): Add noexcept.
8921
8922 2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>
8923
8924         * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
8925
8926 2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
8927
8928         PR libstdc++/41759
8929         * include/bits/random.h: Reword static assertion messages to state
8930         positive conditions.
8931         * include/bits/random.tcc: Likewise.
8932         * include/bits/uniform_int_dist.h: Likewise.
8933         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
8934         patterns.
8935
8936         * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
8937
8938         * config/cpu/sh/atomicity.h: Fix typo in comment.
8939
8940         PR libstdc++/70294
8941         * include/std/thread (operator<, operator==): Move definitions to
8942         namespace-scope.
8943         * testsuite/30_threads/thread/id/70294.cc: New test.
8944
8945         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
8946         -Wno-pedantic to dg-options.
8947         * testsuite/20_util/align/2.cc: Use type as operand of alignof.
8948         * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
8949         to dg-options.
8950         * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
8951         Remove extra semi-colon.
8952         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
8953         Always supply second argument to static_assert.
8954         * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
8955         semi-colon.
8956         * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
8957         dg-options.
8958         * testsuite/26_numerics/complex/literals/values.cc: Likewise.
8959         * testsuite/29_atomics/atomic/60695.cc: Likewise.
8960         * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
8961         alignof when operand is an object not a type.
8962         * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
8963         * testsuite/decimal/make-decimal.cc: Likewise.
8964         * testsuite/experimental/type_traits/value.cc: Always supply second
8965         argument to static_assert.
8966         * testsuite/util/testsuite_common_types.h: Use __extension__ for
8967         __int128 types.
8968
8969         * testsuite/experimental/type_erased_allocator/1.cc: Don't include
8970         internal header.
8971         * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
8972         * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
8973         * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
8974         Likewise. Add licence and change to compile-only test.
8975
8976         * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
8977         unused parameter.
8978         * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
8979
8980         * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
8981         warnings.
8982
8983 2016-04-17  Edward Smith-Rowland  <3dw4rd@verizon.net>
8984
8985         * include/bits/specfun.h: Trivial comment misspelling.
8986
8987 2016-04-14  Jason Merrill  <jason@redhat.com>
8988
8989         Revert Jonathan's empty ABI change from yesterday.
8990
8991 2016-04-13  Martin Sebor  <msebor@redhat.com>
8992
8993         PR c++/69517
8994         * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
8995         upper bound is positive.
8996
8997 2016-04-13  Jonathan Wakely  <jwakely@redhat.com>
8998
8999         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
9000         _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
9001         * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
9002         of functions taking empty structs by value. Add a template parameter
9003         to overloads without hints. Rename overloads with hints to
9004         _M_emplace_hint.
9005         (_Hashtable::_M_erase(true_type, const_iterator),
9006         _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
9007         by reordering parameters.
9008         * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
9009         _M_emplace_hint instead of _M_emplace.
9010         * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
9011         shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
9012         * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
9013         __shared_ptr): Likewise.
9014         * include/bits/stl_algo.h (replace_if): Likewise.
9015         * include/bits/stl_pair.h (piecewise_construct_t,
9016         piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
9017         * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
9018         __uses_alloc0): Likewise.
9019         * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
9020         * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
9021         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
9022         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
9023         * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
9024         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
9025         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
9026
9027 2016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
9028
9029         Document C++17/TR29124 C++ Special Math Functions.
9030         * include/bits/specfun.h: Add Doxygen markup.
9031
9032 2016-04-07  Jonathan Wakely  <jwakely@redhat.com>
9033
9034         * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
9035
9036 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
9037
9038         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
9039         * src/Makefile.in: Regenerate.
9040
9041 2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
9042
9043         PR libstdc++/70554
9044         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
9045         __atomic_fetch_add for bool.
9046         * configure: Regenerate.
9047
9048         * testsuite/30_threads/thread/70503.cc: Require -static to work.
9049
9050         PR libstdc++/70503
9051         * src/c++11/thread.cc (execute_native_thread_routine,
9052         execute_native_thread_routine_compat): Give internal linkage.
9053         * testsuite/30_threads/thread/70503.cc: New test.
9054
9055 2016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
9056
9057         PR libstdc++/70437
9058         * include/bits/stl_pair.h (_ConstructiblePair,
9059         _ImplicitlyConvertiblePair, _MoveConstructiblePair,
9060         _ImplicitlyMoveConvertiblePair): Add shortcut conditions
9061         for same-type cases.
9062         * testsuite/20_util/pair/70437.cc: New.
9063
9064 2016-03-24  Jonathan Wakely  <jwakely@redhat.com>
9065
9066         PR libstdc++/69945
9067         * config/abi/pre/gnu.ver: Add new symbol.
9068         * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
9069         * testsuite/18_support/free_eh_pool.cc: New test.
9070
9071 2016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9072
9073         * include/Makefile.am (install-freestanding-headers): Add
9074         concept_check.h and move.h to the installed headers.
9075         * include/Makefile.in: Regenerated.
9076         * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
9077         freestanding implementations.
9078         * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
9079         that this macro has no effect for freestanding implementations.
9080         * doc/html/manual/using_macros.html: Likewise.
9081
9082 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
9083
9084         PR libstdc++/69939
9085         * include/experimental/tuple (__apply_impl): Qualify get and forward.
9086
9087 2016-02-23  Jonathan Wakely  <jwakely@redhat.com>
9088
9089         * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
9090         * doc/html/*: Regenerate.
9091
9092         PR libstdc++/69893
9093         * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
9094         exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
9095         llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
9096         nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
9097         trunc) [__cplusplus >= 201103L]: Import from namespace std.
9098         (fabs) [__cplusplus < 201103L]: Import from namespace std.
9099         * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
9100         Likewise.
9101         * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
9102         namespace before including TR1 headers.
9103         * testsuite/tr1/headers/c++200x/math.cc: New test.
9104
9105 2016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9106
9107         PR libstdc++/69881
9108         * include/c_global/cstdarg: Undefine __need___va_list.
9109         * include/c_global/cstddef: Undefine all kinds of __need_*.
9110
9111 2016-02-16  Tim Shen  <timshen@google.com>
9112
9113         PR libstdc++/69794
9114         * include/bits/regex_scanner.h: Add different special character
9115         sets for grep and egrep regex.
9116         * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
9117         * testsuite/28_regex/regression.cc: Add new testcase.
9118
9119 2016-02-08  Jonathan Wakely  <jwakely@redhat.com>
9120
9121         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
9122         added 'constexpr' in previous commit.
9123         * configure: Regenerate.
9124
9125         PR libstdc++/48891
9126         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
9127         checks for all targets except *-*-solaris2.* and ensure we find the
9128         libc math.h header not our own.
9129         * configure: Regenerate.
9130
9131 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
9132
9133         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
9134         New file.  Copied over from s390-linux-gnu.
9135
9136 2016-02-04  Jonathan Wakely  <jwakely@redhat.com>
9137
9138         PR libstdc++/69626
9139         * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
9140         with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
9141         * config.h.in: Regenerate.
9142         * configure: Regenerate.
9143         * testsuite/21_strings/c_strings/char/69626.cc: New.
9144
9145         * doc/html/index.html: Regenerate.
9146
9147         * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
9148         * doc/xml/manual/spine.xml: Update copyright years and author blurb.
9149         * doc/html/*: Regenerate.
9150
9151 2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
9152
9153         PR libstdc++/69581
9154         * include/c_compatibility/math.h: Move header guards.
9155         * include/c_compatibility/stdlib.h: Likewise.
9156
9157 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
9158
9159         PR libstdc++/69506
9160         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9161
9162 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
9163
9164         PR libstdc++/69450
9165         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
9166         isinf and isnan functions into two independent checks.  Check on hpux.
9167         * config.h.in: Regenerate.
9168         * configure: Regenerate.
9169         * include/c_global/cmath (isinf(double), isnan(double)): Use
9170         _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
9171         respectively.
9172
9173 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
9174
9175         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
9176
9177 2016-01-27  Jonathan Wakely  <jwakely@redhat.com>
9178
9179         PR libstdc++/69295
9180         * testsuite/ext/special_functions/hyperg/check_value.cc: Use
9181         -ffp-contract=off, and -ffloat-store to disable excess precision.
9182         * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
9183         -ffp-contract=off.
9184
9185 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
9186
9187         PR libstdc++/69478
9188         * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
9189         random_access_iterator_tag>): Check is_move_assignable when moving.
9190         (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
9191         Likewise.
9192         * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
9193         * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
9194         * testsuite/25_algorithms/move/69478.cc: New.
9195         * testsuite/25_algorithms/move_backward/69478.cc: new.
9196
9197 2016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
9198
9199         * include/c_compatibility/stdlib.h: Include wide character related
9200         definitions only when they are available in cstdlib.
9201
9202 2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
9203
9204         PR libstdc++/69464
9205         * include/Makefile.am: Add new header.
9206         * include/Makefile.in: Regenerate.
9207         * include/bits/random.h (uniform_int_distribution): Move to
9208         bits/uniform_int_dist.h.
9209         * include/bits/random.tcc (uniform_int_distribution::operator(),
9210         uniform_int_distribution::__generate_impl): Likewise.
9211         * include/bits/uniform_int_dist.h: New header.
9212         * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
9213         <bits/uniform_int_dist.h> instead of <random>.
9214         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
9215         move_iterators/1.cc: Include correct header for uninitialized_copy.
9216         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
9217         move_iterators/1.cc: Likewise.
9218         * testsuite/25_algorithms/nth_element/58800.cc: Include correct
9219         header for vector.
9220         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
9221
9222 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
9223
9224         PR libstdc++/69446
9225         * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9226
9227 2016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
9228
9229         TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
9230         * include/c_compatibility/math.h: Import the TR29124 functions
9231         into the global namespace.
9232         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
9233         xfail and make compile-only.
9234         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
9235         * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
9236         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
9237         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
9238         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
9239         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
9240         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
9241         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
9242         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
9243         * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
9244         * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
9245         * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
9246         * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
9247         * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
9248         * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
9249         * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
9250         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
9251         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
9252         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
9253         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
9254
9255 2016-01-22  Jonathan Wakely  <jwakely@redhat.com>
9256
9257         PR libstdc++/69116
9258         * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
9259         define result_type for types which can be safely used with valarrays.
9260         * testsuite/26_numerics/valarray/69116.cc: New.
9261
9262         PR libstdc++/69413
9263         * config/os/gnu-linux/os_defines.h: Define
9264         _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
9265         * include/c_global/cmath (isinf, isnan): Check it.
9266         * doc/xml/manual/internals.xml: Document it.
9267         * doc/html/*: Regenerate.
9268
9269 2016-01-21  Jonathan Wakely  <jwakely@redhat.com>
9270
9271         PR libstdc++/69406
9272         * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
9273         * include/ext/type_traits.h: Likewise.
9274         * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
9275         for presence of C headers.
9276         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
9277         dg-error line number.
9278         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
9279         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
9280         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
9281
9282 2016-01-20  Torvald Riegel  <triegel@redhat.com>
9283
9284         PR libstdc++/69310
9285         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
9286
9287 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
9288
9289         PR libstdc++/60401
9290         * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
9291         copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
9292         lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
9293         nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
9294         tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
9295         Add using declarations.
9296         * testsuite/26_numerics/headers/cmath/60401.cc: New.
9297
9298         PR libstdc++/69386
9299         * include/c_global/ccomplex: Ensure C++ language linkage.
9300         * include/c_global/cmath: Likewise.
9301         * include/c_global/cstdlib: Likewise.
9302         * include/c_global/ctgmath: Likewise.
9303         * testsuite/17_intro/headers/c++2011/linkage.cc: New.
9304
9305 2016-01-19  Jonathan Wakely  <jwakely@redhat.com>
9306
9307         PR libstdc++/14608
9308         PR libstdc++/60401
9309         * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
9310         --enable-cheaders=c_global configs.
9311         * include/Makefile.in: Regenerate.
9312         * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
9313         test and allow inclusion from C files.
9314         * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
9315         (at_quick_exit, quick_exit): Add using directives.
9316         * include/c_global/cmath: Use #include_next for math.h.
9317         * include/c_global/cstdlib: Use #include_next for stdlib.h.
9318         * testsuite/26_numerics/headers/cmath/14608.cc: New.
9319         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
9320         Remove xfail for most targets.
9321         * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
9322
9323 2016-01-18  Torvald Riegel  <triegel@redhat.com>
9324
9325         * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
9326         (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
9327         and move after its definition.
9328         * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
9329         * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
9330         __GXX_WEAK__, and only provide transactional clones if
9331         _GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
9332         functions.
9333
9334 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
9335
9336         PR libstdc++/60637
9337         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
9338
9339         PR libstdc++/69243
9340         * include/std/functional (_Function_base::_M_not_empty_function):
9341         Change overloads for pointers to take arguments by value.
9342         * testsuite/20_util/function/cons/57465.cc: Add tests for
9343         pointer-to-member cases.
9344
9345         PR libstdc++/69340
9346         * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
9347         Use macros for exception handling and fix unused parameter warning.
9348
9349 2016-01-17  John David Anglin  <danglin@gcc.gnu.org>
9350
9351         PR libstdc++/68734
9352         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
9353
9354 2016-01-17  Torvald Riegel  <triegel@redhat.com>
9355
9356         * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
9357
9358 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
9359
9360         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
9361         __int128 symbols.
9362
9363 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9364
9365         PR libstdc++/69293
9366         * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
9367         static assertion that type is constructible from the arguments.
9368         * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
9369         * testsuite/20_util/uses_allocator/69293_neg.cc: New.
9370         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
9371
9372         PR libstdc++/69294
9373         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9374         and isnan on AIX. Quote variables.
9375         * configure: Regenerate.
9376
9377 2016-01-15  Torvald Riegel  <triegel@redhat.com>
9378
9379         * include/bits/basic_string.h (basic_string): Declare friends.
9380         * include/bits/c++config (_GLIBCXX_TXN_SAFE,
9381         _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
9382         * include/std/stdexcept (logic_error, domain_error, invalid_argument,
9383         length_error, out_of_range, runtime_error, range_error,
9384         underflow_error, overflow_error): Declare members as transaction-safe.
9385         (logic_error, runtime_error): Declare friend functions.
9386         * libsupc++/exception (exception, bad_exception): Declare members as
9387         transaction-safe.
9388         * src/c++11/cow-stdexcept.cc: Define transactional clones for the
9389         transaction-safe members of exceptions and helper functions.
9390         * libsupc++/eh_exception.cc: Adjust and define transactional clones.
9391         * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
9392         (CXXABI_1.3.10): New.
9393         * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
9394         (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
9395         * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
9396         * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
9397         * include/Makefile.in: Regenerate.
9398         * config.h.in: Regenerate.
9399         * configure: Regenerate.
9400         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
9401
9402 2016-01-15  Steve Ellcey  <sellcey@imgtec.com>
9403
9404         * include/ext/random.tcc: Use __builtin_isfinite instead of
9405         std::isfinite.
9406
9407 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
9408
9409         * include/bits/std_mutex.h: Fix Doxygen @file name.
9410
9411 2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
9412             Jonathan Wakely  <jwakely@redhat.com>
9413             Florian Goth <CaptainSifff@gmx.de>
9414
9415         Implement TR29124 C++ special Math Functions.
9416         * include/Makefile.am: Add new headers.
9417         * include/Makefile.in: Regenerate.
9418         * include/bits/specfun.h: New.
9419         * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
9420         * include/tr1/bessel_function.tcc: Ditto.
9421         * include/tr1/beta_function.tcc: Ditto.
9422         * include/tr1/cmath: Ditto.
9423         * include/tr1/ell_integral.tcc: Ditto.
9424         * include/tr1/exp_integral.tcc: Ditto.
9425         * include/tr1/gamma.tcc: Ditto.
9426         * include/tr1/hypergeometric.tcc: Ditto.
9427         * include/tr1/legendre_function.tcc: Ditto.
9428         * include/tr1/modified_bessel_func.tcc: Ditto.
9429         * include/tr1/poly_hermite.tcc: Ditto.
9430         * include/tr1/poly_laguerre.tcc: Ditto.
9431         * include/tr1/riemann_zeta.tcc: Ditto.
9432         * include/tr1/special_function_util.h: Ditto.
9433         * testsuite/ext/special_functions/conf_hyperg: New.
9434         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
9435         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
9436         * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
9437         * testsuite/ext/special_functions/hyperg: New.
9438         * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
9439         * testsuite/ext/special_functions/hyperg/check_value.cc: New.
9440         * testsuite/ext/special_functions/hyperg/compile.cc: New.
9441         * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
9442         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
9443         * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
9444         * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
9445         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
9446         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
9447         * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
9448         * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
9449         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
9450         * testsuite/special_functions/03_beta/check_nan.cc: New.
9451         * testsuite/special_functions/03_beta/check_value.cc: New.
9452         * testsuite/special_functions/03_beta/compile.cc: New.
9453         * testsuite/special_functions/03_beta/compile_2.cc: New.
9454         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
9455         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
9456         * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
9457         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
9458         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
9459         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
9460         * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
9461         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
9462         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
9463         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
9464         * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
9465         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
9466         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
9467         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
9468         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
9469         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
9470         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
9471         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
9472         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
9473         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
9474         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
9475         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
9476         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
9477         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
9478         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
9479         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
9480         * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
9481         * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
9482         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
9483         * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
9484         * testsuite/special_functions/11_ellint_1/check_value.cc: New.
9485         * testsuite/special_functions/11_ellint_1/compile.cc: New.
9486         * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
9487         * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
9488         * testsuite/special_functions/12_ellint_2/check_value.cc: New.
9489         * testsuite/special_functions/12_ellint_2/compile.cc: New.
9490         * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
9491         * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
9492         * testsuite/special_functions/13_ellint_3/check_value.cc: New.
9493         * testsuite/special_functions/13_ellint_3/compile.cc: New.
9494         * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
9495         * testsuite/special_functions/14_expint/check_nan.cc: New.
9496         * testsuite/special_functions/14_expint/check_value.cc: New.
9497         * testsuite/special_functions/14_expint/compile.cc: New.
9498         * testsuite/special_functions/14_expint/compile_2.cc: New.
9499         * testsuite/special_functions/15_hermite/check_nan.cc: New.
9500         * testsuite/special_functions/15_hermite/check_value.cc: New.
9501         * testsuite/special_functions/15_hermite/compile.cc: New.
9502         * testsuite/special_functions/15_hermite/compile_2.cc: New.
9503         * testsuite/special_functions/16_laguerre/check_nan.cc: New.
9504         * testsuite/special_functions/16_laguerre/check_value.cc: New.
9505         * testsuite/special_functions/16_laguerre/compile.cc: New.
9506         * testsuite/special_functions/16_laguerre/compile_2.cc: New.
9507         * testsuite/special_functions/17_legendre/check_nan.cc: New.
9508         * testsuite/special_functions/17_legendre/check_value.cc: New.
9509         * testsuite/special_functions/17_legendre/compile.cc: New.
9510         * testsuite/special_functions/17_legendre/compile_2.cc: New.
9511         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
9512         * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
9513         * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
9514         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
9515         * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
9516         * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
9517         * testsuite/special_functions/19_sph_bessel/compile.cc: New.
9518         * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
9519         * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
9520         * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
9521         * testsuite/special_functions/20_sph_legendre/compile.cc: New.
9522         * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
9523         * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
9524         * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
9525         * testsuite/special_functions/21_sph_neumann/compile.cc: New.
9526         * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
9527         * testsuite/util/specfun_testcase.h: New.
9528         * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
9529         * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
9530         * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
9531         * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
9532         * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
9533         * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
9534         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
9535
9536 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
9537
9538         PR libstdc++/48891
9539         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
9540         and isnan functions.
9541         * config.h.in: Regenerate.
9542         * configure: Regenerate.
9543         * include/c_global/cmath (isinf(double), isnan(double))
9544         [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
9545         * testsuite/26_numerics/headers/cmath/48891.cc: New.
9546
9547 2016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9548
9549         PR libstdc++/66006
9550         * configure.host (abi_baseline_pair): Use separate baseline for
9551         Solaris 11+ and Solaris 10 with gld.
9552         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
9553         * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
9554         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
9555
9556 2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
9557
9558         PR libstdc++/68877
9559         * include/std/type_traits: Following N4511, reimplement __is_swappable
9560         and __is_nothrow_swappable. Move __is_swappable to namespace std,
9561         adjust callers. Use __is_nothrow_swappable in swap.
9562         * include/bits/move.h: Use __is_nothrow_swappable in swap.
9563         * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
9564         __is_swappable related tests.
9565         * testsuite/20_util/is_swappable/value.cc: New.
9566         * testsuite/20_util/is_swappable/requirements/
9567         explicit_instantiation.cc: New.
9568         * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
9569         * testsuite/25_algorithms/swap/68877.cc: New.
9570
9571 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
9572
9573         * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
9574
9575         PR libstdc++/69005
9576         PR libstdc++/69222
9577         * include/std/functional (function::_Invoke): Remove, use result_of.
9578         (function::_Callable): Replace alias template with class template
9579         and use partial specialization instead of _NotSelf alias template.
9580         (function(_Functor)): Add "not self" constraint so that _Callable is
9581         not used while type is incomplete.
9582         * testsuite/20_util/function/69222.cc: New.
9583
9584 2016-01-11  Jonathan Wakely  <jwakely@redhat.com>
9585
9586         PR libstdc++/60976
9587         * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
9588         Define partial specialization.
9589         * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
9590         destroy members to std::allocator explicit specialization.
9591
9592 2016-01-08  Jonathan Wakely  <jwakely@redhat.com>
9593
9594         * testsuite/26_numerics/headers/cmath/
9595         c99_classification_macros_c++.cc: Rename to ...
9596         * testsuite/26_numerics/headers/cmath/
9597         c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
9598         * testsuite/26_numerics/headers/cmath/
9599         c99_classification_macros_c++0x.cc: Rename to ...
9600         * testsuite/26_numerics/headers/cmath/
9601         c99_classification_macros_c++11.cc: Here.
9602
9603         PR libstdc++/69190
9604         * include/bits/uses_allocator.h: Add missing include.
9605
9606 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
9607
9608         PR libstdc++/69105
9609         PR libstdc++/69106
9610         PR libstdc++/69114
9611         * include/bits/stl_iterator.h (back_insert_iterator,
9612         front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
9613         * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
9614         * include/std/future (__future::base::_State_baseV2::__setter):
9615         Likewise.
9616         * include/std/scoped_allocator (__outermost): Likewise.
9617         * testsuite/20_util/scoped_allocator/69114.cc: New.
9618         * testsuite/20_util/uses_allocator/69114.cc: New.
9619         * testsuite/30_threads/promise/69106.cc: New.
9620
9621 2016-01-06  Jonathan Wakely  <jwakely@redhat.com>
9622
9623         PR libstdc++/69092
9624         * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
9625         Remove _GLIBCXX_NOEXCEPT.
9626         testsuite/21_strings/basic_string/cons/char/69092.cc: New.
9627
9628         * include/Makefile.am: Adjust.
9629         * include/Makefile.in: Regenerate.
9630         * include/bits/mutex.h: Rename to bits/std_mutex.h.
9631         * include/std/condition_variable: Adjust include.
9632         * include/std/mutex: Likewise.
9633
9634 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
9635
9636         Update copyright years.
9637 \f
9638 Copyright (C) 2016 Free Software Foundation, Inc.
9639
9640 Copying and distribution of this file, with or without modification,
9641 are permitted in any medium without royalty provided the copyright
9642 notice and this notice are preserved.